platform/x86: fujitsu-laptop: do not update ACPI device power status
authorMichał Kępień <kernel@kempniu.pl>
Fri, 16 Jun 2017 04:40:56 +0000 (06:40 +0200)
committerDarren Hart (VMware) <dvhart@infradead.org>
Sat, 1 Jul 2017 03:13:05 +0000 (20:13 -0700)
Calling acpi_bus_update_power() for ACPI devices FUJ02B1 and FUJ02E3 is
pointless as they are not power manageable (neither _PS0 nor _PR0 is
defined for any of them), which causes their power state to be inherited
from their parent devices.  Given the ACPI paths of these two devices
(\_SB.PCI0.LPCB.FJEX, \_SB.FEXT), their parent devices are also not
power manageable.  These parent devices will thus have their power state
initialized to ACPI_STATE_D0, which in turn causes the power state for
both FUJ02B1 and FUJ02E3 to always be ACPI_STATE_D0 ("on").

Remove relevant acpi_bus_update_power() calls along with parts of debug
messages that they were supposed to have an effect on.

Signed-off-by: Michał Kępień <kernel@kempniu.pl>
Reviewed-by: Jonathan Woithe <jwoithe@just42.net>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/fujitsu-laptop.c

index c01b8ed..1ab7a11 100644 (file)
@@ -402,7 +402,6 @@ static int fujitsu_backlight_register(struct acpi_device *device)
 static int acpi_fujitsu_bl_add(struct acpi_device *device)
 {
        struct fujitsu_bl *priv;
-       int state = 0;
        int error;
 
        if (acpi_video_get_backlight_type() != acpi_backlight_vendor)
@@ -421,15 +420,8 @@ static int acpi_fujitsu_bl_add(struct acpi_device *device)
        if (error)
                return error;
 
-       error = acpi_bus_update_power(device->handle, &state);
-       if (error) {
-               pr_err("Error reading power state\n");
-               return error;
-       }
-
-       pr_info("ACPI: %s [%s] (%s)\n",
-              acpi_device_name(device), acpi_device_bid(device),
-              !device->power.state ? "on" : "off");
+       pr_info("ACPI: %s [%s]\n",
+               acpi_device_name(device), acpi_device_bid(device));
 
        if (acpi_has_method(device->handle, METHOD_NAME__INI)) {
                vdbg_printk(FUJLAPTOP_DBG_INFO, "Invoking _INI\n");
@@ -790,7 +782,6 @@ static int acpi_fujitsu_laptop_leds_register(struct acpi_device *device)
 static int acpi_fujitsu_laptop_add(struct acpi_device *device)
 {
        struct fujitsu_laptop *priv;
-       int state = 0;
        int error;
        int i;
 
@@ -818,15 +809,8 @@ static int acpi_fujitsu_laptop_add(struct acpi_device *device)
        if (error)
                goto err_free_fifo;
 
-       error = acpi_bus_update_power(device->handle, &state);
-       if (error) {
-               pr_err("Error reading power state\n");
-               goto err_free_fifo;
-       }
-
-       pr_info("ACPI: %s [%s] (%s)\n",
-               acpi_device_name(device), acpi_device_bid(device),
-               !device->power.state ? "on" : "off");
+       pr_info("ACPI: %s [%s]\n",
+               acpi_device_name(device), acpi_device_bid(device));
 
        if (acpi_has_method(device->handle, METHOD_NAME__INI)) {
                vdbg_printk(FUJLAPTOP_DBG_INFO, "Invoking _INI\n");