Linux Input/HID development
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Ping Cheng <ping.cheng@wacom.com>
Cc: oe-kbuild-all@lists.linux.dev, linux-input@vger.kernel.org,
	Jiri Kosina <jikos@kernel.org>, Lee Jones <lee@kernel.org>
Subject: [hid:for-7.4/wacom 8/8] drivers/hid/wacom_wac.c:4430:71: sparse: sparse: incorrect type in argument 1 (different address spaces)
Date: Sun, 18 Oct 2026 09:49:23 +0200	[thread overview]
Message-ID: <202610180015.KsRqmoTE-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-7.4/wacom
head:   97ce491bcef2d231b8d51cee8e579183319a5ba4
commit: 97ce491bcef2d231b8d51cee8e579183319a5ba4 [8/8] HID: wacom: Setup SW_MUTE_DEVICE according to the order of input registration
config: arm64-randconfig-r2300-20261017 (https://download.01.org/0day-ci/archive/20261018/202610180015.KsRqmoTE-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 8a679464f19c426ef76aad9f4587b703dd3e584d)
rustc: rustc 1.96.0 (ac68faa20 2026-05-25)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20261018/202610180015.KsRqmoTE-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202610180015.KsRqmoTE-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/hid/wacom_wac.c:4430:71: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct input_dev *dev @@     got struct input_dev [noderef] __rcu *touch_input @@
   drivers/hid/wacom_wac.c:4430:71: sparse:     expected struct input_dev *dev
   drivers/hid/wacom_wac.c:4430:71: sparse:     got struct input_dev [noderef] __rcu *touch_input

vim +4430 drivers/hid/wacom_wac.c

  4250	
  4251	int wacom_setup_pad_input_capabilities(struct input_dev *input_dev,
  4252					   struct wacom_wac *wacom_wac)
  4253	{
  4254		struct wacom_features *features = &wacom_wac->features;
  4255	
  4256		if ((features->type == HID_GENERIC) && features->numbered_buttons > 0)
  4257			features->device_type |= WACOM_DEVICETYPE_PAD;
  4258	
  4259		if (!(features->device_type & WACOM_DEVICETYPE_PAD))
  4260			return -ENODEV;
  4261	
  4262		if (features->type == REMOTE && input_dev == wacom_wac->pad_input)
  4263			return -ENODEV;
  4264	
  4265		input_dev->evbit[0] |= BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
  4266	
  4267		/* kept for making legacy xf86-input-wacom working with the wheels */
  4268		__set_bit(ABS_MISC, input_dev->absbit);
  4269	
  4270		/* kept for making legacy xf86-input-wacom accepting the pad */
  4271		if (!(input_dev->absinfo && (input_dev->absinfo[ABS_X].minimum ||
  4272		      input_dev->absinfo[ABS_X].maximum)))
  4273			input_set_abs_params(input_dev, ABS_X, 0, 1, 0, 0);
  4274		if (!(input_dev->absinfo && (input_dev->absinfo[ABS_Y].minimum ||
  4275		      input_dev->absinfo[ABS_Y].maximum)))
  4276			input_set_abs_params(input_dev, ABS_Y, 0, 1, 0, 0);
  4277	
  4278		/* kept for making udev and libwacom accepting the pad */
  4279		__set_bit(BTN_STYLUS, input_dev->keybit);
  4280	
  4281		wacom_setup_numbered_buttons(input_dev, features->numbered_buttons);
  4282	
  4283		switch (features->type) {
  4284	
  4285		case CINTIQ_HYBRID:
  4286		case CINTIQ_COMPANION_2:
  4287		case DTK:
  4288		case DTUS:
  4289		case GRAPHIRE_BT:
  4290			break;
  4291	
  4292		case WACOM_MO:
  4293			__set_bit(BTN_BACK, input_dev->keybit);
  4294			__set_bit(BTN_LEFT, input_dev->keybit);
  4295			__set_bit(BTN_FORWARD, input_dev->keybit);
  4296			__set_bit(BTN_RIGHT, input_dev->keybit);
  4297			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4298			break;
  4299	
  4300		case WACOM_G4:
  4301			__set_bit(BTN_BACK, input_dev->keybit);
  4302			__set_bit(BTN_FORWARD, input_dev->keybit);
  4303			input_set_capability(input_dev, EV_REL, REL_WHEEL);
  4304			break;
  4305	
  4306		case WACOM_24HD:
  4307			__set_bit(KEY_PROG1, input_dev->keybit);
  4308			__set_bit(KEY_PROG2, input_dev->keybit);
  4309			__set_bit(KEY_PROG3, input_dev->keybit);
  4310	
  4311			__set_bit(KEY_ONSCREEN_KEYBOARD, input_dev->keybit);
  4312			__set_bit(KEY_INFO, input_dev->keybit);
  4313	
  4314			if (!features->oPid)
  4315				__set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
  4316	
  4317			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4318			input_set_abs_params(input_dev, ABS_THROTTLE, 0, 71, 0, 0);
  4319			break;
  4320	
  4321		case WACOM_27QHD:
  4322			__set_bit(KEY_PROG1, input_dev->keybit);
  4323			__set_bit(KEY_PROG2, input_dev->keybit);
  4324			__set_bit(KEY_PROG3, input_dev->keybit);
  4325	
  4326			__set_bit(KEY_ONSCREEN_KEYBOARD, input_dev->keybit);
  4327			__set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
  4328	
  4329			if (!features->oPid)
  4330				__set_bit(KEY_CONTROLPANEL, input_dev->keybit);
  4331			input_set_abs_params(input_dev, ABS_X, -2048, 2048, 0, 0);
  4332			input_abs_set_res(input_dev, ABS_X, 1024); /* points/g */
  4333			input_set_abs_params(input_dev, ABS_Y, -2048, 2048, 0, 0);
  4334			input_abs_set_res(input_dev, ABS_Y, 1024);
  4335			input_set_abs_params(input_dev, ABS_Z, -2048, 2048, 0, 0);
  4336			input_abs_set_res(input_dev, ABS_Z, 1024);
  4337			__set_bit(INPUT_PROP_ACCELEROMETER, input_dev->propbit);
  4338			break;
  4339	
  4340		case WACOM_22HD:
  4341			__set_bit(KEY_PROG1, input_dev->keybit);
  4342			__set_bit(KEY_PROG2, input_dev->keybit);
  4343			__set_bit(KEY_PROG3, input_dev->keybit);
  4344	
  4345			__set_bit(KEY_BUTTONCONFIG, input_dev->keybit);
  4346			__set_bit(KEY_INFO, input_dev->keybit);
  4347			fallthrough;
  4348	
  4349		case WACOM_21UX2:
  4350		case WACOM_BEE:
  4351		case CINTIQ:
  4352			input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0);
  4353			input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0);
  4354			break;
  4355	
  4356		case WACOM_13HD:
  4357			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4358			break;
  4359	
  4360		case INTUOS3:
  4361		case INTUOS3L:
  4362			input_set_abs_params(input_dev, ABS_RY, 0, 4096, 0, 0);
  4363			fallthrough;
  4364	
  4365		case INTUOS3S:
  4366			input_set_abs_params(input_dev, ABS_RX, 0, 4096, 0, 0);
  4367			break;
  4368	
  4369		case INTUOS5:
  4370		case INTUOS5L:
  4371		case INTUOSPM:
  4372		case INTUOSPL:
  4373		case INTUOS5S:
  4374		case INTUOSPS:
  4375		case INTUOSP2_BT:
  4376		case INTUOSP2S_BT:
  4377			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4378			break;
  4379	
  4380		case INTUOS4WL:
  4381			/*
  4382			 * For Bluetooth devices, the udev rule does not work correctly
  4383			 * for pads unless we add a stylus capability, which forces
  4384			 * ID_INPUT_TABLET to be set.
  4385			 */
  4386			__set_bit(BTN_STYLUS, input_dev->keybit);
  4387			fallthrough;
  4388	
  4389		case INTUOS4:
  4390		case INTUOS4L:
  4391		case INTUOS4S:
  4392			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4393			break;
  4394	
  4395		case INTUOSHT:
  4396		case BAMBOO_PT:
  4397		case BAMBOO_TOUCH:
  4398		case INTUOSHT2:
  4399			__clear_bit(ABS_MISC, input_dev->absbit);
  4400	
  4401			__set_bit(BTN_LEFT, input_dev->keybit);
  4402			__set_bit(BTN_FORWARD, input_dev->keybit);
  4403			__set_bit(BTN_BACK, input_dev->keybit);
  4404			__set_bit(BTN_RIGHT, input_dev->keybit);
  4405	
  4406			break;
  4407	
  4408		case REMOTE:
  4409			input_set_capability(input_dev, EV_MSC, MSC_SERIAL);
  4410			input_set_abs_params(input_dev, ABS_WHEEL, 0, 71, 0, 0);
  4411			break;
  4412	
  4413		case INTUOSHT3_BT:
  4414			break;
  4415	
  4416		case HID_GENERIC:
  4417			if (wacom_wac->shared) {
  4418				/*
  4419				 * The setup of touch switch capability can only be done
  4420				 * here for those devices, such as Cintiq Pro 13 and 16,
  4421				 * that have touch input registered before stylus and pad
  4422				 * inputs.
  4423				 *
  4424				 * There are two ways of reporting inputs from firmware:
  4425				 * stylus first or touch first. This path covers the touch
  4426				 * input first case.
  4427				 */
  4428				if (wacom_wac->has_mute_touch_switch &&
  4429				    wacom_wac->shared->touch_input) {
> 4430					input_set_capability(wacom_wac->shared->touch_input,
  4431					    EV_SW, SW_MUTE_DEVICE);
  4432				}
  4433			}
  4434			break;
  4435	
  4436		default:
  4437			/* no pad supported */
  4438			return -ENODEV;
  4439		}
  4440		return 0;
  4441	}
  4442	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-10-18  7:52 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202610180015.KsRqmoTE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=jikos@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=ping.cheng@wacom.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