ACPI docking stations are mildly complicated creatures that require the
OS to handle part of the undocking process. We're currently doing this
entirely within the kernel, but this has the significant downside that
there's no way to handle cleanly unmounting any block devices that are
contained within the dock - they'll simply vanish.
I've been working with David Zeuthen to flesh out proper desktop support
for this, and we're now at the point where there's not a great deal of
code to write to get this working cleanly. Unfortunately this requires a
certain level of integration between the kernel and the desktop -
something has to prompt the user about unmounting the device and then
trigger the completion of the undock. The kernel still handles the
actual ACPI execution, but policy now lives in the desktop.
Once this code is ready I'd like to change the kernel defaults to allow
this. The problem is that this will cause a reduction in functionality
for desktops that don't have this integration. How should this kind of
situation be handled?
--
Matthew Garrett | mjg59(a)srcf.ucam.org