Re: [PATCH 10/11] acpi: Export acpi_bus_type

From: Lukas Wunner
Date: Mon Jan 18 2016 - 18:07:25 EST


Hi,

On Mon, Jan 18, 2016 at 11:46:18PM +0100, Rafael J. Wysocki wrote:
> On Monday, January 18, 2016 11:39:07 PM Lukas Wunner wrote:
> > Hi,
> >
> > On Mon, Jan 18, 2016 at 11:28:27PM +0100, Rafael J. Wysocki wrote:
> > > On Monday, January 18, 2016 03:57:29 PM Rafael J. Wysocki wrote:
> > > > On Monday, January 18, 2016 02:31:00 PM Ankitprasad Sharma wrote:
> > > > > On Fri, 2016-01-15 at 15:51 +0100, Rafael J. Wysocki wrote:
> > > > > > On Thursday, January 14, 2016 11:46:46 AM ankitprasad.r.sharma@xxxxxxxxx wrote:
> > > > > > > From: Ankitprasad Sharma <ankitprasad.r.sharma@xxxxxxxxx>
> > > > > > >
> > > > > > > Some modules, like i915.ko, needs to detect when certain ACPI features
> > > > > > > are active inorder to prevent corruption on contended resources.
> > > > > > > In particular, use of BIOS RapidStart Technology may corrupt the contents
> > > > > > > of the reserved graphics memory, due to unalarmed hibernation. In which
> > > > > > > case i915.ko cannot assume that it (reserved gfx memory) remains
> > > > > > > unmodified and must recreate teh contents and importantly not use it to
> > > > > > > store unrecoverable user data.
> > > > > > >
> > > > > > > Signed-off-by: Ankitprasad Sharma <ankitprasad.r.sharma@xxxxxxxxx>
> > > > > > > Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx>
> > > > > > > Cc: Len Brown <lenb@xxxxxxxxxx>
> > > > > > > Cc: linux-acpi@xxxxxxxxxxxxxxx
> > > > > > > Cc: linux-kernel@xxxxxxxxxxxxxxx
> > > > > > > ---
> > > > > > > drivers/acpi/bus.c | 1 +
> > > > > > > 1 file changed, 1 insertion(+)
> > > > > > >
> > > > > > > diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
> > > > > > > index a212cef..69509c7 100644
> > > > > > > --- a/drivers/acpi/bus.c
> > > > > > > +++ b/drivers/acpi/bus.c
> > > > > > > @@ -814,6 +814,7 @@ struct bus_type acpi_bus_type = {
> > > > > > > .remove = acpi_device_remove,
> > > > > > > .uevent = acpi_device_uevent,
> > > > > > > };
> > > > > > > +EXPORT_SYMBOL_GPL(acpi_bus_type);
> > > > > > >
> > > > > > > /* --------------------------------------------------------------------------
> > > > > > > Initialization/Cleanup
> > > > > > >
> > > > > >
> > > > > > No.
> > > > > >
> > > > > > I see no reason whatsoever for doing this.
> > > > > >
> > > > > > Thanks,
> > > > > > Rafael
> > > > > Hi Rafael,
> > > > >
> > > > > Thanks for the response.
> > > > >
> > > > > Can you please help me with, how to detect the presence of a certain
> > > > > acpi device using its id (for example, INT3392 for Intel RST device)?
> > > >
> > > > If you want to check if the device ir present at all, you cen use
> > > > acpi_device_is_present() introduced recently (although that would need
> > > > to be exported if you want to use it from a driver).
> > >
> > > I meant acpi_dev_present(), sorry about the mistake.
> > >
> > > I guess we should rename it to acpi_device_found() or something similar
> > > to avoid such confusion in the future.
> >
> > The name was chosen because the PCI equivalent is called pci_dev_present()
> > and I assumed that name already stuck in developers' heads, so if they're
> > looking for an ACPI presence detection function, that's what they'd look
> > for first.
>
> But "present" in ACPI really means something different. There may be ACPI
> device objects in the namespace for devices that are not *actually* present.

You mean synthesized devices like LNXSYBUS?
Don't think anyone is going to test for the presence of that.

I've posted 5 patches over the last days which use acpi_dev_present():

http://lists.freedesktop.org/archives/dri-devel/2016-January/098403.html
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-January/103056.html
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-January/103058.html
http://thread.gmane.org/gmane.linux.drivers.platform.x86.devel/8474/focus=8475
http://thread.gmane.org/gmane.linux.drivers.platform.x86.devel/8474/focus=8476

When considering a rename of the function, please bear in mind that it
will cause breakage for anyone testing or merging these patches.
(Postponing a rename until these patches have landed would avoid that.)

Thanks,

Lukas