Lines Matching refs:data
56 struct adc_jack_data *data = container_of(to_delayed_work(work), in adc_jack_handler() local
63 ret = iio_read_channel_raw(data->chan, &adc_val); in adc_jack_handler()
65 dev_err(&data->edev->dev, "read channel() error: %d\n", ret); in adc_jack_handler()
70 for (i = 0; i < data->num_conditions; i++) { in adc_jack_handler()
71 struct adc_jack_cond *def = &data->adc_conditions[i]; in adc_jack_handler()
81 extcon_set_state(data->edev, state); in adc_jack_handler()
86 struct adc_jack_data *data = _data; in adc_jack_irq_thread() local
89 &data->handler, data->handling_delay); in adc_jack_irq_thread()
95 struct adc_jack_data *data; in adc_jack_probe() local
99 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in adc_jack_probe()
100 if (!data) in adc_jack_probe()
108 data->edev = devm_extcon_dev_allocate(&pdev->dev, pdata->cable_names); in adc_jack_probe()
109 if (IS_ERR(data->edev)) { in adc_jack_probe()
119 data->adc_conditions = pdata->adc_conditions; in adc_jack_probe()
122 for (i = 0; data->adc_conditions[i].state; i++) in adc_jack_probe()
124 data->num_conditions = i; in adc_jack_probe()
126 data->chan = iio_channel_get(&pdev->dev, pdata->consumer_channel); in adc_jack_probe()
127 if (IS_ERR(data->chan)) in adc_jack_probe()
128 return PTR_ERR(data->chan); in adc_jack_probe()
130 data->handling_delay = msecs_to_jiffies(pdata->handling_delay_ms); in adc_jack_probe()
132 INIT_DEFERRABLE_WORK(&data->handler, adc_jack_handler); in adc_jack_probe()
134 platform_set_drvdata(pdev, data); in adc_jack_probe()
136 err = devm_extcon_dev_register(&pdev->dev, data->edev); in adc_jack_probe()
140 data->irq = platform_get_irq(pdev, 0); in adc_jack_probe()
141 if (!data->irq) { in adc_jack_probe()
146 err = request_any_context_irq(data->irq, adc_jack_irq_thread, in adc_jack_probe()
147 pdata->irq_flags, pdata->name, data); in adc_jack_probe()
150 dev_err(&pdev->dev, "error: irq %d\n", data->irq); in adc_jack_probe()
159 struct adc_jack_data *data = platform_get_drvdata(pdev); in adc_jack_remove() local
161 free_irq(data->irq, data); in adc_jack_remove()
162 cancel_work_sync(&data->handler.work); in adc_jack_remove()
163 iio_channel_release(data->chan); in adc_jack_remove()