RE: [PATCH v2 4/6] ACPI / osi: Fix default _OSI(Darwin) support

From: Zheng, Lv
Date: Wed Apr 27 2016 - 22:30:39 EST


Hi,

> From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Rafael J. Wysocki
> Subject: Re: [PATCH v2 4/6] ACPI / osi: Fix default _OSI(Darwin) support
>
> On Wednesday, April 27, 2016 09:45:21 AM Chen, Yu C wrote:
> > Hi Lv,
> >
> > > From: Zheng, Lv
> > > Subject: [PATCH v2 4/6] ACPI / osi: Fix default _OSI(Darwin) support
> > >
> > > From: Chen Yu <yu.c.chen@xxxxxxxxx>
> > >
> > > The following commit always reports positive value when Apple hardware
> > > queries _OSI("Darwin"):
> > > Commit: 7bc5a2bad0b8d9d1ac9f7b8b33150e4ddf197334
> > > Subject: ACPI: Support _OSI("Darwin") correctly However since this
> > > implementation places the judgement in runtime, it breaks
> acpi_osi=!Darwin
> > > and cannot return unsupported for _OSI("WinXXX") invoked before invoking
> > > _OSI("Darwin").
> > >
> > > This patch fixes the issues by reverting the wrong support and implementing
> > > the default behavior of _OSI("Darwin")/_OSI("WinXXX") on Apple hardware
> via
> > > DMI matching.
> > >
> > > Fixes: 7bc5a2bad0b8 ("ACPI: Support _OSI("Darwin") correctly")
> > > Cc: <stable@xxxxxxxxxxxxxxx> # 3.18+
> > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=92111
> > > Reported-by: Lukas Wunner <lukas@xxxxxxxxx>
> > > Signed-off-by: Chen Yu <yu.c.chen@xxxxxxxxx>
> > > Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx>
> > > ---
> > > drivers/acpi/blacklist.c | 23 ++++++++++++++++++
> > > drivers/acpi/osl.c | 58
> ++++++++++++++++++++++++++++++++++++++++---
> > > ---
> > > include/linux/acpi.h | 1 +
> > > 3 files changed, 75 insertions(+), 7 deletions(-)
> > >
> > > diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c index
> > > 96809cd..e947d3e 100644
> > > --- a/drivers/acpi/blacklist.c
> > > +++ b/drivers/acpi/blacklist.c
> > > @@ -133,6 +133,11 @@ int __init acpi_blacklisted(void)
> > > return blacklisted;
> > > }
> > > #ifdef CONFIG_DMI
> > > +static int __init dmi_enable_osi_darwin(const struct dmi_system_id *d)
> > > +{
> > > + acpi_dmi_osi_darwin(1, d); /* enable */
> > > + return 0;
> > > +}
> > > static int __init dmi_enable_osi_linux(const struct dmi_system_id *d) {
> > > acpi_dmi_osi_linux(1, d); /* enable */
> > > @@ -331,6 +336,24 @@ static struct dmi_system_id acpi_osi_dmi_table[]
> > > __initdata = {
> > > },
> > > },
> > >
> > > + /*
> > > + * Enable _OSI("Darwin") for all apple platforms.
> > > + */
> > > + {
> > > + .callback = dmi_enable_osi_darwin,
> > > + .ident = "Apple hardware",
> > > + .matches = {
> > > + DMI_MATCH(DMI_SYS_VENDOR, "Apple INC."),
> > > + },
> > > + },
> > > + {
> > > + .callback = dmi_enable_osi_darwin,
> > > + .ident = "Apple hardware",
> > > + .matches = {
> > > + DMI_MATCH(DMI_SYS_VENDOR, "Apple Computer, INC."),
> > > + },
> > > + },
> > > +
> > The vendor id should be 'Apple Inc.' and 'Apple Computer, Inc.' instead.
>
> If this is the only problem with this patch, I can fix it up. No need to resend.
[Lv Zheng]
This is the only problem.
Thanks for the help.

Best regards
-Lv

>
> Thanks,
> Rafael
>
> --
> 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