Re: [PATCH v2 4/4] platform/x86: pmc_atom: improve critclk_systems matching for Siemens PCs

From: kernel test robot
Date: Mon Mar 15 2021 - 09:27:21 EST


Hi Henning,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on pavel-linux-leds/for-next]
[also build test WARNING on tip/master linux/master linus/master v5.12-rc3 next-20210315]
[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]

url: https://github.com/0day-ci/linux/commits/Henning-Schild/add-device-drivers-for-Siemens-Industrial-PCs/20210315-181441
base: git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
config: x86_64-randconfig-s022-20210315 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-277-gc089cd2d-dirty
# https://github.com/0day-ci/linux/commit/7b3ce3514b5f314b15ab6e2898104fa3e8e76d59
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Henning-Schild/add-device-drivers-for-Siemens-Industrial-PCs/20210315-181441
git checkout 7b3ce3514b5f314b15ab6e2898104fa3e8e76d59
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64

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


"sparse warnings: (new ones prefixed by >>)"
drivers/platform/x86/pmc_atom.c: note: in included file:
>> include/linux/platform_data/x86/simatic-ipc.h:50:30: sparse: sparse: cast to restricted __le32

vim +50 include/linux/platform_data/x86/simatic-ipc.h

051f5729fd6fb4 Henning Schild 2021-03-15 30
051f5729fd6fb4 Henning Schild 2021-03-15 31 static inline u32 simatic_ipc_get_station_id(u8 *data, int max_len)
051f5729fd6fb4 Henning Schild 2021-03-15 32 {
051f5729fd6fb4 Henning Schild 2021-03-15 33 u32 station_id = SIMATIC_IPC_INVALID_STATION_ID;
051f5729fd6fb4 Henning Schild 2021-03-15 34 int i;
051f5729fd6fb4 Henning Schild 2021-03-15 35 struct {
051f5729fd6fb4 Henning Schild 2021-03-15 36 u8 type; /* type (0xff = binary) */
051f5729fd6fb4 Henning Schild 2021-03-15 37 u8 len; /* len of data entry */
051f5729fd6fb4 Henning Schild 2021-03-15 38 u8 reserved[3];
051f5729fd6fb4 Henning Schild 2021-03-15 39 u32 station_id; /* station id (LE) */
051f5729fd6fb4 Henning Schild 2021-03-15 40 } __packed
051f5729fd6fb4 Henning Schild 2021-03-15 41 *data_entry = (void *)data + sizeof(struct dmi_header);
051f5729fd6fb4 Henning Schild 2021-03-15 42
051f5729fd6fb4 Henning Schild 2021-03-15 43 /* find 4th entry in OEM data */
051f5729fd6fb4 Henning Schild 2021-03-15 44 for (i = 0; i < 3; i++)
051f5729fd6fb4 Henning Schild 2021-03-15 45 data_entry = (void *)((u8 *)(data_entry) + data_entry->len);
051f5729fd6fb4 Henning Schild 2021-03-15 46
051f5729fd6fb4 Henning Schild 2021-03-15 47 /* decode station id */
051f5729fd6fb4 Henning Schild 2021-03-15 48 if (data_entry && (u8 *)data_entry < data + max_len &&
051f5729fd6fb4 Henning Schild 2021-03-15 49 data_entry->type == 0xff && data_entry->len == 9)
051f5729fd6fb4 Henning Schild 2021-03-15 @50 station_id = le32_to_cpu(data_entry->station_id);
051f5729fd6fb4 Henning Schild 2021-03-15 51
051f5729fd6fb4 Henning Schild 2021-03-15 52 return station_id;
051f5729fd6fb4 Henning Schild 2021-03-15 53 }
051f5729fd6fb4 Henning Schild 2021-03-15 54

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip