Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / drivers / hwmon / pmbus / ibm-cffps.c
index b37faf1..3795fe5 100644 (file)
 #define CFFPS_MFR_VAUX_FAULT                   BIT(6)
 #define CFFPS_MFR_CURRENT_SHARE_WARNING                BIT(7)
 
-/*
- * LED off state actually relinquishes LED control to PSU firmware, so it can
- * turn on the LED for faults.
- */
-#define CFFPS_LED_OFF                          0
 #define CFFPS_LED_BLINK                                BIT(0)
 #define CFFPS_LED_ON                           BIT(1)
+#define CFFPS_LED_OFF                          BIT(2)
 #define CFFPS_BLINK_RATE_MS                    250
 
 enum {
@@ -254,7 +250,7 @@ static ssize_t ibm_cffps_debugfs_write(struct file *file,
                pmbus_set_page(psu->client, 0);
 
                rc = simple_write_to_buffer(&data, 1, ppos, buf, count);
-               if (rc < 0)
+               if (rc <= 0)
                        return rc;
 
                rc = i2c_smbus_write_byte_data(psu->client,
@@ -436,6 +432,9 @@ static void ibm_cffps_create_led_class(struct ibm_cffps *psu)
        rc = devm_led_classdev_register(dev, &psu->led);
        if (rc)
                dev_warn(dev, "failed to register led class: %d\n", rc);
+       else
+               i2c_smbus_write_byte_data(client, CFFPS_SYS_CONFIG_CMD,
+                                         CFFPS_LED_OFF);
 }
 
 static struct pmbus_driver_info ibm_cffps_info[] = {