>-----Original Message----- >From: Arnd Bergmann <arnd@xxxxxxxxxx> >Sent: Saturday, June 1, 2024 12:28 AM >To: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>; Jiri Kosina ><jikos@xxxxxxxxxx>; Benjamin Tissoires <bentiss@xxxxxxxxxx>; Zhang, Lixu ><lixu.zhang@xxxxxxxxx> >Cc: Arnd Bergmann <arnd@xxxxxxxx>; linux-input@xxxxxxxxxxxxxxx; linux- >kernel@xxxxxxxxxxxxxxx >Subject: [PATCH] [v2] HID: intel-ish-hid: fix endian-conversion > >From: Arnd Bergmann <arnd@xxxxxxxx> > >The newly added file causes a ton of sparse warnings about the incorrect use of >__le32 and similar types: > >drivers/hid/intel-ish-hid/ishtp/loader.h:41:23: error: invalid bitfield specifier for >type restricted __le32. >drivers/hid/intel-ish-hid/ishtp/loader.h:42:27: error: invalid bitfield specifier for >type restricted __le32. >drivers/hid/intel-ish-hid/ishtp/loader.h:43:24: error: invalid bitfield specifier for >type restricted __le32. >drivers/hid/intel-ish-hid/ishtp/loader.h:44:24: error: invalid bitfield specifier for >type restricted __le32. >drivers/hid/intel-ish-hid/ishtp/loader.h:45:22: error: invalid bitfield specifier for >type restricted __le32. >drivers/hid/intel-ish-hid/ishtp/loader.c:172:33: warning: restricted __le32 >degrades to integer >drivers/hid/intel-ish-hid/ishtp/loader.c:178:50: warning: incorrect type in >assignment (different base types) >drivers/hid/intel-ish-hid/ishtp/loader.c:178:50: expected restricted __le32 >[usertype] length >drivers/hid/intel-ish-hid/ishtp/loader.c:178:50: got unsigned long >drivers/hid/intel-ish-hid/ishtp/loader.c:179:50: warning: incorrect type in >assignment (different base types) >drivers/hid/intel-ish-hid/ishtp/loader.c:179:50: expected restricted __le32 >[usertype] fw_off >drivers/hid/intel-ish-hid/ishtp/loader.c:179:50: got unsigned int [usertype] >offset >drivers/hid/intel-ish-hid/ishtp/loader.c:180:17: warning: cast from restricted >__le32 >drivers/hid/intel-ish-hid/ishtp/loader.c:183:24: warning: invalid assignment: += >drivers/hid/intel-ish-hid/ishtp/loader.c:183:24: left side has type unsigned int >drivers/hid/intel-ish-hid/ishtp/loader.c:183:24: right side has type restricted >__le32 > >Add the necessary conversions and use temporary variables where appropriate >to avoid converting back. > >Fixes: 579a267e4617 ("HID: intel-ish-hid: Implement loading firmware from >host feature") >Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> >--- >v2: > - fix minor issues introduced in rebasing > - rebase again on linux-next without the cache management patch > - fix up changelog text >--- Thanks for your patch. I have tested it on LNL platform, it works fine. Please fix the build warning reported by kernel test robot. https://lore.kernel.org/oe-kbuild-all/202406011319.hk4MAysc-lkp@xxxxxxxxx/ drivers/hid/intel-ish-hid/ishtp/loader.c:170: warning: Function parameter or struct member 'fragment_count' not described in 'prepare_dma_bufs' After that, please add my name. Reviewed-by: Zhang Lixu <lixu.zhang@xxxxxxxxx> Tested-by: Zhang Lixu <lixu.zhang@xxxxxxxxx> Thanks, Lixu