On Wed, Feb 20, 2008 at 01:24:48PM +0800, Shaohua Li wrote:
> 
> On Tue, 2008-02-19 at 21:04 -0800, Greg KH wrote:
> > On Wed, Feb 20, 2008 at 12:48:21PM +0800, Shaohua Li wrote:
> > > 
> > > On Tue, 2008-02-19 at 20:14 -0800, Greg KH wrote:
> > > > On Wed, Feb 20, 2008 at 09:36:07AM +0800, Shaohua Li wrote:
> > > > > --- linux.orig/include/linux/pci-acpi.h       2008-02-19 
> > > > > 11:03:51.000000000 +0800
> > > > > +++ linux/include/linux/pci-acpi.h    2008-02-20 09:19:15.000000000 
> > > > > +0800
> > > > > @@ -47,6 +47,7 @@
> > > > >                               OSC_PCI_EXPRESS_CAP_STRUCTURE_CONTROL)
> > > > >  
> > > > >  #ifdef CONFIG_ACPI
> > > > > +#include <acpi/acpi_bus.h>
> > > > >  extern acpi_status pci_osc_control_set(acpi_handle handle, u32 
> > > > > flags);
> > > > >  extern acpi_status __pci_osc_support_set(u32 flags, const char *hid);
> > > > >  static inline acpi_status pci_osc_support_set(u32 flags)
> > > > > @@ -59,13 +60,11 @@ static inline acpi_status pcie_osc_suppo
> > > > >  }
> > > > >  #else
> > > > >  #if !defined(AE_ERROR)
> > > > > -typedef u32          acpi_status;
> > > > > -#define AE_ERROR             (acpi_status) (0x0001)
> > > > > -#endif    
> > > > > -static inline acpi_status pci_osc_control_set(acpi_handle handle, 
> > > > > u32 flags)
> > > > > -{return AE_ERROR;}
> > > > > -static inline acpi_status pci_osc_support_set(u32 flags) {return 
> > > > > AE_ERROR;} 
> > > > > -static inline acpi_status pcie_osc_support_set(u32 flags) {return 
> > > > > AE_ERROR;}
> > > > > +#define AE_ERROR             (0x0001)
> > > > > +#endif
> > > > > +#define pci_osc_control_set(handle, flags) (AE_ERROR)
> > > > > +#define pci_osc_support_set(flags) (AE_ERROR)
> > > > > +#define pcie_osc_support_set(flags) (AE_ERROR)
> > > > 
> > > > No, please use inline functions, don't change these functions that
> > > > should be just fine.  Why are you needing to change them?
> > > some types aren't defined in non-ACPI, like acpi_handle, acpi_status.
> > 
> > Then why include a non-ACPI header file in non-ACPI .c files?
> aspm is generic, but in ACPI platform, it needs special handling. I can
> add 'ifdef CONFIG_ACPI' in aspm.c to avoid changing pci-acpi.h, but
> thought it's better pci-acpi.h is self-contained.

Ugh, "generic" stuff needing ACPI, that's an oxymoron...

Will this ever work on non-ACPI systems?  If so, then I expect to see
some #ifdefs in the .c file (or split it into two) to handle that.  If
not, why not only include it if ACPI is enabled, as that means it really
is a dependancy :(

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to