Commit 57e0d7b7 authored by Linus Walleij's avatar Linus Walleij Committed by Lee Jones
Browse files

backlight: ktd253: Bring up in a known state



The KTD253 backlight might already be on when the driver
is probed: then we don't really know what the current
ratio is and all light intensity settings will be off
relative to what it was at boot.

To fix this, bring up the backlight OFF then move it to
the default backlight from there so we know the state.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 4a98e5ef
Loading
Loading
Loading
Loading
+3 −9
Original line number Diff line number Diff line
@@ -137,15 +137,7 @@ static int ktd253_backlight_probe(struct platform_device *pdev)
		brightness = max_brightness;
	}

	if (brightness)
		/* This will be the default ratio when the KTD253 is enabled */
		ktd253->ratio = KTD253_MAX_RATIO;
	else
		ktd253->ratio = 0;

	ktd253->gpiod = devm_gpiod_get(dev, "enable",
				       brightness ? GPIOD_OUT_HIGH :
				       GPIOD_OUT_LOW);
	ktd253->gpiod = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
	if (IS_ERR(ktd253->gpiod)) {
		ret = PTR_ERR(ktd253->gpiod);
		if (ret != -EPROBE_DEFER)
@@ -153,6 +145,8 @@ static int ktd253_backlight_probe(struct platform_device *pdev)
		return ret;
	}
	gpiod_set_consumer_name(ktd253->gpiod, dev_name(dev));
	/* Bring backlight to a known off state */
	msleep(KTD253_T_OFF_MS);

	bl = devm_backlight_device_register(dev, dev_name(dev), dev, ktd253,
					    &ktd253_backlight_ops, NULL);