diff options
author | Dan Murphy <dmurphy@ti.com> | 2020-07-16 21:20:01 +0300 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2020-07-22 15:42:06 +0300 |
commit | 92a81562e695628086acb92f95090ab09d9b9ec0 (patch) | |
tree | 7d41c63208ac3429720c7ad844827eb944ffbb0a /drivers/leds/leds-lp8501.c | |
parent | c732eaf01f9c213d34b2d224bcda830089bbcf8a (diff) | |
download | linux-92a81562e695628086acb92f95090ab09d9b9ec0.tar.xz |
leds: lp55xx: Add multicolor framework support to lp55xx
Add multicolor framework support for the lp55xx family.
Acked-by: Pavel Machek <pavel@ucw.cz>
Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com>
Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Diffstat (limited to 'drivers/leds/leds-lp8501.c')
-rw-r--r-- | drivers/leds/leds-lp8501.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/leds/leds-lp8501.c b/drivers/leds/leds-lp8501.c index a58019cdb8c3..ac2c31db4a65 100644 --- a/drivers/leds/leds-lp8501.c +++ b/drivers/leds/leds-lp8501.c @@ -308,9 +308,16 @@ static int lp8501_probe(struct i2c_client *client, struct lp55xx_platform_data *pdata = dev_get_platdata(&client->dev); struct device_node *np = client->dev.of_node; + chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); + if (!chip) + return -ENOMEM; + + chip->cfg = &lp8501_cfg; + if (!pdata) { if (np) { - pdata = lp55xx_of_populate_pdata(&client->dev, np); + pdata = lp55xx_of_populate_pdata(&client->dev, np, + chip); if (IS_ERR(pdata)) return PTR_ERR(pdata); } else { @@ -319,10 +326,6 @@ static int lp8501_probe(struct i2c_client *client, } } - chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); - if (!chip) - return -ENOMEM; - led = devm_kcalloc(&client->dev, pdata->num_channels, sizeof(*led), GFP_KERNEL); if (!led) @@ -330,7 +333,6 @@ static int lp8501_probe(struct i2c_client *client, chip->cl = client; chip->pdata = pdata; - chip->cfg = &lp8501_cfg; mutex_init(&chip->lock); |