Re: [PATCHv2 1/3] ACPI: Expose struct acpi_device and acpi_bus_get_device() to non-ACPI builds

Rafael J. Wysocki
2013-11-07T13:22:15Z

On Monday, November 04, 2013 11:15:59 PM Jarkko Nikula wrote:
> On Mon, Nov 04, 2013 at 02:00:45AM +0100, Rafael J. Wysocki wrote:
> > On Saturday, November 02, 2013 11:18:31 PM Rafael J. Wysocki wrote:
> > > This turns out the cause build problems to happen on some architectures.
> > >
> > > I guess it's sufficient to simply define a stub struct acpi_device as
> > >
> > > struct acpi_device {
> > > struct device dev;
> > > };
> > >
> > > for !CONFIG_ACPI instead.
> >
> > Generally, it is a bad idea to #include acpi_bus.h for !CONFIG_ACPI.
> >
> Ouch, indeed.
>
> > The appended patch works for me, sorry for stealing part of your changelog.
> >
> No problem. Thanks for fixing this up.

Well, unfortunately, this breaks builds for allnoconfig, because <acpi/acpi.h>
is included directly from some header files (not under a CONFIG_ACPI ifdef) and
duplicates the acpi_handle typedef.

So, we'll need to go through the headers, see which ones do that and
replace <acpi/acpi.h> with <linux/acpi.h> (along with adding the stub
definitions for !CONFIG_ACPI).

I'm deferring the patchset for after 3.13-rc1 for this reason.

Thanks!

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.