Lines Matching refs:pcap_ts
24 struct pcap_ts { struct
44 struct pcap_ts *pcap_ts = data; in pcap_ts_read_xy() argument
46 switch (pcap_ts->read_state) { in pcap_ts_read_xy()
50 pcap_ts->pressure = res[0]; in pcap_ts_read_xy()
51 pcap_ts->read_state = PCAP_ADC_TS_M_XY; in pcap_ts_read_xy()
52 schedule_delayed_work(&pcap_ts->work, 0); in pcap_ts_read_xy()
55 pcap_ts->y = res[0]; in pcap_ts_read_xy()
56 pcap_ts->x = res[1]; in pcap_ts_read_xy()
57 if (pcap_ts->x <= X_AXIS_MIN || pcap_ts->x >= X_AXIS_MAX || in pcap_ts_read_xy()
58 pcap_ts->y <= Y_AXIS_MIN || pcap_ts->y >= Y_AXIS_MAX) { in pcap_ts_read_xy()
60 input_report_abs(pcap_ts->input, ABS_PRESSURE, 0); in pcap_ts_read_xy()
61 input_report_key(pcap_ts->input, BTN_TOUCH, 0); in pcap_ts_read_xy()
63 pcap_ts->read_state = PCAP_ADC_TS_M_STANDBY; in pcap_ts_read_xy()
64 schedule_delayed_work(&pcap_ts->work, 0); in pcap_ts_read_xy()
67 input_report_abs(pcap_ts->input, ABS_X, pcap_ts->x); in pcap_ts_read_xy()
68 input_report_abs(pcap_ts->input, ABS_Y, pcap_ts->y); in pcap_ts_read_xy()
69 input_report_key(pcap_ts->input, BTN_TOUCH, 1); in pcap_ts_read_xy()
70 input_report_abs(pcap_ts->input, ABS_PRESSURE, in pcap_ts_read_xy()
71 pcap_ts->pressure); in pcap_ts_read_xy()
74 pcap_ts->read_state = PCAP_ADC_TS_M_PRESSURE; in pcap_ts_read_xy()
75 schedule_delayed_work(&pcap_ts->work, in pcap_ts_read_xy()
78 input_sync(pcap_ts->input); in pcap_ts_read_xy()
81 dev_warn(&pcap_ts->input->dev, in pcap_ts_read_xy()
83 pcap_ts->read_state); in pcap_ts_read_xy()
91 struct pcap_ts *pcap_ts = container_of(dw, struct pcap_ts, work); in pcap_ts_work() local
94 pcap_set_ts_bits(pcap_ts->pcap, in pcap_ts_work()
95 pcap_ts->read_state << PCAP_ADC_TS_M_SHIFT); in pcap_ts_work()
97 if (pcap_ts->read_state == PCAP_ADC_TS_M_STANDBY) in pcap_ts_work()
103 pcap_adc_async(pcap_ts->pcap, PCAP_ADC_BANK_1, 0, ch, in pcap_ts_work()
104 pcap_ts_read_xy, pcap_ts); in pcap_ts_work()
109 struct pcap_ts *pcap_ts = data; in pcap_ts_event_touch() local
111 if (pcap_ts->read_state == PCAP_ADC_TS_M_STANDBY) { in pcap_ts_event_touch()
112 pcap_ts->read_state = PCAP_ADC_TS_M_PRESSURE; in pcap_ts_event_touch()
113 schedule_delayed_work(&pcap_ts->work, 0); in pcap_ts_event_touch()
120 struct pcap_ts *pcap_ts = input_get_drvdata(dev); in pcap_ts_open() local
122 pcap_ts->read_state = PCAP_ADC_TS_M_STANDBY; in pcap_ts_open()
123 schedule_delayed_work(&pcap_ts->work, 0); in pcap_ts_open()
130 struct pcap_ts *pcap_ts = input_get_drvdata(dev); in pcap_ts_close() local
132 cancel_delayed_work_sync(&pcap_ts->work); in pcap_ts_close()
134 pcap_ts->read_state = PCAP_ADC_TS_M_NONTS; in pcap_ts_close()
135 pcap_set_ts_bits(pcap_ts->pcap, in pcap_ts_close()
136 pcap_ts->read_state << PCAP_ADC_TS_M_SHIFT); in pcap_ts_close()
142 struct pcap_ts *pcap_ts; in pcap_ts_probe() local
145 pcap_ts = kzalloc(sizeof(*pcap_ts), GFP_KERNEL); in pcap_ts_probe()
146 if (!pcap_ts) in pcap_ts_probe()
149 pcap_ts->pcap = dev_get_drvdata(pdev->dev.parent); in pcap_ts_probe()
150 platform_set_drvdata(pdev, pcap_ts); in pcap_ts_probe()
156 INIT_DELAYED_WORK(&pcap_ts->work, pcap_ts_work); in pcap_ts_probe()
158 pcap_ts->read_state = PCAP_ADC_TS_M_NONTS; in pcap_ts_probe()
159 pcap_set_ts_bits(pcap_ts->pcap, in pcap_ts_probe()
160 pcap_ts->read_state << PCAP_ADC_TS_M_SHIFT); in pcap_ts_probe()
162 pcap_ts->input = input_dev; in pcap_ts_probe()
163 input_set_drvdata(input_dev, pcap_ts); in pcap_ts_probe()
182 err = input_register_device(pcap_ts->input); in pcap_ts_probe()
186 err = request_irq(pcap_to_irq(pcap_ts->pcap, PCAP_IRQ_TS), in pcap_ts_probe()
187 pcap_ts_event_touch, 0, "Touch Screen", pcap_ts); in pcap_ts_probe()
199 kfree(pcap_ts); in pcap_ts_probe()
206 struct pcap_ts *pcap_ts = platform_get_drvdata(pdev); in pcap_ts_remove() local
208 free_irq(pcap_to_irq(pcap_ts->pcap, PCAP_IRQ_TS), pcap_ts); in pcap_ts_remove()
209 cancel_delayed_work_sync(&pcap_ts->work); in pcap_ts_remove()
211 input_unregister_device(pcap_ts->input); in pcap_ts_remove()
213 kfree(pcap_ts); in pcap_ts_remove()
221 struct pcap_ts *pcap_ts = dev_get_drvdata(dev); in pcap_ts_suspend() local
223 pcap_set_ts_bits(pcap_ts->pcap, PCAP_ADC_TS_REF_LOWPWR); in pcap_ts_suspend()
229 struct pcap_ts *pcap_ts = dev_get_drvdata(dev); in pcap_ts_resume() local
231 pcap_set_ts_bits(pcap_ts->pcap, in pcap_ts_resume()
232 pcap_ts->read_state << PCAP_ADC_TS_M_SHIFT); in pcap_ts_resume()