12 Jul, 2019

1 commit

  • When CONFIG_DMI is disabled, we only have a tentative declaration,
    which causes a warning from clang:

    drivers/acpi/blacklist.c:20:35: error: tentative array definition assumed to have one element [-Werror]
    static const struct dmi_system_id acpi_rev_dmi_table[] __initconst;

    As the variable is not actually used here, hide it entirely
    in an #ifdef to shut up the warning.

    Signed-off-by: Arnd Bergmann
    Reviewed-by: Nathan Chancellor
    Signed-off-by: Rafael J. Wysocki

    Arnd Bergmann
     

31 May, 2019

1 commit

  • Based on 3 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [kishon] [vijay] [abraham]
    [i] [kishon]@[ti] [com] this program is distributed in the hope that
    it will be useful but without any warranty without even the implied
    warranty of merchantability or fitness for a particular purpose see
    the gnu general public license for more details

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version [author] [graeme] [gregory]
    [gg]@[slimlogic] [co] [uk] [author] [kishon] [vijay] [abraham] [i]
    [kishon]@[ti] [com] [based] [on] [twl6030]_[usb] [c] [author] [hema]
    [hk] [hemahk]@[ti] [com] this program is distributed in the hope
    that it will be useful but without any warranty without even the
    implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1105 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.202006027@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

14 Sep, 2017

1 commit


29 Aug, 2017

1 commit

  • ACPI OEM ID / OEM Table ID / Revision can be used to identify
    a platform based on ACPI firmware info. acpi_blacklisted(),
    intel_pstate_platform_pwr_mgmt_exists(), and some other funcs,
    have been using similar check to detect a list of platforms
    that require special handlings.

    Move the platform check in acpi_blacklisted() to a new common
    utility function, acpi_match_platform_list(), so that other
    drivers do not have to implement their own version.

    There is no change in functionality.

    Signed-off-by: Toshi Kani
    Reviewed-by: Borislav Petkov
    Signed-off-by: Rafael J. Wysocki

    Toshi Kani
     

19 Apr, 2017

1 commit


17 Nov, 2016

2 commits


05 May, 2016

4 commits

  • _OSI handling code grows giant and it's time to move them into one file.

    This patch collects all _OSI handling code into one single file.
    So that we only have the following functions to be used externally:

    early_acpi_osi_init(): Used by DMI detections;
    acpi_osi_init(): Used to initialize OSI command line settings and install
    Linux specific _OSI handler;
    acpi_osi_setup(): The API that should be used by the external quirks.
    acpi_osi_is_win8(): The API is used by the external drivers to determine
    if BIOS supports Win8.

    CONFIG_DMI is not useful as stub dmi_check_system() can make everything
    stub because of strip.

    No functional changes.

    Tested-by: Lukas Wunner
    Tested-by: Chen Yu
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • This patch performs necessary cleanups before moving OSI support to
    another file.

    1. Change printk into pr_xxx
    2. Do not initialize values to 0
    3. Do not append additional "return" at the end of the function
    4. Remove useless comments which may easily break line breaking rule

    After fixing the coding style issues, rename functions to make them looking
    like acpi_osi_xxx.

    No functional changes.

    Tested-by: Lukas Wunner
    Tested-by: Chen Yu
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • This patch changes "int/unsigned int" to "bool" to simplify the code.

    Tested-by: Lukas Wunner
    Tested-by: Chen Yu
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     
  • 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)
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=92111
    Reported-and-tested-by: Lukas Wunner
    Signed-off-by: Chen Yu
    Signed-off-by: Lv Zheng
    Signed-off-by: Rafael J. Wysocki

    Chen Yu
     

08 Jul, 2015

1 commit


03 Jul, 2015

1 commit

  • The platform firmware on some systems expects Linux to return "5" as
    the supported ACPI revision which makes it expose system configuration
    information in a special way.

    For example, based on what ACPI exports as the supported revision,
    Dell XPS 13 (2015) configures its audio device to either work in HDA
    mode or in I2S mode, where the former is supposed to be used on Linux
    until the latter is fully supported (in the kernel as well as in user
    space).

    Since ACPI 6 mandates that _REV should return "2" if ACPI 2 or later
    is supported by the OS, a subsequent change will make that happen, so
    make it possible to override that on systems where "5" is expected to
    be returned for Linux to work correctly one them (such as the Dell
    machine mentioned above).

    Original-by: Dominik Brodowski
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     

