Message ID | 20240220-lm3630a-fixups-v1-0-9ca62f7e4a33@z3ntu.xyz |
---|---|
Headers | show |
Series | Various fixes for the lm3630a backlight driver | expand |
On Tue, Feb 20, 2024 at 03:07:54PM +0100, Konrad Dybcio wrote: > On 20.02.2024 00:11, Luca Weiss wrote: > > The backlight_properties struct should be initialized to zero before > > using, otherwise there will be some random values in the struct. > > > > Fixes: 0c2a665a648e ("backlight: add Backlight driver for lm3630 chip") > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz> > > --- > > drivers/video/backlight/lm3630a_bl.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight/lm3630a_bl.c > > index a3412c936ca2..8e275275b808 100644 > > --- a/drivers/video/backlight/lm3630a_bl.c > > +++ b/drivers/video/backlight/lm3630a_bl.c > > @@ -343,6 +343,7 @@ static int lm3630a_backlight_register(struct lm3630a_chip *pchip) > > struct backlight_properties props; > > const char *label; > > > > + memset(&props, 0, sizeof(struct backlight_properties)); > > You can zero-initialize it instead I don't object to either approach but memset() dominates backlight implementations currently. Daniel.
On Tue, Feb 20, 2024 at 05:45:32PM +0100, Luca Weiss wrote: > On Dienstag, 20. Februar 2024 15:12:10 CET Daniel Thompson wrote: > > On Tue, Feb 20, 2024 at 12:11:22AM +0100, Luca Weiss wrote: > > > Connect the panel with the backlight nodes so that the backlight can be > > > turned off when the display is blanked. > > > > > > Signed-off-by: Luca Weiss <luca@z3ntu.xyz> > > > > Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org> > > > > > > > --- > > > arch/arm/boot/dts/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts | 4 +++- > > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/arm/boot/dts/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts b/arch/arm/boot/dts/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts > > > index 4aaae8537a3f..8eaa5b162815 100644 > > > --- a/arch/arm/boot/dts/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts > > > +++ b/arch/arm/boot/dts/qcom/qcom-msm8974-lge-nexus5-hammerhead.dts > > > @@ -182,7 +182,7 @@ &blsp2_i2c5 { > > > status = "okay"; > > > clock-frequency = <355000>; > > > > > > - led-controller@38 { > > > + backlight: led-controller@38 { > > > > Again... a minor nit regarding existing problems but this node doesn't > > follow the generic naming recommendations: > > https://devicetree-specification.readthedocs.io/en/stable/devicetree-basics.html#generic-names-recommendation > > "led-controller" is listed on that page, or do you mean something else? That's the point ;-). It is supposed to be called backlight@38! Daniel.
On Tue, 20 Feb 2024 00:11:18 +0100, Luca Weiss wrote: > On the MSM8974 Nexus 5 and OnePlus One phones (latter doesn't have > display upstream) the display backlight was turning off whenever you > would write a brightness to sysfs since a recent commit to the driver > (kernel v6.5). > > backlight: lm3630a: Turn off both led strings when display is blank > > [...] Applied, thanks! [1/4] backlight: lm3630a: Initialize backlight_properties on init commit: 4602c7615989e6e7052e317995a66014eb318082 [2/4] backlight: lm3630a: Don't set bl->props.brightness in get_brightness commit: ebb3b9a65b56e9b21841ab9a15b946407cd6b104 [3/4] backlight: lm3630a: Use backlight_get_brightness helper in update_status commit: 3c40590fafd4cc2447fb482a640c450e1a58ffa1 -- Lee Jones [李琼斯]
On Tue, 20 Feb 2024 00:11:18 +0100, Luca Weiss wrote: > On the MSM8974 Nexus 5 and OnePlus One phones (latter doesn't have > display upstream) the display backlight was turning off whenever you > would write a brightness to sysfs since a recent commit to the driver > (kernel v6.5). > > backlight: lm3630a: Turn off both led strings when display is blank > > [...] Applied, thanks! [4/4] ARM: dts: qcom: msm8974-hammerhead: Hook up backlight commit: e23dfb4ee30a120a947abb94a718ccc1eb5f87ff Best regards,
On the MSM8974 Nexus 5 and OnePlus One phones (latter doesn't have display upstream) the display backlight was turning off whenever you would write a brightness to sysfs since a recent commit to the driver (kernel v6.5). backlight: lm3630a: Turn off both led strings when display is blank Turns out, backlight_is_blank() thought the display was blanked because the props variable is was checking was never actually initialized so it was just reading some value that was left before. The first commit in this series fixes this, and the others are some cleanups / fixes I noticed while working on this. As last commit, we can finally hook up the panel and backlight on the Nexus 5 so blanking the screen actually turns off the backlight. Signed-off-by: Luca Weiss <luca@z3ntu.xyz> --- Luca Weiss (4): backlight: lm3630a: Initialize backlight_properties on init backlight: lm3630a: Don't set bl->props.brightness in get_brightness backlight: lm3630a: Use backlight_get_brightness helper in update_status ARM: dts: qcom: msm8974-hammerhead: Hook up backlight .../qcom/qcom-msm8974-lge-nexus5-hammerhead.dts | 4 ++- drivers/video/backlight/lm3630a_bl.c | 29 ++++++++++------------ 2 files changed, 16 insertions(+), 17 deletions(-) --- base-commit: b401b621758e46812da61fa58a67c3fd8d91de0d change-id: 20240219-lm3630a-fixups-8a9359e5a8ce Best regards,