Lines Matching refs:spi

100 	struct spi_device	*spi;  member
210 disable_irq(ts->spi->irq); in ads7846_stop()
221 enable_irq(ts->spi->irq); in ads7846_restart()
244 dev_err(&ts->spi->dev, "Failed to enable supply: %d\n", error); in __ads7846_enable()
314 struct spi_device *spi = to_spi_device(dev); in ads7846_read12_ser() local
371 status = spi_sync(spi, &req->msg); in ads7846_read12_ser()
388 struct spi_device *spi = to_spi_device(dev); in ads7845_read12_ser() local
407 status = spi_sync(spi, &req->msg); in ads7845_read12_ser()
428 ssize_t v = ads7846_read12_ser(&ts->spi->dev, \
508 static int ads784x_hwmon_register(struct spi_device *spi, struct ads7846 *ts) in ads784x_hwmon_register() argument
514 dev_dbg(&spi->dev, "assuming 2.5V internal vREF\n"); in ads784x_hwmon_register()
522 dev_warn(&spi->dev, in ads784x_hwmon_register()
530 ts->hwmon = hwmon_device_register_with_groups(&spi->dev, spi->modalias, in ads784x_hwmon_register()
536 static void ads784x_hwmon_unregister(struct spi_device *spi, in ads784x_hwmon_unregister() argument
544 static inline int ads784x_hwmon_register(struct spi_device *spi, in ads784x_hwmon_register() argument
550 static inline void ads784x_hwmon_unregister(struct spi_device *spi, in ads784x_hwmon_unregister() argument
709 error = spi_sync(ts->spi, m); in ads7846_read_state()
711 dev_err(&ts->spi->dev, "spi_sync --> %d\n", error); in ads7846_read_state()
783 dev_vdbg(&ts->spi->dev, "x/y: %d/%d, PD %d\n", x, y, Rt); in ads7846_report_state()
802 dev_vdbg(&ts->spi->dev, "ignored %d pressure %d\n", in ads7846_report_state()
835 dev_vdbg(&ts->spi->dev, "DOWN\n"); in ads7846_report_state()
843 dev_vdbg(&ts->spi->dev, "%4d/%4d/%4d\n", x, y, Rt); in ads7846_report_state()
882 dev_vdbg(&ts->spi->dev, "UP\n"); in ads7846_irq()
899 if (device_may_wakeup(&ts->spi->dev)) in ads7846_suspend()
900 enable_irq_wake(ts->spi->irq); in ads7846_suspend()
920 if (device_may_wakeup(&ts->spi->dev)) in ads7846_resume()
921 disable_irq_wake(ts->spi->irq); in ads7846_resume()
934 static int ads7846_setup_pendown(struct spi_device *spi, in ads7846_setup_pendown() argument
953 dev_err(&spi->dev, in ads7846_setup_pendown()
965 dev_err(&spi->dev, "no get_pendown_state nor gpio_pendown?\n"); in ads7846_setup_pendown()
1254 static int ads7846_probe(struct spi_device *spi) in ads7846_probe() argument
1263 if (!spi->irq) { in ads7846_probe()
1264 dev_dbg(&spi->dev, "no IRQ?\n"); in ads7846_probe()
1269 if (spi->max_speed_hz > (125000 * SAMPLE_BITS)) { in ads7846_probe()
1270 dev_err(&spi->dev, "f(sample) %d KHz?\n", in ads7846_probe()
1271 (spi->max_speed_hz/SAMPLE_BITS)/1000); in ads7846_probe()
1280 spi->bits_per_word = 8; in ads7846_probe()
1281 spi->mode = SPI_MODE_0; in ads7846_probe()
1282 err = spi_setup(spi); in ads7846_probe()
1294 spi_set_drvdata(spi, ts); in ads7846_probe()
1297 ts->spi = spi; in ads7846_probe()
1303 pdata = dev_get_platdata(&spi->dev); in ads7846_probe()
1305 pdata = ads7846_probe_dt(&spi->dev); in ads7846_probe()
1340 err = ads7846_setup_pendown(spi, ts, pdata); in ads7846_probe()
1350 snprintf(ts->phys, sizeof(ts->phys), "%s/input0", dev_name(&spi->dev)); in ads7846_probe()
1355 input_dev->dev.parent = &spi->dev; in ads7846_probe()
1372 ts->reg = regulator_get(&spi->dev, "vcc"); in ads7846_probe()
1375 dev_err(&spi->dev, "unable to get regulator: %d\n", err); in ads7846_probe()
1381 dev_err(&spi->dev, "unable to enable regulator: %d\n", err); in ads7846_probe()
1388 err = request_threaded_irq(spi->irq, ads7846_hard_irq, ads7846_irq, in ads7846_probe()
1389 irq_flags, spi->dev.driver->name, ts); in ads7846_probe()
1391 dev_info(&spi->dev, in ads7846_probe()
1392 "trying pin change workaround on irq %d\n", spi->irq); in ads7846_probe()
1394 err = request_threaded_irq(spi->irq, in ads7846_probe()
1396 irq_flags, spi->dev.driver->name, ts); in ads7846_probe()
1400 dev_dbg(&spi->dev, "irq %d busy?\n", spi->irq); in ads7846_probe()
1404 err = ads784x_hwmon_register(spi, ts); in ads7846_probe()
1408 dev_info(&spi->dev, "touchscreen, irq %d\n", spi->irq); in ads7846_probe()
1415 ads7845_read12_ser(&spi->dev, PWRDOWN); in ads7846_probe()
1417 (void) ads7846_read12_ser(&spi->dev, READ_12BIT_SER(vaux)); in ads7846_probe()
1419 err = sysfs_create_group(&spi->dev.kobj, &ads784x_attr_group); in ads7846_probe()
1427 device_init_wakeup(&spi->dev, pdata->wakeup); in ads7846_probe()
1433 if (!dev_get_platdata(&spi->dev)) in ads7846_probe()
1434 devm_kfree(&spi->dev, (void *)pdata); in ads7846_probe()
1439 sysfs_remove_group(&spi->dev.kobj, &ads784x_attr_group); in ads7846_probe()
1441 ads784x_hwmon_unregister(spi, ts); in ads7846_probe()
1443 free_irq(spi->irq, ts); in ads7846_probe()
1461 static int ads7846_remove(struct spi_device *spi) in ads7846_remove() argument
1463 struct ads7846 *ts = spi_get_drvdata(spi); in ads7846_remove()
1465 device_init_wakeup(&spi->dev, false); in ads7846_remove()
1467 sysfs_remove_group(&spi->dev.kobj, &ads784x_attr_group); in ads7846_remove()
1470 free_irq(ts->spi->irq, ts); in ads7846_remove()
1474 ads784x_hwmon_unregister(spi, ts); in ads7846_remove()
1493 dev_dbg(&spi->dev, "unregistered touchscreen\n"); in ads7846_remove()