Lines Matching defs:spi
15 #include <linux/spi/spi.h>
68 struct spi_device *spi;
122 temp = spi_w8r16(st->spi, cmd);
143 temp = spi_w8r16(st->spi, cmd);
165 temp = spi_w8r8(st->spi, cmd);
179 static int adxrs290_spi_write_reg(struct spi_device *spi, const u8 reg,
187 return spi_write_then_read(spi, buf, ARRAY_SIZE(buf), NULL, 0);
212 return adxrs290_spi_write_reg(st->spi, ADXRS290_REG_FILTER, val);
225 ret = spi_w8r8(st->spi, ADXRS290_READ_REG(ADXRS290_REG_POWER_CTL));
243 ret = adxrs290_spi_write_reg(st->spi, ADXRS290_REG_POWER_CTL, val);
245 dev_err(&st->spi->dev, "unable to set mode: %d\n", ret);
267 struct spi_device *spi = st->spi;
270 ret = adxrs290_spi_write_reg(spi, ADXRS290_REG_POWER_CTL,
277 return devm_add_action_or_reset(&spi->dev, adxrs290_chip_off_action,
440 static int adxrs290_reg_access_rw(struct spi_device *spi, unsigned int reg,
445 ret = spi_w8r8(spi, ADXRS290_READ_REG(reg));
460 return adxrs290_reg_access_rw(st->spi, reg, readval);
462 return adxrs290_spi_write_reg(st->spi, reg, writeval);
475 ret = adxrs290_spi_write_reg(st->spi, ADXRS290_REG_DATA_RDY, val);
477 dev_err(&st->spi->dev, "failed to start data rdy interrupt\n");
516 ret = spi_write_then_read(st->spi, &tx, sizeof(tx), st->buffer.channels,
588 if (!st->spi->irq) {
589 dev_info(&st->spi->dev, "no irq, using polling\n");
593 st->dready_trig = devm_iio_trigger_alloc(&st->spi->dev, "%s-dev%d",
599 st->dready_trig->dev.parent = &st->spi->dev;
603 ret = devm_request_irq(&st->spi->dev, st->spi->irq,
607 return dev_err_probe(&st->spi->dev, ret,
608 "request irq %d failed\n", st->spi->irq);
610 ret = devm_iio_trigger_register(&st->spi->dev, st->dready_trig);
612 dev_err(&st->spi->dev, "iio trigger register failed\n");
621 static int adxrs290_probe(struct spi_device *spi)
628 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
633 st->spi = spi;
644 val = spi_w8r8(spi, ADXRS290_READ_REG(ADXRS290_REG_ADI_ID));
646 dev_err(&spi->dev, "Wrong ADI ID 0x%02x\n", val);
650 val = spi_w8r8(spi, ADXRS290_READ_REG(ADXRS290_REG_MEMS_ID));
652 dev_err(&spi->dev, "Wrong MEMS ID 0x%02x\n", val);
656 val = spi_w8r8(spi, ADXRS290_READ_REG(ADXRS290_REG_DEV_ID));
658 dev_err(&spi->dev, "Wrong DEV ID 0x%02x\n", val);
680 ret = devm_iio_triggered_buffer_setup(&spi->dev, indio_dev,
684 return dev_err_probe(&spi->dev, ret,
691 return devm_iio_device_register(&spi->dev, indio_dev);