mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
backlight: pwm_bl: Use dev_err_probe
Use dev_err_probe to simplify error paths. Also let dev_err_probe handle the -EPROBE_DEFER case and add an entry to /sys/kernel/debug/devices_deferred when deferred. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> Link: https://lore.kernel.org/r/20231117120625.2398417-1-alexander.stein@ew.tq-group.com Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
parent
2e914516a5
commit
58793f263a
@ -461,10 +461,9 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
|
||||
if (!data) {
|
||||
ret = pwm_backlight_parse_dt(&pdev->dev, &defdata);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev, "failed to find platform data\n");
|
||||
return ret;
|
||||
}
|
||||
if (ret < 0)
|
||||
return dev_err_probe(&pdev->dev, ret,
|
||||
"failed to find platform data\n");
|
||||
|
||||
data = &defdata;
|
||||
}
|
||||
@ -493,24 +492,27 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
pb->enable_gpio = devm_gpiod_get_optional(&pdev->dev, "enable",
|
||||
GPIOD_ASIS);
|
||||
if (IS_ERR(pb->enable_gpio)) {
|
||||
ret = PTR_ERR(pb->enable_gpio);
|
||||
ret = dev_err_probe(&pdev->dev, PTR_ERR(pb->enable_gpio),
|
||||
"failed to acquire enable GPIO\n");
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
pb->power_supply = devm_regulator_get_optional(&pdev->dev, "power");
|
||||
if (IS_ERR(pb->power_supply)) {
|
||||
ret = PTR_ERR(pb->power_supply);
|
||||
if (ret == -ENODEV)
|
||||
if (ret == -ENODEV) {
|
||||
pb->power_supply = NULL;
|
||||
else
|
||||
} else {
|
||||
dev_err_probe(&pdev->dev, ret,
|
||||
"failed to acquire power regulator\n");
|
||||
goto err_alloc;
|
||||
}
|
||||
}
|
||||
|
||||
pb->pwm = devm_pwm_get(&pdev->dev, NULL);
|
||||
if (IS_ERR(pb->pwm)) {
|
||||
ret = PTR_ERR(pb->pwm);
|
||||
if (ret != -EPROBE_DEFER)
|
||||
dev_err(&pdev->dev, "unable to request PWM\n");
|
||||
ret = dev_err_probe(&pdev->dev, PTR_ERR(pb->pwm),
|
||||
"unable to request PWM\n");
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
@ -530,8 +532,8 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
|
||||
ret = pwm_apply_state(pb->pwm, &state);
|
||||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to apply initial PWM state: %d\n",
|
||||
ret);
|
||||
dev_err_probe(&pdev->dev, ret,
|
||||
"failed to apply initial PWM state");
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
@ -568,8 +570,8 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
ret = pwm_backlight_brightness_default(&pdev->dev, data,
|
||||
state.period);
|
||||
if (ret < 0) {
|
||||
dev_err(&pdev->dev,
|
||||
"failed to setup default brightness table\n");
|
||||
dev_err_probe(&pdev->dev, ret,
|
||||
"failed to setup default brightness table\n");
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
@ -597,8 +599,8 @@ static int pwm_backlight_probe(struct platform_device *pdev)
|
||||
bl = backlight_device_register(dev_name(&pdev->dev), &pdev->dev, pb,
|
||||
&pwm_backlight_ops, &props);
|
||||
if (IS_ERR(bl)) {
|
||||
dev_err(&pdev->dev, "failed to register backlight\n");
|
||||
ret = PTR_ERR(bl);
|
||||
ret = dev_err_probe(&pdev->dev, PTR_ERR(bl),
|
||||
"failed to register backlight\n");
|
||||
goto err_alloc;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user