panasonic-laptop: fix acpi_pcc_write_sset return value
authorAxel Lin <axel.lin@gmail.com>
Wed, 7 Jul 2010 00:21:48 +0000 (08:21 +0800)
committerMatthew Garrett <mjg@redhat.com>
Tue, 3 Aug 2010 13:49:05 +0000 (09:49 -0400)
In current implementation, acpi_pcc_write_sset return 1
if write is successful, 0 if write is failed.
But all the callers consider acpi_pcc_write_sset return 0
if write is successful and return negtive if write is failed.

This patch changes the implementation of acpi_pcc_write_sset to
return 0 if write is successful, -EIO if write is failed.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/panasonic-laptop.c

index 2fb9a32926f86f5258e685847f1eac0c8aa75e59..ec01c3d8fc5a99a0f56eaed762ddf52df569ad8f 100644 (file)
@@ -248,7 +248,7 @@ static int acpi_pcc_write_sset(struct pcc_acpi *pcc, int func, int val)
        status = acpi_evaluate_object(pcc->handle, METHOD_HKEY_SSET,
                                      &params, NULL);
 
-       return status == AE_OK;
+       return (status == AE_OK) ? 0 : -EIO;
 }
 
 static inline int acpi_pcc_get_sqty(struct acpi_device *device)
@@ -586,7 +586,6 @@ static int acpi_pcc_init_input(struct pcc_acpi *pcc)
 static int acpi_pcc_hotkey_resume(struct acpi_device *device)
 {
        struct pcc_acpi *pcc = acpi_driver_data(device);
-       acpi_status status = AE_OK;
 
        if (device == NULL || pcc == NULL)
                return -EINVAL;
@@ -594,9 +593,7 @@ static int acpi_pcc_hotkey_resume(struct acpi_device *device)
        ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Sticky mode restore: %d\n",
                          pcc->sticky_mode));
 
-       status = acpi_pcc_write_sset(pcc, SINF_STICKY_KEY, pcc->sticky_mode);
-
-       return status == AE_OK ? 0 : -EINVAL;
+       return acpi_pcc_write_sset(pcc, SINF_STICKY_KEY, pcc->sticky_mode);
 }
 
 static int acpi_pcc_hotkey_add(struct acpi_device *device)