From: Peter Meerwald Date: Thu, 3 Jul 2014 05:50:35 +0000 (-0700) Subject: leds:pca963x: Always initialize MODE2 register X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0c62f42dabb5d43d880262d7f1f85e6464acd601;p=linux-beck.git leds:pca963x: Always initialize MODE2 register PCA9632 defaults to open-drain PCA9633/4/5 defaults to totem-pole the driver assumed that totem-pole default and didn't actively set the value; the MODE2 register is now written if platform data indicating the mode is given Signed-off-by: Peter Meerwald Signed-off-by: Bryan Wu --- diff --git a/drivers/leds/leds-pca963x.c b/drivers/leds/leds-pca963x.c index 4438be9980a6..f110b4c456ba 100644 --- a/drivers/leds/leds-pca963x.c +++ b/drivers/leds/leds-pca963x.c @@ -423,9 +423,13 @@ static int pca963x_probe(struct i2c_client *client, /* Disable LED all-call address and set normal mode */ i2c_smbus_write_byte_data(client, PCA963X_MODE1, 0x00); - /* Configure output: open-drain or totem pole (push-pull) */ - if (pdata && pdata->outdrv == PCA963X_OPEN_DRAIN) - i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x01); + if (pdata) { + /* Configure output: open-drain or totem pole (push-pull) */ + if (pdata->outdrv == PCA963X_OPEN_DRAIN) + i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x01); + else + i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x05); + } return 0;