return ret ? ret : count;
 }
 
+/*
+ * Lighting control state device attribute (Global)
+ */
+static ssize_t lighting_control_state_show(struct device *dev,
+                                          struct device_attribute *attr,
+                                          char *buf)
+{
+       if (lighting_control_state == LEGACY_BOOTING)
+               return sysfs_emit(buf, "[booting] running suspend\n");
+       else if (lighting_control_state == LEGACY_SUSPEND)
+               return sysfs_emit(buf, "booting running [suspend]\n");
+
+       return sysfs_emit(buf, "booting [running] suspend\n");
+}
+
+static ssize_t lighting_control_state_store(struct device *dev,
+                                           struct device_attribute *attr,
+                                           const char *buf, size_t count)
+{
+       u8 val;
+
+       if (strcmp(buf, "booting\n") == 0)
+               val = LEGACY_BOOTING;
+       else if (strcmp(buf, "suspend\n") == 0)
+               val = LEGACY_SUSPEND;
+       else if (interface == LEGACY)
+               val = LEGACY_RUNNING;
+       else
+               val = WMAX_RUNNING;
+
+       lighting_control_state = val;
+       pr_debug("alienware-wmi: updated control state to %d\n",
+                lighting_control_state);
+
+       return count;
+}
+
+static DEVICE_ATTR_RW(lighting_control_state);
+
 /*
  * LED Brightness (Global)
  */
        .name = "alienware::global_brightness",
 };
 
-/*
- * Lighting control state device attribute (Global)
- */
-static ssize_t show_control_state(struct device *dev,
-                                 struct device_attribute *attr, char *buf)
-{
-       if (lighting_control_state == LEGACY_BOOTING)
-               return sysfs_emit(buf, "[booting] running suspend\n");
-       else if (lighting_control_state == LEGACY_SUSPEND)
-               return sysfs_emit(buf, "booting running [suspend]\n");
-       return sysfs_emit(buf, "booting [running] suspend\n");
-}
-
-static ssize_t store_control_state(struct device *dev,
-                                  struct device_attribute *attr,
-                                  const char *buf, size_t count)
-{
-       long unsigned int val;
-       if (strcmp(buf, "booting\n") == 0)
-               val = LEGACY_BOOTING;
-       else if (strcmp(buf, "suspend\n") == 0)
-               val = LEGACY_SUSPEND;
-       else if (interface == LEGACY)
-               val = LEGACY_RUNNING;
-       else
-               val = WMAX_RUNNING;
-       lighting_control_state = val;
-       pr_debug("alienware-wmi: updated control state to %d\n",
-                lighting_control_state);
-       return count;
-}
-
-static DEVICE_ATTR(lighting_control_state, 0644, show_control_state,
-                  store_control_state);
-
 static int alienware_zone_init(struct platform_device *dev)
 {
        u8 zone;