Re: [PATCH v8 3/3] Input: Add TouchNetix axiom i2c touchscreen driver

From: kernel test robot
Date: Mon Feb 19 2024 - 19:22:11 EST


Hi Kamel,

kernel test robot noticed the following build errors:

[auto build test ERROR on dtor-input/next]
[also build test ERROR on dtor-input/for-linus robh/for-next krzk-dt/for-next linus/master v6.8-rc5 next-20240219]
[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/Kamel-Bouhara/dt-bindings-vendor-prefixes-Add-TouchNetix-AS/20240219-181550
base: https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
patch link: https://lore.kernel.org/r/20240219101221.129750-4-kamel.bouhara%40bootlin.com
patch subject: [PATCH v8 3/3] Input: Add TouchNetix axiom i2c touchscreen driver
config: i386-buildonly-randconfig-002-20240220 (https://download.01.org/0day-ci/archive/20240220/202402200849.ABf6sZnr-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240220/202402200849.ABf6sZnr-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202402200849.ABf6sZnr-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from include/linux/device.h:15:0,
from drivers/input/touchscreen/touchnetix_axiom.c:17:
drivers/input/touchscreen/touchnetix_axiom.c: In function 'axiom_process_u41_report_target':
>> drivers/input/touchscreen/touchnetix_axiom.c:332:18: error: 'slot' undeclared (first use in this function); did you mean 'sget'?
target->index, slot, target->present,
^
include/linux/dev_printk.h:129:34: note: in definition of macro 'dev_printk'
_dev_printk(level, dev, fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
drivers/input/touchscreen/touchnetix_axiom.c:331:2: note: in expansion of macro 'dev_dbg'
dev_dbg(ts->dev, "U41 Target T%u, slot:%u present:%u, x:%u, y:%u, z:%d\n",
^~~~~~~
drivers/input/touchscreen/touchnetix_axiom.c:332:18: note: each undeclared identifier is reported only once for each function it appears in
target->index, slot, target->present,
^
include/linux/dev_printk.h:129:34: note: in definition of macro 'dev_printk'
_dev_printk(level, dev, fmt, ##__VA_ARGS__); \
^~~~~~~~~~~
drivers/input/touchscreen/touchnetix_axiom.c:331:2: note: in expansion of macro 'dev_dbg'
dev_dbg(ts->dev, "U41 Target T%u, slot:%u present:%u, x:%u, y:%u, z:%d\n",
^~~~~~~


vim +332 drivers/input/touchscreen/touchnetix_axiom.c

289
290 /*
291 * Support function to axiom_process_u41_report.
292 * Generates input-subsystem events for every target.
293 * After calling this function the caller shall issue
294 * a Sync to the input sub-system.
295 */
296 static bool axiom_process_u41_report_target(struct axiom_data *ts,
297 struct axiom_target_report *target)
298 {
299 struct input_dev *input_dev = ts->input_dev;
300 struct axiom_u41_target *target_prev_state;
301 enum axiom_target_state current_state;
302 int id;
303
304 /* Verify the target index */
305 if (target->index >= AXIOM_U41_MAX_TARGETS) {
306 dev_err(ts->dev, "Invalid target index! %u\n", target->index);
307 return false;
308 }
309
310 target_prev_state = &ts->targets[target->index];
311
312 current_state = AXIOM_TARGET_STATE_NOT_PRESENT;
313
314 if (target->present) {
315 if (target->z >= 0)
316 current_state = AXIOM_TARGET_STATE_TOUCHING;
317 else if (target->z > AXIOM_PROX_LEVEL && target->z < 0)
318 current_state = AXIOM_TARGET_STATE_HOVER;
319 else if (target->z == AXIOM_PROX_LEVEL)
320 current_state = AXIOM_TARGET_STATE_PROX;
321 }
322
323 if (target_prev_state->state == current_state &&
324 target_prev_state->x == target->x &&
325 target_prev_state->y == target->y &&
326 target_prev_state->z == target->z)
327 return false;
328
329 id = target->index;
330
331 dev_dbg(ts->dev, "U41 Target T%u, slot:%u present:%u, x:%u, y:%u, z:%d\n",
> 332 target->index, slot, target->present,
333 target->x, target->y, target->z);
334
335 switch (current_state) {
336 case AXIOM_TARGET_STATE_NOT_PRESENT:
337 case AXIOM_TARGET_STATE_PROX:
338 if (!target_prev_state->insert)
339 break;
340 target_prev_state->insert = false;
341
342 if (!id)
343 input_report_key(input_dev, BTN_TOUCH, 0);
344
345 input_mt_report_slot_inactive(input_dev);
346 /*
347 * make sure the previous coordinates are
348 * all off screen when the finger comes back
349 */
350 target->x = 65535;
351 target->y = 65535;
352 target->z = AXIOM_PROX_LEVEL;
353 break;
354 case AXIOM_TARGET_STATE_HOVER:
355 case AXIOM_TARGET_STATE_TOUCHING:
356 target_prev_state->insert = true;
357 input_report_abs(input_dev, ABS_MT_TRACKING_ID, id);
358 input_report_abs(input_dev, ABS_MT_POSITION_X, target->x);
359 input_report_abs(input_dev, ABS_MT_POSITION_Y, target->y);
360
361 if (current_state == AXIOM_TARGET_STATE_TOUCHING) {
362 input_report_abs(input_dev, ABS_MT_DISTANCE, 0);
363 input_report_abs(input_dev, ABS_DISTANCE, 0);
364 input_report_abs(input_dev, ABS_MT_PRESSURE, target->z);
365 input_report_abs(input_dev, ABS_PRESSURE, target->z);
366 } else {
367 input_report_abs(input_dev, ABS_MT_DISTANCE, -target->z);
368 input_report_abs(input_dev, ABS_DISTANCE, -target->z);
369 input_report_abs(input_dev, ABS_MT_PRESSURE, 0);
370 input_report_abs(input_dev, ABS_PRESSURE, 0);
371 }
372
373 if (!id)
374 input_report_key(input_dev, BTN_TOUCH, (current_state ==
375 AXIOM_TARGET_STATE_TOUCHING));
376 break;
377 default:
378 break;
379 }
380
381 target_prev_state->state = current_state;
382 target_prev_state->x = target->x;
383 target_prev_state->y = target->y;
384 target_prev_state->z = target->z;
385
386 return true;
387 }
388

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