Lines Matching defs:input
8 * This file was based on: /drivers/input/misc/cobalt_btns.c
11 * also was based on: /drivers/input/keyboard/gpio_keys.c
18 #include <linux/input.h>
36 struct input_dev *input;
44 static void gpio_keys_button_event(struct input_dev *input,
48 struct gpio_keys_polled_dev *bdev = input_get_drvdata(input);
53 input_event(input, type, button->code, button->value);
58 input_event(input, type, button->code, button->value);
62 input_event(input, type, button->code, state);
63 input_sync(input);
67 static void gpio_keys_polled_check_state(struct input_dev *input,
75 dev_err(input->dev.parent,
78 gpio_keys_button_event(input, button, state);
87 static void gpio_keys_polled_poll(struct input_dev *input)
89 struct gpio_keys_polled_dev *bdev = input_get_drvdata(input);
101 gpio_keys_button_event(input, &pdata->buttons[i],
104 gpio_keys_polled_check_state(input, &pdata->buttons[i],
109 for_each_set_bit(i, input->relbit, REL_CNT) {
111 input_event(input, EV_REL, i, 0);
114 for_each_set_bit(i, input->absbit, ABS_CNT) {
116 input_event(input, EV_ABS, i, 0);
119 input_sync(input);
122 static int gpio_keys_polled_open(struct input_dev *input)
124 struct gpio_keys_polled_dev *bdev = input_get_drvdata(input);
133 static void gpio_keys_polled_close(struct input_dev *input)
135 struct gpio_keys_polled_dev *bdev = input_get_drvdata(input);
179 if (fwnode_property_read_u32(child, "linux,input-type",
183 if (fwnode_property_read_u32(child, "linux,input-value",
202 static void gpio_keys_polled_set_abs_params(struct input_dev *input,
219 input_set_abs_params(input, code, min, max, 0, 0);
234 struct input_dev *input;
256 input = devm_input_allocate_device(dev);
257 if (!input) {
258 dev_err(dev, "no memory for input device\n");
262 input_set_drvdata(input, bdev);
264 input->name = pdata->name ?: pdev->name;
265 input->phys = DRV_NAME"/input0";
267 input->id.bustype = BUS_HOST;
268 input->id.vendor = 0x0001;
269 input->id.product = 0x0001;
270 input->id.version = 0x0100;
272 input->open = gpio_keys_polled_open;
273 input->close = gpio_keys_polled_close;
275 __set_bit(EV_KEY, input->evbit);
277 __set_bit(EV_REP, input->evbit);
336 input_set_capability(input, type, button->code);
338 gpio_keys_polled_set_abs_params(input, pdata,
344 bdev->input = input;
348 error = input_setup_polling(input, gpio_keys_polled_poll);
354 input_set_poll_interval(input, pdata->poll_interval);
356 error = input_register_device(input);
365 gpio_keys_polled_check_state(input, &pdata->buttons[i],
368 input_sync(input);