16 Mar, 2015

1 commit


04 Dec, 2014

1 commit

  • AFAICT the only reason to set _OSI(Linux) on ThinkPads is to get
    sensible mute button behavior. Now that the thinkpad_acpi driver
    can do this on is own, there is no reason to keep the ACPI
    quirk.

    Cc: Len Brown
    Cc: Jerone Young
    Signed-off-by: Andy Lutomirski
    Acked-by: Henrique de Moraes Holschuh
    Signed-off-by: Darren Hart

    Andy Lutomirski
     

30 Oct, 2014

1 commit


25 Sep, 2014

1 commit

  • The wireless hotkey of those machines does not work with Win8 OSI.
    Due to insufficient documentation for the driver implementation,
    blacklist those machines as a workaround.

    "audo wake on after shutdown" bug on Dell Inspiron 7737 is fixed by BIOS.
    But this machine still suffers the hotkey issue. So keep the quirk for the
    wireless hotkey issue.

    Link: http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=MJWNX
    Signed-off-by: Edward Lin
    [ rjw: Subject ]
    Signed-off-by: Rafael J. Wysocki

    Edward Lin
     

21 Jul, 2014

1 commit

  • When the windows8 related backlight problems became evident, 2 approaches
    were follow in parallel, one was to stop claiming to be windows 8 / 2012,
    the other was to tell acpi_video to stop registering a backlight driver.

    I've read all the threads and it seems that which approach ended up being
    applied to which model laptop was never really a concious decision (AFAIK):

    https://bugzilla.kernel.org/show_bug.cgi?id=51231
    https://bugzilla.kernel.org/show_bug.cgi?id=60682

    So lets move all the models which are only on the win8 blacklist because of
    brightness issues to the use_native_backlight list, which is the smaller
    hammer to use to solve the backlight issues.

    Making this change is esp. attractive now that 3.16 has
    video.use_native_brightness=1 by default. If that new default does not get
    reverted because of regressions, then we can drop all the models
    with a use_native_backlight quirk, greatly reducing the number of models we've
    a quirk for.

    Link: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=60682
    Signed-off-by: Hans de Goede
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     

08 May, 2014

2 commits

  • Without this this EEE PC exports a non working WMI interface, with this it
    exports a working "good old" eeepc_laptop interface, fixing brightness control
    not working as well as rfkill being stuck in a permanent wireless blocked
    state.

    This is not an ideal way to fix this, but various attempts to fix this
    otherwise have failed, see:

    References: https://bugzilla.redhat.com/show_bug.cgi?id=1067181
    Reported-and-tested-by: lou.cardone@gmail.com
    Signed-off-by: Hans de Goede
    Cc: All applicable
    Signed-off-by: Rafael J. Wysocki

    Hans de Goede
     
  • With win8 capabiltiy, the machine will boot itself immediately after
    shutdown command has executed.

    Work around this issue by disabling win8 capcability. This workaround
    also makes wireless hotkey work.

    Signed-off-by: Edward Lin
    Cc: All applicable
    Signed-off-by: Rafael J. Wysocki

    Edward Lin
     

20 Feb, 2014

2 commits

  • This reverts commit 2d4054d84224 (ACPI: Blacklist Win8 OSI for some HP
    laptop 2013 models) that is not necessary any more after previous
    commit 1811fcb029fa (ACPI / video: Add systems that should favour native
    backlight interface).

    Requested-by: Takashi Iwai
    Tested-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Some system's ACPI video backlight control interface is broken and the
    native backlight control interface should be used by default. This patch
    sets the use_native_backlight parameter to true for those systems so
    that video backlight control interface will not be created. For detailed
    models that are added here, reference the following list.

    Note that the user specified kernel cmdline option will always have the
    highest priority, i.e. if use_native_backlight=0 is specified and the
    system is in the DMI table, the video module will not skip registering
    backlight interface for it.

    Thinkpad T430s:
    Reported-by: Theodore Tso
    Reported-and-tested-by: Peter Weber
    References: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    Thinkpad X230:
    Reported-and-tested-by: Igor Gnatenko
    References: https://bugzilla.kernel.org/show_bug.cgi?id=51231
    ThinkPad X1 Carbon:
    Reported-and-tested-by: Igor Gnatenko
    Lenovo Yoga 13:
    Reported-by: Lennart Poettering
    Reported-and-tested-by: Kevin Smith
    References: https://bugzilla.kernel.org/show_bug.cgi?id=63811
    Dell Inspiron 7520:
    Reported-by: Rinat Ibragimov
    Acer Aspire 5733Z:
    Reported-by:
    References: https://bugzilla.kernel.org/show_bug.cgi?id=62941
    Acer Aspire V5-431:
    Reported-by: Thomas Christensen
    References: https://bugzilla.kernel.org/show_bug.cgi?id=68751
    HP ProBook 4340s:
    Reported-and-tested-by: Vladimir Sherenkov
    References: http://redmine.russianfedora.pro/issues/1258
    HP EliteBook/ProBook 2013 models, ZBook and some others:
    Provided-by: Takashi Iwai
    Signed-off-by: Aaron Lu
    Tested-by: Mika Westerberg
    Signed-off-by: Rafael J. Wysocki

    Aaron Lu
     

