2008-03-18 09:12:22

by Len Brown

[permalink] [raw]
Subject: [GIT PATCH] ACPI patches for 2.6.25-rc6

Hi Linus,

please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release

This will update the files shown below.

thanks!

-Len

ps. individual patches are available on [email protected]
and a consolidated plain patch is available here:
ftp://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/release/2.6.25/acpi-release-20070126-2.6.25-rc6.diff.gz

drivers/acpi/asus_acpi.c | 2 +-
drivers/acpi/battery.c | 11 +--
drivers/acpi/processor_idle.c | 12 ++-
drivers/acpi/video.c | 60 +--------------
drivers/ata/Kconfig | 1 +
drivers/thermal/Kconfig | 2 -
drivers/thermal/thermal.c | 169 ++++++----------------------------------
7 files changed, 43 insertions(+), 214 deletions(-)

through these commits:

Alexey Starikovskiy (1):
ACPI: battery: Don't return -EFAIL on broken packages.

Julia Lawall (1):
asus_acpi: remove misleading mask

Len Brown (5):
ACPI: fix ATA_ACPI build
Revert "thermal: fix generic thermal I/F for hwmon"
thermal: delete "default y"
Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware"
Revert "ACPI: video: Ignore devices that aren't present in hardware"

Venki Pallipadi (1):
ACPI: lockdep warning on boot, 2.6.25-rc5

Zhang, Rui (1):
thermal: re-document thermal units

with this log:

commit d9ea1364d37b53710519909ab125a53b0a8ca64f
Merge: abc5a87... b8a1bdb... 77321e6... 0ac4a3c... 71e93d1... ece54e2...
Author: Len Brown <[email protected]>
Date: Tue Mar 18 04:52:57 2008 -0400

Merge branches 'release', 'asus', 'bugzilla-8573', 'bugzilla-9995', 'bugzilla-10272', 'lockdep' and 'thermal' into release

commit 77321e624b64f1e5985a20f3cd16b94c96d0dbb4
Author: Len Brown <[email protected]>
Date: Tue Mar 18 04:04:35 2008 -0400

Revert "ACPI: video: Ignore devices that aren't present in hardware"

This reverts commit 0119509c4fbc9adcef1472817fda295334612976.

http://bugzilla.kernel.org/show_bug.cgi?id=9995

Signed-off-by: Len Brown <[email protected]>

commit abc5a87f4e627e058813a95b112e9f5f21668f9d
Author: Julia Lawall <[email protected]>
Date: Tue Mar 4 15:00:13 2008 -0800

asus_acpi: remove misleading mask

led_out is boolean, so there is no functional change here,
but apparently an extra mask with 1 caused some style checkers
to flag this as logic bug.

Signed-off-by: Julia Lawall <[email protected]>
Acked-by: Luca Tettamanti <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Len Brown <[email protected]>

commit f0d6752c9fa51d24c86b57c76ec5b2926a716b23
Author: Len Brown <[email protected]>
Date: Tue Mar 18 01:43:53 2008 -0400

Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware"

This reverts commit 3fa2cdcc45a0176de15cac9dbf4ed2834ebf8932.

http://bugzilla.kernel.org/show_bug.cgi?id=9995

Signed-off-by: Len Brown <len.brown>

commit ece54e2ff45062852e4647e85b2bb5f6aee8211c
Author: Len Brown <[email protected]>
Date: Tue Mar 18 01:22:10 2008 -0400

thermal: delete "default y"

The generic thermal I/F gets selected by ACPI_THERMAL --
its only current customer.
it doesn't need to clutter other configs by default.

Signed-off-by: Len Brown <[email protected]>

commit 6d7f014e55c5227220da1f021c518487fcfd585a
Author: Zhang, Rui <[email protected]>
Date: Tue Mar 18 10:40:29 2008 +0800

thermal: re-document thermal units
From: Zhang Rui <[email protected]>

(reverting the previous sysfs patch also reverted a fix
to the thermal units documentation, which is restored by this commit)

The generic thermal driver shows temperature in millidegree Celsius.

Signed-off-by: Zhang Rui <[email protected]>
Signed-off-by: Len Brown <[email protected]>

