Re: [PATCH 4/8] pwm: dwc: add of/platform support

From: kernel test robot
Date: Fri Aug 05 2022 - 19:06:43 EST


Hi Ben,

I love your patch! Yet something to improve:

[auto build test ERROR on thierry-reding-pwm/for-next]
[also build test ERROR on linus/master v5.19 next-20220805]
[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/Ben-Dooks/dt-bindings-pwm-Document-Synopsys-DesignWare-snps-pwm-dw-apb-timers-pwm2/20220806-015142
base: https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git for-next
config: x86_64-randconfig-a002 (https://download.01.org/0day-ci/archive/20220806/202208060607.ojG964cE-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/3bd100d711908b7d16a2c4793b4f5b597acb8d7f
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Ben-Dooks/dt-bindings-pwm-Document-Synopsys-DesignWare-snps-pwm-dw-apb-timers-pwm2/20220806-015142
git checkout 3bd100d711908b7d16a2c4793b4f5b597acb8d7f
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/pwm/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from drivers/pwm/pwm-dwc.c:19:
include/linux/module.h:131:49: error: redefinition of '__inittest'
131 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:266:1: note: in expansion of macro 'module_init'
266 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/platform_device.h:264:9: note: in expansion of macro 'module_driver'
264 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:369:1: note: in expansion of macro 'module_platform_driver'
369 | module_platform_driver(dwc_pwm_plat_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/module.h:131:49: note: previous definition of '__inittest' with type 'int (*(void))(void)'
131 | static inline initcall_t __maybe_unused __inittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:266:1: note: in expansion of macro 'module_init'
266 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/pci.h:1481:9: note: in expansion of macro 'module_driver'
1481 | module_driver(__pci_driver, pci_register_driver, pci_unregister_driver)
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:321:1: note: in expansion of macro 'module_pci_driver'
321 | module_pci_driver(dwc_pwm_driver);
| ^~~~~~~~~~~~~~~~~
include/linux/module.h:133:13: error: redefinition of 'init_module'
133 | int init_module(void) __copy(initfn) \
| ^~~~~~~~~~~
include/linux/device/driver.h:266:1: note: in expansion of macro 'module_init'
266 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/platform_device.h:264:9: note: in expansion of macro 'module_driver'
264 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:369:1: note: in expansion of macro 'module_platform_driver'
369 | module_platform_driver(dwc_pwm_plat_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/module.h:133:13: note: previous definition of 'init_module' with type 'int(void)'
133 | int init_module(void) __copy(initfn) \
| ^~~~~~~~~~~
include/linux/device/driver.h:266:1: note: in expansion of macro 'module_init'
266 | module_init(__driver##_init); \
| ^~~~~~~~~~~
include/linux/pci.h:1481:9: note: in expansion of macro 'module_driver'
1481 | module_driver(__pci_driver, pci_register_driver, pci_unregister_driver)
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:321:1: note: in expansion of macro 'module_pci_driver'
321 | module_pci_driver(dwc_pwm_driver);
| ^~~~~~~~~~~~~~~~~
>> include/linux/module.h:139:49: error: redefinition of '__exittest'
139 | static inline exitcall_t __maybe_unused __exittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:271:1: note: in expansion of macro 'module_exit'
271 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/platform_device.h:264:9: note: in expansion of macro 'module_driver'
264 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:369:1: note: in expansion of macro 'module_platform_driver'
369 | module_platform_driver(dwc_pwm_plat_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/module.h:139:49: note: previous definition of '__exittest' with type 'void (*(void))(void)'
139 | static inline exitcall_t __maybe_unused __exittest(void) \
| ^~~~~~~~~~
include/linux/device/driver.h:271:1: note: in expansion of macro 'module_exit'
271 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/pci.h:1481:9: note: in expansion of macro 'module_driver'
1481 | module_driver(__pci_driver, pci_register_driver, pci_unregister_driver)
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:321:1: note: in expansion of macro 'module_pci_driver'
321 | module_pci_driver(dwc_pwm_driver);
| ^~~~~~~~~~~~~~~~~
>> include/linux/module.h:141:14: error: redefinition of 'cleanup_module'
141 | void cleanup_module(void) __copy(exitfn) \
| ^~~~~~~~~~~~~~
include/linux/device/driver.h:271:1: note: in expansion of macro 'module_exit'
271 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/platform_device.h:264:9: note: in expansion of macro 'module_driver'
264 | module_driver(__platform_driver, platform_driver_register, \
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:369:1: note: in expansion of macro 'module_platform_driver'
369 | module_platform_driver(dwc_pwm_plat_driver);
| ^~~~~~~~~~~~~~~~~~~~~~
include/linux/module.h:141:14: note: previous definition of 'cleanup_module' with type 'void(void)'
141 | void cleanup_module(void) __copy(exitfn) \
| ^~~~~~~~~~~~~~
include/linux/device/driver.h:271:1: note: in expansion of macro 'module_exit'
271 | module_exit(__driver##_exit);
| ^~~~~~~~~~~
include/linux/pci.h:1481:9: note: in expansion of macro 'module_driver'
1481 | module_driver(__pci_driver, pci_register_driver, pci_unregister_driver)
| ^~~~~~~~~~~~~
drivers/pwm/pwm-dwc.c:321:1: note: in expansion of macro 'module_pci_driver'
321 | module_pci_driver(dwc_pwm_driver);
| ^~~~~~~~~~~~~~~~~


vim +/__exittest +139 include/linux/module.h

0fd972a7d91d6e Paul Gortmaker 2015-05-01 128
0fd972a7d91d6e Paul Gortmaker 2015-05-01 129 /* Each module must use one module_init(). */
0fd972a7d91d6e Paul Gortmaker 2015-05-01 130 #define module_init(initfn) \
1f318a8bafcfba Arnd Bergmann 2017-02-01 131 static inline initcall_t __maybe_unused __inittest(void) \
0fd972a7d91d6e Paul Gortmaker 2015-05-01 132 { return initfn; } \
cf68fffb66d60d Sami Tolvanen 2021-04-08 133 int init_module(void) __copy(initfn) \
cf68fffb66d60d Sami Tolvanen 2021-04-08 134 __attribute__((alias(#initfn))); \
cf68fffb66d60d Sami Tolvanen 2021-04-08 135 __CFI_ADDRESSABLE(init_module, __initdata);
0fd972a7d91d6e Paul Gortmaker 2015-05-01 136
0fd972a7d91d6e Paul Gortmaker 2015-05-01 137 /* This is only required if you want to be unloadable. */
0fd972a7d91d6e Paul Gortmaker 2015-05-01 138 #define module_exit(exitfn) \
1f318a8bafcfba Arnd Bergmann 2017-02-01 @139 static inline exitcall_t __maybe_unused __exittest(void) \
0fd972a7d91d6e Paul Gortmaker 2015-05-01 140 { return exitfn; } \
cf68fffb66d60d Sami Tolvanen 2021-04-08 @141 void cleanup_module(void) __copy(exitfn) \
cf68fffb66d60d Sami Tolvanen 2021-04-08 142 __attribute__((alias(#exitfn))); \
cf68fffb66d60d Sami Tolvanen 2021-04-08 143 __CFI_ADDRESSABLE(cleanup_module, __exitdata);
0fd972a7d91d6e Paul Gortmaker 2015-05-01 144

--
0-DAY CI Kernel Test Service
https://01.org/lkp