[ltp] /proc/acpi/ibm/bay gone with ThinkPad ACPI Extras
v0.19-20080107/2.6.24
Marc MERLIN
linux-thinkpad@linux-thinkpad.org
Thu, 31 Jan 2008 00:05:09 +1100
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
>
> I will look into this, it should have screamed bloody murder and refused to
> load: without the notify handler, it won't work right(!), although it
> *would* be able to command the thinkpad to eject the bay.
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)
> > 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?
> I.e. you have ACPI bay.c loaded.
Yes, it's bay.c that generated the above:
gandalf:~# tail -n0 -f /var/log/kern.log | sed "s/*.kernel: /kernel: /" &
[1] 11836
gandalf:~# rmmod bay
kernel: ACPI Exception (evxface-0544): AE_BAD_PARAMETER, Removing notify handler [20070126]
gandalf:~# rmmod thinkpad_acpi
gandalf:~# modprobe bay
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
gandalf:~# find /proc | grep bay
gandalf:~# rmmod bay
kernel: ACPI Exception (evxface-0544): AE_BAD_PARAMETER, Removing notify handler [20070126]
gandalf:~# modprobe thinkpad_acpi
kernel: thinkpad_acpi: ThinkPad ACPI Extras v0.19-20080107
kernel: thinkpad_acpi: http://ibm-acpi.sf.net/
kernel: thinkpad_acpi: ThinkPad BIOS 7FETA4WW (2.22 ), EC 7FHT26WW-1.08
kernel: thinkpad_acpi: Lenovo ThinkPad Z61p
kernel: thinkpad_acpi: radio switch found; radios are enabled
kernel: thinkpad_acpi: standard ACPI backlight interface available, not loading native one...
kernel: input: ThinkPad Extra Buttons as /devices/virtual/input/input26
gandalf:~# l /proc/acpi/ibm/bay
ls: /proc/acpi/ibm/bay: No such file or directo
> > 2) why does the kernel config say that this bay driver is supposed to work
> > on thinkpads when it looks like it never worked for me and I always had
> > the bay driver from {ibm,thinkpad}-acpi
>
> Which kernel config? The ACPI generic bay driver *does* work on any
2.6.24:
.config - Linux Kernel v2.6.24-hdaps-tpacpi0.19-p4core2smp-preempt-1khz-noticks
-qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
lqqqqqqqqqqqqqqqqqq Removable Drive Bay (EXPERIMENTAL) qqqqqqqqqqqqqqqqqqqk
x CONFIG_ACPI_BAY: x
x x
x This driver adds support for ACPI controlled removable drive x
x bays such as the IBM ultrabay or the Dell Module Bay.
> thinkpads with hotswap bays. It won't work on some older thinkpads that do
> warmswap (tell it to eject, SLEEP, remove device, WAKE), but I am not sure
> even thinkpad-acpi would work right with warmswap.
I guess that doesn't apply to me. I think I never got bay to work with
2.6.22, but thinkpad-acpi bay was working fine, generating events in acpid, and
letting me unregister the ide device.
> > Also, note that I also patched drivers/misc/thinkpad_acpi.c as recommended
> > by tytso to add \_SB_.PCI0.IDE0.PRIM.MSTR: as per
> > http://www.mail-archive.com/linux-acpi%40vger.kernel.org/msg04716.html
> > As per the messages I got above, it looks like my Z61p with sata but IDE
> > ultrabay still requires this patch which isn't in mainline.
>
> And it will never be, it breaks other thinkpads. I would have to rewrite the
> bay handler to fix it, and sincerely, it is deprecated and not worth the
> bother, UNLESS ACPI bay never works right (which, AFAIK, isn't true).
>
> I will probably remove bay and dock handling from thinkpad-acpi in 2.6.26,
> since ACPI generic bay is supposed to start working for batteries in 2.6.25.
Ok, so from what I understand, /proc/acpi/ibm/bay was meant to be removed from
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?
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.
Does that sound right?
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
Thanks,
Marc
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems & security ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/