Re: [PATCH 1/2] pwm: make it possible to apply pwm changes in atomic context

From: kernel test robot
Date: Sun Oct 01 2023 - 12:11:12 EST


Hi Sean,

kernel test robot noticed the following build errors:

[auto build test ERROR on thierry-reding-pwm/for-next]
[also build test ERROR on shawnguo/for-next atorgue-stm32/stm32-next media-tree/master linus/master v6.6-rc3 next-20230929]
[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/Sean-Young/media-pwm-ir-tx-trigger-edges-from-hrtimer-interrupt-context/20231001-194056
base: https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git for-next
patch link: https://lore.kernel.org/r/1bd5241d584ceb4d6b731c4dc3203fb9686ee1d1.1696156485.git.sean%40mess.org
patch subject: [PATCH 1/2] pwm: make it possible to apply pwm changes in atomic context
config: i386-buildonly-randconfig-004-20231001 (https://download.01.org/0day-ci/archive/20231001/202310012348.puyNjoMk-lkp@xxxxxxxxx/config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231001/202310012348.puyNjoMk-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/202310012348.puyNjoMk-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from arch/x86/include/asm/percpu.h:27:0,
from arch/x86/include/asm/current.h:10,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/backlight.h:12,
from drivers/video/fbdev/ssd1307fb.c:8:
include/linux/pwm.h: In function 'pwm_apply_state':
include/linux/pwm.h:428:17: error: implicit declaration of function 'pwm_can_sleep'; did you mean 'gpiod_cansleep'? [-Werror=implicit-function-declaration]
might_sleep_if(pwm_can_sleep(pwm));
^
include/linux/kernel.h:194:39: note: in definition of macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
In file included from drivers/video/fbdev/ssd1307fb.c:16:0:
include/linux/pwm.h: At top level:
>> include/linux/pwm.h:455:20: error: conflicting types for 'pwm_can_sleep'
static inline bool pwm_can_sleep(struct pwm_device *pwm)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/percpu.h:27:0,
from arch/x86/include/asm/current.h:10,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/backlight.h:12,
from drivers/video/fbdev/ssd1307fb.c:8:
include/linux/pwm.h:428:17: note: previous implicit declaration of 'pwm_can_sleep' was here
might_sleep_if(pwm_can_sleep(pwm));
^
include/linux/kernel.h:194:39: note: in definition of macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/percpu.h:27:0,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:79,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/mfd/intel_soc_pmic_crc.c:11:
include/linux/pwm.h: In function 'pwm_apply_state':
include/linux/pwm.h:428:17: error: implicit declaration of function 'pwm_can_sleep'; did you mean 'cant_sleep'? [-Werror=implicit-function-declaration]
might_sleep_if(pwm_can_sleep(pwm));
^
include/linux/kernel.h:194:39: note: in definition of macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
In file included from drivers/mfd/intel_soc_pmic_crc.c:18:0:
include/linux/pwm.h: At top level:
>> include/linux/pwm.h:455:20: error: conflicting types for 'pwm_can_sleep'
static inline bool pwm_can_sleep(struct pwm_device *pwm)
^~~~~~~~~~~~~
In file included from arch/x86/include/asm/percpu.h:27:0,
from arch/x86/include/asm/preempt.h:6,
from include/linux/preempt.h:79,
from include/linux/spinlock.h:56,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:7,
from include/linux/slab.h:16,
from include/linux/resource_ext.h:11,
from include/linux/acpi.h:13,
from include/linux/i2c.h:13,
from drivers/mfd/intel_soc_pmic_crc.c:11:
include/linux/pwm.h:428:17: note: previous implicit declaration of 'pwm_can_sleep' was here
might_sleep_if(pwm_can_sleep(pwm));
^
include/linux/kernel.h:194:39: note: in definition of macro 'might_sleep_if'
#define might_sleep_if(cond) do { if (cond) might_sleep(); } while (0)
^~~~
cc1: some warnings being treated as errors


vim +/pwm_can_sleep +455 include/linux/pwm.h

454
> 455 static inline bool pwm_can_sleep(struct pwm_device *pwm)
456 {
457 return true;
458 }
459

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