* [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-12 15:32 Takashi Iwai
2014-02-12 19:21 ` Henrique de Moraes Holschuh
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Takashi Iwai @ 2014-02-12 15:32 UTC (permalink / raw)
To: Henrique de Moraes Holschuh
Cc: Matthew Garrett, ibm-acpi-devel, platform-driver-x86,
linux-kernel, David Henningsson
The mute LED states have to be restored after resume.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70351
Cc: <stable@vger.kernel.org> [v3.13+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
drivers/platform/x86/thinkpad_acpi.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index defb6afc1409..e2a91c845ac9 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -8447,9 +8447,21 @@ static void mute_led_exit(void)
tpacpi_led_set(i, false);
}
+static void mute_led_resume(void)
+{
+ int i;
+
+ for (i = 0; i < TPACPI_LED_MAX; i++) {
+ struct tp_led_table *t = &led_tables[i];
+ if (t->state >= 0)
+ mute_led_on_off(t, t->state);
+ }
+}
+
static struct ibm_struct mute_led_driver_data = {
.name = "mute_led",
.exit = mute_led_exit,
+ .resume = mute_led_resume,
};
/****************************************************************************
--
1.8.5.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-12 15:32 [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume Takashi Iwai
@ 2014-02-12 19:21 ` Henrique de Moraes Holschuh
2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:37 ` Matthew Garrett
2 siblings, 0 replies; 12+ messages in thread
From: Henrique de Moraes Holschuh @ 2014-02-12 19:21 UTC (permalink / raw)
To: Takashi Iwai
Cc: Matthew Garrett, ibm-acpi-devel, platform-driver-x86,
linux-kernel, David Henningsson
On Wed, Feb 12, 2014, at 13:32, Takashi Iwai wrote:
> The mute LED states have to be restored after resume.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70351
> Cc: <stable@vger.kernel.org> [v3.13+]
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-12 15:32 [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume Takashi Iwai
@ 2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:37 ` Matthew Garrett
2 siblings, 0 replies; 12+ messages in thread
From: Matthew Garrett @ 2014-02-12 20:36 UTC (permalink / raw)
To: tiwai
Cc: david.henningsson, ibm-acpi-devel, platform-driver-x86, ibm-acpi,
linux-kernel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 417 bytes --]
On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> The mute LED states have to be restored after resume.
Hm. Is this something that should be done in the class code rather than
in individual drivers?
--
Matthew Garrett <matthew.garrett@nebula.com>
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-12 20:36 ` Matthew Garrett
0 siblings, 0 replies; 12+ messages in thread
From: Matthew Garrett @ 2014-02-12 20:36 UTC (permalink / raw)
To: tiwai
Cc: david.henningsson, ibm-acpi-devel, platform-driver-x86, ibm-acpi,
linux-kernel
On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> The mute LED states have to be restored after resume.
Hm. Is this something that should be done in the class code rather than
in individual drivers?
--
Matthew Garrett <matthew.garrett@nebula.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-12 15:32 [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume Takashi Iwai
@ 2014-02-12 20:37 ` Matthew Garrett
2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:37 ` Matthew Garrett
2 siblings, 0 replies; 12+ messages in thread
From: Matthew Garrett @ 2014-02-12 20:37 UTC (permalink / raw)
To: tiwai
Cc: david.henningsson, ibm-acpi-devel, platform-driver-x86, ibm-acpi,
linux-kernel
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 390 bytes --]
On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> The mute LED states have to be restored after resume.
Oh, never mind, we're not doing this through the LED class, are we?
--
Matthew Garrett <matthew.garrett@nebula.com>
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-12 20:37 ` Matthew Garrett
0 siblings, 0 replies; 12+ messages in thread
From: Matthew Garrett @ 2014-02-12 20:37 UTC (permalink / raw)
To: tiwai
Cc: david.henningsson, ibm-acpi-devel, platform-driver-x86, ibm-acpi,
linux-kernel
On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> The mute LED states have to be restored after resume.
Oh, never mind, we're not doing this through the LED class, are we?
--
Matthew Garrett <matthew.garrett@nebula.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-12 20:37 ` Matthew Garrett
@ 2014-02-13 8:35 ` Takashi Iwai
-1 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2014-02-13 8:35 UTC (permalink / raw)
To: Matthew Garrett
Cc: rauchwolke, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
At Wed, 12 Feb 2014 20:37:36 +0000,
Matthew Garrett wrote:
>
> On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > The mute LED states have to be restored after resume.
>
> Oh, never mind, we're not doing this through the LED class, are we?
Good point. It seems that leds_class has pm_ops but it's enabled only
when a flag is set.
I added the original bug reporter to Cc. (Don't know the name,
Bugzilla shows only the email address.)
Could you check the patch below works instead of the previous fix?
Takashi
---
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index defb6afc1409..16edf75d9c00 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
.name = "tpacpi::thinklight",
.brightness_set = &light_sysfs_set,
.brightness_get = &light_sysfs_get,
+ .flags = LED_CORE_SUSPENDRESUME,
}
};
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-13 8:35 ` Takashi Iwai
0 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2014-02-13 8:35 UTC (permalink / raw)
To: Matthew Garrett
Cc: rauchwolke, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
At Wed, 12 Feb 2014 20:37:36 +0000,
Matthew Garrett wrote:
>
> On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > The mute LED states have to be restored after resume.
>
> Oh, never mind, we're not doing this through the LED class, are we?
Good point. It seems that leds_class has pm_ops but it's enabled only
when a flag is set.
I added the original bug reporter to Cc. (Don't know the name,
Bugzilla shows only the email address.)
Could you check the patch below works instead of the previous fix?
Takashi
---
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index defb6afc1409..16edf75d9c00 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
.name = "tpacpi::thinklight",
.brightness_set = &light_sysfs_set,
.brightness_get = &light_sysfs_get,
+ .flags = LED_CORE_SUSPENDRESUME,
}
};
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-13 8:35 ` Takashi Iwai
@ 2014-02-13 18:02 ` rauchwolke
-1 siblings, 0 replies; 12+ messages in thread
From: rauchwolke @ 2014-02-13 18:02 UTC (permalink / raw)
To: Takashi Iwai
Cc: Matthew Garrett, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
Hi,
this patch doesn't work. The sound is now muted after the resume (light is on).
But the userspace knows nothing about it. (kmix shows the volume as umuted)
Peter
On Thu, 13 Feb 2014 09:35:30 +0100
Takashi Iwai <tiwai@suse.de> wrote:
> At Wed, 12 Feb 2014 20:37:36 +0000,
> Matthew Garrett wrote:
> >
> > On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > > The mute LED states have to be restored after resume.
> >
> > Oh, never mind, we're not doing this through the LED class, are we?
>
> Good point. It seems that leds_class has pm_ops but it's enabled only
> when a flag is set.
>
> I added the original bug reporter to Cc. (Don't know the name,
> Bugzilla shows only the email address.)
> Could you check the patch below works instead of the previous fix?
>
>
> Takashi
>
> ---
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index defb6afc1409..16edf75d9c00 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
> .name = "tpacpi::thinklight",
> .brightness_set = &light_sysfs_set,
> .brightness_get = &light_sysfs_get,
> + .flags = LED_CORE_SUSPENDRESUME,
> }
> };
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-13 18:02 ` rauchwolke
0 siblings, 0 replies; 12+ messages in thread
From: rauchwolke @ 2014-02-13 18:02 UTC (permalink / raw)
To: Takashi Iwai
Cc: Matthew Garrett, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
Hi,
this patch doesn't work. The sound is now muted after the resume (light is on).
But the userspace knows nothing about it. (kmix shows the volume as umuted)
Peter
On Thu, 13 Feb 2014 09:35:30 +0100
Takashi Iwai <tiwai@suse.de> wrote:
> At Wed, 12 Feb 2014 20:37:36 +0000,
> Matthew Garrett wrote:
> >
> > On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > > The mute LED states have to be restored after resume.
> >
> > Oh, never mind, we're not doing this through the LED class, are we?
>
> Good point. It seems that leds_class has pm_ops but it's enabled only
> when a flag is set.
>
> I added the original bug reporter to Cc. (Don't know the name,
> Bugzilla shows only the email address.)
> Could you check the patch below works instead of the previous fix?
>
>
> Takashi
>
> ---
> diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> index defb6afc1409..16edf75d9c00 100644
> --- a/drivers/platform/x86/thinkpad_acpi.c
> +++ b/drivers/platform/x86/thinkpad_acpi.c
> @@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
> .name = "tpacpi::thinklight",
> .brightness_set = &light_sysfs_set,
> .brightness_get = &light_sysfs_get,
> + .flags = LED_CORE_SUSPENDRESUME,
> }
> };
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
2014-02-13 18:02 ` rauchwolke
@ 2014-02-14 6:37 ` Takashi Iwai
-1 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2014-02-14 6:37 UTC (permalink / raw)
To: rauchwolke
Cc: Matthew Garrett, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
At Thu, 13 Feb 2014 19:02:46 +0100,
rauchwolke@gmx.net wrote:
>
> Hi,
>
> this patch doesn't work. The sound is now muted after the resume (light is on).
> But the userspace knows nothing about it. (kmix shows the volume as umuted)
OK, scratch the last patch. I thought the mute LED is also a part of
thinkpad_acpi's leds_class, but it's not. So, my initial patch is a
correct fix in the end.
Matthew, could you take it please?
thanks,
Takashi
>
> Peter
>
>
> On Thu, 13 Feb 2014 09:35:30 +0100
> Takashi Iwai <tiwai@suse.de> wrote:
>
> > At Wed, 12 Feb 2014 20:37:36 +0000,
> > Matthew Garrett wrote:
> > >
> > > On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > > > The mute LED states have to be restored after resume.
> > >
> > > Oh, never mind, we're not doing this through the LED class, are we?
> >
> > Good point. It seems that leds_class has pm_ops but it's enabled only
> > when a flag is set.
> >
> > I added the original bug reporter to Cc. (Don't know the name,
> > Bugzilla shows only the email address.)
> > Could you check the patch below works instead of the previous fix?
> >
> >
> > Takashi
> >
> > ---
> > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> > index defb6afc1409..16edf75d9c00 100644
> > --- a/drivers/platform/x86/thinkpad_acpi.c
> > +++ b/drivers/platform/x86/thinkpad_acpi.c
> > @@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
> > .name = "tpacpi::thinklight",
> > .brightness_set = &light_sysfs_set,
> > .brightness_get = &light_sysfs_get,
> > + .flags = LED_CORE_SUSPENDRESUME,
> > }
> > };
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume
@ 2014-02-14 6:37 ` Takashi Iwai
0 siblings, 0 replies; 12+ messages in thread
From: Takashi Iwai @ 2014-02-14 6:37 UTC (permalink / raw)
To: rauchwolke
Cc: Matthew Garrett, david.henningsson, ibm-acpi-devel,
platform-driver-x86, ibm-acpi, linux-kernel
At Thu, 13 Feb 2014 19:02:46 +0100,
rauchwolke@gmx.net wrote:
>
> Hi,
>
> this patch doesn't work. The sound is now muted after the resume (light is on).
> But the userspace knows nothing about it. (kmix shows the volume as umuted)
OK, scratch the last patch. I thought the mute LED is also a part of
thinkpad_acpi's leds_class, but it's not. So, my initial patch is a
correct fix in the end.
Matthew, could you take it please?
thanks,
Takashi
>
> Peter
>
>
> On Thu, 13 Feb 2014 09:35:30 +0100
> Takashi Iwai <tiwai@suse.de> wrote:
>
> > At Wed, 12 Feb 2014 20:37:36 +0000,
> > Matthew Garrett wrote:
> > >
> > > On Wed, 2014-02-12 at 16:32 +0100, Takashi Iwai wrote:
> > > > The mute LED states have to be restored after resume.
> > >
> > > Oh, never mind, we're not doing this through the LED class, are we?
> >
> > Good point. It seems that leds_class has pm_ops but it's enabled only
> > when a flag is set.
> >
> > I added the original bug reporter to Cc. (Don't know the name,
> > Bugzilla shows only the email address.)
> > Could you check the patch below works instead of the previous fix?
> >
> >
> > Takashi
> >
> > ---
> > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
> > index defb6afc1409..16edf75d9c00 100644
> > --- a/drivers/platform/x86/thinkpad_acpi.c
> > +++ b/drivers/platform/x86/thinkpad_acpi.c
> > @@ -4796,6 +4796,7 @@ static struct tpacpi_led_classdev tpacpi_led_thinklight = {
> > .name = "tpacpi::thinklight",
> > .brightness_set = &light_sysfs_set,
> > .brightness_get = &light_sysfs_get,
> > + .flags = LED_CORE_SUSPENDRESUME,
> > }
> > };
> >
>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-02-14 6:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-12 15:32 [PATCH] thinkpad_acpi: Fix inconsistent mute LED after resume Takashi Iwai
2014-02-12 19:21 ` Henrique de Moraes Holschuh
2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:36 ` Matthew Garrett
2014-02-12 20:37 ` Matthew Garrett
2014-02-12 20:37 ` Matthew Garrett
2014-02-13 8:35 ` Takashi Iwai
2014-02-13 8:35 ` Takashi Iwai
2014-02-13 18:02 ` rauchwolke
2014-02-13 18:02 ` rauchwolke
2014-02-14 6:37 ` Takashi Iwai
2014-02-14 6:37 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.