Subject: Re: linux-next: build failure after merge of the driver-core tree

From: Greg KH <[email-masked]>
Date: Tue, 18 May 2010 07:02:26 -0700

On Tue, May 18, 2010 at 04:44:09PM +1000, Stephen Rothwell wrote:
> Hi Greg,
> 
> After merging the driver-core tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> cc1: warnings being treated as errors
> In file included from include/linux/kobject.h:21,
>                  from include/linux/device.h:17,
>                  from arch/powerpc/lib/devres.c:10:
> include/linux/sysfs.h:97: error: 'struct file' declared inside parameter list
> include/linux/sysfs.h:97: error: its scope is only this definition or declaration, which is probably not what you want
> include/linux/sysfs.h:99: error: 'struct file' declared inside parameter list
> include/linux/sysfs.h:101: error: 'struct file' declared inside parameter list
> 
> and many more (arch/powerpc is built with -Werror (as do some other
> architectures)) and lots of similar warnings ...
> 
> Caused by commit f8e898186196a22756b50b908ecd92123265f8a2 ("sysfs: add
> struct file* to bin_attr callbacks").   See Rule 1 in
> Documentation/SubmitChecklist.  The header file probably just needs
> "struct file;" added in the right place.
> 
> I have reverted that commit for today (and commit
> 44e425ab9f887ec6d3a7a4481f3b0c99f120de19 ("pci: check caps from sysfs
> file open to read device dependent config space") that depends on it).

Ick.

Chris, care to send a patch to resolve this?

thanks,

greg k-h