1. 30 Nov, 2017 1 commit
  2. 20 Nov, 2017 2 commits
    • Lv Zheng's avatar
      ACPI / EC: Fix regression related to PM ops support in ECDT device · a64a62ce
      Lv Zheng authored
      On platforms (ASUS X550ZE and possibly all ASUS X series) with valid ECDT
      EC but invalid DSDT EC, EC PM ops won't be invoked as ECDT EC is not an
      ACPI device. Thus the following commit actually removed post-resume
      acpi_ec_enable_event() invocation for such platforms, and triggered a
      regression on them that after being resumed, EC (actually should be ECDT)
      driver stops handling EC events:
      
       Commit: c2b46d67
       Subject: ACPI / EC: Add PM operations to improve event handling for resume process
      
      Notice that the root cause actually is "ECDT is not an ACPI device" rather
      than "the timing of acpi_ec_enable_event() invocation", this patch fixes
      this issue by enumerating ECDT EC as an ACPI device. Due to the existence
      of the noirq stage, the ability of tuning the timing of
      acpi_ec_enable_event() invocation is still meaningful.
      
      This patch is a little bit different from the posted fix by moving
      acpi_config_boot_ec() from acpi_ec_ecdt_start() to acpi_ec_add() to make
      sure that EC event handling won't be stopped as long as the ACPI EC driver
      is bound. Thus the following sequence shouldn't disable EC event handling:
      unbind,suspend,resume,bind.
      
      Fixes: c2b46d67 (ACPI / EC: Add PM operations to improve event handling for resume process)
      Link: https://bugzilla.kernel.org/show_bug.cgi?id=196847Reported-by: default avatarLuya Tshimbalanga <luya@fedoraproject.org>
      Tested-by: default avatarLuya Tshimbalanga <luya@fedoraproject.org>
      Cc: 4.9+ <stable@vger.kernel.org> # 4.9+
      Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      a64a62ce
    • Hans de Goede's avatar
      ACPI / bus: Leave modalias empty for devices which are not present · 10809bb9
      Hans de Goede authored
      Most Bay and Cherry Trail devices use a generic DSDT with all possible
      peripheral devices present in the DSDT, with their _STA returning 0x00 or
      0x0f based on AML variables which describe what is actually present on
      the board.
      
      Since ACPI device objects with a 0x00 status (not present) still get an
      entry under /sys/bus/acpi/devices, and those entry had an acpi:PNPID
      modalias, userspace would end up loading modules for non present hardware.
      
      This commit fixes this by leaving the modalias empty for non present
      devices. This results in 10 modules less being loaded with a generic
      distro kernel config on my Cherry Trail test-device (a GPD pocket).
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      10809bb9
  3. 17 Nov, 2017 37 commits