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] [day] [month] [year] [list]
Message-ID: <202507011209.R4JNwHSj-lkp@intel.com>
Date: Tue, 1 Jul 2025 12:52:02 +0800
From: kernel test robot <lkp@...el.com>
To: Oleh Kuzhylnyi <kuzhylol@...il.com>,
	Dmitry Torokhov <dmitry.torokhov@...il.com>
Cc: oe-kbuild-all@...ts.linux.dev, Rob Herring <robh@...nel.org>,
	Krzysztof Kozlowski <krzk@...nel.org>,
	Conor Dooley <conor+dt@...nel.org>,
	Sasha Finkelstein <fnkl.kernel@...il.com>,
	Javier Carrasco <javier.carrasco.cruz@...il.com>,
	Linus Walleij <linus.walleij@...aro.org>,
	Javier Martinez Canillas <javierm@...hat.com>,
	Janne Grunau <j@...nau.net>, Igor Opaniuk <igor.opaniuk@...il.com>,
	Neal Gompa <neal@...pa.dev>, Jeff LaBundy <jeff@...undy.com>,
	Neil Armstrong <neil.armstrong@...aro.org>,
	Oleh Kuzhylnyi <kuzhylol@...il.com>, linux-input@...r.kernel.org,
	devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v8 2/2] input: add hynitron cst816x series touchscreen

Hi Oleh,

kernel test robot noticed the following build warnings:

[auto build test WARNING on dtor-input/next]
[also build test WARNING on dtor-input/for-linus robh/for-next krzk-dt/for-next linus/master v6.16-rc4 next-20250630]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Oleh-Kuzhylnyi/input-add-hynitron-cst816x-series-touchscreen/20250630-002723
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link:    https://lore.kernel.org/r/20250629162523.291887-2-kuzhylol%40gmail.com
patch subject: [PATCH v8 2/2] input: add hynitron cst816x series touchscreen
config: microblaze-randconfig-r131-20250701 (https://download.01.org/0day-ci/archive/20250701/202507011209.R4JNwHSj-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 15.1.0
reproduce: (https://download.01.org/0day-ci/archive/20250701/202507011209.R4JNwHSj-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507011209.R4JNwHSj-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> drivers/input/touchscreen/hynitron-cst816x.c:97:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be16 [usertype] abs_x @@     got unsigned long @@
   drivers/input/touchscreen/hynitron-cst816x.c:97:21: sparse:     expected restricted __be16 [usertype] abs_x
   drivers/input/touchscreen/hynitron-cst816x.c:97:21: sparse:     got unsigned long
>> drivers/input/touchscreen/hynitron-cst816x.c:98:21: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __be16 [usertype] abs_y @@     got unsigned long @@
   drivers/input/touchscreen/hynitron-cst816x.c:98:21: sparse:     expected restricted __be16 [usertype] abs_y
   drivers/input/touchscreen/hynitron-cst816x.c:98:21: sparse:     got unsigned long
>> drivers/input/touchscreen/hynitron-cst816x.c:148:58: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected int value @@     got restricted __be16 [addressable] [usertype] abs_x @@
   drivers/input/touchscreen/hynitron-cst816x.c:148:58: sparse:     expected int value
   drivers/input/touchscreen/hynitron-cst816x.c:148:58: sparse:     got restricted __be16 [addressable] [usertype] abs_x
>> drivers/input/touchscreen/hynitron-cst816x.c:149:58: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected int value @@     got restricted __be16 [addressable] [usertype] abs_y @@
   drivers/input/touchscreen/hynitron-cst816x.c:149:58: sparse:     expected int value
   drivers/input/touchscreen/hynitron-cst816x.c:149:58: sparse:     got restricted __be16 [addressable] [usertype] abs_y

vim +97 drivers/input/touchscreen/hynitron-cst816x.c

    90	
    91	static bool cst816x_process_touch(struct cst816x_priv *priv,
    92					  struct cst816x_touch_desc *desc)
    93	{
    94		if (cst816x_i2c_read_register(priv, CST816X_RD_REG, desc, sizeof(*desc)))
    95			return false;
    96	
  > 97		desc->abs_x = get_unaligned_be16(&desc->abs_x) & GENMASK(11, 0);
  > 98		desc->abs_y = get_unaligned_be16(&desc->abs_y) & GENMASK(11, 0);
    99	
   100		dev_dbg(&priv->client->dev, "x: %u, y: %u, t: %u, g: 0x%x\n",
   101			desc->abs_x, desc->abs_y, desc->touch, desc->gesture);
   102	
   103		return true;
   104	}
   105	
   106	static int cst816x_register_input(struct cst816x_priv *priv)
   107	{
   108		priv->input = devm_input_allocate_device(&priv->client->dev);
   109		if (!priv->input)
   110			return -ENOMEM;
   111	
   112		priv->input->name = "Hynitron CST816x Series Touchscreen";
   113		priv->input->phys = "input/ts";
   114		priv->input->id.bustype = BUS_I2C;
   115		input_set_drvdata(priv->input, priv);
   116	
   117		input_set_abs_params(priv->input, ABS_X, 0, 240, 0, 0);
   118		input_set_abs_params(priv->input, ABS_Y, 0, 240, 0, 0);
   119	
   120		for (int i = 0; i < priv->keycodemax; i++) {
   121			if (priv->keycode[i] == KEY_RESERVED)
   122				continue;
   123	
   124			input_set_capability(priv->input, EV_KEY, priv->keycode[i]);
   125		}
   126	
   127		return input_register_device(priv->input);
   128	}
   129	
   130	static void cst816x_reset(struct cst816x_priv *priv)
   131	{
   132		gpiod_set_value_cansleep(priv->reset, 1);
   133		msleep(50);
   134		gpiod_set_value_cansleep(priv->reset, 0);
   135		msleep(100);
   136	}
   137	
   138	static irqreturn_t cst816x_irq_cb(int irq, void *cookie)
   139	{
   140		struct cst816x_priv *priv = cookie;
   141		struct cst816x_touch_desc desc;
   142	
   143		if (!cst816x_process_touch(priv, &desc))
   144			return IRQ_HANDLED;
   145	
   146		if (desc.touch) {
   147			input_report_key(priv->input, priv->keycode[CST816X_TOUCH], 1);
 > 148			input_report_abs(priv->input, ABS_X, desc.abs_x);
 > 149			input_report_abs(priv->input, ABS_Y, desc.abs_y);
   150		}
   151	
   152		if (desc.gesture) {
   153			input_report_key(priv->input, priv->keycode[desc.gesture & 0x0F],
   154					 desc.touch);
   155	
   156			if (!desc.touch)
   157				input_report_key(priv->input,
   158						 priv->keycode[CST816X_TOUCH], 0);
   159		}
   160	
   161		input_sync(priv->input);
   162	
   163		return IRQ_HANDLED;
   164	}
   165	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