13 Jan, 2014

1 commit

  • * acpi-gpe:
    ACPI / EC: disable GPE before removing GPE handler
    ACPI / Button: Fix enabling button GPEs twice

    * acpi-video:
    ACPI: Blacklist Win8 OSI for some HP laptop 2013 models
    ACPI / video: Fix typo in video_detect.c

    * acpi-thermal:
    ACPI / thermal: remove const from thermal_zone_device_ops declaration

    * acpi-processor:
    ACPI / scan: bail out early if failed to parse APIC ID for CPU

    * acpi-sleep:
    ACPI / sleep: remove panic in case hardware has changed after S4

    Rafael J. Wysocki
     

20 Dec, 2013

1 commit

  • The BIOS on recent HP laptops behaves differently with Win8 OSI,
    e.g. no backlight control and no rfkill are available. List them in
    the blacklist as a workaround.

    This patch tries to reduce the added items by matching "G1" suffix,
    e.g. machines are named like "HP ProBook 430 G1".

    References: https://bugzilla.novell.com/show_bug.cgi?id=856294
    Signed-off-by: Takashi Iwai
    Signed-off-by: Rafael J. Wysocki

    Takashi Iwai
     

07 Dec, 2013

1 commit

  • Replace direct inclusions of , and
    , which are incorrect, with
    inclusions and remove some inclusions of those files that aren't
    necessary.

    First of all, , and
    should not be included directly from any files that are built for
    CONFIG_ACPI unset, because that generally leads to build warnings about
    undefined symbols in !CONFIG_ACPI builds. For CONFIG_ACPI set,
    includes those files and for CONFIG_ACPI unset it
    provides stub ACPI symbols to be used in that case.

    Second, there are ordering dependencies between those files that always
    have to be met. Namely, it is required that be included
    prior to so that the acpi_pci_root declarations the
    latter depends on are always there. And which provides
    basic ACPICA type declarations should always be included prior to any other
    ACPI headers in CONFIG_ACPI builds. That also is taken care of including
    as appropriate.

    Signed-off-by: Lv Zheng
    Cc: Greg Kroah-Hartman
    Cc: Matthew Garrett
    Cc: Tony Luck
    Cc: "H. Peter Anvin"
    Acked-by: Bjorn Helgaas (drivers/pci stuff)
    Acked-by: Konrad Rzeszutek Wilk (Xen stuff)
    Signed-off-by: Rafael J. Wysocki

    Lv Zheng
     

16 Nov, 2013

1 commit


13 Nov, 2013

1 commit

  • About 10 years ago, this option was created to help
    distros enable ACPI and not get distracted by ACPI
    BIOS issues in machines which were deemed old
    at that time, eg 1999 and earlier.

    After a couple of years, the high volume distros
    stopped bothering to set this option, and instead
    simply ran in ACPI mode on all systems with an
    ACPI BIOS -- regardless of BIOS DMI year.

    Recently there have been some ACPI-enabled systems
    with no DMI, mandating that CONFIG_ACPI_BLACKLIST_YEAR=0.

    So it seems vanishingly unlikely that this option
    is helping anybody run a 2013 kernel on a 1998 system,
    and now more systems mandate this option be disabled,
    so we simplify by deleting it entirely.

    Signed-off-by: Len Brown
    Signed-off-by: Rafael J. Wysocki

    Len Brown
     

06 Nov, 2013

1 commit


26 Oct, 2013

