Thread (11 messages) flat view 11 messages, 4 authors, 15d ago

Re: [PATCH v10 1/5] HID: wacom: Use hdev->product in wacom_setup_touch_input_capabilities

From: Ping Cheng <hidden>
Date: 2026-09-10 18:53:22
Also in: lkml, stable

Tested the whole set of v10. Status stays the same:

Acked-by: Ping Cheng <ping.cheng@wacom.com>
Tested-by: Ping Cheng <ping.cheng@wacom.com>

Cheers,
Ping

On Wed, Sep 9, 2026 at 4:27 AM Lee Jones [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Replace the lookup-dependent 'wacom_wac->shared->touch->product' references
with 'hdev->product' inside wacom_setup_touch_input_capabilities() since
'hdev' is already available (via container_of) and represents the touch
device itself.

Cc: stable@vger.kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
---
v7 -> v8:  New patch
v8 -> v9:  No change
v9 -> v10: No change

 drivers/hid/wacom_wac.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 8feb8027be95..7cf2b4de52be 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -3966,8 +3966,8 @@ int wacom_setup_pen_input_capabilities(struct input_dev *input_dev,
 int wacom_setup_touch_input_capabilities(struct input_dev *input_dev,
                                         struct wacom_wac *wacom_wac)
 {
+       struct hid_device *hdev = container_of(wacom_wac, struct wacom, wacom_wac)->hdev;
        struct wacom_features *features = &wacom_wac->features;
-
        if (!(features->device_type & WACOM_DEVICETYPE_TOUCH))
                return -ENODEV;
@@ -3976,9 +3976,11 @@ int wacom_setup_touch_input_capabilities(struct input_dev *input_dev,
        else
                __set_bit(INPUT_PROP_POINTER, input_dev->propbit);

-       if (features->type == HID_GENERIC)
+       if (features->type == HID_GENERIC) {
+               hid_dbg(hdev, "generic touch setup\n");
                /* setup has already been done */
                return 0;
+       }

        input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
        __set_bit(BTN_TOUCH, input_dev->keybit);
@@ -4010,19 +4012,17 @@ int wacom_setup_touch_input_capabilities(struct input_dev *input_dev,
                input_dev->evbit[0] |= BIT_MASK(EV_SW);
                __set_bit(SW_MUTE_DEVICE, input_dev->swbit);

-               if (wacom_wac->shared->touch->product == 0x361) {
+               if (hdev->product == 0x361) {
                        input_set_abs_params(input_dev, ABS_MT_POSITION_X,
                                             0, 12440, 4, 0);
                        input_set_abs_params(input_dev, ABS_MT_POSITION_Y,
                                             0, 8640, 4, 0);
-               }
-               else if (wacom_wac->shared->touch->product == 0x360) {
+               } else if (hdev->product == 0x360) {
                        input_set_abs_params(input_dev, ABS_MT_POSITION_X,
                                             0, 8960, 4, 0);
                        input_set_abs_params(input_dev, ABS_MT_POSITION_Y,
                                             0, 5920, 4, 0);
-               }
-               else if (wacom_wac->shared->touch->product == 0x393) {
+               } else if (hdev->product == 0x393) {
                        input_set_abs_params(input_dev, ABS_MT_POSITION_X,
                                             0, 6400, 4, 0);
                        input_set_abs_params(input_dev, ABS_MT_POSITION_Y,
@@ -4052,8 +4052,8 @@ int wacom_setup_touch_input_capabilities(struct input_dev *input_dev,
                fallthrough;

        case WACOM_27QHDT:
-               if (wacom_wac->shared->touch->product == 0x32C ||
-                   wacom_wac->shared->touch->product == 0xF6) {
+               if (hdev->product == 0x32C ||
+                   hdev->product == 0xF6) {
                        input_dev->evbit[0] |= BIT_MASK(EV_SW);
                        __set_bit(SW_MUTE_DEVICE, input_dev->swbit);
                        wacom_wac->has_mute_touch_switch = true;
--
2.55.0.979.g7e5102b832-goog
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help