Re: [PATCH v9 3/4] Input: goodix-berlin - add I2C support for Goodix Berlin Touchscreen IC

From: kernel test robot
Date: Sun Oct 22 2023 - 23:24:36 EST


Hi Neil,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 2030579113a1b1b5bfd7ff24c0852847836d8fd1]

url: https://github.com/intel-lab-lkp/linux/commits/Neil-Armstrong/dt-bindings-input-document-Goodix-Berlin-Touchscreen-IC/20231021-191942
base: 2030579113a1b1b5bfd7ff24c0852847836d8fd1
patch link: https://lore.kernel.org/r/20231021-topic-goodix-berlin-upstream-initial-v9-3-13fb4e887156%40linaro.org
patch subject: [PATCH v9 3/4] Input: goodix-berlin - add I2C support for Goodix Berlin Touchscreen IC
config: sh-allyesconfig (https://download.01.org/0day-ci/archive/20231023/202310231123.eHyxswnW-lkp@xxxxxxxxx/config)
compiler: sh4-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231023/202310231123.eHyxswnW-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/202310231123.eHyxswnW-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/input/touchscreen/goodix_berlin_core.c: In function 'goodix_berlin_get_ic_info':
>> drivers/input/touchscreen/goodix_berlin_core.c:285:1: warning: the frame size of 1148 bytes is larger than 1024 bytes [-Wframe-larger-than=]
285 | }
| ^


vim +285 drivers/input/touchscreen/goodix_berlin_core.c

7aae63b22cf7e9 Neil Armstrong 2023-10-21 235
7aae63b22cf7e9 Neil Armstrong 2023-10-21 236 static int goodix_berlin_get_ic_info(struct goodix_berlin_core *cd)
7aae63b22cf7e9 Neil Armstrong 2023-10-21 237 {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 238 u8 afe_data[GOODIX_BERLIN_IC_INFO_MAX_LEN];
7aae63b22cf7e9 Neil Armstrong 2023-10-21 239 __le16 length_raw;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 240 u16 length;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 241 int error;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 242
7aae63b22cf7e9 Neil Armstrong 2023-10-21 243 error = regmap_raw_read(cd->regmap, GOODIX_BERLIN_IC_INFO_ADDR,
7aae63b22cf7e9 Neil Armstrong 2023-10-21 244 &length_raw, sizeof(length_raw));
7aae63b22cf7e9 Neil Armstrong 2023-10-21 245 if (error) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 246 dev_info(cd->dev, "failed get ic info length, %d\n", error);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 247 return error;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 248 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 249
7aae63b22cf7e9 Neil Armstrong 2023-10-21 250 length = le16_to_cpu(length_raw);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 251 if (length >= GOODIX_BERLIN_IC_INFO_MAX_LEN) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 252 dev_info(cd->dev, "invalid ic info length %d\n", length);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 253 return -EINVAL;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 254 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 255
7aae63b22cf7e9 Neil Armstrong 2023-10-21 256 error = regmap_raw_read(cd->regmap, GOODIX_BERLIN_IC_INFO_ADDR,
7aae63b22cf7e9 Neil Armstrong 2023-10-21 257 afe_data, length);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 258 if (error) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 259 dev_info(cd->dev, "failed get ic info data, %d\n", error);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 260 return error;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 261 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 262
7aae63b22cf7e9 Neil Armstrong 2023-10-21 263 /* check whether the data is valid (ex. bus default values) */
7aae63b22cf7e9 Neil Armstrong 2023-10-21 264 if (goodix_berlin_is_dummy_data(cd, (const uint8_t *)afe_data, length)) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 265 dev_err(cd->dev, "fw info data invalid\n");
7aae63b22cf7e9 Neil Armstrong 2023-10-21 266 return -EINVAL;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 267 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 268
7aae63b22cf7e9 Neil Armstrong 2023-10-21 269 if (!goodix_berlin_checksum_valid((const uint8_t *)afe_data, length)) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 270 dev_info(cd->dev, "fw info checksum error\n");
7aae63b22cf7e9 Neil Armstrong 2023-10-21 271 return -EINVAL;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 272 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 273
7aae63b22cf7e9 Neil Armstrong 2023-10-21 274 error = goodix_berlin_convert_ic_info(cd, afe_data, length);
7aae63b22cf7e9 Neil Armstrong 2023-10-21 275 if (error)
7aae63b22cf7e9 Neil Armstrong 2023-10-21 276 return error;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 277
7aae63b22cf7e9 Neil Armstrong 2023-10-21 278 /* check some key info */
7aae63b22cf7e9 Neil Armstrong 2023-10-21 279 if (!cd->touch_data_addr) {
7aae63b22cf7e9 Neil Armstrong 2023-10-21 280 dev_err(cd->dev, "touch_data_addr is null\n");
7aae63b22cf7e9 Neil Armstrong 2023-10-21 281 return -EINVAL;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 282 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 283
7aae63b22cf7e9 Neil Armstrong 2023-10-21 284 return 0;
7aae63b22cf7e9 Neil Armstrong 2023-10-21 @285 }
7aae63b22cf7e9 Neil Armstrong 2023-10-21 286

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