All of lore.kernel.org
 help / color / mirror / Atom feed
* [asahilinux:pr/22 73/189] drivers/hid/hid-magicmouse.c:662:41: warning: format specifies type 'unsigned short' but the argument has type 'int'
@ 2022-04-25 21:59 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-04-25 21:59 UTC (permalink / raw)
  To: Janne Grunau; +Cc: llvm, kbuild-all, linux-kernel, Hector Martin

tree:   https://github.com/AsahiLinux/linux pr/22
head:   7ee315306d1a3b0da8cf2a53e7f55889d0e7f034
commit: 03f2bf13a1adfe8af74f01c14af0943adef72470 [73/189] HID: magicmouse: add support for Macbook trackpads
config: hexagon-randconfig-r041-20220425 (https://download.01.org/0day-ci/archive/20220426/202204260549.BK1ztC91-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818)
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/AsahiLinux/linux/commit/03f2bf13a1adfe8af74f01c14af0943adef72470
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux pr/22
        git checkout 03f2bf13a1adfe8af74f01c14af0943adef72470
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/hid/

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

All warnings (new ones prefixed by >>):

>> drivers/hid/hid-magicmouse.c:662:41: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
                   hid_dbg(hdev, "ev x:%04hx y:%04hx\n", le16_to_int(f->abs_x),
                                       ~~~~~             ^~~~~~~~~~~~~~~~~~~~~
                                       %04x
   include/linux/hid.h:1218:30: note: expanded from macro 'hid_dbg'
           dev_dbg(&(hid)->dev, fmt, ##__VA_ARGS__)
                                ~~~    ^~~~~~~~~~~
   include/linux/dev_printk.h:155:39: note: expanded from macro 'dev_dbg'
           dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
                                        ~~~     ^~~~~~~~~~~
   include/linux/dynamic_debug.h:167:19: note: expanded from macro 'dynamic_dev_dbg'
                              dev, fmt, ##__VA_ARGS__)
                                   ~~~    ^~~~~~~~~~~
   include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
           __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
                                                                 ^~~~~~~~~~~
   include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
                   func(&id, ##__VA_ARGS__);               \
                               ^~~~~~~~~~~
   drivers/hid/hid-magicmouse.c:663:4: warning: format specifies type 'unsigned short' but the argument has type 'int' [-Wformat]
                           le16_to_int(f->abs_y));
                           ^~~~~~~~~~~~~~~~~~~~~
   include/linux/hid.h:1218:30: note: expanded from macro 'hid_dbg'
           dev_dbg(&(hid)->dev, fmt, ##__VA_ARGS__)
                                ~~~    ^~~~~~~~~~~
   include/linux/dev_printk.h:155:39: note: expanded from macro 'dev_dbg'
           dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
                                        ~~~     ^~~~~~~~~~~
   include/linux/dynamic_debug.h:167:19: note: expanded from macro 'dynamic_dev_dbg'
                              dev, fmt, ##__VA_ARGS__)
                                   ~~~    ^~~~~~~~~~~
   include/linux/dynamic_debug.h:152:56: note: expanded from macro '_dynamic_func_call'
           __dynamic_func_call(__UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__)
                                                                 ^~~~~~~~~~~
   include/linux/dynamic_debug.h:134:15: note: expanded from macro '__dynamic_func_call'
                   func(&id, ##__VA_ARGS__);               \
                               ^~~~~~~~~~~
   2 warnings generated.
--
   drivers/hid/hid-magicmouse.c:169: warning: Function parameter or member 'pos' not described in 'magicmouse_sc'
   drivers/hid/hid-magicmouse.c:169: warning: Function parameter or member 'hdev' not described in 'magicmouse_sc'
   drivers/hid/hid-magicmouse.c:169: warning: Function parameter or member 'work' not described in 'magicmouse_sc'
   drivers/hid/hid-magicmouse.c:169: warning: Function parameter or member 'battery_timer' not described in 'magicmouse_sc'
   drivers/hid/hid-magicmouse.c:169: warning: Function parameter or member 'input_ops' not described in 'magicmouse_sc'
>> drivers/hid/hid-magicmouse.c:592: warning: expecting prototype for struct trackpad. Prototype was for struct tp_header instead


vim +662 drivers/hid/hid-magicmouse.c

   571	
   572	/**
   573	 * struct trackpad report
   574	 *
   575	 * @report_id:		reportid
   576	 * @buttons:		HID Usage Buttons 3 1-bit reports
   577	 * @num_fingers:	the number of fingers being reported in @fingers
   578	 * @clicked:		same as @buttons
   579	 */
   580	struct tp_header {
   581		// HID mouse report
   582		u8 report_id;
   583		u8 buttons;
   584		u8 rel_x;
   585		u8 rel_y;
   586		u8 padding[4];
   587		// HID vendor part, up to 1751 bytes
   588		u8 unknown[22];
   589		u8 num_fingers;
   590		u8 clicked;
   591		u8 unknown3[14];
 > 592	};
   593	
   594	static inline int le16_to_int(__le16 x)
   595	{
   596		return (signed short)le16_to_cpu(x);
   597	}
   598	
   599	static void report_finger_data(struct input_dev *input, int slot,
   600				       const struct input_mt_pos *pos,
   601				       const struct tp_finger *f)
   602	{
   603		input_mt_slot(input, slot);
   604		input_mt_report_slot_state(input, MT_TOOL_FINGER, true);
   605	
   606		input_report_abs(input, ABS_MT_TOUCH_MAJOR,
   607				 le16_to_int(f->touch_major) << 1);
   608		input_report_abs(input, ABS_MT_TOUCH_MINOR,
   609				 le16_to_int(f->touch_minor) << 1);
   610		input_report_abs(input, ABS_MT_WIDTH_MAJOR,
   611				 le16_to_int(f->tool_major) << 1);
   612		input_report_abs(input, ABS_MT_WIDTH_MINOR,
   613				 le16_to_int(f->tool_minor) << 1);
   614		input_report_abs(input, ABS_MT_ORIENTATION,
   615				 J314_TP_MAX_FINGER_ORIENTATION - le16_to_int(f->orientation));
   616		input_report_abs(input, ABS_MT_PRESSURE, le16_to_int(f->pressure));
   617		input_report_abs(input, ABS_MT_POSITION_X, pos->x);
   618		input_report_abs(input, ABS_MT_POSITION_Y, pos->y);
   619	}
   620	
   621	static int magicmouse_raw_event_spi(struct hid_device *hdev,
   622			struct hid_report *report, u8 *data, int size)
   623	{
   624		struct magicmouse_sc *msc = hid_get_drvdata(hdev);
   625		struct input_dev *input = msc->input;
   626		struct tp_header *tp_hdr;
   627		struct tp_finger *f;
   628		int i, n;
   629		u32 npoints;
   630		const size_t hdr_sz = sizeof(struct tp_header);
   631		const size_t touch_sz = sizeof(struct tp_finger);
   632		u8 map_contacs[MAX_CONTACTS];
   633	
   634		// hid_warn(hdev, "%s\n", __func__);
   635		// print_hex_dump_debug("appleft ev: ", DUMP_PREFIX_OFFSET, 16, 1, data,
   636		// 		     size, false);
   637	
   638		if (data[0] != TRACKPAD2_USB_REPORT_ID)
   639			return 0;
   640	
   641		/* Expect 46 bytes of prefix, and N * 30 bytes of touch data. */
   642		if (size < hdr_sz || ((size - hdr_sz) % touch_sz) != 0)
   643			return 0;
   644	
   645		tp_hdr = (struct tp_header *)data;
   646	
   647		npoints = (size - hdr_sz) / touch_sz;
   648		if (npoints < tp_hdr->num_fingers || npoints > MAX_CONTACTS) {
   649			hid_warn(hdev,
   650				 "unexpected number of touches (%u) for "
   651				 "report\n",
   652				 npoints);
   653			return 0;
   654		}
   655	
   656		n = 0;
   657		for (i = 0; i < tp_hdr->num_fingers; i++) {
   658			f = (struct tp_finger *)(data + hdr_sz + i * touch_sz);
   659			if (le16_to_int(f->touch_major) == 0)
   660				continue;
   661	
 > 662			hid_dbg(hdev, "ev x:%04hx y:%04hx\n", le16_to_int(f->abs_x),
   663				le16_to_int(f->abs_y));
   664			msc->pos[n].x = le16_to_int(f->abs_x);
   665			msc->pos[n].y = -le16_to_int(f->abs_y);
   666			map_contacs[n] = i;
   667			n++;
   668		}
   669	
   670		input_mt_assign_slots(input, msc->tracking_ids, msc->pos, n, 0);
   671	
   672		for (i = 0; i < n; i++) {
   673			int idx = map_contacs[i];
   674			f = (struct tp_finger *)(data + hdr_sz + idx * touch_sz);
   675			report_finger_data(input, msc->tracking_ids[i], &msc->pos[i], f);
   676		}
   677	
   678		input_mt_sync_frame(input);
   679		input_report_key(input, BTN_MOUSE, data[1] & 1);
   680	
   681		input_sync(input);
   682		return 1;
   683	}
   684	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-25 21:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 21:59 [asahilinux:pr/22 73/189] drivers/hid/hid-magicmouse.c:662:41: warning: format specifies type 'unsigned short' but the argument has type 'int' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.