diff options
author | Chuhong Yuan <hslester96@gmail.com> | 2019-10-16 20:54:03 +0800 |
---|---|---|
committer | Pavel <pavel@ucw.cz> | 2019-11-03 17:39:00 +0100 |
commit | fc7b5028f2627133c7c18734715a08829eab4d1f (patch) | |
tree | f15e76977a17218d546bc09bd41f03b0c78185c6 /drivers | |
parent | 7c6082b903ac28dc3f383fba57c6f9e7e2594178 (diff) |
leds: an30259a: add a check for devm_regmap_init_i2c
an30259a_probe misses a check for devm_regmap_init_i2c and may cause
problems.
Add a check and print errors like other leds drivers.
Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/leds/leds-an30259a.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/leds/leds-an30259a.c b/drivers/leds/leds-an30259a.c index 250dc9d6f635..82350a28a564 100644 --- a/drivers/leds/leds-an30259a.c +++ b/drivers/leds/leds-an30259a.c @@ -305,6 +305,13 @@ static int an30259a_probe(struct i2c_client *client) chip->regmap = devm_regmap_init_i2c(client, &an30259a_regmap_config); + if (IS_ERR(chip->regmap)) { + err = PTR_ERR(chip->regmap); + dev_err(&client->dev, "Failed to allocate register map: %d\n", + err); + goto exit; + } + for (i = 0; i < chip->num_leds; i++) { struct led_init_data init_data = {}; |