[ltp] /proc/acpi/ibm/bay gone with ThinkPad ACPI Extras v0.19-20080107/2.6.24

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Wed, 30 Jan 2008 18:37:54 -0200


On Thu, 31 Jan 2008, Marc MERLIN wrote:
> On Wed, Jan 30, 2008 at 10:36:36AM -0200, Henrique de Moraes Holschuh wrote:
> > On Wed, 30 Jan 2008, Marc MERLIN wrote:
> > > thinkpad_acpi: ThinkPad BIOS 7FETA4WW (2.22 ), EC 7FHT26WW-1.08
> > > thinkpad_acpi: Lenovo ThinkPad Z61p
> > > 
> > > I am also slightly confused about the bay driver in 2.6.24:
> kernel: ACPI: \_SB_.PCI0.IDE0.PRIM.MSTR: found ejectable bay
> kernel: ACPI: \_SB_.PCI0.IDE0.PRIM.MSTR: Adding notify handler
> kernel: ACPI: Error installing bay notify handler
> kernel: ACPI: Bay [\_SB_.PCI0.IDE0.PRIM.MSTR] Added

Ah, those are from ACPI bay, not thinkpad-acpi.  Looks like ACPI bay in
2.6.24 is buggy.  Try to *boot* without loading thinkpad-acpi at all, and
load bay.  If it works, we have a bug in the exit path of thinkpad-acpi.
Otherwise, we have a bug in ACPI bay, in which case you need to file a bug
in bugzilla.kernel.org (file the info in the bug report *without* ever
loading thinkpad-acpi, just in case).

> Just to confirm, I could eject for 2.6.22.15 but not 2.6.24 (I get no
> eject even in acpid, and no /proc/acpi/ibm/bay)

As long as ACPI bay is NOT loaded when you load your patched thinkpad-acpi,
*AND* you have the "deprecated" /proc/acpi functionality at all
(/proc/acpi/events exists), it *should work* in 2.6.24.

If it doesn't, there is a bug in 2.6.24's thinkpad-acpi or ACPI layer, and
I will try to track it down and fix it with your help.

> > > 1) what's this 'Error installing bay notify handler' which I've always
> > >    had?
> > 
> > It means another driver is already handling that ACPI node, and only one
> > driver at a time can handle an ACPI node.
>  
> Sounds fair. Is that a kernel acpi bay vs thinkpad_acpi problem both
> fighting for the bay? If so, who should handle it in 2.6.24?

The two drivers always fight over the bay, you need to chose one of the two.
Thinkpad-acpi will just not load the bay functionality if it finds someone
else using it.  I don't know what ACPI Bay will do if it can't get a
particular bay node.

> Ok, so from what I understand, /proc/acpi/ibm/bay was meant to be removed from

It *is* meant to be removed in the *future*.  It has not been removed yet in
any way.  But obviously it won't work if you tell ACPI to not export its
deprecated /proc/acpi interface (as it needs /proc/acpi), so please check
that you did compile in some of the deprecated ACPI stuff :-)

> thinkpad-acpi, but my problem is that I was relying on /proc/acpi/ibm/bay and
> I'm currently out of luck because kernel CONFIG_ACPI_BAY doesn't work on my Z61p.
> Correct?

No.  You are currently out of luck because of some bug, let's find it, and
fix it.

> If so, let me know what info I can give you, and I'll see if I can
> revert to an older thinkpad-acpi that still has /proc/acpi/ibm/bay
> working on 2.6.24, or just plain revert to 2.6.22.15 otherwise.

I am using 2.6.23.y here right now, it should work perfectly as well.

> As for \_SB_.PCI0.IDE0.PRIM.MSTR, am I supposed to keep patching that in the kernel, 
> or are things supposed to work without it for me, considering that my bay does seem
> to be there according to:
> kernel: ACPI: \_SB_.PCI0.IDE0.PRIM.MSTR: found ejectable bay

ACPI bay is supposed to simply work for you (although the way you get the
event that signals that the bay lever was released is different).

The fact that it doesn't is yet another bug :(

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