[<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