commit 91f57fa1215952af579f304821a15cc6c656042c
Author: Len Brown <[email protected]>
Date: Tue Mar 18 01:14:37 2008 -0400

Revert "thermal: fix generic thermal I/F for hwmon"

This reverts commit 3152fb9f11cdd2fd8688c2c5cb805e5c09b53dd9.

This broke libsensors.

Acked-by: Zhang Rui <[email protected]>
Acked-by: Jean Delvare <[email protected]>
Signed-off-by: Len Brown <[email protected]>

commit 0ac4a3c2fbbcadc3e96e4dc47d4ae802d66e6f67
Author: Len Brown <[email protected]>
Date: Tue Mar 18 00:26:07 2008 -0400

ACPI: fix ATA_ACPI build

drivers/ata/libata-acpi.c fails to build

drivers/built-in.o: In function `ata_acpi_associate':
(.text+0x7106a): undefined reference to `register_hotplug_dock_device'

When CONFIG_ATA_ACPI=y and CONFIG_ACPI_DOCK=m
But if dock is selected from ata_acpi, dock will =y
when ata_acpi=y, avoiding this problem.

http://bugzilla.kernel.org/show_bug.cgi?id=10272

Signed-off-by: Len Brown <[email protected]>

commit b8a1bdb14940946fcf0438a6337b2a6c54294fb8
Author: Alexey Starikovskiy <[email protected]>
Date: Mon Mar 17 22:37:42 2008 -0400

ACPI: battery: Don't return -EFAIL on broken packages.

Acer BIOS has a bug which is exposed when a dead battery is present.

The package template that is used to describe battery status is
over-written with sane values when the battery is live.
But when the batter is dead, a bogus reference in the template
is used. In this case, Linux returns a fault, when instead
it should simply return that it doesn't know the missing value.

http://bugzilla.kernel.org/show_bug.cgi?id=8573
http://bugzilla.kernel.org/show_bug.cgi?id=10202

Signed-off-by: Alexey Starikovskiy <[email protected]>
Signed-off-by: Len Brown <[email protected]>

commit 71e93d15612c61c2e26a169567becf088e71b8ff
Author: Venki Pallipadi <[email protected]>
Date: Thu Mar 13 17:18:19 2008 -0700

ACPI: lockdep warning on boot, 2.6.25-rc5

This avoids the harmless WARNING by lockdep in acpi_processor_idle().

The reason for WARNING is because at the depth of idle handling code,
some of the idle handlers disable interrupts, some times, while returning from
the idle handler. After return, acpi_processor_idle and few other routines
in the file did an unconditional local_irq_enable(). With LOCKDEP, enabling
irq when it is already enabled generates the below WARNING.

