Subject: Re: randconfig build error with next-20140122, in arch/x86/kernel/devicetree.c

From: Randy Dunlap <[email-masked]>
Date: Wed, 22 Jan 2014 09:06:47 -0800

On 01/22/2014 08:34 AM, Jim Davis wrote:
> Building with the attached random configuration file,
> 
> warning: (X86_INTEL_MID) selects INTEL_SCU_IPC which has unmet direct
> dependencies (X86 && X86_PLATFORM_DEVICES && X86_INTEL_MID)
> warning: (USB_OTG_FSM && FSL_USB2_OTG && USB_MV_OTG) selects USB_OTG
> which has unmet direct dependencies (USB_SUPPORT && USB && PM_RUNTIME)
> warning: (X86_INTEL_MID) selects INTEL_SCU_IPC which has unmet direct
> dependencies (X86 && X86_PLATFORM_DEVICES && X86_INTEL_MID)
> warning: (USB_OTG_FSM && FSL_USB2_OTG && USB_MV_OTG) selects USB_OTG
> which has unmet direct dependencies (USB_SUPPORT && USB && PM_RUNTIME)
> 
> arch/x86/kernel/devicetree.c:67:1: warning: data definition has no
> type or storage class [enabled by default]
>  module_init(add_bus_probe);
>  ^

For linux-next, devicetree.c needs to #include <linux/module.h>.
For mainline, it would have needed to #include <linux/init.h>.
However, it does neither of those.

See Documentation/SubmitChecklist #1:

1: If you use a facility then #include the file that defines/declares
   that facility.  Don't depend on other header files pulling in ones
   that you use.

> arch/x86/kernel/devicetree.c:67:1: error: type defaults to ‘int’ in
> declaration of ‘module_init’ [-Werror=implicit-int]
> arch/x86/kernel/devicetree.c:67:1: warning: parameter names (without
> types) in function declaration [enabled by default]
> arch/x86/kernel/devicetree.c:60:19: warning: ‘add_bus_probe’ defined
> but not used [-Wunused-function]
>  static int __init add_bus_probe(void)
>                    ^
> cc1: some warnings being treated as errors
> make[2]: *** [arch/x86/kernel/devicetree.o] Error 1
> 

-- 
~Randy