Lines Matching +full:spi +full:- +full:device

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * ADLX345/346 Three-Axis Digital Accelerometers (SPI Interface)
12 #include <linux/spi/spi.h>
26 static int adxl34x_spi_read(struct device *dev, unsigned char reg) in adxl34x_spi_read()
28 struct spi_device *spi = to_spi_device(dev); in adxl34x_spi_read() local
33 return spi_w8r8(spi, cmd); in adxl34x_spi_read()
36 static int adxl34x_spi_write(struct device *dev, in adxl34x_spi_write()
39 struct spi_device *spi = to_spi_device(dev); in adxl34x_spi_write() local
45 return spi_write(spi, buf, sizeof(buf)); in adxl34x_spi_write()
48 static int adxl34x_spi_read_block(struct device *dev, in adxl34x_spi_read_block()
52 struct spi_device *spi = to_spi_device(dev); in adxl34x_spi_read_block() local
56 status = spi_write_then_read(spi, &reg, 1, buf, count); in adxl34x_spi_read_block()
68 static int adxl34x_spi_probe(struct spi_device *spi) in adxl34x_spi_probe() argument
72 /* don't exceed max specified SPI CLK frequency */ in adxl34x_spi_probe()
73 if (spi->max_speed_hz > MAX_SPI_FREQ_HZ) { in adxl34x_spi_probe()
74 dev_err(&spi->dev, "SPI CLK %d Hz too fast\n", spi->max_speed_hz); in adxl34x_spi_probe()
75 return -EINVAL; in adxl34x_spi_probe()
78 ac = adxl34x_probe(&spi->dev, spi->irq, in adxl34x_spi_probe()
79 spi->max_speed_hz > MAX_FREQ_NO_FIFODELAY, in adxl34x_spi_probe()
85 spi_set_drvdata(spi, ac); in adxl34x_spi_probe()
90 static int adxl34x_spi_remove(struct spi_device *spi) in adxl34x_spi_remove() argument
92 struct adxl34x *ac = spi_get_drvdata(spi); in adxl34x_spi_remove()
97 static int __maybe_unused adxl34x_spi_suspend(struct device *dev) in adxl34x_spi_suspend()
99 struct spi_device *spi = to_spi_device(dev); in adxl34x_spi_suspend() local
100 struct adxl34x *ac = spi_get_drvdata(spi); in adxl34x_spi_suspend()
107 static int __maybe_unused adxl34x_spi_resume(struct device *dev) in adxl34x_spi_resume()
109 struct spi_device *spi = to_spi_device(dev); in adxl34x_spi_resume() local
110 struct adxl34x *ac = spi_get_drvdata(spi); in adxl34x_spi_resume()
132 MODULE_DESCRIPTION("ADXL345/346 Three-Axis Digital Accelerometer SPI Bus Driver");