On Wed, 18 Jun 2008 20:13:35 -0700
James Chacon <jmc%NetBSD.org@localhost> wrote:
So I noticed when booting current on my laptop everything maps
cleanly under ACPI now (including the previously broken cardbus back
in the pre 4.0 days).
However there's no driver for the dock. Running acpidump on this
laptop shows it described correctly and it provides EJD tags for any
devices it's passing through to the doc (com, lpt and usb in my
case).
What I was wondering is if there's any current plans for drivers for
docks? It's been a significant amount of time since I last looked at
things so wanted to know if anyone was already looking at this.
From what I can tell the sequence for dealing with docks would be:
Issue some form of "please allow eject" from a dock call.
For all devices containing an EJD tag for that dock, attempt a
detach on them. For things which are in active use (USB drives, etc)
fail of course until they're ready.
OS side does a _DCK(0) call (blocks until dock is ready)
OS issues an asych _EJ0 call
ACPI completes this once the actual undock has happened
Rescan devices that had EJD tags associated with this dock and
reattach any that are still around.
i.e. on my laptop the com/lpt ports are pass-through out to the
dock. So after eject they're still around and active and should be
reattached, but not all the USB ports are there (the dock has a
couple more exposed).
I'm assuming the user level side of this could be augmented support
in eject(1) and possibly a dock device to call against.
Does this sound sane as a start?
Presumably, some of that could be done at user level via drvctl.
Reattaching is trickier, though I think drvctl can do that, too.