Subject: Re: [PATCH V4] Export ACPI _DSM provided firmware instance number and string name to sysfs

From: Jesse Barnes <[email-masked]>
Date: Wed, 16 Mar 2011 10:41:54 -0700

On Fri, 11 Mar 2011 03:35:56 +0530
<[email-masked]> wrote:

> 
> > -----Original Message-----
> > From: K, Narendra
> > Sent: Monday, March 07, 2011 3:56 PM
> > To: Greg KH
> > Cc: [email-masked]; [email-masked];
> > [email-masked]; [email-masked]; linux-
> > [email-masked]; [email-masked]; [email-masked];
> > Domsch, Matt; Rose, Charles; Hargrave, Jordan; Iyer, Shyam;
> > [email-masked]
> > Subject: Re: [PATCH V4] Export ACPI _DSM provided firmware instance
> > number and string name to sysfs
> > 
> > On Tue, Mar 08, 2011 at 01:26:16AM +0530, Greg KH wrote:
> > > On Mon, Mar 07, 2011 at 11:44:52AM -0800, [email-masked] wrote:
> > > > --- a/drivers/pci/pci-label.c
> > > > +++ b/drivers/pci/pci-label.c
> > > > @@ -29,7 +29,9 @@
> > > >  #include <linux/nls.h>
> > > >  #include <linux/acpi.h>
> > > >  #include <linux/pci-acpi.h>
> > > > +#ifdef CONFIG_ACPI
> > > >  #include <acpi/acpi_drivers.h>
> > > > +#endif
> > >
> > > You should never need a #ifdef in a .c file for an include file.  If
> > so,
> > > something is really wrong.
> > 
> > I agree. Also, i realized that the include was not required to address
> > the
> > reported error. Please find the revised patch here.
> > 
> > From: Narendra K <[email-masked]>
> > Subject: [PATCH] Fix compilation error when CONFIG_ACPI is unset
> > 
> > This patch fixes compilation error descibed below introduced by
> > the commit 6058989bad05b82e78baacce69ec14f27a11b5fd
> > 
> > drivers/pci/pci-label.c: In function ‘pci_create_firmware_label_files’:
> > drivers/pci/pci-label.c:366:2: error: implicit declaration of function
> > ‘device_has_dsm’
> > 
> > Signed-off-by: Narendra K <[email-masked]>
> > ---
> >  drivers/pci/pci-label.c |    6 ++++++
> >  1 files changed, 6 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/pci/pci-label.c b/drivers/pci/pci-label.c
> > index 824e247..8c80138 100644
> > --- a/drivers/pci/pci-label.c
> > +++ b/drivers/pci/pci-label.c
> > @@ -174,6 +174,12 @@ pci_remove_acpi_index_label_files(struct pci_dev
> > *pdev)
> >  	return -1;
> >  }
> > 
> > +static inline bool
> > +device_has_dsm(struct device *dev)
> > +{
> > +	return false;
> > +}
> > +
> >  #else
> > 
> >  static const char device_label_dsm_uuid[] = {
> > --
> > 1.7.3.1
> > 
> > With regards,
> > Narendra K
> 
> So this works and fixes the additional build failure.
> 
> I tested with CONFIG_ACPI set/unset and with "make allmodconfig"
> 
> Additionally I found that including acpi/apci_drivers.h is not necessary and introduces these warnings..
> 
> The below patch fixes the additional warnigs..
> 
> In file included from drivers/pci/pci-label.c:32:
> include/acpi/acpi_drivers.h:103: warning: ‘struct acpi_device’ declared inside parameter list
> include/acpi/acpi_drivers.h:103: warning: its scope is only this definition or declaration, which is probably not what you want
> include/acpi/acpi_drivers.h:107: warning: ‘struct acpi_pci_root’ declared inside parameter list
> 
> Signed-off-by: Shyam Iyer <[email-masked]>

Ok, I've applied these two fixes, thanks guys.  I hope that's the last
of the issues we'll see with this patch!

-- 
Jesse Barnes, Intel Open Source Technology Center