Lines Matching refs:input
50 struct input_dev *input; member
115 input_mt_slot(data->input, touch->slot); in icn8318_irq()
116 input_mt_report_slot_state(data->input, MT_TOOL_FINGER, act); in icn8318_irq()
120 touchscreen_report_pos(data->input, &data->prop, in icn8318_irq()
125 input_mt_sync_frame(data->input); in icn8318_irq()
126 input_sync(data->input); in icn8318_irq()
155 mutex_lock(&data->input->mutex); in icn8318_suspend()
156 if (input_device_enabled(data->input)) in icn8318_suspend()
157 icn8318_stop(data->input); in icn8318_suspend()
158 mutex_unlock(&data->input->mutex); in icn8318_suspend()
167 mutex_lock(&data->input->mutex); in icn8318_resume()
168 if (input_device_enabled(data->input)) in icn8318_resume()
169 icn8318_start(data->input); in icn8318_resume()
170 mutex_unlock(&data->input->mutex); in icn8318_resume()
181 struct input_dev *input; in icn8318_probe() local
197 input = devm_input_allocate_device(dev); in icn8318_probe()
198 if (!input) in icn8318_probe()
201 input->name = client->name; in icn8318_probe()
202 input->id.bustype = BUS_I2C; in icn8318_probe()
203 input->open = icn8318_start; in icn8318_probe()
204 input->close = icn8318_stop; in icn8318_probe()
205 input->dev.parent = dev; in icn8318_probe()
207 input_set_capability(input, EV_ABS, ABS_MT_POSITION_X); in icn8318_probe()
208 input_set_capability(input, EV_ABS, ABS_MT_POSITION_Y); in icn8318_probe()
210 touchscreen_parse_properties(input, true, &data->prop); in icn8318_probe()
211 if (!input_abs_get_max(input, ABS_MT_POSITION_X) || in icn8318_probe()
212 !input_abs_get_max(input, ABS_MT_POSITION_Y)) { in icn8318_probe()
217 error = input_mt_init_slots(input, ICN8318_MAX_TOUCHES, in icn8318_probe()
223 data->input = input; in icn8318_probe()
224 input_set_drvdata(input, data); in icn8318_probe()
234 icn8318_stop(data->input); in icn8318_probe()
236 error = input_register_device(input); in icn8318_probe()