Commit 58793f26 authored by Alexander Stein's avatar Alexander Stein Committed by Lee Jones
Browse files

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: default avatarAlexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Link: https://lore.kernel.org/r/20231117120625.2398417-1-alexander.stein@ew.tq-group.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 2e914516
Loading
Loading
Loading
Loading
+18 −16
Original line number Diff line number Diff line
@@ -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,7 +570,7 @@ 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,
			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;
	}