lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 9 Oct 2021 21:41:25 +0800
From:   kernel test robot <lkp@...el.com>
To:     Alistair Francis <alistair@...stair23.me>,
        dmitry.torokhov@...il.com, shawnguo@...nel.org,
        s.hauer@...gutronix.de
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org, linux-imx@....com,
        jikos@...nel.org, benjamin.tissoires@...hat.com,
        linux-input@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v11 2/4] HID: wacom: Add support for the AG14 Wacom device

Hi Alistair,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on hid/for-next]
[also build test ERROR on robh/for-next shawnguo/for-next linus/master v5.15-rc4 next-20211008]
[cannot apply to dtor-input/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Alistair-Francis/HID-wacom_sys-Add-support-for-flipping-the-data-values/20211009-194419
base:   https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-next
config: i386-randconfig-r015-20211009 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 30caca39f401ae17927439c0a0bd6d1b1916dd6a)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/b41e12004527538eaeaa1fd929a751c9504a32a0
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Alistair-Francis/HID-wacom_sys-Add-support-for-flipping-the-data-values/20211009-194419
        git checkout b41e12004527538eaeaa1fd929a751c9504a32a0
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash drivers/hid/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

>> drivers/hid/wacom_wac.c:4900:4: error: use of undeclared identifier 'USB_VENDOR_ID_I2C_WACOM'
           { I2C_AG14_DEVICE_WACOM(0x95) },
             ^
   drivers/hid/wacom_wac.c:4836:39: note: expanded from macro 'I2C_AG14_DEVICE_WACOM'
           HID_DEVICE(BUS_I2C, HID_GROUP_WACOM, USB_VENDOR_ID_I2C_WACOM, prod),\
                                                ^
>> drivers/hid/wacom_wac.c:5010:1: error: definition of variable with array type needs an explicit size or an initializer
   MODULE_DEVICE_TABLE(hid, wacom_ids);
   ^
   include/linux/module.h:244:21: note: expanded from macro 'MODULE_DEVICE_TABLE'
   extern typeof(name) __mod_##type##__##name##_device_table               \
                       ^
   <scratch space>:160:1: note: expanded from here
   __mod_hid__wacom_ids_device_table
   ^
   2 errors generated.


