• Home
  • Raw
  • Download

Lines Matching full:eeti

2  * Touch Screen driver for EETI's I2C connected touch screen panels
5 * See EETI's software guide for the protocol specification:
6 * http://home.eeti.com.tw/documentation.html
56 static void eeti_ts_report_event(struct eeti_ts *eeti, u8 *buf) in eeti_ts_report_event() argument
71 input_report_abs(eeti->input, ABS_PRESSURE, buf[5]); in eeti_ts_report_event()
73 touchscreen_report_pos(eeti->input, &eeti->props, x, y, false); in eeti_ts_report_event()
74 input_report_key(eeti->input, BTN_TOUCH, buf[0] & REPORT_BIT_PRESSED); in eeti_ts_report_event()
75 input_sync(eeti->input); in eeti_ts_report_event()
80 struct eeti_ts *eeti = dev_id; in eeti_ts_isr() local
86 len = i2c_master_recv(eeti->client, buf, sizeof(buf)); in eeti_ts_isr()
89 dev_err(&eeti->client->dev, in eeti_ts_isr()
97 eeti_ts_report_event(eeti, buf); in eeti_ts_isr()
99 } while (eeti->running && in eeti_ts_isr()
100 eeti->attn_gpio && gpiod_get_value_cansleep(eeti->attn_gpio)); in eeti_ts_isr()
105 static void eeti_ts_start(struct eeti_ts *eeti) in eeti_ts_start() argument
107 eeti->running = true; in eeti_ts_start()
109 enable_irq(eeti->client->irq); in eeti_ts_start()
112 static void eeti_ts_stop(struct eeti_ts *eeti) in eeti_ts_stop() argument
114 eeti->running = false; in eeti_ts_stop()
116 disable_irq(eeti->client->irq); in eeti_ts_stop()
121 struct eeti_ts *eeti = input_get_drvdata(dev); in eeti_ts_open() local
123 eeti_ts_start(eeti); in eeti_ts_open()
130 struct eeti_ts *eeti = input_get_drvdata(dev); in eeti_ts_close() local
132 eeti_ts_stop(eeti); in eeti_ts_close()
139 struct eeti_ts *eeti; in eeti_ts_probe() local
150 eeti = devm_kzalloc(dev, sizeof(*eeti), GFP_KERNEL); in eeti_ts_probe()
151 if (!eeti) { in eeti_ts_probe()
168 touchscreen_parse_properties(input, false, &eeti->props); in eeti_ts_probe()
175 eeti->client = client; in eeti_ts_probe()
176 eeti->input = input; in eeti_ts_probe()
178 eeti->attn_gpio = devm_gpiod_get_optional(dev, "attn", GPIOD_IN); in eeti_ts_probe()
179 if (IS_ERR(eeti->attn_gpio)) in eeti_ts_probe()
180 return PTR_ERR(eeti->attn_gpio); in eeti_ts_probe()
182 i2c_set_clientdata(client, eeti); in eeti_ts_probe()
183 input_set_drvdata(input, eeti); in eeti_ts_probe()
188 client->name, eeti); in eeti_ts_probe()
199 eeti_ts_stop(eeti); in eeti_ts_probe()
211 struct eeti_ts *eeti = i2c_get_clientdata(client); in eeti_ts_suspend() local
212 struct input_dev *input_dev = eeti->input; in eeti_ts_suspend()
217 eeti_ts_stop(eeti); in eeti_ts_suspend()
230 struct eeti_ts *eeti = i2c_get_clientdata(client); in eeti_ts_resume() local
231 struct input_dev *input_dev = eeti->input; in eeti_ts_resume()
239 eeti_ts_start(eeti); in eeti_ts_resume()
256 { .compatible = "eeti,exc3000-i2c", },
273 MODULE_DESCRIPTION("EETI Touchscreen driver");