> > [ 0.593038] ------------[ cut here ]------------
> > [ 0.593267] WARNING: at kernel/lockdep.c:2035 trace_hardirqs_on+0xa0/0x115()
> > [ 0.593596] Modules linked in:
> > [ 0.593756] Pid: 0, comm: swapper Not tainted 2.6.25-rc5 #8
> > [ 0.594017]
> > [ 0.594017] Call Trace:
> > [ 0.594216] [<ffffffff80231663>] warn_on_slowpath+0x58/0x6b
> > [ 0.594495] [<ffffffff80495966>] ? _spin_unlock_irqrestore+0x38/0x47
> > [ 0.594809] [<ffffffff80329a86>] ? acpi_os_release_lock+0x9/0xb
> > [ 0.595103] [<ffffffff80337840>] ? acpi_set_register+0x161/0x173
> > [ 0.595401] [<ffffffff8034c8d4>] ? acpi_processor_idle+0x1de/0x546
> > [ 0.595706] [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [ 0.595970] [<ffffffff8024fc0e>] trace_hardirqs_on+0xa0/0x115
> > [ 0.596049] [<ffffffff8034c6f6>] ? acpi_processor_idle+0x0/0x546
> > [ 0.596346] [<ffffffff8034c8d4>] acpi_processor_idle+0x1de/0x546
> > [ 0.596642] [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [ 0.596912] [<ffffffff8034c6f6>] ? acpi_processor_idle+0x0/0x546
> > [ 0.597209] [<ffffffff8020a23b>] ? default_idle+0x0/0x73
> > [ 0.597472] [<ffffffff8020a355>] cpu_idle+0xa7/0xd1
> > [ 0.597717] [<ffffffff80485fa1>] rest_init+0x55/0x57
> > [ 0.597957] [<ffffffff8062fb49>] start_kernel+0x29d/0x2a8
> > [ 0.598215] [<ffffffff8062f1da>] _sinittext+0x1da/0x1e1
> > [ 0.598464]
> > [ 0.598546] ---[ end trace 778e504de7e3b1e3 ]---

Signed-off-by: Venkatesh Pallipadi <[email protected]>
Signed-off-by: Len Brown <[email protected]>


2008-03-26 08:17:37

by Ingo Molnar

[permalink] [raw]
Subject: Re: [GIT PATCH] ACPI patches for 2.6.25-rc6


* Len Brown <[email protected]> wrote:

> Hi Linus,
>
> please pull from:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release
>
> This will update the files shown below.

btw., saw this ACPI-ish commit in rc7:

| commit b97d4803400a4442b0e4ae14d0bd8e83994b9004
| Author: Bjorn Helgaas <[email protected]>
| Date: Tue Mar 25 11:21:11 2008 -0600
|
| ACPI: fix Medion _PRT quirk (use "ISA_", not "ISA")

a grep shows that we've got one other case of an "ISA" string in the
ACPI code - is the patch below needed too?

Ingo

-------------------->
Subject: acpi: fix asus isa
From: Ingo Molnar <[email protected]>
Date: Wed Mar 26 09:05:07 CET 2008

Signed-off-by: Ingo Molnar <[email protected]>
---
drivers/acpi/asus_acpi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-x86.q/drivers/acpi/asus_acpi.c
===================================================================
--- linux-x86.q.orig/drivers/acpi/asus_acpi.c
+++ linux-x86.q/drivers/acpi/asus_acpi.c
@@ -149,7 +149,7 @@ struct asus_hotk {
};

/* Here we go */
-#define A1x_PREFIX "\\_SB.PCI0.ISA.EC0."
+#define A1x_PREFIX "\\_SB.PCI0.ISA_.EC0."
#define L3C_PREFIX "\\_SB.PCI0.PX40.ECD0."
#define M1A_PREFIX "\\_SB.PCI0.PX40.EC0."
#define P30_PREFIX "\\_SB.PCI0.LPCB.EC0."

2008-03-26 15:34:44

by Len Brown

[permalink] [raw]
Subject: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)


> btw., saw this ACPI-ish commit in rc7:
>
> | commit b97d4803400a4442b0e4ae14d0bd8e83994b9004
> | Author: Bjorn Helgaas <[email protected]>
> | Date: Tue Mar 25 11:21:11 2008 -0600
> |
> | ACPI: fix Medion _PRT quirk (use "ISA_", not "ISA")
>
> a grep shows that we've got one other case of an "ISA" string in the
> ACPI code - is the patch below needed too?
>
> Ingo
>
> -------------------->
> Subject: acpi: fix asus isa
> From: Ingo Molnar <[email protected]>
> Date: Wed Mar 26 09:05:07 CET 2008
>
> Signed-off-by: Ingo Molnar <[email protected]>
> ---
> drivers/acpi/asus_acpi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: linux-x86.q/drivers/acpi/asus_acpi.c
> ===================================================================
> --- linux-x86.q.orig/drivers/acpi/asus_acpi.c
> +++ linux-x86.q/drivers/acpi/asus_acpi.c
> @@ -149,7 +149,7 @@ struct asus_hotk {
> };
>
> /* Here we go */
> -#define A1x_PREFIX "\\_SB.PCI0.ISA.EC0."
> +#define A1x_PREFIX "\\_SB.PCI0.ISA_.EC0."

>From an AML point of view, ISA is just as legal as "ISA_"
The NameString paramter to Device() can be 1 to 4 characters.

So if this is correct or not depends on what the BIOS programmer
for the Asus A1x choose to write. Perhaps Corentin 'Iksaif' CHARY
can confirm if the driver is working properly on that system.

-Len

> #define L3C_PREFIX "\\_SB.PCI0.PX40.ECD0."
> #define M1A_PREFIX "\\_SB.PCI0.PX40.EC0."
> #define P30_PREFIX "\\_SB.PCI0.LPCB.EC0."
>

2008-03-26 15:53:28

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

On Wednesday 26 March 2008 09:32:20 am Len Brown wrote:
> > /* Here we go */
> > -#define A1x_PREFIX "\\_SB.PCI0.ISA.EC0."
> > +#define A1x_PREFIX "\\_SB.PCI0.ISA_.EC0."
>
> From an AML point of view, ISA is just as legal as "ISA_"
> The NameString paramter to Device() can be 1 to 4 characters.
>
> So if this is correct or not depends on what the BIOS programmer
> for the Asus A1x choose to write. Perhaps Corentin 'Iksaif' CHARY
> can confirm if the driver is working properly on that system.

I'm curious about how this works. I disassembled the DSDT from
http://bugzilla.kernel.org/show_bug.cgi?id=4773 (I attached the disassembly
at http://bugzilla.kernel.org/attachment.cgi?id=15448&action=view), and
the _PRT contains "_SB" and "ISA" (no trailing underscores):

Package (0x04)
{
0x000DFFFF,
0x00,
\_SB.PCI0.ISA.LNKA,
0x00
}

But by the time we get to acpi_pci_irq_add_entry(), we've added the
underscores somewhere (see
http://bugzilla.kernel.org/attachment.cgi?id=15423&action=view):

0000:00:0d[A] -> \_SB_.PCI0.ISA_.LNKA

I don't know where this happens, but it certainly confused me, and
it seems like it could lead to other bugs.

Bjorn

2008-03-26 15:57:53

by Corentin Chary

[permalink] [raw]
Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

On Wednesday 26 March 2008 16:32:20 Len Brown wrote:
> So if this is correct or not depends on what the BIOS programmer
> for the Asus A1x choose to write. ?Perhaps Corentin 'Iksaif' CHARY
> can confirm if the driver is working properly on that system.

Hi,
Sorry I don't have an A1x to test that, and this was here a long time before I start working on acpi4asus.
But, see that grep :

chary_c@foo /usr/src/linux/drivers/misc $ grep ISA *
asus-laptop.c: "\\_SB.PCI0.ISA.EC0._Q10", /* A1x */
thinkpad_acpi.c:IBM_HANDLE(ec, root, "\\_SB.PCI0.ISA.EC0", /* 240, 240x */
thinkpad_acpi.c: "\\_SB.PCI.ISA.EC", /* 570 */
thinkpad_acpi.c: "\\_SB.PCI0.ISA0.EC0", /* 600e/x, 770e, 770x */
thinkpad_acpi.c: "\\_SB.PCI0.ISA.EC", /* A21e, A2xm/p, T20-22, X20-21 */
thinkpad_acpi.c: "\\_SB.PCI.ISA.SLCE", /* 570 */

So it seems to work for thinkpads.
I think this patch isn't needed.

--
Corentin 'Iksaif' CHARY
http://xf.iksaif.net

Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

On Wed, 26 Mar 2008, Corentin CHARY wrote:
> thinkpad_acpi.c:IBM_HANDLE(ec, root, "\\_SB.PCI0.ISA.EC0", /* 240, 240x */
> thinkpad_acpi.c: "\\_SB.PCI.ISA.EC", /* 570 */
> thinkpad_acpi.c: "\\_SB.PCI0.ISA0.EC0", /* 600e/x, 770e, 770x */
> thinkpad_acpi.c: "\\_SB.PCI0.ISA.EC", /* A21e, A2xm/p, T20-22, X20-21 */
> thinkpad_acpi.c: "\\_SB.PCI.ISA.SLCE", /* 570 */
>
> So it seems to work for thinkpads.

ThinkPads use "ISA" as the node (not ISA_ or anything else like that),
and the ACPICA node match routine works properly.

So please don't touch thinkpad-acpi's ".ISA." stuff.

--
"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

2008-03-26 17:25:12

by Alexey Starikovskiy

[permalink] [raw]
Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

Bjorn Helgaas wrote:
> I'm curious about how this works. I disassembled the DSDT from
> http://bugzilla.kernel.org/show_bug.cgi?id=4773 (I attached the disassembly
> at http://bugzilla.kernel.org/attachment.cgi?id=15448&action=view), and
> the _PRT contains "_SB" and "ISA" (no trailing underscores):
>
> Package (0x04)
> {
> 0x000DFFFF,
> 0x00,
> \_SB.PCI0.ISA.LNKA,
> 0x00
> }
>
> But by the time we get to acpi_pci_irq_add_entry(), we've added the
> underscores somewhere (see
> http://bugzilla.kernel.org/attachment.cgi?id=15423&action=view):
>
> 0000:00:0d[A] -> \_SB_.PCI0.ISA_.LNKA
>
> I don't know where this happens, but it certainly confused me, and
> it seems like it could lead to other bugs.
>
ACPI is supposed to add trailing underscore for pad all names to 4 bytes.
So ISA will be padded to ISA_.

Regards,
Alex.

2008-03-26 18:43:51

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

On Wednesday 26 March 2008 11:24:41 am Alexey Starikovskiy wrote:
> Bjorn Helgaas wrote:
> > I'm curious about how this works. I disassembled the DSDT from
> > http://bugzilla.kernel.org/show_bug.cgi?id=4773 (I attached the disassembly
> > at http://bugzilla.kernel.org/attachment.cgi?id=15448&action=view), and
> > the _PRT contains "_SB" and "ISA" (no trailing underscores):
> >
> > Package (0x04)
> > {
> > 0x000DFFFF,
> > 0x00,
> > \_SB.PCI0.ISA.LNKA,
> > 0x00
> > }
> >
> > But by the time we get to acpi_pci_irq_add_entry(), we've added the
> > underscores somewhere (see
> > http://bugzilla.kernel.org/attachment.cgi?id=15423&action=view):
> >
> > 0000:00:0d[A] -> \_SB_.PCI0.ISA_.LNKA
> >
> > I don't know where this happens, but it certainly confused me, and
> > it seems like it could lead to other bugs.
> >
> ACPI is supposed to add trailing underscore for pad all names to 4 bytes.
> So ISA will be padded to ISA_.

The questions are "where does this happen?" and "why does it not
apply to other things like asus_acpi.c?"

2008-03-26 19:22:00

by Alexey Starikovskiy

[permalink] [raw]
Subject: Re: ISA -> ISA_ (Re: [GIT PATCH] ACPI patches for 2.6.25-rc6)

Bjorn Helgaas wrote:
> On Wednesday 26 March 2008 11:24:41 am Alexey Starikovskiy wrote:
>
>> Bjorn Helgaas wrote:
>>
>>> I'm curious about how this works. I disassembled the DSDT from
>>> http://bugzilla.kernel.org/show_bug.cgi?id=4773 (I attached the disassembly
>>> at http://bugzilla.kernel.org/attachment.cgi?id=15448&action=view), and
>>> the _PRT contains "_SB" and "ISA" (no trailing underscores):
>>>
>>> Package (0x04)
>>> {
>>> 0x000DFFFF,
>>> 0x00,
>>> \_SB.PCI0.ISA.LNKA,
>>> 0x00
>>> }
>>>
>>> But by the time we get to acpi_pci_irq_add_entry(), we've added the
>>> underscores somewhere (see
>>> http://bugzilla.kernel.org/attachment.cgi?id=15423&action=view):
>>>
>>> 0000:00:0d[A] -> \_SB_.PCI0.ISA_.LNKA
>>>
>>> I don't know where this happens, but it certainly confused me, and
>>> it seems like it could lead to other bugs.
>>>
>>>
>> ACPI is supposed to add trailing underscore for pad all names to 4 bytes.
>> So ISA will be padded to ISA_.
>>
>
> The questions are "where does this happen?" and "why does it not
> apply to other things like asus_acpi.c?"
>
1. drivers/acpi/namespace/nsutils.c:419