On Mon, 2016-01-18 at 19:26 +0100, Lukas Wunner wrote: Hi, > Hi, > > On Mon, Jan 18, 2016 at 03:57:29PM +0100, 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). > > acpi_dev_present() is exported, so can be used in drivers just fine: > https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=2d12b6b381ba059d5f92798f5ea739672a2f5fcf > > > > > As you might have seen (in the next patch in this series), that we use > > > this symbol (acpi_bus_type) to iterate over all the devices registered > > > on acpi bus, to check if there is a device with id INT3392 present or > > > not. > > Ankitprasad, just change your patch [11/11] thusly: > > - if (intel_detect_acpi_rst()) { > + if (acpi_dev_present("INT3392")) { > > > Using bus_for_each_dev() was the wrong approach, most drivers call > acpi_get_devices() to detect the presence of a particular HID, > however that necessitates the definition of a callback in each driver, > leading to lots of duplicate code. Hence the introduction of > acpi_dev_present() which is also faster because it just iterates over > a list instead of walking the namespace. > > This new API landed in Linus' tree last Tuesday (PST), so you need > to merge Linus' tree back into yours or wait until it gets merged > into drm-intel-nightly. > > Best regards, > > Lukas Thank you, Lukas/Rafael. -Ankit -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html