Re: [PATCH RESEND 7/7] Input: cs40l26 - Add support for CS40L26 haptic driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Fred,

kernel test robot noticed the following build errors:

[auto build test ERROR on lee-mfd/for-mfd-next]
[also build test ERROR on broonie-sound/for-next linus/master v6.14-rc3 next-20250218]
[cannot apply to dtor-input/next dtor-input/for-linus lee-mfd/for-mfd-fixes]
[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/Fred-Treven/firmware-cs_dsp-Fix-error-checking-in-wseq_write/20250217-181206
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
patch link:    https://lore.kernel.org/r/20250204231835.2000457-8-ftreven%40opensource.cirrus.com
patch subject: [PATCH RESEND 7/7] Input: cs40l26 - Add support for CS40L26 haptic driver
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20250219/202502190805.6XI1dg3G-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250219/202502190805.6XI1dg3G-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/202502190805.6XI1dg3G-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   In file included from drivers/input/misc/cs40l26-vibra.c:12:
   In file included from include/linux/input.h:19:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/s390/include/asm/elf.h:181:
   In file included from arch/s390/include/asm/mmu_context.h:11:
   In file included from arch/s390/include/asm/pgalloc.h:18:
   In file included from include/linux/mm.h:2224:
   include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     504 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     505 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     511 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     512 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
     524 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     525 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/input/misc/cs40l26-vibra.c:400:3: error: cannot jump from this goto statement to its label
     400 |                 goto out_free;
         |                 ^
   drivers/input/misc/cs40l26-vibra.c:402:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
     402 |         guard(mutex)(&cs40l26->dsp.pwr_lock);
         |         ^
   include/linux/cleanup.h:309:15: note: expanded from macro 'guard'
     309 |         CLASS(_name, __UNIQUE_ID(guard))
         |                      ^
   include/linux/compiler.h:166:29: note: expanded from macro '__UNIQUE_ID'
     166 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
         |                             ^
   include/linux/compiler_types.h:84:22: note: expanded from macro '__PASTE'
      84 | #define __PASTE(a,b) ___PASTE(a,b)
         |                      ^
   include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE'
      83 | #define ___PASTE(a,b) a##b
         |                       ^
   <scratch space>:141:1: note: expanded from here
     141 | __UNIQUE_ID_guard557
         | ^
   drivers/input/misc/cs40l26-vibra.c:548:3: error: cannot jump from this goto statement to its label
     548 |                 goto out_free;
         |                 ^
   drivers/input/misc/cs40l26-vibra.c:551:2: note: jump bypasses initialization of variable with __attribute__((cleanup))
     551 |         guard(mutex)(&vib->cs40l26->dsp.pwr_lock);
         |         ^
   include/linux/cleanup.h:309:15: note: expanded from macro 'guard'
     309 |         CLASS(_name, __UNIQUE_ID(guard))
         |                      ^
   include/linux/compiler.h:166:29: note: expanded from macro '__UNIQUE_ID'
     166 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
         |                             ^
   include/linux/compiler_types.h:84:22: note: expanded from macro '__PASTE'
      84 | #define __PASTE(a,b) ___PASTE(a,b)
         |                      ^
   include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE'
      83 | #define ___PASTE(a,b) a##b
         |                       ^
   <scratch space>:169:1: note: expanded from here
     169 | __UNIQUE_ID_guard558
         | ^
   3 warnings and 2 errors generated.


vim +400 drivers/input/misc/cs40l26-vibra.c

   386	
   387	static void cs40l26_start_playback_worker(struct work_struct *work)
   388	{
   389		struct cs40l26_work *work_data = container_of(work, struct cs40l26_work, work);
   390		struct cs40l26 *cs40l26 = work_data->vib->cs40l26;
   391		struct cs40l26_effect *effect;
   392		u16 duration;
   393		int id;
   394	
   395		id = work_data->ff_effect->id;
   396	
   397		duration = work_data->ff_effect->replay.length;
   398	
   399		if (pm_runtime_resume_and_get(cs40l26->dev))
 > 400			goto out_free;
   401	
   402		guard(mutex)(&cs40l26->dsp.pwr_lock);
   403	
   404		if (cs40l26_fw_write(&cs40l26->dsp, "TIMEOUT_MS", cs40l26->variant->info->vibegen_algo_id,
   405				     duration))
   406			goto out_pm;
   407	
   408		effect = cs40l26_find_effect(work_data->vib, id);
   409		if (effect) {
   410			while (--work_data->count >= 0) {
   411				if (cs40l26_dsp_write(cs40l26, effect->index))
   412					goto out_pm;
   413	
   414				usleep_range(duration, duration + 100);
   415			}
   416		} else {
   417			dev_err(cs40l26->dev, "No effect found with ID %d\n", id);
   418		}
   419	
   420	out_pm:
   421		cs40l26_pm_exit(cs40l26->dev);
   422	
   423	out_free:
   424		kfree(work_data);
   425	}
   426	

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




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux