Lines Matching defs:spi
12 #include <linux/spi/spi.h>
80 static inline int bma220_read_reg(struct spi_device *spi, u8 reg)
82 return spi_w8r8(spi, reg | BMA220_READ_MASK);
96 struct spi_device *spi = data->spi_device;
100 ret = spi_write_then_read(spi, data->tx_buf, 1, &data->scan.chans,
201 static int bma220_init(struct spi_device *spi)
205 ret = bma220_read_reg(spi, BMA220_REG_ID);
210 ret = bma220_read_reg(spi, BMA220_REG_SUSPEND);
212 ret = bma220_read_reg(spi, BMA220_REG_SUSPEND);
221 static int bma220_power(struct spi_device *spi, bool up)
231 ret = bma220_read_reg(spi, BMA220_REG_SUSPEND);
245 static void bma220_deinit(void *spi)
247 bma220_power(spi, false);
250 static int bma220_probe(struct spi_device *spi)
256 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*data));
258 dev_err(&spi->dev, "iio allocation failed!\n");
263 data->spi_device = spi;
277 ret = devm_add_action_or_reset(&spi->dev, bma220_deinit, spi);
281 ret = devm_iio_triggered_buffer_setup(&spi->dev, indio_dev,
285 dev_err(&spi->dev, "iio triggered buffer setup failed\n");
289 return devm_iio_device_register(&spi->dev, indio_dev);
294 struct spi_device *spi = to_spi_device(dev);
296 return bma220_power(spi, false);
301 struct spi_device *spi = to_spi_device(dev);
303 return bma220_power(spi, true);
316 MODULE_DEVICE_TABLE(spi, bma220_spi_id);