Lines Matching defs:spi
17 #include <linux/spi/spi.h>
155 struct spi_device *spi;
187 ret = spi_write_then_read(st->spi, st->data.d8, 1,
202 return spi_write(st->spi, st->data.d8, 2);
448 st->gpio_sync_in = devm_gpiod_get(&st->spi->dev, "adi,sync-in",
466 ret = spi_read(st->spi, &st->data.scan.chan, 3);
539 static int ad7768_probe(struct spi_device *spi)
545 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
550 st->spi = spi;
552 st->vref = devm_regulator_get(&spi->dev, "vref");
558 dev_err(&spi->dev, "Failed to enable specified vref supply\n");
562 ret = devm_add_action_or_reset(&spi->dev, ad7768_regulator_disable, st);
566 st->mclk = devm_clk_get(&spi->dev, "mclk");
574 ret = devm_add_action_or_reset(&spi->dev, ad7768_clk_disable, st);
580 spi_set_drvdata(spi, indio_dev);
585 indio_dev->name = spi_get_device_id(spi)->name;
591 dev_err(&spi->dev, "AD7768 setup failed\n");
595 st->trig = devm_iio_trigger_alloc(&spi->dev, "%s-dev%d",
601 st->trig->dev.parent = &spi->dev;
603 ret = devm_iio_trigger_register(&spi->dev, st->trig);
611 ret = devm_request_irq(&spi->dev, spi->irq,
618 ret = devm_iio_triggered_buffer_setup(&spi->dev, indio_dev,
625 return devm_iio_device_register(&spi->dev, indio_dev);
632 MODULE_DEVICE_TABLE(spi, ad7768_id_table);