mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-18 11:54:37 +08:00
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 <pmeerw@pmeerw.net> Signed-off-by: Bryan Wu <cooloney@gmail.com>
This commit is contained in:
parent
3dfedb9d54
commit
0c62f42dab
@ -423,9 +423,13 @@ static int pca963x_probe(struct i2c_client *client,
|
|||||||
/* Disable LED all-call address and set normal mode */
|
/* Disable LED all-call address and set normal mode */
|
||||||
i2c_smbus_write_byte_data(client, PCA963X_MODE1, 0x00);
|
i2c_smbus_write_byte_data(client, PCA963X_MODE1, 0x00);
|
||||||
|
|
||||||
/* Configure output: open-drain or totem pole (push-pull) */
|
if (pdata) {
|
||||||
if (pdata && pdata->outdrv == PCA963X_OPEN_DRAIN)
|
/* Configure output: open-drain or totem pole (push-pull) */
|
||||||
i2c_smbus_write_byte_data(client, PCA963X_MODE2, 0x01);
|
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;
|
return 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user