Re: [PATCH] ACPI driver support for pata
From: Robert Hancock
Date: Fri Feb 23 2007 - 09:38:37 EST
Alan wrote:
The link order is set up so that we try things in a very specific
deliberate order
- Hardware specific driver (unless it deliberately punts to ACPI)
- ACPI driver using _GTM/_STM etc
- Generic PCI driver ("stay in the mode the BIOS set and pray")
- ISA register compatibility mode (PIO)
This is essentially the strategy used by the old IDE layer since way back
when (minus ACPI support) and has served us pretty well.
Unfortunately, link order appears to have no effect when the drivers in
question are built modular, as appears to be the typical case, unlike
old IDE where they were generally built in because of all the other
busted behavior if you built the drivers as modules. This means that
userspace tools like mkinitrd, udev, etc. will need to be taught to try
to load drivers in this order, and not to try to use pata_acpi on an
Nvidia SATA controller, for example, as the Fedora mkinitrd seems to do.
This is more complicated than just that if you have multiple
controllers, you have to be even more careful with the load ordering to
ensure this ordering applies system-wide, since the pata_acpi or generic
drivers will attach to anything, while trying to load a driver for the
first controller, you may end up with the second controller getting
those drivers attached to them when they had a controller-specific
driver available that should have been used instead.
Plus there's controller hotplug - if multiple loaded drivers are listed
as being able to drive a piece of hardware, does anything define which
driver will get first dibs on attaching to the device when it's
hotplugged? I don't know how this ordering will be enforced in that case.
--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/