vim +/USB_VENDOR_ID_I2C_WACOM +4900 drivers/hid/wacom_wac.c

  4275	
  4276	static const struct wacom_features wacom_features_0x00 =
  4277		{ "Wacom Penpartner", 5040, 3780, 255, 0,
  4278		  PENPARTNER, WACOM_PENPRTN_RES, WACOM_PENPRTN_RES };
  4279	static const struct wacom_features wacom_features_0x10 =
  4280		{ "Wacom Graphire", 10206, 7422, 511, 63,
  4281		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4282	static const struct wacom_features wacom_features_0x81 =
  4283		{ "Wacom Graphire BT", 16704, 12064, 511, 32,
  4284		  GRAPHIRE_BT, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES, 2 };
  4285	static const struct wacom_features wacom_features_0x11 =
  4286		{ "Wacom Graphire2 4x5", 10206, 7422, 511, 63,
  4287		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4288	static const struct wacom_features wacom_features_0x12 =
  4289		{ "Wacom Graphire2 5x7", 13918, 10206, 511, 63,
  4290		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4291	static const struct wacom_features wacom_features_0x13 =
  4292		{ "Wacom Graphire3", 10208, 7424, 511, 63,
  4293		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4294	static const struct wacom_features wacom_features_0x14 =
  4295		{ "Wacom Graphire3 6x8", 16704, 12064, 511, 63,
  4296		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4297	static const struct wacom_features wacom_features_0x15 =
  4298		{ "Wacom Graphire4 4x5", 10208, 7424, 511, 63,
  4299		  WACOM_G4, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4300	static const struct wacom_features wacom_features_0x16 =
  4301		{ "Wacom Graphire4 6x8", 16704, 12064, 511, 63,
  4302		  WACOM_G4, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4303	static const struct wacom_features wacom_features_0x17 =
  4304		{ "Wacom BambooFun 4x5", 14760, 9225, 511, 63,
  4305		  WACOM_MO, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4306	static const struct wacom_features wacom_features_0x18 =
  4307		{ "Wacom BambooFun 6x8", 21648, 13530, 511, 63,
  4308		  WACOM_MO, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4309	static const struct wacom_features wacom_features_0x19 =
  4310		{ "Wacom Bamboo1 Medium", 16704, 12064, 511, 63,
  4311		  GRAPHIRE, WACOM_GRAPHIRE_RES, WACOM_GRAPHIRE_RES };
  4312	static const struct wacom_features wacom_features_0x60 =
  4313		{ "Wacom Volito", 5104, 3712, 511, 63,
  4314		  GRAPHIRE, WACOM_VOLITO_RES, WACOM_VOLITO_RES };
  4315	static const struct wacom_features wacom_features_0x61 =
  4316		{ "Wacom PenStation2", 3250, 2320, 255, 63,
  4317		  GRAPHIRE, WACOM_VOLITO_RES, WACOM_VOLITO_RES };
  4318	static const struct wacom_features wacom_features_0x62 =
  4319		{ "Wacom Volito2 4x5", 5104, 3712, 511, 63,
  4320		  GRAPHIRE, WACOM_VOLITO_RES, WACOM_VOLITO_RES };
  4321	static const struct wacom_features wacom_features_0x63 =
  4322		{ "Wacom Volito2 2x3", 3248, 2320, 511, 63,
  4323		  GRAPHIRE, WACOM_VOLITO_RES, WACOM_VOLITO_RES };
  4324	static const struct wacom_features wacom_features_0x64 =
  4325		{ "Wacom PenPartner2", 3250, 2320, 511, 63,
  4326		  GRAPHIRE, WACOM_VOLITO_RES, WACOM_VOLITO_RES };
  4327	static const struct wacom_features wacom_features_0x65 =
  4328		{ "Wacom Bamboo", 14760, 9225, 511, 63,
  4329		  WACOM_MO, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4330	static const struct wacom_features wacom_features_0x69 =
  4331		{ "Wacom Bamboo1", 5104, 3712, 511, 63,
  4332		  GRAPHIRE, WACOM_PENPRTN_RES, WACOM_PENPRTN_RES };
  4333	static const struct wacom_features wacom_features_0x6A =
  4334		{ "Wacom Bamboo1 4x6", 14760, 9225, 1023, 63,
  4335		  GRAPHIRE, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4336	static const struct wacom_features wacom_features_0x6B =
  4337		{ "Wacom Bamboo1 5x8", 21648, 13530, 1023, 63,
  4338		  GRAPHIRE, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4339	static const struct wacom_features wacom_features_0x20 =
  4340		{ "Wacom Intuos 4x5", 12700, 10600, 1023, 31,
  4341		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4342	static const struct wacom_features wacom_features_0x21 =
  4343		{ "Wacom Intuos 6x8", 20320, 16240, 1023, 31,
  4344		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4345	static const struct wacom_features wacom_features_0x22 =
  4346		{ "Wacom Intuos 9x12", 30480, 24060, 1023, 31,
  4347		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4348	static const struct wacom_features wacom_features_0x23 =
  4349		{ "Wacom Intuos 12x12", 30480, 31680, 1023, 31,
  4350		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4351	static const struct wacom_features wacom_features_0x24 =
  4352		{ "Wacom Intuos 12x18", 45720, 31680, 1023, 31,
  4353		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4354	static const struct wacom_features wacom_features_0x30 =
  4355		{ "Wacom PL400", 5408, 4056, 255, 0,
  4356		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4357	static const struct wacom_features wacom_features_0x31 =
  4358		{ "Wacom PL500", 6144, 4608, 255, 0,
  4359		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4360	static const struct wacom_features wacom_features_0x32 =
  4361		{ "Wacom PL600", 6126, 4604, 255, 0,
  4362		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4363	static const struct wacom_features wacom_features_0x33 =
  4364		{ "Wacom PL600SX", 6260, 5016, 255, 0,
  4365		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4366	static const struct wacom_features wacom_features_0x34 =
  4367		{ "Wacom PL550", 6144, 4608, 511, 0,
  4368		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4369	static const struct wacom_features wacom_features_0x35 =
  4370		{ "Wacom PL800", 7220, 5780, 511, 0,
  4371		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4372	static const struct wacom_features wacom_features_0x37 =
  4373		{ "Wacom PL700", 6758, 5406, 511, 0,
  4374		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4375	static const struct wacom_features wacom_features_0x38 =
  4376		{ "Wacom PL510", 6282, 4762, 511, 0,
  4377		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4378	static const struct wacom_features wacom_features_0x39 =
  4379		{ "Wacom DTU710", 34080, 27660, 511, 0,
  4380		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4381	static const struct wacom_features wacom_features_0xC4 =
  4382		{ "Wacom DTF521", 6282, 4762, 511, 0,
  4383		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4384	static const struct wacom_features wacom_features_0xC0 =
  4385		{ "Wacom DTF720", 6858, 5506, 511, 0,
  4386		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4387	static const struct wacom_features wacom_features_0xC2 =
  4388		{ "Wacom DTF720a", 6858, 5506, 511, 0,
  4389		  PL, WACOM_PL_RES, WACOM_PL_RES };
  4390	static const struct wacom_features wacom_features_0x03 =
  4391		{ "Wacom Cintiq Partner", 20480, 15360, 511, 0,
  4392		  PTU, WACOM_PL_RES, WACOM_PL_RES };
  4393	static const struct wacom_features wacom_features_0x41 =
  4394		{ "Wacom Intuos2 4x5", 12700, 10600, 1023, 31,
  4395		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4396	static const struct wacom_features wacom_features_0x42 =
  4397		{ "Wacom Intuos2 6x8", 20320, 16240, 1023, 31,
  4398		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4399	static const struct wacom_features wacom_features_0x43 =
  4400		{ "Wacom Intuos2 9x12", 30480, 24060, 1023, 31,
  4401		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4402	static const struct wacom_features wacom_features_0x44 =
  4403		{ "Wacom Intuos2 12x12", 30480, 31680, 1023, 31,
  4404		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4405	static const struct wacom_features wacom_features_0x45 =
  4406		{ "Wacom Intuos2 12x18", 45720, 31680, 1023, 31,
  4407		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4408	static const struct wacom_features wacom_features_0xB0 =
  4409		{ "Wacom Intuos3 4x5", 25400, 20320, 1023, 63,
  4410		  INTUOS3S, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 4 };
  4411	static const struct wacom_features wacom_features_0xB1 =
  4412		{ "Wacom Intuos3 6x8", 40640, 30480, 1023, 63,
  4413		  INTUOS3, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4414	static const struct wacom_features wacom_features_0xB2 =
  4415		{ "Wacom Intuos3 9x12", 60960, 45720, 1023, 63,
  4416		  INTUOS3, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4417	static const struct wacom_features wacom_features_0xB3 =
  4418		{ "Wacom Intuos3 12x12", 60960, 60960, 1023, 63,
  4419		  INTUOS3L, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4420	static const struct wacom_features wacom_features_0xB4 =
  4421		{ "Wacom Intuos3 12x19", 97536, 60960, 1023, 63,
  4422		  INTUOS3L, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4423	static const struct wacom_features wacom_features_0xB5 =
  4424		{ "Wacom Intuos3 6x11", 54204, 31750, 1023, 63,
  4425		  INTUOS3, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4426	static const struct wacom_features wacom_features_0xB7 =
  4427		{ "Wacom Intuos3 4x6", 31496, 19685, 1023, 63,
  4428		  INTUOS3S, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 4 };
  4429	static const struct wacom_features wacom_features_0xB8 =
  4430		{ "Wacom Intuos4 4x6", 31496, 19685, 2047, 63,
  4431		  INTUOS4S, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 7 };
  4432	static const struct wacom_features wacom_features_0xB9 =
  4433		{ "Wacom Intuos4 6x9", 44704, 27940, 2047, 63,
  4434		  INTUOS4, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4435	static const struct wacom_features wacom_features_0xBA =
  4436		{ "Wacom Intuos4 8x13", 65024, 40640, 2047, 63,
  4437		  INTUOS4L, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4438	static const struct wacom_features wacom_features_0xBB =
  4439		{ "Wacom Intuos4 12x19", 97536, 60960, 2047, 63,
  4440		  INTUOS4L, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4441	static const struct wacom_features wacom_features_0xBC =
  4442		{ "Wacom Intuos4 WL", 40640, 25400, 2047, 63,
  4443		  INTUOS4, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4444	static const struct wacom_features wacom_features_0xBD =
  4445		{ "Wacom Intuos4 WL", 40640, 25400, 2047, 63,
  4446		  INTUOS4WL, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4447	static const struct wacom_features wacom_features_0x26 =
  4448		{ "Wacom Intuos5 touch S", 31496, 19685, 2047, 63,
  4449		  INTUOS5S, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 7, .touch_max = 16 };
  4450	static const struct wacom_features wacom_features_0x27 =
  4451		{ "Wacom Intuos5 touch M", 44704, 27940, 2047, 63,
  4452		  INTUOS5, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 16 };
  4453	static const struct wacom_features wacom_features_0x28 =
  4454		{ "Wacom Intuos5 touch L", 65024, 40640, 2047, 63,
  4455		  INTUOS5L, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 16 };
  4456	static const struct wacom_features wacom_features_0x29 =
  4457		{ "Wacom Intuos5 S", 31496, 19685, 2047, 63,
  4458		  INTUOS5S, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 7 };
  4459	static const struct wacom_features wacom_features_0x2A =
  4460		{ "Wacom Intuos5 M", 44704, 27940, 2047, 63,
  4461		  INTUOS5, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9 };
  4462	static const struct wacom_features wacom_features_0x314 =
  4463		{ "Wacom Intuos Pro S", 31496, 19685, 2047, 63,
  4464		  INTUOSPS, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 7, .touch_max = 16,
  4465		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4466	static const struct wacom_features wacom_features_0x315 =
  4467		{ "Wacom Intuos Pro M", 44704, 27940, 2047, 63,
  4468		  INTUOSPM, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 16,
  4469		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4470	static const struct wacom_features wacom_features_0x317 =
  4471		{ "Wacom Intuos Pro L", 65024, 40640, 2047, 63,
  4472		  INTUOSPL, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 16,
  4473		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4474	static const struct wacom_features wacom_features_0xF4 =
  4475		{ "Wacom Cintiq 24HD", 104480, 65600, 2047, 63,
  4476		  WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 16,
  4477		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4478		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4479	static const struct wacom_features wacom_features_0xF8 =
  4480		{ "Wacom Cintiq 24HD touch", 104480, 65600, 2047, 63, /* Pen */
  4481		  WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 16,
  4482		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4483		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4484		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf6 };
  4485	static const struct wacom_features wacom_features_0xF6 =
  4486		{ "Wacom Cintiq 24HD touch", .type = WACOM_24HDT, /* Touch */
  4487		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf8, .touch_max = 10,
  4488		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4489	static const struct wacom_features wacom_features_0x32A =
  4490		{ "Wacom Cintiq 27QHD", 120140, 67920, 2047, 63,
  4491		  WACOM_27QHD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 0,
  4492		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4493		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4494	static const struct wacom_features wacom_features_0x32B =
  4495		{ "Wacom Cintiq 27QHD touch", 120140, 67920, 2047, 63,
  4496		  WACOM_27QHD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 0,
  4497		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4498		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4499		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x32C };
  4500	static const struct wacom_features wacom_features_0x32C =
  4501		{ "Wacom Cintiq 27QHD touch", .type = WACOM_27QHDT,
  4502		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x32B, .touch_max = 10 };
  4503	static const struct wacom_features wacom_features_0x3F =
  4504		{ "Wacom Cintiq 21UX", 87200, 65600, 1023, 63,
  4505		  CINTIQ, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 8 };
  4506	static const struct wacom_features wacom_features_0xC5 =
  4507		{ "Wacom Cintiq 20WSX", 86680, 54180, 1023, 63,
  4508		  WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 10 };
  4509	static const struct wacom_features wacom_features_0xC6 =
  4510		{ "Wacom Cintiq 12WX", 53020, 33440, 1023, 63,
  4511		  WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 10 };
  4512	static const struct wacom_features wacom_features_0x304 =
  4513		{ "Wacom Cintiq 13HD", 59552, 33848, 1023, 63,
  4514		  WACOM_13HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9,
  4515		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4516		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4517	static const struct wacom_features wacom_features_0x333 =
  4518		{ "Wacom Cintiq 13HD touch", 59552, 33848, 2047, 63,
  4519		  WACOM_13HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9,
  4520		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4521		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4522		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x335 };
  4523	static const struct wacom_features wacom_features_0x335 =
  4524		{ "Wacom Cintiq 13HD touch", .type = WACOM_24HDT, /* Touch */
  4525		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x333, .touch_max = 10,
  4526		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4527	static const struct wacom_features wacom_features_0xC7 =
  4528		{ "Wacom DTU1931", 37832, 30305, 511, 0,
  4529		  PL, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4530	static const struct wacom_features wacom_features_0xCE =
  4531		{ "Wacom DTU2231", 47864, 27011, 511, 0,
  4532		  DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
  4533		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBMOUSE };
  4534	static const struct wacom_features wacom_features_0xF0 =
  4535		{ "Wacom DTU1631", 34623, 19553, 511, 0,
  4536		  DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4537	static const struct wacom_features wacom_features_0xFB =
  4538		{ "Wacom DTU1031", 22096, 13960, 511, 0,
  4539		  DTUS, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
  4540		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
  4541		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
  4542	static const struct wacom_features wacom_features_0x32F =
  4543		{ "Wacom DTU1031X", 22672, 12928, 511, 0,
  4544		  DTUSX, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 0,
  4545		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
  4546		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
  4547	static const struct wacom_features wacom_features_0x336 =
  4548		{ "Wacom DTU1141", 23672, 13403, 1023, 0,
  4549		  DTUS, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
  4550		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
  4551		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
  4552	static const struct wacom_features wacom_features_0x57 =
  4553		{ "Wacom DTK2241", 95840, 54260, 2047, 63,
  4554		  DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 6,
  4555		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4556		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4557	static const struct wacom_features wacom_features_0x59 = /* Pen */
  4558		{ "Wacom DTH2242", 95840, 54260, 2047, 63,
  4559		  DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 6,
  4560		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4561		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4562		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5D };
  4563	static const struct wacom_features wacom_features_0x5D = /* Touch */
  4564		{ "Wacom DTH2242",       .type = WACOM_24HDT,
  4565		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x59, .touch_max = 10,
  4566		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4567	static const struct wacom_features wacom_features_0xCC =
  4568		{ "Wacom Cintiq 21UX2", 87200, 65600, 2047, 63,
  4569		  WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 18,
  4570		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4571		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4572	static const struct wacom_features wacom_features_0xFA =
  4573		{ "Wacom Cintiq 22HD", 95840, 54260, 2047, 63,
  4574		  WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 18,
  4575		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4576		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
  4577	static const struct wacom_features wacom_features_0x5B =
  4578		{ "Wacom Cintiq 22HDT", 95840, 54260, 2047, 63,
  4579		  WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 18,
  4580		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4581		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4582		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5e };
  4583	static const struct wacom_features wacom_features_0x5E =
  4584		{ "Wacom Cintiq 22HDT", .type = WACOM_24HDT,
  4585		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5b, .touch_max = 10,
  4586		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4587	static const struct wacom_features wacom_features_0x90 =
  4588		{ "Wacom ISDv4 90", 26202, 16325, 255, 0,
  4589		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; /* Pen-only */
  4590	static const struct wacom_features wacom_features_0x93 =
  4591		{ "Wacom ISDv4 93", 26202, 16325, 255, 0,
  4592		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 1 };
  4593	static const struct wacom_features wacom_features_0x97 =
  4594		{ "Wacom ISDv4 97", 26202, 16325, 511, 0,
  4595		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; /* Pen-only */
  4596	static const struct wacom_features wacom_features_0x9A =
  4597		{ "Wacom ISDv4 9A", 26202, 16325, 255, 0,
  4598		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 1 };
  4599	static const struct wacom_features wacom_features_0x9F =
  4600		{ "Wacom ISDv4 9F", 26202, 16325, 255, 0,
  4601		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 1 };
  4602	static const struct wacom_features wacom_features_0xE2 =
  4603		{ "Wacom ISDv4 E2", 26202, 16325, 255, 0,
  4604		  TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4605	static const struct wacom_features wacom_features_0xE3 =
  4606		{ "Wacom ISDv4 E3", 26202, 16325, 255, 0,
  4607		  TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4608	static const struct wacom_features wacom_features_0xE5 =
  4609		{ "Wacom ISDv4 E5", 26202, 16325, 255, 0,
  4610		  MTSCREEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4611	static const struct wacom_features wacom_features_0xE6 =
  4612		{ "Wacom ISDv4 E6", 27760, 15694, 255, 0,
  4613		  TABLETPC2FG, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4614	static const struct wacom_features wacom_features_0xEC =
  4615		{ "Wacom ISDv4 EC", 25710, 14500, 255, 0,
  4616		  TABLETPC,    WACOM_INTUOS_RES, WACOM_INTUOS_RES }; /* Pen-only */
  4617	static const struct wacom_features wacom_features_0xED =
  4618		{ "Wacom ISDv4 ED", 26202, 16325, 255, 0,
  4619		  TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 1 };
  4620	static const struct wacom_features wacom_features_0xEF =
  4621		{ "Wacom ISDv4 EF", 26202, 16325, 255, 0,
  4622		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; /* Pen-only */
  4623	static const struct wacom_features wacom_features_0x100 =
  4624		{ "Wacom ISDv4 100", 26202, 16325, 255, 0,
  4625		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4626	static const struct wacom_features wacom_features_0x101 =
  4627		{ "Wacom ISDv4 101", 26202, 16325, 255, 0,
  4628		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4629	static const struct wacom_features wacom_features_0x10D =
  4630		{ "Wacom ISDv4 10D", 26202, 16325, 255, 0,
  4631		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4632	static const struct wacom_features wacom_features_0x10E =
  4633		{ "Wacom ISDv4 10E", 27760, 15694, 255, 0,
  4634		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4635	static const struct wacom_features wacom_features_0x10F =
  4636		{ "Wacom ISDv4 10F", 27760, 15694, 255, 0,
  4637		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4638	static const struct wacom_features wacom_features_0x116 =
  4639		{ "Wacom ISDv4 116", 26202, 16325, 255, 0,
  4640		  TABLETPCE, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 1 };
  4641	static const struct wacom_features wacom_features_0x12C =
  4642		{ "Wacom ISDv4 12C", 27848, 15752, 2047, 0,
  4643		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; /* Pen-only */
  4644	static const struct wacom_features wacom_features_0x4001 =
  4645		{ "Wacom ISDv4 4001", 26202, 16325, 255, 0,
  4646		  MTTPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4647	static const struct wacom_features wacom_features_0x4004 =
  4648		{ "Wacom ISDv4 4004", 11060, 6220, 255, 0,
  4649		  MTTPC_B, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4650	static const struct wacom_features wacom_features_0x5000 =
  4651		{ "Wacom ISDv4 5000", 27848, 15752, 1023, 0,
  4652		  MTTPC_B, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4653	static const struct wacom_features wacom_features_0x5002 =
  4654		{ "Wacom ISDv4 5002", 29576, 16724, 1023, 0,
  4655		  MTTPC_B, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4656	static const struct wacom_features wacom_features_0x47 =
  4657		{ "Wacom Intuos2 6x8", 20320, 16240, 1023, 31,
  4658		  INTUOS, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4659	static const struct wacom_features wacom_features_0x84 =
  4660		{ "Wacom Wireless Receiver", .type = WIRELESS, .touch_max = 16 };
  4661	static const struct wacom_features wacom_features_0xD0 =
  4662		{ "Wacom Bamboo 2FG", 14720, 9200, 1023, 31,
  4663		  BAMBOO_TOUCH, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4664	static const struct wacom_features wacom_features_0xD1 =
  4665		{ "Wacom Bamboo 2FG 4x5", 14720, 9200, 1023, 31,
  4666		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4667	static const struct wacom_features wacom_features_0xD2 =
  4668		{ "Wacom Bamboo Craft", 14720, 9200, 1023, 31,
  4669		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4670	static const struct wacom_features wacom_features_0xD3 =
  4671		{ "Wacom Bamboo 2FG 6x8", 21648, 13700, 1023, 31,
  4672		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4673	static const struct wacom_features wacom_features_0xD4 =
  4674		{ "Wacom Bamboo Pen", 14720, 9200, 1023, 31,
  4675		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4676	static const struct wacom_features wacom_features_0xD5 =
  4677		{ "Wacom Bamboo Pen 6x8", 21648, 13700, 1023, 31,
  4678		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4679	static const struct wacom_features wacom_features_0xD6 =
  4680		{ "Wacom BambooPT 2FG 4x5", 14720, 9200, 1023, 31,
  4681		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4682	static const struct wacom_features wacom_features_0xD7 =
  4683		{ "Wacom BambooPT 2FG Small", 14720, 9200, 1023, 31,
  4684		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4685	static const struct wacom_features wacom_features_0xD8 =
  4686		{ "Wacom Bamboo Comic 2FG", 21648, 13700, 1023, 31,
  4687		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4688	static const struct wacom_features wacom_features_0xDA =
  4689		{ "Wacom Bamboo 2FG 4x5 SE", 14720, 9200, 1023, 31,
  4690		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4691	static const struct wacom_features wacom_features_0xDB =
  4692		{ "Wacom Bamboo 2FG 6x8 SE", 21648, 13700, 1023, 31,
  4693		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 2 };
  4694	static const struct wacom_features wacom_features_0xDD =
  4695	        { "Wacom Bamboo Connect", 14720, 9200, 1023, 31,
  4696	          BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4697	static const struct wacom_features wacom_features_0xDE =
  4698	        { "Wacom Bamboo 16FG 4x5", 14720, 9200, 1023, 31,
  4699		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16 };
  4700	static const struct wacom_features wacom_features_0xDF =
  4701	        { "Wacom Bamboo 16FG 6x8", 21648, 13700, 1023, 31,
  4702		  BAMBOO_PT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16 };
  4703	static const struct wacom_features wacom_features_0x300 =
  4704		{ "Wacom Bamboo One S", 14720, 9225, 1023, 31,
  4705		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4706	static const struct wacom_features wacom_features_0x301 =
  4707		{ "Wacom Bamboo One M", 21648, 13530, 1023, 31,
  4708		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4709	static const struct wacom_features wacom_features_0x302 =
  4710		{ "Wacom Intuos PT S", 15200, 9500, 1023, 31,
  4711		  INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16,
  4712		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4713	static const struct wacom_features wacom_features_0x303 =
  4714		{ "Wacom Intuos PT M", 21600, 13500, 1023, 31,
  4715		  INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16,
  4716		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4717	static const struct wacom_features wacom_features_0x30E =
  4718		{ "Wacom Intuos S", 15200, 9500, 1023, 31,
  4719		  INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
  4720		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4721	static const struct wacom_features wacom_features_0x6004 =
  4722		{ "ISD-V4", 12800, 8000, 255, 0,
  4723		  TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4724	static const struct wacom_features wacom_features_0x307 =
  4725		{ "Wacom ISDv5 307", 59552, 33848, 2047, 63,
  4726		  CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9,
  4727		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4728		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4729		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x309 };
  4730	static const struct wacom_features wacom_features_0x309 =
  4731		{ "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */
  4732		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x0307, .touch_max = 10,
  4733		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4734	static const struct wacom_features wacom_features_0x30A =
  4735		{ "Wacom ISDv5 30A", 59552, 33848, 2047, 63,
  4736		  CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9,
  4737		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4738		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4739		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30C };
  4740	static const struct wacom_features wacom_features_0x30C =
  4741		{ "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */
  4742		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30A, .touch_max = 10,
  4743		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4744	static const struct wacom_features wacom_features_0x318 =
  4745		{ "Wacom USB Bamboo PAD", 4095, 4095, /* Touch */
  4746		  .type = BAMBOO_PAD, 35, 48, .touch_max = 4 };
  4747	static const struct wacom_features wacom_features_0x319 =
  4748		{ "Wacom Wireless Bamboo PAD", 4095, 4095, /* Touch */
  4749		  .type = BAMBOO_PAD, 35, 48, .touch_max = 4 };
  4750	static const struct wacom_features wacom_features_0x325 =
  4751		{ "Wacom ISDv5 325", 59552, 33848, 2047, 63,
  4752		  CINTIQ_COMPANION_2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 11,
  4753		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4754		  WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
  4755		  .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x326 };
  4756	static const struct wacom_features wacom_features_0x326 = /* Touch */
  4757		{ "Wacom ISDv5 326", .type = HID_GENERIC, .oVid = USB_VENDOR_ID_WACOM,
  4758		  .oPid = 0x325 };
  4759	static const struct wacom_features wacom_features_0x323 =
  4760		{ "Wacom Intuos P M", 21600, 13500, 1023, 31,
  4761		  INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
  4762		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4763	static const struct wacom_features wacom_features_0x331 =
  4764		{ "Wacom Express Key Remote", .type = REMOTE,
  4765		  .numbered_buttons = 18, .check_for_hid_type = true,
  4766		  .hid_type = HID_TYPE_USBNONE };
  4767	static const struct wacom_features wacom_features_0x33B =
  4768		{ "Wacom Intuos S 2", 15200, 9500, 2047, 63,
  4769		  INTUOSHT2, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
  4770		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4771	static const struct wacom_features wacom_features_0x33C =
  4772		{ "Wacom Intuos PT S 2", 15200, 9500, 2047, 63,
  4773		  INTUOSHT2, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16,
  4774		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4775	static const struct wacom_features wacom_features_0x33D =
  4776		{ "Wacom Intuos P M 2", 21600, 13500, 2047, 63,
  4777		  INTUOSHT2, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
  4778		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4779	static const struct wacom_features wacom_features_0x33E =
  4780		{ "Wacom Intuos PT M 2", 21600, 13500, 2047, 63,
  4781		  INTUOSHT2, WACOM_INTUOS_RES, WACOM_INTUOS_RES, .touch_max = 16,
  4782		  .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
  4783	static const struct wacom_features wacom_features_0x343 =
  4784		{ "Wacom DTK1651", 34816, 19759, 1023, 0,
  4785		  DTUS, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4,
  4786		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET,
  4787		  WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
  4788	static const struct wacom_features wacom_features_0x360 =
  4789		{ "Wacom Intuos Pro M", 44800, 29600, 8191, 63,
  4790		  INTUOSP2_BT, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 10 };
  4791	static const struct wacom_features wacom_features_0x361 =
  4792		{ "Wacom Intuos Pro L", 62200, 43200, 8191, 63,
  4793		  INTUOSP2_BT, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 9, .touch_max = 10 };
  4794	static const struct wacom_features wacom_features_0x377 =
  4795		{ "Wacom Intuos BT S", 15200, 9500, 4095, 63,
  4796		  INTUOSHT3_BT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
  4797	static const struct wacom_features wacom_features_0x379 =
  4798		{ "Wacom Intuos BT M", 21600, 13500, 4095, 63,
  4799		  INTUOSHT3_BT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
  4800	static const struct wacom_features wacom_features_0x37A =
  4801		{ "Wacom One by Wacom S", 15200, 9500, 2047, 63,
  4802		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4803	static const struct wacom_features wacom_features_0x37B =
  4804		{ "Wacom One by Wacom M", 21600, 13500, 2047, 63,
  4805		  BAMBOO_PEN, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
  4806	static const struct wacom_features wacom_features_0x393 =
  4807		{ "Wacom Intuos Pro S", 31920, 19950, 8191, 63,
  4808		  INTUOSP2S_BT, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 7,
  4809		  .touch_max = 10 };
  4810	static const struct wacom_features wacom_features_0x3c6 =
  4811		{ "Wacom Intuos BT S", 15200, 9500, 4095, 63,
  4812		  INTUOSHT3_BT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
  4813	static const struct wacom_features wacom_features_0x3c8 =
  4814		{ "Wacom Intuos BT M", 21600, 13500, 4095, 63,
  4815		  INTUOSHT3_BT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, 4 };
  4816	
  4817	static const struct wacom_features wacom_features_0x95 =
  4818		{ "Wacom AG14", .type = HID_GENERIC, .oVid = 0x2D1F, .oPid = 149 };
  4819	
  4820	static const struct wacom_features wacom_features_HID_ANY_ID =
  4821		{ "Wacom HID", .type = HID_GENERIC, .oVid = HID_ANY_ID, .oPid = HID_ANY_ID };
  4822	
  4823	#define USB_DEVICE_WACOM(prod)						\
  4824		HID_DEVICE(BUS_USB, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\
  4825		.driver_data = (kernel_ulong_t)&wacom_features_##prod
  4826	
  4827	#define BT_DEVICE_WACOM(prod)						\
  4828		HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\
  4829		.driver_data = (kernel_ulong_t)&wacom_features_##prod
  4830	
  4831	#define I2C_DEVICE_WACOM(prod)						\
  4832		HID_DEVICE(BUS_I2C, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\
  4833		.driver_data = (kernel_ulong_t)&wacom_features_##prod
  4834	
  4835	#define I2C_AG14_DEVICE_WACOM(prod)					    \
  4836		HID_DEVICE(BUS_I2C, HID_GROUP_WACOM, USB_VENDOR_ID_I2C_WACOM, prod),\
  4837		.driver_data = (kernel_ulong_t)&wacom_features_##prod
  4838	
  4839	#define USB_DEVICE_LENOVO(prod)					\
  4840		HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, prod),			\
  4841		.driver_data = (kernel_ulong_t)&wacom_features_##prod
  4842	
  4843	const struct hid_device_id wacom_ids[] = {
  4844		{ USB_DEVICE_WACOM(0x00) },
  4845		{ USB_DEVICE_WACOM(0x03) },
  4846		{ USB_DEVICE_WACOM(0x10) },
  4847		{ USB_DEVICE_WACOM(0x11) },
  4848		{ USB_DEVICE_WACOM(0x12) },
  4849		{ USB_DEVICE_WACOM(0x13) },
  4850		{ USB_DEVICE_WACOM(0x14) },
  4851		{ USB_DEVICE_WACOM(0x15) },
  4852		{ USB_DEVICE_WACOM(0x16) },
  4853		{ USB_DEVICE_WACOM(0x17) },
  4854		{ USB_DEVICE_WACOM(0x18) },
  4855		{ USB_DEVICE_WACOM(0x19) },
  4856		{ USB_DEVICE_WACOM(0x20) },
  4857		{ USB_DEVICE_WACOM(0x21) },
  4858		{ USB_DEVICE_WACOM(0x22) },
  4859		{ USB_DEVICE_WACOM(0x23) },
  4860		{ USB_DEVICE_WACOM(0x24) },
  4861		{ USB_DEVICE_WACOM(0x26) },
  4862		{ USB_DEVICE_WACOM(0x27) },
  4863		{ USB_DEVICE_WACOM(0x28) },
  4864		{ USB_DEVICE_WACOM(0x29) },
  4865		{ USB_DEVICE_WACOM(0x2A) },
  4866		{ USB_DEVICE_WACOM(0x30) },
  4867		{ USB_DEVICE_WACOM(0x31) },
  4868		{ USB_DEVICE_WACOM(0x32) },
  4869		{ USB_DEVICE_WACOM(0x33) },
  4870		{ USB_DEVICE_WACOM(0x34) },
  4871		{ USB_DEVICE_WACOM(0x35) },
  4872		{ USB_DEVICE_WACOM(0x37) },
  4873		{ USB_DEVICE_WACOM(0x38) },
  4874		{ USB_DEVICE_WACOM(0x39) },
  4875		{ USB_DEVICE_WACOM(0x3F) },
  4876		{ USB_DEVICE_WACOM(0x41) },
  4877		{ USB_DEVICE_WACOM(0x42) },
  4878		{ USB_DEVICE_WACOM(0x43) },
  4879		{ USB_DEVICE_WACOM(0x44) },
  4880		{ USB_DEVICE_WACOM(0x45) },
  4881		{ USB_DEVICE_WACOM(0x47) },
  4882		{ USB_DEVICE_WACOM(0x57) },
  4883		{ USB_DEVICE_WACOM(0x59) },
  4884		{ USB_DEVICE_WACOM(0x5B) },
  4885		{ USB_DEVICE_WACOM(0x5D) },
  4886		{ USB_DEVICE_WACOM(0x5E) },
  4887		{ USB_DEVICE_WACOM(0x60) },
  4888		{ USB_DEVICE_WACOM(0x61) },
  4889		{ USB_DEVICE_WACOM(0x62) },
  4890		{ USB_DEVICE_WACOM(0x63) },
  4891		{ USB_DEVICE_WACOM(0x64) },
  4892		{ USB_DEVICE_WACOM(0x65) },
  4893		{ USB_DEVICE_WACOM(0x69) },
  4894		{ USB_DEVICE_WACOM(0x6A) },
  4895		{ USB_DEVICE_WACOM(0x6B) },
  4896		{ BT_DEVICE_WACOM(0x81) },
  4897		{ USB_DEVICE_WACOM(0x84) },
  4898		{ USB_DEVICE_WACOM(0x90) },
  4899		{ USB_DEVICE_WACOM(0x93) },
> 4900		{ I2C_AG14_DEVICE_WACOM(0x95) },
  4901		{ USB_DEVICE_WACOM(0x97) },
  4902		{ USB_DEVICE_WACOM(0x9A) },
  4903		{ USB_DEVICE_WACOM(0x9F) },
  4904		{ USB_DEVICE_WACOM(0xB0) },
  4905		{ USB_DEVICE_WACOM(0xB1) },
  4906		{ USB_DEVICE_WACOM(0xB2) },
  4907		{ USB_DEVICE_WACOM(0xB3) },
  4908		{ USB_DEVICE_WACOM(0xB4) },
  4909		{ USB_DEVICE_WACOM(0xB5) },
  4910		{ USB_DEVICE_WACOM(0xB7) },
  4911		{ USB_DEVICE_WACOM(0xB8) },
  4912		{ USB_DEVICE_WACOM(0xB9) },
  4913		{ USB_DEVICE_WACOM(0xBA) },
  4914		{ USB_DEVICE_WACOM(0xBB) },
  4915		{ USB_DEVICE_WACOM(0xBC) },
  4916		{ BT_DEVICE_WACOM(0xBD) },
  4917		{ USB_DEVICE_WACOM(0xC0) },
  4918		{ USB_DEVICE_WACOM(0xC2) },
  4919		{ USB_DEVICE_WACOM(0xC4) },
  4920		{ USB_DEVICE_WACOM(0xC5) },
  4921		{ USB_DEVICE_WACOM(0xC6) },
  4922		{ USB_DEVICE_WACOM(0xC7) },
  4923		{ USB_DEVICE_WACOM(0xCC) },
  4924		{ USB_DEVICE_WACOM(0xCE) },
  4925		{ USB_DEVICE_WACOM(0xD0) },
  4926		{ USB_DEVICE_WACOM(0xD1) },
  4927		{ USB_DEVICE_WACOM(0xD2) },
  4928		{ USB_DEVICE_WACOM(0xD3) },
  4929		{ USB_DEVICE_WACOM(0xD4) },
  4930		{ USB_DEVICE_WACOM(0xD5) },
  4931		{ USB_DEVICE_WACOM(0xD6) },
  4932		{ USB_DEVICE_WACOM(0xD7) },
  4933		{ USB_DEVICE_WACOM(0xD8) },
  4934		{ USB_DEVICE_WACOM(0xDA) },
  4935		{ USB_DEVICE_WACOM(0xDB) },
  4936		{ USB_DEVICE_WACOM(0xDD) },
  4937		{ USB_DEVICE_WACOM(0xDE) },
  4938		{ USB_DEVICE_WACOM(0xDF) },
  4939		{ USB_DEVICE_WACOM(0xE2) },
  4940		{ USB_DEVICE_WACOM(0xE3) },
  4941		{ USB_DEVICE_WACOM(0xE5) },
  4942		{ USB_DEVICE_WACOM(0xE6) },
  4943		{ USB_DEVICE_WACOM(0xEC) },
  4944		{ USB_DEVICE_WACOM(0xED) },
  4945		{ USB_DEVICE_WACOM(0xEF) },
  4946		{ USB_DEVICE_WACOM(0xF0) },
  4947		{ USB_DEVICE_WACOM(0xF4) },
  4948		{ USB_DEVICE_WACOM(0xF6) },
  4949		{ USB_DEVICE_WACOM(0xF8) },
  4950		{ USB_DEVICE_WACOM(0xFA) },
  4951		{ USB_DEVICE_WACOM(0xFB) },
  4952		{ USB_DEVICE_WACOM(0x100) },
  4953		{ USB_DEVICE_WACOM(0x101) },
  4954		{ USB_DEVICE_WACOM(0x10D) },
  4955		{ USB_DEVICE_WACOM(0x10E) },
  4956		{ USB_DEVICE_WACOM(0x10F) },
  4957		{ USB_DEVICE_WACOM(0x116) },
  4958		{ USB_DEVICE_WACOM(0x12C) },
  4959		{ USB_DEVICE_WACOM(0x300) },
  4960		{ USB_DEVICE_WACOM(0x301) },
  4961		{ USB_DEVICE_WACOM(0x302) },
  4962		{ USB_DEVICE_WACOM(0x303) },
  4963		{ USB_DEVICE_WACOM(0x304) },
  4964		{ USB_DEVICE_WACOM(0x307) },
  4965		{ USB_DEVICE_WACOM(0x309) },
  4966		{ USB_DEVICE_WACOM(0x30A) },
  4967		{ USB_DEVICE_WACOM(0x30C) },
  4968		{ USB_DEVICE_WACOM(0x30E) },
  4969		{ USB_DEVICE_WACOM(0x314) },
  4970		{ USB_DEVICE_WACOM(0x315) },
  4971		{ USB_DEVICE_WACOM(0x317) },
  4972		{ USB_DEVICE_WACOM(0x318) },
  4973		{ USB_DEVICE_WACOM(0x319) },
  4974		{ USB_DEVICE_WACOM(0x323) },
  4975		{ USB_DEVICE_WACOM(0x325) },
  4976		{ USB_DEVICE_WACOM(0x326) },
  4977		{ USB_DEVICE_WACOM(0x32A) },
  4978		{ USB_DEVICE_WACOM(0x32B) },
  4979		{ USB_DEVICE_WACOM(0x32C) },
  4980		{ USB_DEVICE_WACOM(0x32F) },
  4981		{ USB_DEVICE_WACOM(0x331) },
  4982		{ USB_DEVICE_WACOM(0x333) },
  4983		{ USB_DEVICE_WACOM(0x335) },
  4984		{ USB_DEVICE_WACOM(0x336) },
  4985		{ USB_DEVICE_WACOM(0x33B) },
  4986		{ USB_DEVICE_WACOM(0x33C) },
  4987		{ USB_DEVICE_WACOM(0x33D) },
  4988		{ USB_DEVICE_WACOM(0x33E) },
  4989		{ USB_DEVICE_WACOM(0x343) },
  4990		{ BT_DEVICE_WACOM(0x360) },
  4991		{ BT_DEVICE_WACOM(0x361) },
  4992		{ BT_DEVICE_WACOM(0x377) },
  4993		{ BT_DEVICE_WACOM(0x379) },
  4994		{ USB_DEVICE_WACOM(0x37A) },
  4995		{ USB_DEVICE_WACOM(0x37B) },
  4996		{ BT_DEVICE_WACOM(0x393) },
  4997		{ BT_DEVICE_WACOM(0x3c6) },
  4998		{ BT_DEVICE_WACOM(0x3c8) },
  4999		{ USB_DEVICE_WACOM(0x4001) },
  5000		{ USB_DEVICE_WACOM(0x4004) },
  5001		{ USB_DEVICE_WACOM(0x5000) },
  5002		{ USB_DEVICE_WACOM(0x5002) },
  5003		{ USB_DEVICE_LENOVO(0x6004) },
  5004	
  5005		{ USB_DEVICE_WACOM(HID_ANY_ID) },
  5006		{ I2C_DEVICE_WACOM(HID_ANY_ID) },
  5007		{ BT_DEVICE_WACOM(HID_ANY_ID) },
  5008		{ }
  5009	};
> 5010	MODULE_DEVICE_TABLE(hid, wacom_ids);

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (30140 bytes)

Powered by blists - more mailing lists