Lines Matching defs:spi

29 #include <linux/spi/spi.h>
30 #include <linux/spi/ads7846.h>
99 struct spi_device *spi;
235 dev_vdbg(&ts->spi->dev, "UP\n");
246 disable_irq(ts->spi->irq);
261 enable_irq(ts->spi->irq);
284 dev_err(&ts->spi->dev, "Failed to enable supply: %d\n", error);
354 struct spi_device *spi = to_spi_device(dev);
412 status = spi_sync(spi, &req->msg);
429 struct spi_device *spi = to_spi_device(dev);
448 status = spi_sync(spi, &req->msg);
469 ssize_t v = ads7846_read12_ser(&ts->spi->dev, \
549 static int ads784x_hwmon_register(struct spi_device *spi, struct ads7846 *ts)
557 dev_dbg(&spi->dev, "assuming 2.5V internal vREF\n");
565 dev_warn(&spi->dev,
573 hwmon = devm_hwmon_device_register_with_groups(&spi->dev,
574 spi->modalias, ts,
581 static inline int ads784x_hwmon_register(struct spi_device *spi,
806 error = spi_sync(ts->spi, m);
808 dev_err(&ts->spi->dev, "spi_sync --> %d\n", error);
862 dev_vdbg(&ts->spi->dev, "ignored %d pressure %d\n",
892 dev_vdbg(&ts->spi->dev, "DOWN\n");
899 dev_vdbg(&ts->spi->dev, "%4d/%4d/%4d\n", x, y, Rt);
947 if (device_may_wakeup(&ts->spi->dev))
948 enable_irq_wake(ts->spi->irq);
968 if (device_may_wakeup(&ts->spi->dev))
969 disable_irq_wake(ts->spi->irq);
982 static int ads7846_setup_pendown(struct spi_device *spi,
995 ts->gpio_pendown = gpiod_get(&spi->dev, "pendown", GPIOD_IN);
997 dev_err(&spi->dev, "failed to request pendown GPIO\n");
1025 time = NSEC_PER_SEC / ts->spi->max_speed_hz;
1061 packet->tx = devm_kzalloc(&ts->spi->dev, size, GFP_KERNEL);
1065 packet->rx = devm_kzalloc(&ts->spi->dev, size, GFP_KERNEL);
1174 static int ads7846_probe(struct spi_device *spi)
1178 struct device *dev = &spi->dev;
1184 if (!spi->irq) {
1190 if (spi->max_speed_hz > (125000 * SAMPLE_BITS)) {
1192 (spi->max_speed_hz/SAMPLE_BITS)/1000);
1201 spi->bits_per_word = 8;
1202 spi->mode &= ~SPI_MODE_X_MASK;
1203 spi->mode |= SPI_MODE_0;
1204 err = spi_setup(spi);
1220 spi_set_drvdata(spi, ts);
1223 ts->spi = spi;
1253 err = ads7846_setup_pendown(spi, ts, pdata);
1324 err = devm_request_threaded_irq(dev, spi->irq,
1329 "trying pin change workaround on irq %d\n", spi->irq);
1331 err = devm_request_threaded_irq(dev, spi->irq,
1338 dev_dbg(dev, "irq %d busy?\n", spi->irq);
1342 err = ads784x_hwmon_register(spi, ts);
1346 dev_info(dev, "touchscreen, irq %d\n", spi->irq);
1373 static void ads7846_remove(struct spi_device *spi)
1375 struct ads7846 *ts = spi_get_drvdata(spi);
1395 MODULE_ALIAS("spi:ads7846");