linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Supporting ACPI drive hotswap
@ 2005-09-24 16:48 Matthew Garrett
  2005-09-24 19:40 ` Randy.Dunlap
  0 siblings, 1 reply; 4+ messages in thread
From: Matthew Garrett @ 2005-09-24 16:48 UTC (permalink / raw)
  To: acpi-support, linux-kernel, linux-ide, linux-scsi

ACPI provides a mechanism for noting which devices can be hotswapped and 
notifying the system that this has happened. Hotswappable devices are 
tagged with a _RMV token. What effectively needs to be done is this:

1) Find every device with an _RMV token, and install a notify handler 
for it. This is fairly easy.

2) On notification, check whether the device is present or absent. This 
can be done by calling the _STA method - alternatively it could 
presumably be done through the appropriate IDE or SCSI layer. I believe 
that we now have code that allows binding of ACPI devices to appropriate 
busses.

3) If a device has been added, enumerate it and do appropriate messaging
to userspace (for device node creation and so forth). This ought to be 
relatively easy?

4) If a device has been removed, we currently have problems. SATA 
hotplugging is only supported on a subset of devices. The SATA laptop I 
have here is an Intel ICH part, but uses the ata_piix driver (ahci won't 
load) which isn't supposed to support hotswap. Unregistering devices in 
the IDE layer has been broken for ages.

Is there any point in working on the first three of these points until 
point four is more reasonable? What actually needs to be done to improve 
this?
-- 
Matthew Garrett | mjg59@srcf.ucam.org

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-09-24 21:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-24 16:48 Supporting ACPI drive hotswap Matthew Garrett
2005-09-24 19:40 ` Randy.Dunlap
2005-09-24 19:45   ` Mark Lord
2005-09-24 21:14     ` Matthew Garrett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).