From: Lee Jones <lee@kernel.org>
To: Ping Cheng <pinglinux@gmail.com>
Cc: Ping Cheng <ping.cheng@wacom.com>,
Jason Gerecke <jason.gerecke@wacom.com>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <bentiss@kernel.org>,
Aaron Skomra <aaron.skomra@wacom.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Peter Hutterer <peter.hutterer@who-t.net>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/5] HID: wacom: Use hdev->product in wacom_setup_touch_input_capabilities
Date: Tue, 1 Sep 2026 13:49:52 +0100 [thread overview]
Message-ID: <20260901124952.GK2943942@google.com> (raw)
In-Reply-To: <CAF8JNhKWr7v7tY-tH_CGeLUQQpidx2_7J49c17TD0bw6xEi9BA@mail.gmail.com>
Ping, Jason,
> Thank you for your effort and persistence! We (Wacom and Wacom's
> customers) are lucky to have people like you working in this
> community!
Thank you! :)
> In addition to making sure that you know your contribution is greatly
> appreciated, I am giving you an initial testing feedback so you know
> you are on the right track.
>
> I manually tested a few older and new Wacom tablets. Some of them have
> touch switches, some don't. They all worked well!
>
> Two more details I'd like to share.
>
> The first one is about the touch-only tablet. In all the models of
> Wacom tablets, there was only one model that is touch-only. It was a
> Bamboo Touch (model CTT-460) released on September 24, 2009. So, it
> was more than 17 years ago. However, the quality of Wacom tablets are
> so high, it is possible that some people are still using those ones
> ;).
>
> The second one is about the type of touch on/off switches. There are
> two types of touch on/off switches: it can be a soft key or hardware
> switch. The hardware touch switch is easy to understand. The soft key
> touch switch is actually an on-screen display in the shape of fingers,
> where the touch on/off is controlled by the driver: [1]. This softkey
> touch switch, somehow, is not reported to the userland by the existing
> driver. Your patchset doesn't show it either.
>
> I will do more testing to figure out the root cause of the softkey issue.
Is there anything left for me to do?
> [1] ttps://github.com/linuxwacom/input-wacom/blob/master/4.18/wacom_wac.c#L2063
>
> On Tue, Aug 25, 2026 at 10:09 AM Lee Jones <lee@kernel.org> wrote:
> >
> > 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.
> >
> > Signed-off-by: Lee Jones <lee@kernel.org>
> > ---
> >
> > v7 -> v8: New patch
> >
> > 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 a29bf051ada7..4436faf2d2bb 100644
> > --- a/drivers/hid/wacom_wac.c
> > +++ b/drivers/hid/wacom_wac.c
> > @@ -3953,8 +3953,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;
> >
> > @@ -3963,9 +3963,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);
> > @@ -3997,19 +3999,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,
> > @@ -4039,8 +4039,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.887.g758fc8c411-goog
> >
> >
--
Lee Jones
prev parent reply other threads:[~2026-09-01 12:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-25 15:12 [PATCH 1/5] HID: wacom: Use hdev->product in wacom_setup_touch_input_capabilities Lee Jones
2026-08-25 15:12 ` [PATCH 2/5] HID: wacom: Advertise SW_MUTE_DEVICE capability prior to registration Lee Jones
2026-08-25 17:25 ` sashiko-bot
2026-08-26 8:02 ` Lee Jones
2026-08-25 15:12 ` [PATCH 3/5] HID: wacom: Fix Use-After-Free in wacom_intuos_pad Lee Jones
2026-08-25 17:26 ` sashiko-bot
2026-08-25 15:12 ` [PATCH 4/5] HID: wacom: Fix Use-After-Free in wacom_bamboo_pad Lee Jones
2026-08-25 17:22 ` sashiko-bot
2026-08-25 15:12 ` [PATCH 5/5] HID: wacom: Redesign shared sibling data lifecycle Lee Jones
2026-08-25 17:19 ` [PATCH 1/5] HID: wacom: Use hdev->product in wacom_setup_touch_input_capabilities sashiko-bot
2026-08-27 2:48 ` Ping Cheng
2026-09-01 12:49 ` Lee Jones [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260901124952.GK2943942@google.com \
--to=lee@kernel.org \
--cc=aaron.skomra@wacom.com \
--cc=bentiss@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=jason.gerecke@wacom.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.hutterer@who-t.net \
--cc=ping.cheng@wacom.com \
--cc=pinglinux@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox