Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1436249 > unrolled thread
| Started by | Matej Groma <matejgroma@gmail.com> |
|---|---|
| First post | 2016-07-04 12:10 +0200 |
| Last post | 2016-07-06 20:40 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] fujitsu-laptop: Rework brightness of eco led Matej Groma <matejgroma@gmail.com> - 2016-07-04 12:10 +0200
Re: [PATCH] fujitsu-laptop: Rework brightness of eco led Jonathan Woithe <jwoithe@just42.net> - 2016-07-04 13:30 +0200
Re: [PATCH] fujitsu-laptop: Rework brightness of eco led Darren Hart <dvhart@infradead.org> - 2016-07-06 20:40 +0200
| From | Matej Groma <matejgroma@gmail.com> |
|---|---|
| Date | 2016-07-04 12:10 +0200 |
| Subject | [PATCH] fujitsu-laptop: Rework brightness of eco led |
| Message-ID | <rR8Zc-4jv-17@gated-at.bofh.it> |
For the sake of internal consistency, unset maximum brightness of eco
led and make it activatable only on values >= LED_FULL.
Signed-off-by: Matej Groma <matejgroma@gmail.com>
---
Here is a small statistics covering max brightness of platform-x86 leds:
1 other unset
8 6 7
3/7 leds that have unset max_brightness are activated on nonzero value.
The other 4 are fujitsu-laptop leds. Maybe someone from led subsystem
would be willing to look at this and standardise guidelines on how and
when to use different brightness levels. Hopefully, this could then be
reverted.
drivers/platform/x86/fujitsu-laptop.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
index 6ce8e78..61f39ab 100644
--- a/drivers/platform/x86/fujitsu-laptop.c
+++ b/drivers/platform/x86/fujitsu-laptop.c
@@ -212,7 +212,6 @@ static void eco_led_set(struct led_classdev *cdev,
static struct led_classdev eco_led = {
.name = "fujitsu::eco_led",
- .max_brightness = 1,
.brightness_get = eco_led_get,
.brightness_set = eco_led_set
};
@@ -306,7 +305,7 @@ static void eco_led_set(struct led_classdev *cdev,
int curr;
curr = call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0);
- if (brightness)
+ if (brightness >= LED_FULL)
call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr | ECO_LED_ON);
else
call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr & ~ECO_LED_ON);
@@ -352,7 +351,7 @@ static enum led_brightness eco_led_get(struct led_classdev *cdev)
enum led_brightness brightness = LED_OFF;
if (call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0) & ECO_LED_ON)
- brightness = cdev->max_brightness;
+ brightness = LED_FULL;
return brightness;
}
[toc] | [next] | [standalone]
| From | Jonathan Woithe <jwoithe@just42.net> |
|---|---|
| Date | 2016-07-04 13:30 +0200 |
| Message-ID | <rRaeC-4Z4-31@gated-at.bofh.it> |
| In reply to | #1436249 |
On Mon, Jul 04, 2016 at 12:04:12PM +0200, Matej Groma wrote:
> For the sake of internal consistency, unset maximum brightness of eco
> led and make it activatable only on values >= LED_FULL.
>
> Signed-off-by: Matej Groma <matejgroma@gmail.com>
Acked-by: Jonathan Woithe <jwoithe@just42.net>
> ---
> Here is a small statistics covering max brightness of platform-x86 leds:
> 1 other unset
> 8 6 7
> 3/7 leds that have unset max_brightness are activated on nonzero value.
> The other 4 are fujitsu-laptop leds. Maybe someone from led subsystem
> would be willing to look at this and standardise guidelines on how and
> when to use different brightness levels. Hopefully, this could then be
> reverted.
>
> drivers/platform/x86/fujitsu-laptop.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
> index 6ce8e78..61f39ab 100644
> --- a/drivers/platform/x86/fujitsu-laptop.c
> +++ b/drivers/platform/x86/fujitsu-laptop.c
> @@ -212,7 +212,6 @@ static void eco_led_set(struct led_classdev *cdev,
>
> static struct led_classdev eco_led = {
> .name = "fujitsu::eco_led",
> - .max_brightness = 1,
> .brightness_get = eco_led_get,
> .brightness_set = eco_led_set
> };
> @@ -306,7 +305,7 @@ static void eco_led_set(struct led_classdev *cdev,
> int curr;
>
> curr = call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0);
> - if (brightness)
> + if (brightness >= LED_FULL)
> call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr | ECO_LED_ON);
> else
> call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr & ~ECO_LED_ON);
> @@ -352,7 +351,7 @@ static enum led_brightness eco_led_get(struct led_classdev *cdev)
> enum led_brightness brightness = LED_OFF;
>
> if (call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0) & ECO_LED_ON)
> - brightness = cdev->max_brightness;
> + brightness = LED_FULL;
>
> return brightness;
> }
[toc] | [prev] | [next] | [standalone]
| From | Darren Hart <dvhart@infradead.org> |
|---|---|
| Date | 2016-07-06 20:40 +0200 |
| Message-ID | <rRZTQ-4h6-13@gated-at.bofh.it> |
| In reply to | #1436410 |
On Mon, Jul 04, 2016 at 08:59:14PM +0930, Jonathan Woithe wrote:
> On Mon, Jul 04, 2016 at 12:04:12PM +0200, Matej Groma wrote:
> > For the sake of internal consistency, unset maximum brightness of eco
> > led and make it activatable only on values >= LED_FULL.
> >
> > Signed-off-by: Matej Groma <matejgroma@gmail.com>
>
> Acked-by: Jonathan Woithe <jwoithe@just42.net>
Queued, thank you.
>
> > ---
> > Here is a small statistics covering max brightness of platform-x86 leds:
> > 1 other unset
> > 8 6 7
> > 3/7 leds that have unset max_brightness are activated on nonzero value.
> > The other 4 are fujitsu-laptop leds. Maybe someone from led subsystem
> > would be willing to look at this and standardise guidelines on how and
> > when to use different brightness levels. Hopefully, this could then be
> > reverted.
> >
> > drivers/platform/x86/fujitsu-laptop.c | 5 ++---
> > 1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/platform/x86/fujitsu-laptop.c b/drivers/platform/x86/fujitsu-laptop.c
> > index 6ce8e78..61f39ab 100644
> > --- a/drivers/platform/x86/fujitsu-laptop.c
> > +++ b/drivers/platform/x86/fujitsu-laptop.c
> > @@ -212,7 +212,6 @@ static void eco_led_set(struct led_classdev *cdev,
> >
> > static struct led_classdev eco_led = {
> > .name = "fujitsu::eco_led",
> > - .max_brightness = 1,
> > .brightness_get = eco_led_get,
> > .brightness_set = eco_led_set
> > };
> > @@ -306,7 +305,7 @@ static void eco_led_set(struct led_classdev *cdev,
> > int curr;
> >
> > curr = call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0);
> > - if (brightness)
> > + if (brightness >= LED_FULL)
> > call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr | ECO_LED_ON);
> > else
> > call_fext_func(FUNC_LEDS, 0x1, ECO_LED, curr & ~ECO_LED_ON);
> > @@ -352,7 +351,7 @@ static enum led_brightness eco_led_get(struct led_classdev *cdev)
> > enum led_brightness brightness = LED_OFF;
> >
> > if (call_fext_func(FUNC_LEDS, 0x2, ECO_LED, 0x0) & ECO_LED_ON)
> > - brightness = cdev->max_brightness;
> > + brightness = LED_FULL;
> >
> > return brightness;
> > }
>
--
Darren Hart
Intel Open Source Technology Center
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web