Lines Matching refs:idev
248 struct iio_dev *idev = pf->indio_dev; in at91_adc_trigger_handler() local
249 struct at91_adc_state *st = iio_priv(idev); in at91_adc_trigger_handler()
252 for (i = 0; i < idev->masklength; i++) { in at91_adc_trigger_handler()
253 if (!test_bit(i, idev->active_scan_mask)) in at91_adc_trigger_handler()
259 iio_push_to_buffers_with_timestamp(idev, st->buffer, pf->timestamp); in at91_adc_trigger_handler()
261 iio_trigger_notify_done(idev->trig); in at91_adc_trigger_handler()
272 static void handle_adc_eoc_trigger(int irq, struct iio_dev *idev) in handle_adc_eoc_trigger() argument
274 struct at91_adc_state *st = iio_priv(idev); in handle_adc_eoc_trigger()
276 if (iio_buffer_enabled(idev)) { in handle_adc_eoc_trigger()
278 iio_trigger_poll(idev->trig); in handle_adc_eoc_trigger()
292 struct iio_dev *idev = iio_priv_to_dev(st); in at91_ts_sample() local
304 dev_err(&idev->dev, "Error: xscale == 0!\n"); in at91_ts_sample()
315 dev_err(&idev->dev, "Error: yscale == 0!\n"); in at91_ts_sample()
331 …dev_dbg(&idev->dev, "xpos = %d, xscale = %d, ypos = %d, yscale = %d, z1 = %d, z2 = %d, press = %d\… in at91_ts_sample()
335 dev_dbg(&idev->dev, "x = %d, y = %d, pressure = %d\n", in at91_ts_sample()
343 dev_dbg(&idev->dev, "pressure too low: not reporting\n"); in at91_ts_sample()
351 struct iio_dev *idev = private; in at91_adc_rl_interrupt() local
352 struct at91_adc_state *st = iio_priv(idev); in at91_adc_rl_interrupt()
358 handle_adc_eoc_trigger(irq, idev); in at91_adc_rl_interrupt()
416 struct iio_dev *idev = private; in at91_adc_9x5_interrupt() local
417 struct at91_adc_state *st = iio_priv(idev); in at91_adc_9x5_interrupt()
425 handle_adc_eoc_trigger(irq, idev); in at91_adc_9x5_interrupt()
462 static int at91_adc_channel_init(struct iio_dev *idev) in at91_adc_channel_init() argument
464 struct at91_adc_state *st = iio_priv(idev); in at91_adc_channel_init()
478 idev->num_channels = bitmap_weight(&st->channels_mask, in at91_adc_channel_init()
481 chan_array = devm_kzalloc(&idev->dev, in at91_adc_channel_init()
482 ((idev->num_channels + 1) * in at91_adc_channel_init()
512 idev->channels = chan_array; in at91_adc_channel_init()
513 return idev->num_channels; in at91_adc_channel_init()
516 static int at91_adc_get_trigger_value_by_name(struct iio_dev *idev, in at91_adc_get_trigger_value_by_name() argument
520 struct at91_adc_state *st = iio_priv(idev); in at91_adc_get_trigger_value_by_name()
526 idev->name, in at91_adc_get_trigger_value_by_name()
527 idev->id, in at91_adc_get_trigger_value_by_name()
547 struct iio_dev *idev = iio_trigger_get_drvdata(trig); in at91_adc_configure_trigger() local
548 struct at91_adc_state *st = iio_priv(idev); in at91_adc_configure_trigger()
554 value = at91_adc_get_trigger_value_by_name(idev, in at91_adc_configure_trigger()
556 idev->trig->name); in at91_adc_configure_trigger()
561 st->buffer = kmalloc(idev->scan_bytes, GFP_KERNEL); in at91_adc_configure_trigger()
568 for_each_set_bit(bit, idev->active_scan_mask, in at91_adc_configure_trigger()
570 struct iio_chan_spec const *chan = idev->channels + bit; in at91_adc_configure_trigger()
583 for_each_set_bit(bit, idev->active_scan_mask, in at91_adc_configure_trigger()
585 struct iio_chan_spec const *chan = idev->channels + bit; in at91_adc_configure_trigger()
600 static struct iio_trigger *at91_adc_allocate_trigger(struct iio_dev *idev, in at91_adc_allocate_trigger() argument
606 trig = iio_trigger_alloc("%s-dev%d-%s", idev->name, in at91_adc_allocate_trigger()
607 idev->id, trigger->name); in at91_adc_allocate_trigger()
611 trig->dev.parent = idev->dev.parent; in at91_adc_allocate_trigger()
612 iio_trigger_set_drvdata(trig, idev); in at91_adc_allocate_trigger()
622 static int at91_adc_trigger_init(struct iio_dev *idev) in at91_adc_trigger_init() argument
624 struct at91_adc_state *st = iio_priv(idev); in at91_adc_trigger_init()
627 st->trig = devm_kzalloc(&idev->dev, in at91_adc_trigger_init()
640 st->trig[i] = at91_adc_allocate_trigger(idev, in at91_adc_trigger_init()
643 dev_err(&idev->dev, in at91_adc_trigger_init()
661 static void at91_adc_trigger_remove(struct iio_dev *idev) in at91_adc_trigger_remove() argument
663 struct at91_adc_state *st = iio_priv(idev); in at91_adc_trigger_remove()
672 static int at91_adc_buffer_init(struct iio_dev *idev) in at91_adc_buffer_init() argument
674 return iio_triggered_buffer_setup(idev, &iio_pollfunc_store_time, in at91_adc_buffer_init()
678 static void at91_adc_buffer_remove(struct iio_dev *idev) in at91_adc_buffer_remove() argument
680 iio_triggered_buffer_cleanup(idev); in at91_adc_buffer_remove()
683 static int at91_adc_read_raw(struct iio_dev *idev, in at91_adc_read_raw() argument
687 struct at91_adc_state *st = iio_priv(idev); in at91_adc_read_raw()
734 struct iio_dev *idev = iio_priv_to_dev(st); in at91_adc_of_get_resolution() local
742 dev_err(&idev->dev, "You must specified at least two resolution names for " in at91_adc_of_get_resolution()
752 dev_err(&idev->dev, "Missing adc-res property in the DT.\n"); in at91_adc_of_get_resolution()
773 dev_info(&idev->dev, "Resolution used: %u bits\n", st->res); in at91_adc_of_get_resolution()
777 dev_err(&idev->dev, "There is no resolution for %s\n", res_name); in at91_adc_of_get_resolution()
863 struct iio_dev *idev = iio_priv_to_dev(st); in at91_adc_probe_dt() local
878 dev_err(&idev->dev, "Missing adc-channels-used property in the DT.\n"); in at91_adc_probe_dt()
887 dev_err(&idev->dev, "Missing adc-startup-time property in the DT.\n"); in at91_adc_probe_dt()
898 dev_err(&idev->dev, "Missing adc-vref property in the DT.\n"); in at91_adc_probe_dt()
911 st->trigger_list = devm_kzalloc(&idev->dev, st->trigger_number * in at91_adc_probe_dt()
915 dev_err(&idev->dev, "Could not allocate trigger list memory.\n"); in at91_adc_probe_dt()
925 dev_err(&idev->dev, "Missing trigger-name property in the DT.\n"); in at91_adc_probe_dt()
932 dev_err(&idev->dev, "Missing trigger-value property in the DT.\n"); in at91_adc_probe_dt()
943 return at91_adc_probe_dt_ts(node, st, &idev->dev); in at91_adc_probe_dt()
945 dev_info(&idev->dev, "not support touchscreen in the adc compatible string.\n"); in at91_adc_probe_dt()
1006 struct iio_dev *idev = iio_priv_to_dev(st); in at91_ts_hw_init() local
1046 dev_dbg(&idev->dev, "adc_clk at: %d KHz, tssctim at: %d\n", in at91_ts_hw_init()
1083 struct iio_dev *idev = iio_priv_to_dev(st); in at91_ts_register() local
1088 dev_err(&idev->dev, "Failed to allocate TS device!\n"); in at91_ts_register()
1144 struct iio_dev *idev; in at91_adc_probe() local
1149 idev = devm_iio_device_alloc(&pdev->dev, sizeof(struct at91_adc_state)); in at91_adc_probe()
1150 if (!idev) in at91_adc_probe()
1153 st = iio_priv(idev); in at91_adc_probe()
1165 platform_set_drvdata(pdev, idev); in at91_adc_probe()
1167 idev->dev.parent = &pdev->dev; in at91_adc_probe()
1168 idev->name = dev_name(&pdev->dev); in at91_adc_probe()
1169 idev->modes = INDIO_DIRECT_MODE; in at91_adc_probe()
1170 idev->info = &at91_adc_info; in at91_adc_probe()
1193 pdev->dev.driver->name, idev); in at91_adc_probe()
1196 pdev->dev.driver->name, idev); in at91_adc_probe()
1272 ret = at91_adc_channel_init(idev); in at91_adc_probe()
1287 ret = at91_adc_buffer_init(idev); in at91_adc_probe()
1293 ret = at91_adc_trigger_init(idev); in at91_adc_probe()
1296 at91_adc_buffer_remove(idev); in at91_adc_probe()
1307 ret = iio_device_register(idev); in at91_adc_probe()
1317 at91_adc_trigger_remove(idev); in at91_adc_probe()
1318 at91_adc_buffer_remove(idev); in at91_adc_probe()
1327 free_irq(st->irq, idev); in at91_adc_probe()
1333 struct iio_dev *idev = platform_get_drvdata(pdev); in at91_adc_remove() local
1334 struct at91_adc_state *st = iio_priv(idev); in at91_adc_remove()
1336 iio_device_unregister(idev); in at91_adc_remove()
1338 at91_adc_trigger_remove(idev); in at91_adc_remove()
1339 at91_adc_buffer_remove(idev); in at91_adc_remove()
1345 free_irq(st->irq, idev); in at91_adc_remove()