1 commit

  • This patch adds Toshiba NB100 to the Vista _OSI blacklist.

    The _OSI(Windows 2006) method is bugged on the netbook resulting in
    messed up PCI IRQ Routing information. This was observed on a netbook
    whose SATA controller mode was set to Compatibility mode.

    The controller would then issue IRQs to IRQ#16 instead of
    IRQ#20, where it should have been.

    No side-effects were found during testing, everything is
    working as it did before.

    References: http://marc.info/?t=137862230200001&r=1&w=2
    References: http://www.spinics.net/lists/linux-ide/msg46173.html
    Signed-off-by: Levente Kurusa
    Reviewed-by: Robert Hancock
    Signed-off-by: Rafael J. Wysocki

    Levente Kurusa
     

10 Oct, 2013

2 commits

  • In my original patch[1] I wrote a comment describing the reason for
    disabling Windows 2012 OSI mode for a group of machines, however, due to
    unknown reasons (probably a conflict resolution mismatch), the comment
    was dropped in 94fb982 (ACPI: blacklist win8 OSI for buggy laptops).

    Since Matthew Garrett is making a big deal out of the lack of comments
    in a separate patch[2], it might make sense to re-introduce the missing
    comment so that other patch is not blocked and users don't suffer.

    [1] http://article.gmane.org/gmane.linux.acpi.devel/63427
    [2] http://thread.gmane.org/gmane.linux.kernel/1572459

    Signed-off-by: Felipe Contreras
    Signed-off-by: Rafael J. Wysocki

    Felipe Contreras
     
  • More people have reported they need this for their machines to work
    correctly.

    References: https://bugzilla.kernel.org/show_bug.cgi?id=60682
    Reported-by: Stefan Hellermann
    Reported-by: Benedikt Sauer
    Reported-by: Erno Kuusela
    Reported-by: Jonathan Doman
    Reported-by: Christoph Klaffl
    Reported-by: Jan Hendrik Nielsen
    Signed-off-by: Felipe Contreras
    Signed-off-by: Rafael J. Wysocki

    Felipe Contreras
     

26 Aug, 2013

1 commit

  • Since v3.7 the acpi backlight driver doesn't work correctly in several
    machines because ACPI code has different code for Windows 8, and the
    rest.

    The commit ea45ea7 (in v3.11-rc2) tried to fix this problem by using the
    intel backlight driver, however it introduced several other issues in
    different machines.

    This patch fixes both regressions by blacklisting the win8 OSI, so we
    are back to v3.6 behavior, and it should remain that way until the intel
    backlight driver is fixed.

    Since v3.7, users have been forced to fix the initial regression by
    modifying the boot arguments (acpi_osi="!Windows 2012").

    Once the Intel backlight driver works correctly for all machines, this
    blacklist can be removed and that driver can be used instead.

    References: https://bugzilla.kernel.org/show_bug.cgi?id=60682
    Reported-by: Danny Baumann
    Reported-by: Philipp Richter
    Signed-off-by: Felipe Contreras
    Signed-off-by: Rafael J. Wysocki

    Felipe Contreras
     

04 Aug, 2013

1 commit

  • Since v3.7 the ACPI backlight driver doesn't work at all on this
    machine, because presumably the backlight AML code in the ACPI
    tables contains a code path that triggers when the OS identifies
    itself as compatible with Windows 8 (which the kernel started to
    do in 3.7). That code path is never used by Windows and on this
    particular machine it turns out to be unusable at all.

    Work around this problem by blacklisting the win8 OSI, so we are back
    to v3.6 behavior (that is, we don't tell the BIOS that we are
    compatible with Windows 8).

    Since v3.7, users have been forced to work around the initial
    regression by modifying the boot arguments [1].

    [1] https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A

    [rjw: Changelog]
    Signed-off-by: Felipe Contreras
    Signed-off-by: Rafael J. Wysocki

    Felipe Contreras
     

01 Nov, 2011

1 commit


09 Oct, 2010

1 commit


02 Oct, 2010

1 commit

  • The brightness control hotkey don't work with Vista compatibility
    because the MSI GX723 includes an infinite while loop in DSDT when
    brightness control hotkey pressed.

    The MSI GX723 uses Nvidia video. Perhaps the loop is specific
    to the Nvidia Vista driver...

    This patch should be reverted once nouveau grows support
    to call the ACPI NVIF method.

    Signed-off-by: Lee, Chun-Yi
    Signed-off-by: Len Brown

    Lee, Chun-Yi
     

29 Sep, 2010

3 commits


07 Jul, 2010

1 commit