[PATCH 1/2] pwm: make it possible to apply pwm changes in atomic context
Sean Young
sean at mess.org
Sun Oct 1 10:21:54 PDT 2023
On Mon, Oct 02, 2023 at 12:07:58AM +0800, kernel test robot wrote:
> 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]
There are indeed some configs in which there are build errors if
CONFIG_PWM is disabled, I'll fix it in the next version.
In the mean time it would be great to have some feedback on this patch,
and see if there is any other rework needed.
Thanks
Sean
>
> 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@intel.com/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@intel.com/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 at intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202310012348.puyNjoMk-lkp@intel.com/
>
> 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
More information about the linux-riscv
mailing list