Loading drivers/hid/hid-lenovo-tpkbd.c +33 −114 Original line number Diff line number Diff line Loading @@ -56,9 +56,8 @@ static int tpkbd_input_mapping(struct hid_device *hdev, static int tpkbd_features_set(struct hid_device *hdev) { struct hid_report *report; struct tpkbd_data_pointer *data_pointer; struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[4]; report->field[0]->value[0] = data_pointer->press_to_select ? 0x01 : 0x02; Loading @@ -77,14 +76,8 @@ static ssize_t pointer_press_to_select_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->press_to_select); } Loading @@ -94,16 +87,10 @@ static ssize_t pointer_press_to_select_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -119,14 +106,8 @@ static ssize_t pointer_dragging_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->dragging); } Loading @@ -136,16 +117,10 @@ static ssize_t pointer_dragging_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -161,14 +136,8 @@ static ssize_t pointer_release_to_select_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->release_to_select); } Loading @@ -178,16 +147,10 @@ static ssize_t pointer_release_to_select_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -203,14 +166,8 @@ static ssize_t pointer_select_right_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->select_right); } Loading @@ -220,16 +177,10 @@ static ssize_t pointer_select_right_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -245,14 +196,8 @@ static ssize_t pointer_sensitivity_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->sensitivity); Loading @@ -263,16 +208,10 @@ static ssize_t pointer_sensitivity_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value) || value < 1 || value > 255) return -EINVAL; Loading @@ -286,14 +225,10 @@ static ssize_t pointer_press_speed_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->press_speed); Loading @@ -304,16 +239,10 @@ static ssize_t pointer_press_speed_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value) || value < 1 || value > 255) return -EINVAL; Loading Loading @@ -370,15 +299,11 @@ static const struct attribute_group tpkbd_attr_group_pointer = { static enum led_brightness tpkbd_led_brightness_get( struct led_classdev *led_cdev) { struct device *dev; struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct device *dev = led_cdev->dev->parent; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int led_nr = 0; dev = led_cdev->dev->parent; hdev = container_of(dev, struct hid_device, dev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (led_cdev == &data_pointer->led_micmute) led_nr = 1; Loading @@ -390,16 +315,12 @@ static enum led_brightness tpkbd_led_brightness_get( static void tpkbd_led_brightness_set(struct led_classdev *led_cdev, enum led_brightness value) { struct device *dev; struct hid_device *hdev; struct device *dev = led_cdev->dev->parent; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); struct hid_report *report; struct tpkbd_data_pointer *data_pointer; int led_nr = 0; dev = led_cdev->dev->parent; hdev = container_of(dev, struct hid_device, dev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (led_cdev == &data_pointer->led_micmute) led_nr = 1; Loading Loading @@ -508,13 +429,11 @@ static int tpkbd_probe(struct hid_device *hdev, static void tpkbd_remove_tp(struct hid_device *hdev) { struct tpkbd_data_pointer *data_pointer; struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); sysfs_remove_group(&hdev->dev.kobj, &tpkbd_attr_group_pointer); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); led_classdev_unregister(&data_pointer->led_micmute); led_classdev_unregister(&data_pointer->led_mute); Loading Loading
drivers/hid/hid-lenovo-tpkbd.c +33 −114 Original line number Diff line number Diff line Loading @@ -56,9 +56,8 @@ static int tpkbd_input_mapping(struct hid_device *hdev, static int tpkbd_features_set(struct hid_device *hdev) { struct hid_report *report; struct tpkbd_data_pointer *data_pointer; struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); report = hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[4]; report->field[0]->value[0] = data_pointer->press_to_select ? 0x01 : 0x02; Loading @@ -77,14 +76,8 @@ static ssize_t pointer_press_to_select_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->press_to_select); } Loading @@ -94,16 +87,10 @@ static ssize_t pointer_press_to_select_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -119,14 +106,8 @@ static ssize_t pointer_dragging_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->dragging); } Loading @@ -136,16 +117,10 @@ static ssize_t pointer_dragging_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -161,14 +136,8 @@ static ssize_t pointer_release_to_select_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->release_to_select); } Loading @@ -178,16 +147,10 @@ static ssize_t pointer_release_to_select_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -203,14 +166,8 @@ static ssize_t pointer_select_right_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->select_right); } Loading @@ -220,16 +177,10 @@ static ssize_t pointer_select_right_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value)) return -EINVAL; if (value < 0 || value > 1) Loading @@ -245,14 +196,8 @@ static ssize_t pointer_sensitivity_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->sensitivity); Loading @@ -263,16 +208,10 @@ static ssize_t pointer_sensitivity_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value) || value < 1 || value > 255) return -EINVAL; Loading @@ -286,14 +225,10 @@ static ssize_t pointer_press_speed_show(struct device *dev, struct device_attribute *attr, char *buf) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); data_pointer = hid_get_drvdata(hdev); return snprintf(buf, PAGE_SIZE, "%u\n", data_pointer->press_speed); Loading @@ -304,16 +239,10 @@ static ssize_t pointer_press_speed_store(struct device *dev, const char *buf, size_t count) { struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int value; hdev = container_of(dev, struct hid_device, dev); if (hdev == NULL) return -ENODEV; data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (kstrtoint(buf, 10, &value) || value < 1 || value > 255) return -EINVAL; Loading Loading @@ -370,15 +299,11 @@ static const struct attribute_group tpkbd_attr_group_pointer = { static enum led_brightness tpkbd_led_brightness_get( struct led_classdev *led_cdev) { struct device *dev; struct hid_device *hdev; struct tpkbd_data_pointer *data_pointer; struct device *dev = led_cdev->dev->parent; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); int led_nr = 0; dev = led_cdev->dev->parent; hdev = container_of(dev, struct hid_device, dev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (led_cdev == &data_pointer->led_micmute) led_nr = 1; Loading @@ -390,16 +315,12 @@ static enum led_brightness tpkbd_led_brightness_get( static void tpkbd_led_brightness_set(struct led_classdev *led_cdev, enum led_brightness value) { struct device *dev; struct hid_device *hdev; struct device *dev = led_cdev->dev->parent; struct hid_device *hdev = container_of(dev, struct hid_device, dev); struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); struct hid_report *report; struct tpkbd_data_pointer *data_pointer; int led_nr = 0; dev = led_cdev->dev->parent; hdev = container_of(dev, struct hid_device, dev); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); if (led_cdev == &data_pointer->led_micmute) led_nr = 1; Loading Loading @@ -508,13 +429,11 @@ static int tpkbd_probe(struct hid_device *hdev, static void tpkbd_remove_tp(struct hid_device *hdev) { struct tpkbd_data_pointer *data_pointer; struct tpkbd_data_pointer *data_pointer = hid_get_drvdata(hdev); sysfs_remove_group(&hdev->dev.kobj, &tpkbd_attr_group_pointer); data_pointer = (struct tpkbd_data_pointer *) hid_get_drvdata(hdev); led_classdev_unregister(&data_pointer->led_micmute); led_classdev_unregister(&data_pointer->led_mute); Loading