leds-lp5523: use the i2c device id rather than fixed name
LP5523 driver supports both LP5523 and LP55231. The i2c device id is one of the two - lp5523 or lp55231. So it's better to use matching i2c device id while enumerating the device and naming LED channels. Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
This commit is contained in:
parent
27d7704e5e
commit
56a1e9adc8
|
@ -833,7 +833,8 @@ static int __init lp5523_init_engine(struct lp5523_engine *engine, int id)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __devinit lp5523_init_led(struct lp5523_led *led, struct device *dev,
|
static int __devinit lp5523_init_led(struct lp5523_led *led, struct device *dev,
|
||||||
int chan, struct lp5523_platform_data *pdata)
|
int chan, struct lp5523_platform_data *pdata,
|
||||||
|
const char *chip_name)
|
||||||
{
|
{
|
||||||
char name[32];
|
char name[32];
|
||||||
int res;
|
int res;
|
||||||
|
@ -856,7 +857,7 @@ static int __devinit lp5523_init_led(struct lp5523_led *led, struct device *dev,
|
||||||
led->cdev.name = pdata->led_config[chan].name;
|
led->cdev.name = pdata->led_config[chan].name;
|
||||||
} else {
|
} else {
|
||||||
snprintf(name, sizeof(name), "%s:channel%d",
|
snprintf(name, sizeof(name), "%s:channel%d",
|
||||||
pdata->label ?: "lp5523", chan);
|
pdata->label ? : chip_name, chan);
|
||||||
led->cdev.name = name;
|
led->cdev.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -927,7 +928,7 @@ static int __devinit lp5523_probe(struct i2c_client *client,
|
||||||
if (ret)
|
if (ret)
|
||||||
goto fail1;
|
goto fail1;
|
||||||
|
|
||||||
dev_info(&client->dev, "LP5523 Programmable led chip found\n");
|
dev_info(&client->dev, "%s Programmable led chip found\n", id->name);
|
||||||
|
|
||||||
/* Initialize engines */
|
/* Initialize engines */
|
||||||
for (i = 0; i < ARRAY_SIZE(chip->engines); i++) {
|
for (i = 0; i < ARRAY_SIZE(chip->engines); i++) {
|
||||||
|
@ -955,7 +956,8 @@ static int __devinit lp5523_probe(struct i2c_client *client,
|
||||||
INIT_WORK(&chip->leds[led].brightness_work,
|
INIT_WORK(&chip->leds[led].brightness_work,
|
||||||
lp5523_led_brightness_work);
|
lp5523_led_brightness_work);
|
||||||
|
|
||||||
ret = lp5523_init_led(&chip->leds[led], &client->dev, i, pdata);
|
ret = lp5523_init_led(&chip->leds[led], &client->dev, i, pdata,
|
||||||
|
id->name);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&client->dev, "error initializing leds\n");
|
dev_err(&client->dev, "error initializing leds\n");
|
||||||
goto fail2;
|
goto fail2;
|
||||||
|
|
Loading…
Reference in New Issue