* LED backlight on Droid 4 and others
@ 2020-01-05 18:32 Pavel Machek
2020-01-05 20:24 ` Tony Lindgren
2020-01-06 8:45 ` Lee Jones
0 siblings, 2 replies; 12+ messages in thread
From: Pavel Machek @ 2020-01-05 18:32 UTC (permalink / raw)
To: kernel list, linux-arm-kernel, linux-omap, tony, sre, nekit1000,
mpartap, merlijn, martin_rysavy, agx, lee.jones, daniel.thompson,
jingoohan1, dri-devel
Cc: tomi.valkeinen, jjhiblot, daniel.thompson
[-- Attachment #1: Type: text/plain, Size: 2752 bytes --]
Hi!
It would be good to get LED backlight to work in clean way for 5.6
kernel.
As far as I can see, these are neccessary (but not enough; it does not
work for me): lm3532 changes to register LED with of node, plus device
tree changes for droid 4, and these generic changes:
commit d457d0c97d6d55fe3e62633791ac05d289a37d2e
Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Thu Oct 3 10:28:12 2019 +0200
backlight: add led-backlight driver
This patch adds a led-backlight driver (led_bl), which is similar to
pwm_bl except the driver uses a LED class driver to adjust the
brightness in the HW. Multiple LEDs can be used for a single backlight.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
commit 44b7adbf0b07904e4198ae1d0a763917d1c68a23
Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
Date: Thu Oct 3 10:28:10 2019 +0200
leds: Add managed API to get a LED from a device driver
If the LED is acquired by a consumer device with devm_led_get(), it is
automatically released when the device is detached.
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Pavel <pavel@ucw.cz>
commit 93b98c570d7f898063ab6204e1b3950a3335dd12
Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Thu Oct 3 10:28:09 2019 +0200
leds: Add of_led_get() and led_put()
This patch adds basic support for a kernel driver to get a LED device.
This will be used by the led-backlight driver.
Only OF version is implemented for now, and the behavior is similar to
PWM's of_pwm_get() and pwm_put().
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Pavel <pavel@ucw.cz>
[If you have an idea what else is needed, it would be welcome; it
works for me in development tree but not in tree I'd like to
upstream.]
Lee, would you be willing to take "backlight: add led-backlight
driver"? Would it help if I got "leds: Add managed API to get a LED
from a device driver" and "leds: Add of_led_get() and led_put()" into
for_next tree of the LED subsystem?
It is kind of important as, well, phone without screen looks pretty
much dead, and same issue hits Droid 4 and Librem 5 phones at least...
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-01-05 18:32 LED backlight on Droid 4 and others Pavel Machek
@ 2020-01-05 20:24 ` Tony Lindgren
2020-01-05 22:18 ` Pavel Machek
2020-01-05 23:55 ` Pavel Machek
2020-01-06 8:45 ` Lee Jones
1 sibling, 2 replies; 12+ messages in thread
From: Tony Lindgren @ 2020-01-05 20:24 UTC (permalink / raw)
To: Pavel Machek
Cc: kernel list, linux-arm-kernel, linux-omap, sre, nekit1000,
mpartap, merlijn, martin_rysavy, agx, lee.jones, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
* Pavel Machek <pavel@ucw.cz> [200105 18:32]:
> Hi!
>
> It would be good to get LED backlight to work in clean way for 5.6
> kernel.
I agree, this is badly needed for many devices.
> [If you have an idea what else is needed, it would be welcome; it
> works for me in development tree but not in tree I'd like to
> upstream.]
I have some version of these patches working with modified dts in my
droid4-pending-v5.4 branch git branch, maybe try to diff against that.
Regards,
Tony
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-01-05 20:24 ` Tony Lindgren
@ 2020-01-05 22:18 ` Pavel Machek
2020-01-05 23:55 ` Pavel Machek
1 sibling, 0 replies; 12+ messages in thread
From: Pavel Machek @ 2020-01-05 22:18 UTC (permalink / raw)
To: Tony Lindgren
Cc: kernel list, linux-arm-kernel, linux-omap, sre, nekit1000,
mpartap, merlijn, martin_rysavy, agx, lee.jones, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
Hi!
> > It would be good to get LED backlight to work in clean way for 5.6
> > kernel.
>
> I agree, this is badly needed for many devices.
>
> > [If you have an idea what else is needed, it would be welcome; it
> > works for me in development tree but not in tree I'd like to
> > upstream.]
>
> I have some version of these patches working with modified dts in my
> droid4-pending-v5.4 branch git branch, maybe try to diff against that.
Thanks a lot. I was missing 7dc08cb9ac7baff1601f65f66c4c611f841abc64.
Best regards,
Pavel
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-01-05 20:24 ` Tony Lindgren
2020-01-05 22:18 ` Pavel Machek
@ 2020-01-05 23:55 ` Pavel Machek
1 sibling, 0 replies; 12+ messages in thread
From: Pavel Machek @ 2020-01-05 23:55 UTC (permalink / raw)
To: Tony Lindgren, linux-leds
Cc: kernel list, linux-arm-kernel, linux-omap, sre, nekit1000,
mpartap, merlijn, martin_rysavy, agx, lee.jones, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
[-- Attachment #1: Type: text/plain, Size: 1523 bytes --]
Hi!
> > It would be good to get LED backlight to work in clean way for 5.6
> > kernel.
>
> I agree, this is badly needed for many devices.
>
> > [If you have an idea what else is needed, it would be welcome; it
> > works for me in development tree but not in tree I'd like to
> > upstream.]
>
> I have some version of these patches working with modified dts in my
> droid4-pending-v5.4 branch git branch, maybe try to diff against that.
So.. backlight now works for me, and I put the LED parts of the
patches to
gitolite.kernel.org:pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
tree. [I guess I could try to sneak them into 5.5 if that helps.]
Could we somehow get this to the backlight tree?
commit d457d0c97d6d55fe3e62633791ac05d289a37d2e
Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Thu Oct 3 10:28:12 2019 +0200
backlight: add led-backlight driver
This patch adds a led-backlight driver (led_bl), which is similar
to pwm_bl except the driver uses a LED class driver to adjust the
brightness in the HW. Multiple LEDs can be used for a single
backlight.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-01-05 18:32 LED backlight on Droid 4 and others Pavel Machek
2020-01-05 20:24 ` Tony Lindgren
@ 2020-01-06 8:45 ` Lee Jones
2020-02-11 17:29 ` Tony Lindgren
1 sibling, 1 reply; 12+ messages in thread
From: Lee Jones @ 2020-01-06 8:45 UTC (permalink / raw)
To: Pavel Machek
Cc: kernel list, linux-arm-kernel, linux-omap, tony, sre, nekit1000,
mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
On Sun, 05 Jan 2020, Pavel Machek wrote:
> Hi!
>
> It would be good to get LED backlight to work in clean way for 5.6
> kernel.
>
> As far as I can see, these are neccessary (but not enough; it does not
> work for me): lm3532 changes to register LED with of node, plus device
> tree changes for droid 4, and these generic changes:
>
> commit d457d0c97d6d55fe3e62633791ac05d289a37d2e
> Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Date: Thu Oct 3 10:28:12 2019 +0200
>
> backlight: add led-backlight driver
>
> This patch adds a led-backlight driver (led_bl), which is similar to
> pwm_bl except the driver uses a LED class driver to adjust the
> brightness in the HW. Multiple LEDs can be used for a single backlight.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Acked-by: Pavel Machek <pavel@ucw.cz>
> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
>
> commit 44b7adbf0b07904e4198ae1d0a763917d1c68a23
> Author: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Date: Thu Oct 3 10:28:10 2019 +0200
>
> leds: Add managed API to get a LED from a device driver
>
> If the LED is acquired by a consumer device with devm_led_get(), it is
> automatically released when the device is detached.
>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Acked-by: Pavel Machek <pavel@ucw.cz>
> Signed-off-by: Pavel <pavel@ucw.cz>
>
> commit 93b98c570d7f898063ab6204e1b3950a3335dd12
> Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Date: Thu Oct 3 10:28:09 2019 +0200
>
> leds: Add of_led_get() and led_put()
>
> This patch adds basic support for a kernel driver to get a LED device.
> This will be used by the led-backlight driver.
>
> Only OF version is implemented for now, and the behavior is similar to
> PWM's of_pwm_get() and pwm_put().
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Acked-by: Pavel Machek <pavel@ucw.cz>
> Signed-off-by: Pavel <pavel@ucw.cz>
>
> [If you have an idea what else is needed, it would be welcome; it
> works for me in development tree but not in tree I'd like to
> upstream.]
>
> Lee, would you be willing to take "backlight: add led-backlight
> driver"? Would it help if I got "leds: Add managed API to get a LED
> from a device driver" and "leds: Add of_led_get() and led_put()" into
> for_next tree of the LED subsystem?
It looks like you have an open question from Tony on v10.
Is that patch orthogonal, or are there depend{ants,encies}?
> It is kind of important as, well, phone without screen looks pretty
> much dead, and same issue hits Droid 4 and Librem 5 phones at least...
>
> Best regards,
> Pavel
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-01-06 8:45 ` Lee Jones
@ 2020-02-11 17:29 ` Tony Lindgren
2020-02-12 20:16 ` Pavel Machek
0 siblings, 1 reply; 12+ messages in thread
From: Tony Lindgren @ 2020-02-11 17:29 UTC (permalink / raw)
To: Lee Jones
Cc: Pavel Machek, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
* Lee Jones <lee.jones@linaro.org> [200106 08:46]:
> On Sun, 05 Jan 2020, Pavel Machek wrote:
>
> > Hi!
> >
> > It would be good to get LED backlight to work in clean way for 5.6
> > kernel.
...
> > [If you have an idea what else is needed, it would be welcome; it
> > works for me in development tree but not in tree I'd like to
> > upstream.]
> >
> > Lee, would you be willing to take "backlight: add led-backlight
> > driver"? Would it help if I got "leds: Add managed API to get a LED
> > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > for_next tree of the LED subsystem?
>
> It looks like you have an open question from Tony on v10.
>
> Is that patch orthogonal, or are there depend{ants,encies}?
Uhh looks like we messed up a bit with integration. Now droid4
LCD backlight can no longer be enabled at all manually in v5.6-rc1
without the "add led-backlight driver" patch.. Should we just
merge it to fix it rather than start scrambling with other
temporary hacks?
I don't care if we use "default-brightness", or if we use
"default-brightness-level". The binding merged says now
"default-brightness", so let's go with that one. That's what
other LED drivers are using too.
Regards,
Tony
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-11 17:29 ` Tony Lindgren
@ 2020-02-12 20:16 ` Pavel Machek
2020-02-18 13:52 ` Lee Jones
0 siblings, 1 reply; 12+ messages in thread
From: Pavel Machek @ 2020-02-12 20:16 UTC (permalink / raw)
To: Tony Lindgren
Cc: Lee Jones, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot, tony
[-- Attachment #1: Type: text/plain, Size: 1624 bytes --]
Hi!
> > > It would be good to get LED backlight to work in clean way for 5.6
> > > kernel.
> ...
> > > [If you have an idea what else is needed, it would be welcome; it
> > > works for me in development tree but not in tree I'd like to
> > > upstream.]
> > >
> > > Lee, would you be willing to take "backlight: add led-backlight
> > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > for_next tree of the LED subsystem?
> >
> > It looks like you have an open question from Tony on v10.
> >
> > Is that patch orthogonal, or are there depend{ants,encies}?
>
> Uhh looks like we messed up a bit with integration. Now droid4
> LCD backlight can no longer be enabled at all manually in v5.6-rc1
> without the "add led-backlight driver" patch.. Should we just
> merge it to fix it rather than start scrambling with other
> temporary hacks?
We should just merge the "add led-backlight driver". Everything should
be ready for it. I'm sorry if I broke something working, I was not
aware it worked at all.
Unfortunately, this is backlight code, not LED, so I can't just merge it.
> I don't care if we use "default-brightness", or if we use
> "default-brightness-level". The binding merged says now
> "default-brightness", so let's go with that one. That's what
> other LED drivers are using too.
No opinion on that.
Best regards,
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-12 20:16 ` Pavel Machek
@ 2020-02-18 13:52 ` Lee Jones
2020-02-18 14:14 ` Tony Lindgren
0 siblings, 1 reply; 12+ messages in thread
From: Lee Jones @ 2020-02-18 13:52 UTC (permalink / raw)
To: Pavel Machek
Cc: Tony Lindgren, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
On Wed, 12 Feb 2020, Pavel Machek wrote:
> Hi!
>
> > > > It would be good to get LED backlight to work in clean way for 5.6
> > > > kernel.
> > ...
> > > > [If you have an idea what else is needed, it would be welcome; it
> > > > works for me in development tree but not in tree I'd like to
> > > > upstream.]
> > > >
> > > > Lee, would you be willing to take "backlight: add led-backlight
> > > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > > for_next tree of the LED subsystem?
> > >
> > > It looks like you have an open question from Tony on v10.
> > >
> > > Is that patch orthogonal, or are there depend{ants,encies}?
> >
> > Uhh looks like we messed up a bit with integration. Now droid4
> > LCD backlight can no longer be enabled at all manually in v5.6-rc1
> > without the "add led-backlight driver" patch.. Should we just
> > merge it to fix it rather than start scrambling with other
> > temporary hacks?
>
> We should just merge the "add led-backlight driver". Everything should
> be ready for it. I'm sorry if I broke something working, I was not
> aware it worked at all.
>
> Unfortunately, this is backlight code, not LED, so I can't just merge it.
Please go ahead. Apply my Acked-by and merge away ASAP.
Acked-by: Lee Jones <lee.jones@linaro.org>
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-18 13:52 ` Lee Jones
@ 2020-02-18 14:14 ` Tony Lindgren
2020-02-18 23:10 ` Pavel Machek
0 siblings, 1 reply; 12+ messages in thread
From: Tony Lindgren @ 2020-02-18 14:14 UTC (permalink / raw)
To: Lee Jones
Cc: Pavel Machek, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
* Lee Jones <lee.jones@linaro.org> [200218 13:52]:
> On Wed, 12 Feb 2020, Pavel Machek wrote:
>
> > Hi!
> >
> > > > > It would be good to get LED backlight to work in clean way for 5.6
> > > > > kernel.
> > > ...
> > > > > [If you have an idea what else is needed, it would be welcome; it
> > > > > works for me in development tree but not in tree I'd like to
> > > > > upstream.]
> > > > >
> > > > > Lee, would you be willing to take "backlight: add led-backlight
> > > > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > > > for_next tree of the LED subsystem?
> > > >
> > > > It looks like you have an open question from Tony on v10.
> > > >
> > > > Is that patch orthogonal, or are there depend{ants,encies}?
> > >
> > > Uhh looks like we messed up a bit with integration. Now droid4
> > > LCD backlight can no longer be enabled at all manually in v5.6-rc1
> > > without the "add led-backlight driver" patch.. Should we just
> > > merge it to fix it rather than start scrambling with other
> > > temporary hacks?
> >
> > We should just merge the "add led-backlight driver". Everything should
> > be ready for it. I'm sorry if I broke something working, I was not
> > aware it worked at all.
> >
> > Unfortunately, this is backlight code, not LED, so I can't just merge it.
>
> Please go ahead. Apply my Acked-by and merge away ASAP.
>
> Acked-by: Lee Jones <lee.jones@linaro.org>
OK best to merge the driver via the LED tree:
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Tony Lindgren <tony@atomide.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-18 14:14 ` Tony Lindgren
@ 2020-02-18 23:10 ` Pavel Machek
2020-02-19 7:47 ` Lee Jones
0 siblings, 1 reply; 12+ messages in thread
From: Pavel Machek @ 2020-02-18 23:10 UTC (permalink / raw)
To: Tony Lindgren
Cc: Lee Jones, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
[-- Attachment #1: Type: text/plain, Size: 10589 bytes --]
Hi!
> > > > > > It would be good to get LED backlight to work in clean way for 5.6
> > > > > > kernel.
> > > > ...
> > > > > > [If you have an idea what else is needed, it would be welcome; it
> > > > > > works for me in development tree but not in tree I'd like to
> > > > > > upstream.]
> > > > > >
> > > > > > Lee, would you be willing to take "backlight: add led-backlight
> > > > > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > > > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > > > > for_next tree of the LED subsystem?
> > > > >
> > > > > It looks like you have an open question from Tony on v10.
> > > > >
> > > > > Is that patch orthogonal, or are there depend{ants,encies}?
> > > >
> > > > Uhh looks like we messed up a bit with integration. Now droid4
> > > > LCD backlight can no longer be enabled at all manually in v5.6-rc1
> > > > without the "add led-backlight driver" patch.. Should we just
> > > > merge it to fix it rather than start scrambling with other
> > > > temporary hacks?
> > >
> > > We should just merge the "add led-backlight driver". Everything should
> > > be ready for it. I'm sorry if I broke something working, I was not
> > > aware it worked at all.
> > >
> > > Unfortunately, this is backlight code, not LED, so I can't just merge it.
> >
> > Please go ahead. Apply my Acked-by and merge away ASAP.
> >
> > Acked-by: Lee Jones <lee.jones@linaro.org>
>
> OK best to merge the driver via the LED tree:
>
> Acked-by: Tony Lindgren <tony@atomide.com>
> Tested-by: Tony Lindgren <tony@atomide.com>
Is the patch below the one both of you are talking about?
Hmm. I should s/default-brightness-level/default-brightness/
below.
Lee, I can of course take it (thanks), but won't Kconfig/Makefile
pieces cause rejects? It might be still better if you took it. I can
hand-edit it and submit it in form for easy application... tommorow.
Best regards,
Pavel
commit 81a2daadf8dd6c8e0cbc3b60246932436be3c714
Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
Date: Thu Oct 3 10:28:12 2019 +0200
backlight: add led-backlight driver
This patch adds a led-backlight driver (led_bl), which is similar to
pwm_bl except the driver uses a LED class driver to adjust the
brightness in the HW. Multiple LEDs can be used for a single backlight.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
index 4c8f73394aac..93836ef872f5 100644
--- a/drivers/video/backlight/Kconfig
+++ b/drivers/video/backlight/Kconfig
@@ -463,6 +463,13 @@ config BACKLIGHT_RAVE_SP
help
Support for backlight control on RAVE SP device.
+config BACKLIGHT_LED
+ tristate "Generic LED based Backlight Driver"
+ depends on LEDS_CLASS && OF
+ help
+ If you have a LCD backlight adjustable by LED class driver, say Y
+ to enable this driver.
+
endif # BACKLIGHT_CLASS_DEVICE
endmenu
diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
index 961fb553b9c0..5e13242f31d6 100644
--- a/drivers/video/backlight/Makefile
+++ b/drivers/video/backlight/Makefile
@@ -60,3 +60,4 @@ obj-$(CONFIG_BACKLIGHT_TPS65217) += tps65217_bl.o
obj-$(CONFIG_BACKLIGHT_WM831X) += wm831x_bl.o
obj-$(CONFIG_BACKLIGHT_ARCXCNN) += arcxcnn_bl.o
obj-$(CONFIG_BACKLIGHT_RAVE_SP) += rave-sp-backlight.o
+obj-$(CONFIG_BACKLIGHT_LED) += led_bl.o
diff --git a/drivers/video/backlight/led_bl.c b/drivers/video/backlight/led_bl.c
new file mode 100644
index 000000000000..3f66549997c8
--- /dev/null
+++ b/drivers/video/backlight/led_bl.c
@@ -0,0 +1,260 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2015-2019 Texas Instruments Incorporated - http://www.ti.com/
+ * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
+ *
+ * Based on pwm_bl.c
+ */
+
+#include <linux/backlight.h>
+#include <linux/leds.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+
+struct led_bl_data {
+ struct device *dev;
+ struct backlight_device *bl_dev;
+ struct led_classdev **leds;
+ bool enabled;
+ int nb_leds;
+ unsigned int *levels;
+ unsigned int default_brightness;
+ unsigned int max_brightness;
+};
+
+static void led_bl_set_brightness(struct led_bl_data *priv, int level)
+{
+ int i;
+ int bkl_brightness;
+
+ if (priv->levels)
+ bkl_brightness = priv->levels[level];
+ else
+ bkl_brightness = level;
+
+ for (i = 0; i < priv->nb_leds; i++)
+ led_set_brightness(priv->leds[i], bkl_brightness);
+
+ priv->enabled = true;
+}
+
+static void led_bl_power_off(struct led_bl_data *priv)
+{
+ int i;
+
+ if (!priv->enabled)
+ return;
+
+ for (i = 0; i < priv->nb_leds; i++)
+ led_set_brightness(priv->leds[i], LED_OFF);
+
+ priv->enabled = false;
+}
+
+static int led_bl_update_status(struct backlight_device *bl)
+{
+ struct led_bl_data *priv = bl_get_data(bl);
+ int brightness = bl->props.brightness;
+
+ if (bl->props.power != FB_BLANK_UNBLANK ||
+ bl->props.fb_blank != FB_BLANK_UNBLANK ||
+ bl->props.state & BL_CORE_FBBLANK)
+ brightness = 0;
+
+ if (brightness > 0)
+ led_bl_set_brightness(priv, brightness);
+ else
+ led_bl_power_off(priv);
+
+ return 0;
+}
+
+static const struct backlight_ops led_bl_ops = {
+ .update_status = led_bl_update_status,
+};
+
+static int led_bl_get_leds(struct device *dev,
+ struct led_bl_data *priv)
+{
+ int i, nb_leds, ret;
+ struct device_node *node = dev->of_node;
+ struct led_classdev **leds;
+ unsigned int max_brightness;
+ unsigned int default_brightness;
+
+ ret = of_count_phandle_with_args(node, "leds", NULL);
+ if (ret < 0) {
+ dev_err(dev, "Unable to get led count\n");
+ return -EINVAL;
+ }
+
+ nb_leds = ret;
+ if (nb_leds < 1) {
+ dev_err(dev, "At least one LED must be specified!\n");
+ return -EINVAL;
+ }
+
+ leds = devm_kzalloc(dev, sizeof(struct led_classdev *) * nb_leds,
+ GFP_KERNEL);
+ if (!leds)
+ return -ENOMEM;
+
+ for (i = 0; i < nb_leds; i++) {
+ leds[i] = devm_of_led_get(dev, i);
+ if (IS_ERR(leds[i]))
+ return PTR_ERR(leds[i]);
+ }
+
+ /* check that the LEDs all have the same brightness range */
+ max_brightness = leds[0]->max_brightness;
+ for (i = 1; i < nb_leds; i++) {
+ if (max_brightness != leds[i]->max_brightness) {
+ dev_err(dev, "LEDs must have identical ranges\n");
+ return -EINVAL;
+ }
+ }
+
+ /* get the default brightness from the first LED from the list */
+ default_brightness = leds[0]->brightness;
+
+ priv->nb_leds = nb_leds;
+ priv->leds = leds;
+ priv->max_brightness = max_brightness;
+ priv->default_brightness = default_brightness;
+
+ return 0;
+}
+
+static int led_bl_parse_levels(struct device *dev,
+ struct led_bl_data *priv)
+{
+ struct device_node *node = dev->of_node;
+ int num_levels;
+ u32 value;
+ int ret;
+
+ if (!node)
+ return -ENODEV;
+
+ num_levels = of_property_count_u32_elems(node, "brightness-levels");
+ if (num_levels > 1) {
+ int i;
+ unsigned int db;
+ u32 *levels = NULL;
+
+ levels = devm_kzalloc(dev, sizeof(u32) * num_levels,
+ GFP_KERNEL);
+ if (!levels)
+ return -ENOMEM;
+
+ ret = of_property_read_u32_array(node, "brightness-levels",
+ levels,
+ num_levels);
+ if (ret < 0)
+ return ret;
+
+ /*
+ * Try to map actual LED brightness to backlight brightness
+ * level
+ */
+ db = priv->default_brightness;
+ for (i = 0 ; i < num_levels; i++) {
+ if ((i && db > levels[i-1]) && db <= levels[i])
+ break;
+ }
+ priv->default_brightness = i;
+ priv->max_brightness = num_levels - 1;
+ priv->levels = levels;
+ } else if (num_levels >= 0)
+ dev_warn(dev, "Not enough levels defined\n");
+
+ ret = of_property_read_u32(node, "default-brightness-level", &value);
+ if (!ret && value <= priv->max_brightness)
+ priv->default_brightness = value;
+ else if (!ret && value > priv->max_brightness)
+ dev_warn(dev, "Invalid default brightness. Ignoring it\n");
+
+ return 0;
+}
+
+static int led_bl_probe(struct platform_device *pdev)
+{
+ struct backlight_properties props;
+ struct led_bl_data *priv;
+ int ret, i;
+
+ priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
+ if (!priv)
+ return -ENOMEM;
+
+ platform_set_drvdata(pdev, priv);
+
+ priv->dev = &pdev->dev;
+
+ ret = led_bl_get_leds(&pdev->dev, priv);
+ if (ret)
+ return ret;
+
+ ret = led_bl_parse_levels(&pdev->dev, priv);
+ if (ret < 0) {
+ dev_err(&pdev->dev, "Failed to parse DT data\n");
+ return ret;
+ }
+
+ memset(&props, 0, sizeof(struct backlight_properties));
+ props.type = BACKLIGHT_RAW;
+ props.max_brightness = priv->max_brightness;
+ props.brightness = priv->default_brightness;
+ props.power = (priv->default_brightness > 0) ? FB_BLANK_POWERDOWN :
+ FB_BLANK_UNBLANK;
+ priv->bl_dev = backlight_device_register(dev_name(&pdev->dev),
+ &pdev->dev, priv, &led_bl_ops, &props);
+ if (IS_ERR(priv->bl_dev)) {
+ dev_err(&pdev->dev, "Failed to register backlight\n");
+ return PTR_ERR(priv->bl_dev);
+ }
+
+ for (i = 0; i < priv->nb_leds; i++)
+ led_sysfs_disable(priv->leds[i]);
+
+ backlight_update_status(priv->bl_dev);
+
+ return 0;
+}
+
+static int led_bl_remove(struct platform_device *pdev)
+{
+ struct led_bl_data *priv = platform_get_drvdata(pdev);
+ struct backlight_device *bl = priv->bl_dev;
+ int i;
+
+ backlight_device_unregister(bl);
+
+ led_bl_power_off(priv);
+ for (i = 0; i < priv->nb_leds; i++)
+ led_sysfs_enable(priv->leds[i]);
+
+ return 0;
+}
+
+static const struct of_device_id led_bl_of_match[] = {
+ { .compatible = "led-backlight" },
+ { }
+};
+
+MODULE_DEVICE_TABLE(of, led_bl_of_match);
+
+static struct platform_driver led_bl_driver = {
+ .driver = {
+ .name = "led-backlight",
+ .of_match_table = of_match_ptr(led_bl_of_match),
+ },
+ .probe = led_bl_probe,
+ .remove = led_bl_remove,
+};
+
+module_platform_driver(led_bl_driver);
+
+MODULE_DESCRIPTION("LED based Backlight Driver");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:led-backlight");
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-18 23:10 ` Pavel Machek
@ 2020-02-19 7:47 ` Lee Jones
2020-02-19 16:19 ` Tony Lindgren
0 siblings, 1 reply; 12+ messages in thread
From: Lee Jones @ 2020-02-19 7:47 UTC (permalink / raw)
To: Pavel Machek
Cc: Tony Lindgren, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
On Wed, 19 Feb 2020, Pavel Machek wrote:
> Hi!
>
> > > > > > > It would be good to get LED backlight to work in clean way for 5.6
> > > > > > > kernel.
> > > > > ...
> > > > > > > [If you have an idea what else is needed, it would be welcome; it
> > > > > > > works for me in development tree but not in tree I'd like to
> > > > > > > upstream.]
> > > > > > >
> > > > > > > Lee, would you be willing to take "backlight: add led-backlight
> > > > > > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > > > > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > > > > > for_next tree of the LED subsystem?
> > > > > >
> > > > > > It looks like you have an open question from Tony on v10.
> > > > > >
> > > > > > Is that patch orthogonal, or are there depend{ants,encies}?
> > > > >
> > > > > Uhh looks like we messed up a bit with integration. Now droid4
> > > > > LCD backlight can no longer be enabled at all manually in v5.6-rc1
> > > > > without the "add led-backlight driver" patch.. Should we just
> > > > > merge it to fix it rather than start scrambling with other
> > > > > temporary hacks?
> > > >
> > > > We should just merge the "add led-backlight driver". Everything should
> > > > be ready for it. I'm sorry if I broke something working, I was not
> > > > aware it worked at all.
> > > >
> > > > Unfortunately, this is backlight code, not LED, so I can't just merge it.
> > >
> > > Please go ahead. Apply my Acked-by and merge away ASAP.
> > >
> > > Acked-by: Lee Jones <lee.jones@linaro.org>
> >
> > OK best to merge the driver via the LED tree:
> >
> > Acked-by: Tony Lindgren <tony@atomide.com>
> > Tested-by: Tony Lindgren <tony@atomide.com>
>
> Is the patch below the one both of you are talking about?
>
> Hmm. I should s/default-brightness-level/default-brightness/
> below.
>
> Lee, I can of course take it (thanks), but won't Kconfig/Makefile
> pieces cause rejects? It might be still better if you took it. I can
> hand-edit it and submit it in form for easy application... tommorow.
My suggestion would be to send it to Linus ASAP.
Ideally it would get into the -rcs, as it 'fixes' things.
> Best regards,
>
> Pavel
>
> commit 81a2daadf8dd6c8e0cbc3b60246932436be3c714
> Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Date: Thu Oct 3 10:28:12 2019 +0200
>
> backlight: add led-backlight driver
>
> This patch adds a led-backlight driver (led_bl), which is similar to
> pwm_bl except the driver uses a LED class driver to adjust the
> brightness in the HW. Multiple LEDs can be used for a single backlight.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
> Acked-by: Pavel Machek <pavel@ucw.cz>
> Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
>
> diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig
> index 4c8f73394aac..93836ef872f5 100644
> --- a/drivers/video/backlight/Kconfig
> +++ b/drivers/video/backlight/Kconfig
> @@ -463,6 +463,13 @@ config BACKLIGHT_RAVE_SP
> help
> Support for backlight control on RAVE SP device.
>
> +config BACKLIGHT_LED
> + tristate "Generic LED based Backlight Driver"
> + depends on LEDS_CLASS && OF
> + help
> + If you have a LCD backlight adjustable by LED class driver, say Y
> + to enable this driver.
> +
> endif # BACKLIGHT_CLASS_DEVICE
>
> endmenu
> diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile
> index 961fb553b9c0..5e13242f31d6 100644
> --- a/drivers/video/backlight/Makefile
> +++ b/drivers/video/backlight/Makefile
> @@ -60,3 +60,4 @@ obj-$(CONFIG_BACKLIGHT_TPS65217) += tps65217_bl.o
> obj-$(CONFIG_BACKLIGHT_WM831X) += wm831x_bl.o
> obj-$(CONFIG_BACKLIGHT_ARCXCNN) += arcxcnn_bl.o
> obj-$(CONFIG_BACKLIGHT_RAVE_SP) += rave-sp-backlight.o
> +obj-$(CONFIG_BACKLIGHT_LED) += led_bl.o
> diff --git a/drivers/video/backlight/led_bl.c b/drivers/video/backlight/led_bl.c
> new file mode 100644
> index 000000000000..3f66549997c8
> --- /dev/null
> +++ b/drivers/video/backlight/led_bl.c
> @@ -0,0 +1,260 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2015-2019 Texas Instruments Incorporated - http://www.ti.com/
> + * Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
> + *
> + * Based on pwm_bl.c
> + */
> +
> +#include <linux/backlight.h>
> +#include <linux/leds.h>
> +#include <linux/module.h>
> +#include <linux/platform_device.h>
> +
> +struct led_bl_data {
> + struct device *dev;
> + struct backlight_device *bl_dev;
> + struct led_classdev **leds;
> + bool enabled;
> + int nb_leds;
> + unsigned int *levels;
> + unsigned int default_brightness;
> + unsigned int max_brightness;
> +};
> +
> +static void led_bl_set_brightness(struct led_bl_data *priv, int level)
> +{
> + int i;
> + int bkl_brightness;
> +
> + if (priv->levels)
> + bkl_brightness = priv->levels[level];
> + else
> + bkl_brightness = level;
> +
> + for (i = 0; i < priv->nb_leds; i++)
> + led_set_brightness(priv->leds[i], bkl_brightness);
> +
> + priv->enabled = true;
> +}
> +
> +static void led_bl_power_off(struct led_bl_data *priv)
> +{
> + int i;
> +
> + if (!priv->enabled)
> + return;
> +
> + for (i = 0; i < priv->nb_leds; i++)
> + led_set_brightness(priv->leds[i], LED_OFF);
> +
> + priv->enabled = false;
> +}
> +
> +static int led_bl_update_status(struct backlight_device *bl)
> +{
> + struct led_bl_data *priv = bl_get_data(bl);
> + int brightness = bl->props.brightness;
> +
> + if (bl->props.power != FB_BLANK_UNBLANK ||
> + bl->props.fb_blank != FB_BLANK_UNBLANK ||
> + bl->props.state & BL_CORE_FBBLANK)
> + brightness = 0;
> +
> + if (brightness > 0)
> + led_bl_set_brightness(priv, brightness);
> + else
> + led_bl_power_off(priv);
> +
> + return 0;
> +}
> +
> +static const struct backlight_ops led_bl_ops = {
> + .update_status = led_bl_update_status,
> +};
> +
> +static int led_bl_get_leds(struct device *dev,
> + struct led_bl_data *priv)
> +{
> + int i, nb_leds, ret;
> + struct device_node *node = dev->of_node;
> + struct led_classdev **leds;
> + unsigned int max_brightness;
> + unsigned int default_brightness;
> +
> + ret = of_count_phandle_with_args(node, "leds", NULL);
> + if (ret < 0) {
> + dev_err(dev, "Unable to get led count\n");
> + return -EINVAL;
> + }
> +
> + nb_leds = ret;
> + if (nb_leds < 1) {
> + dev_err(dev, "At least one LED must be specified!\n");
> + return -EINVAL;
> + }
> +
> + leds = devm_kzalloc(dev, sizeof(struct led_classdev *) * nb_leds,
> + GFP_KERNEL);
> + if (!leds)
> + return -ENOMEM;
> +
> + for (i = 0; i < nb_leds; i++) {
> + leds[i] = devm_of_led_get(dev, i);
> + if (IS_ERR(leds[i]))
> + return PTR_ERR(leds[i]);
> + }
> +
> + /* check that the LEDs all have the same brightness range */
> + max_brightness = leds[0]->max_brightness;
> + for (i = 1; i < nb_leds; i++) {
> + if (max_brightness != leds[i]->max_brightness) {
> + dev_err(dev, "LEDs must have identical ranges\n");
> + return -EINVAL;
> + }
> + }
> +
> + /* get the default brightness from the first LED from the list */
> + default_brightness = leds[0]->brightness;
> +
> + priv->nb_leds = nb_leds;
> + priv->leds = leds;
> + priv->max_brightness = max_brightness;
> + priv->default_brightness = default_brightness;
> +
> + return 0;
> +}
> +
> +static int led_bl_parse_levels(struct device *dev,
> + struct led_bl_data *priv)
> +{
> + struct device_node *node = dev->of_node;
> + int num_levels;
> + u32 value;
> + int ret;
> +
> + if (!node)
> + return -ENODEV;
> +
> + num_levels = of_property_count_u32_elems(node, "brightness-levels");
> + if (num_levels > 1) {
> + int i;
> + unsigned int db;
> + u32 *levels = NULL;
> +
> + levels = devm_kzalloc(dev, sizeof(u32) * num_levels,
> + GFP_KERNEL);
> + if (!levels)
> + return -ENOMEM;
> +
> + ret = of_property_read_u32_array(node, "brightness-levels",
> + levels,
> + num_levels);
> + if (ret < 0)
> + return ret;
> +
> + /*
> + * Try to map actual LED brightness to backlight brightness
> + * level
> + */
> + db = priv->default_brightness;
> + for (i = 0 ; i < num_levels; i++) {
> + if ((i && db > levels[i-1]) && db <= levels[i])
> + break;
> + }
> + priv->default_brightness = i;
> + priv->max_brightness = num_levels - 1;
> + priv->levels = levels;
> + } else if (num_levels >= 0)
> + dev_warn(dev, "Not enough levels defined\n");
> +
> + ret = of_property_read_u32(node, "default-brightness-level", &value);
> + if (!ret && value <= priv->max_brightness)
> + priv->default_brightness = value;
> + else if (!ret && value > priv->max_brightness)
> + dev_warn(dev, "Invalid default brightness. Ignoring it\n");
> +
> + return 0;
> +}
> +
> +static int led_bl_probe(struct platform_device *pdev)
> +{
> + struct backlight_properties props;
> + struct led_bl_data *priv;
> + int ret, i;
> +
> + priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
> + if (!priv)
> + return -ENOMEM;
> +
> + platform_set_drvdata(pdev, priv);
> +
> + priv->dev = &pdev->dev;
> +
> + ret = led_bl_get_leds(&pdev->dev, priv);
> + if (ret)
> + return ret;
> +
> + ret = led_bl_parse_levels(&pdev->dev, priv);
> + if (ret < 0) {
> + dev_err(&pdev->dev, "Failed to parse DT data\n");
> + return ret;
> + }
> +
> + memset(&props, 0, sizeof(struct backlight_properties));
> + props.type = BACKLIGHT_RAW;
> + props.max_brightness = priv->max_brightness;
> + props.brightness = priv->default_brightness;
> + props.power = (priv->default_brightness > 0) ? FB_BLANK_POWERDOWN :
> + FB_BLANK_UNBLANK;
> + priv->bl_dev = backlight_device_register(dev_name(&pdev->dev),
> + &pdev->dev, priv, &led_bl_ops, &props);
> + if (IS_ERR(priv->bl_dev)) {
> + dev_err(&pdev->dev, "Failed to register backlight\n");
> + return PTR_ERR(priv->bl_dev);
> + }
> +
> + for (i = 0; i < priv->nb_leds; i++)
> + led_sysfs_disable(priv->leds[i]);
> +
> + backlight_update_status(priv->bl_dev);
> +
> + return 0;
> +}
> +
> +static int led_bl_remove(struct platform_device *pdev)
> +{
> + struct led_bl_data *priv = platform_get_drvdata(pdev);
> + struct backlight_device *bl = priv->bl_dev;
> + int i;
> +
> + backlight_device_unregister(bl);
> +
> + led_bl_power_off(priv);
> + for (i = 0; i < priv->nb_leds; i++)
> + led_sysfs_enable(priv->leds[i]);
> +
> + return 0;
> +}
> +
> +static const struct of_device_id led_bl_of_match[] = {
> + { .compatible = "led-backlight" },
> + { }
> +};
> +
> +MODULE_DEVICE_TABLE(of, led_bl_of_match);
> +
> +static struct platform_driver led_bl_driver = {
> + .driver = {
> + .name = "led-backlight",
> + .of_match_table = of_match_ptr(led_bl_of_match),
> + },
> + .probe = led_bl_probe,
> + .remove = led_bl_remove,
> +};
> +
> +module_platform_driver(led_bl_driver);
> +
> +MODULE_DESCRIPTION("LED based Backlight Driver");
> +MODULE_LICENSE("GPL");
> +MODULE_ALIAS("platform:led-backlight");
>
--
Lee Jones [李琼斯]
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: LED backlight on Droid 4 and others
2020-02-19 7:47 ` Lee Jones
@ 2020-02-19 16:19 ` Tony Lindgren
0 siblings, 0 replies; 12+ messages in thread
From: Tony Lindgren @ 2020-02-19 16:19 UTC (permalink / raw)
To: Lee Jones
Cc: Pavel Machek, kernel list, linux-arm-kernel, linux-omap, sre,
nekit1000, mpartap, merlijn, martin_rysavy, agx, daniel.thompson,
jingoohan1, dri-devel, tomi.valkeinen, jjhiblot
* Lee Jones <lee.jones@linaro.org> [200219 07:47]:
> On Wed, 19 Feb 2020, Pavel Machek wrote:
>
> > Hi!
> >
> > > > > > > > It would be good to get LED backlight to work in clean way for 5.6
> > > > > > > > kernel.
> > > > > > ...
> > > > > > > > [If you have an idea what else is needed, it would be welcome; it
> > > > > > > > works for me in development tree but not in tree I'd like to
> > > > > > > > upstream.]
> > > > > > > >
> > > > > > > > Lee, would you be willing to take "backlight: add led-backlight
> > > > > > > > driver"? Would it help if I got "leds: Add managed API to get a LED
> > > > > > > > from a device driver" and "leds: Add of_led_get() and led_put()" into
> > > > > > > > for_next tree of the LED subsystem?
> > > > > > >
> > > > > > > It looks like you have an open question from Tony on v10.
> > > > > > >
> > > > > > > Is that patch orthogonal, or are there depend{ants,encies}?
> > > > > >
> > > > > > Uhh looks like we messed up a bit with integration. Now droid4
> > > > > > LCD backlight can no longer be enabled at all manually in v5.6-rc1
> > > > > > without the "add led-backlight driver" patch.. Should we just
> > > > > > merge it to fix it rather than start scrambling with other
> > > > > > temporary hacks?
> > > > >
> > > > > We should just merge the "add led-backlight driver". Everything should
> > > > > be ready for it. I'm sorry if I broke something working, I was not
> > > > > aware it worked at all.
> > > > >
> > > > > Unfortunately, this is backlight code, not LED, so I can't just merge it.
> > > >
> > > > Please go ahead. Apply my Acked-by and merge away ASAP.
> > > >
> > > > Acked-by: Lee Jones <lee.jones@linaro.org>
> > >
> > > OK best to merge the driver via the LED tree:
> > >
> > > Acked-by: Tony Lindgren <tony@atomide.com>
> > > Tested-by: Tony Lindgren <tony@atomide.com>
> >
> > Is the patch below the one both of you are talking about?
> >
> > Hmm. I should s/default-brightness-level/default-brightness/
> > below.
> >
> > Lee, I can of course take it (thanks), but won't Kconfig/Makefile
> > pieces cause rejects? It might be still better if you took it. I can
> > hand-edit it and submit it in form for easy application... tommorow.
>
> My suggestion would be to send it to Linus ASAP.
>
> Ideally it would get into the -rcs, as it 'fixes' things.
I agree. Pavel, the version of the patch you posted is all space
trashed. Can you please post again so I can verify the related dts
changes against it?
Regards,
Tony
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2020-02-19 16:19 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-05 18:32 LED backlight on Droid 4 and others Pavel Machek
2020-01-05 20:24 ` Tony Lindgren
2020-01-05 22:18 ` Pavel Machek
2020-01-05 23:55 ` Pavel Machek
2020-01-06 8:45 ` Lee Jones
2020-02-11 17:29 ` Tony Lindgren
2020-02-12 20:16 ` Pavel Machek
2020-02-18 13:52 ` Lee Jones
2020-02-18 14:14 ` Tony Lindgren
2020-02-18 23:10 ` Pavel Machek
2020-02-19 7:47 ` Lee Jones
2020-02-19 16:19 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).