ibm-acpi bay and acpi generic bay convergence

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kristen,

I just compared ibm-acpi bay stuff with what is in the generic driver.
Here's a initial take of stuff to do:


1. The generic driver only handles hotplug bays (_EJ0).  I'd like to also
handle warm/coldplug bays (_EJ3).

Warm/coldplug bays are available on ThinkPads model 600e/x, A2Xm/p, A3Xm/p.
They are otherwise as hard (or easy) to handle as any other thinkpad bay.

I don't know if for such bays it would be better to eject when preparing for
a suspend instead of immediately, as they lack the required hardware to
allow for safe removal of devices while the machine is still on.

2. The current logic for is_ata probably won't get everything PATA.  I
assume nobody is doing SATA bays without the SATA namespace nodes, but that
is also a possible source of error.  I didn't have time to manually check
the ThinkPad DSDTs I have around to see if there is a known failure for
PATA, yet.

If is_ata could try harder to identify a PATA/SATA device that is missing
the usual nodes, it would be better. However, I have *no* idea on how to do
that.

It is, however, a good enough reason to export an API to allow drivers like
ibm-acpi to inform ACPI_BAY that a given handle should be added as a bay --
this allows us to use higly model-specific knowledge (like a fixed map
between DSDT namespace to PATA port) to locate every bay.  That would also
require an API for ibm-acpi to know if ACPI_BAY gets loaded/unloaded...

If we were using anything less limited than the platform bus, we could even
do this properly and just have ibm-acpi register bay devices that the driver
model would match with a bay driver (ACPI_BAY).  That would also make it
extremely easy to deal with device-specific attributes, and inter-module
communication.  Can we have that proper bus for ACPI stuff, pretty please?

3. is_ejectable_bay is too simple-minded.  It could work for batteries, if it
didn't try so hard to detect only sata/ata devices as bays.  Maybe it can be
changed to try to detect anything that can be ejected and which is not a
dock?  It would find thinkpad batteries, then.

Alternatively, I can use the API I asked for (2) to register the battery bay
handler.  But that looks less optimal, right now.


I need to do some tests to check what happens in a thinkpad when you swap an
ATAPI device with a battery, let's hope IBM did the right thing re. the
event sources since they have two bay handles that belong to the same bay,
and that Lenovo didn't break it.

-- 
  "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
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux