Lines Matching defs:input
3 * Surface2.0/SUR40/PixelSense input driver
30 #include <linux/input.h>
31 #include <linux/input/mt.h>
32 #include <linux/usb/input.h>
108 #define DRIVER_DESC "Surface2.0/SUR40/PixelSense input driver"
209 struct input_dev *input;
392 static int sur40_open(struct input_dev *input)
394 struct sur40_state *sur40 = input_get_drvdata(input);
401 static void sur40_close(struct input_dev *input)
403 struct sur40_state *sur40 = input_get_drvdata(input);
416 static void sur40_report_blob(struct sur40_blob *blob, struct input_dev *input)
424 slotnum = input_mt_get_slot_by_key(input, blob->blob_id);
437 input_mt_slot(input, slotnum);
438 input_mt_report_slot_state(input, MT_TOOL_FINGER, 1);
443 input_report_abs(input, ABS_MT_POSITION_X, pos_x);
444 input_report_abs(input, ABS_MT_POSITION_Y, pos_y);
445 input_report_abs(input, ABS_MT_TOOL_X, ctr_x);
446 input_report_abs(input, ABS_MT_TOOL_Y, ctr_y);
449 input_report_abs(input, ABS_MT_ORIENTATION, wide);
450 input_report_abs(input, ABS_MT_TOUCH_MAJOR, major);
451 input_report_abs(input, ABS_MT_TOUCH_MINOR, minor);
454 /* core function: poll for new input data */
455 static void sur40_poll(struct input_dev *input)
457 struct sur40_state *sur40 = input_get_drvdata(input);
516 sur40_report_blob(&(inblob[i]), input);
521 input_mt_sync_frame(input);
522 input_sync(input);
616 /* Initialize input device parameters. */
658 struct input_dev *input;
679 input = input_allocate_device();
680 if (!input) {
690 /* Set up regular input device structure */
691 input->name = DRIVER_LONG;
692 usb_to_input_id(usbdev, &input->id);
695 input->phys = sur40->phys;
696 input->dev.parent = &interface->dev;
698 input->open = sur40_open;
699 input->close = sur40_close;
701 error = sur40_input_setup_events(input);
705 input_set_drvdata(input, sur40);
706 error = input_setup_polling(input, sur40_poll);
712 input_set_poll_interval(input, POLL_INTERVAL);
716 sur40->input = input;
723 dev_err(&interface->dev, "Unable to allocate input buffer.");
728 /* register the polled input device */
729 error = input_register_device(input);
732 "Unable to register polled input device.");
814 input_free_device(input);
830 input_unregister_device(sur40->input);