Hi James, kernel test robot noticed the following build warnings: [auto build test WARNING on lee-mfd/for-mfd-next] [also build test WARNING on lee-mfd/for-mfd-fixes broonie-sound/for-next linus/master v6.8-rc3 next-20240207] [cannot apply to dtor-input/next dtor-input/for-linus] [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/James-Ogletree/firmware-cs_dsp-Add-write-sequencer-interface/20240207-083734 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next patch link: https://lore.kernel.org/r/20240207003612.4187370-5-jogletre%40opensource.cirrus.com patch subject: [PATCH v6 4/5] Input: cs40l50 - Add support for the CS40L50 haptic driver config: sh-randconfig-r122-20240207 (https://download.01.org/0day-ci/archive/20240208/202402081011.F6Z941U6-lkp@xxxxxxxxx/config) compiler: sh4-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240208/202402081011.F6Z941U6-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/202402081011.F6Z941U6-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/input/misc/cs40l50-vibra.c:245:53: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const *__from @@ got signed short [noderef] [usertype] __user *custom_data @@ drivers/input/misc/cs40l50-vibra.c:245:53: sparse: expected void const *__from drivers/input/misc/cs40l50-vibra.c:245:53: sparse: got signed short [noderef] [usertype] __user *custom_data drivers/input/misc/cs40l50-vibra.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, ...): include/linux/page-flags.h:242:46: sparse: sparse: self-comparison always evaluates to false drivers/input/misc/cs40l50-vibra.c:239:45: sparse: sparse: dereference of noderef expression vim +245 drivers/input/misc/cs40l50-vibra.c 216 217 static int vibra_upload_owt(struct vibra_work *work_data, struct vibra_effect *effect) 218 { 219 struct ff_periodic_effect add_effect = work_data->effect->u.periodic; 220 u32 len = 2 * add_effect.custom_len, wt_offset, wt_size; 221 struct vibra_info *info = work_data->info; 222 struct owt_header header; 223 u8 *out_data; 224 int error; 225 226 error = regmap_read(info->regmap, info->dsp.owt_size_reg, &wt_size); 227 if (error) 228 return error; 229 230 if ((wt_size * sizeof(u32)) < sizeof(header) + len) { 231 dev_err(info->dev, "No space in OWT bank for effect\n"); 232 return -ENOSPC; 233 } 234 235 out_data = kzalloc(sizeof(header) + len, GFP_KERNEL); 236 if (!out_data) 237 return -ENOMEM; 238 239 header.type = add_effect.custom_data[0] == CS40L50_PCM_ID ? CS40L50_TYPE_PCM : 240 CS40L50_TYPE_PWLE; 241 header.offset = sizeof(header) / sizeof(u32); 242 header.data_words = len / sizeof(u32); 243 244 memcpy(out_data, &header, sizeof(header)); > 245 memcpy(out_data + sizeof(header), add_effect.custom_data, len); 246 247 error = regmap_read(info->regmap, info->dsp.owt_offset_reg, &wt_offset); 248 if (error) 249 return error; 250 251 error = regmap_bulk_write(info->regmap, info->dsp.owt_base_reg + 252 (wt_offset * sizeof(u32)), out_data, 253 sizeof(header) + len); 254 if (error) 255 goto err_free; 256 257 error = info->dsp.write(info->dev, info->regmap, info->dsp.push_owt_cmd); 258 err_free: 259 kfree(out_data); 260 261 return error; 262 } 263 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki