eeepc-laptop: fix set_acpi() to return non-zero on failure
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>
Thu, 3 Dec 2009 07:44:59 +0000 (07:44 +0000)
committerLen Brown <len.brown@intel.com>
Wed, 9 Dec 2009 20:54:31 +0000 (15:54 -0500)
If the control method does not exist, return -ENODEV for consistency
with get_acpi()

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/platform/x86/eeepc-laptop.c

index 8b686b563ec0d0925e47b4535cc704179b5ae45b..abd7389a449300a96af9b63d9cb59b89ba02f952 100644 (file)
@@ -289,26 +289,30 @@ static int read_acpi_int(acpi_handle handle, const char *method, int *val)
 
 static int set_acpi(int cm, int value)
 {
-       if (ehotk->cm_supported & (0x1 << cm)) {
-               const char *method = cm_setv[cm];
-               if (method == NULL)
-                       return -ENODEV;
-               if (write_acpi_int(ehotk->handle, method, value, NULL))
-                       pr_warning("Error writing %s\n", method);
-       }
+       const char *method = cm_setv[cm];
+
+       if (method == NULL)
+               return -ENODEV;
+       if ((ehotk->cm_supported & (0x1 << cm)) == 0)
+               return -ENODEV;
+
+       if (write_acpi_int(ehotk->handle, method, value, NULL))
+               pr_warning("Error writing %s\n", method);
        return 0;
 }
 
 static int get_acpi(int cm)
 {
-       int value = -ENODEV;
-       if ((ehotk->cm_supported & (0x1 << cm))) {
-               const char *method = cm_getv[cm];
-               if (method == NULL)
-                       return -ENODEV;
-               if (read_acpi_int(ehotk->handle, method, &value))
-                       pr_warning("Error reading %s\n", method);
-       }
+       const char *method = cm_getv[cm];
+       int value;
+
+       if (method == NULL)
+               return -ENODEV;
+       if ((ehotk->cm_supported & (0x1 << cm)) == 0)
+               return -ENODEV;
+
+       if (read_acpi_int(ehotk->handle, method, &value))
+               pr_warning("Error reading %s\n", method);
        return value;
 }