Re: CONFIG_IBM_BAY

Kristen Carlson Accardi
2007-03-19T18:04:12Z

On Sun, 18 Mar 2007 19:55:30 +0100
Holger Macht <hmacht@suse.de> wrote:

> On Sun 18. Mar - 15:36:52, Henrique de Moraes Holschuh wrote:
> > On Sun, 18 Mar 2007, Holger Macht wrote:
> > > those ThinkPads where it is needed. Afterwards it does the corresponding
> > > dock/undock request on ibm_acpi. And this works reliably good what I can
> > > see from the feedback I already got. But for this to work, userspace would
> >
> > It should work with the generic bay device too, but I have no ideas about
> > dock. But you'll need to deal with udev with the new bay device, something
> > I am not too happy about. These things are ACPI events, they should remain
> > so unless all other ACPI events are going to become uevents.
>
> It doesn't work, I've already tried. The bay driver only emits an event if
> you really try to remove the bay, but not on docking/undocking.
>
> Regards,
> Holger
>

this *should* work. The Bay driver registers with the dock driver to get
dock events:

/* if we are on a dock station, we should register for dock
* notifications.
*/
if (bay_is_dock_device(handle)) {
bay_dprintk(handle, "Is dependent on dock\n");
register_hotplug_dock_device(handle, bay_notify, new_bay);
}

then, on undock the dock driver calls the bay_notify function and passes
it the EJECT request event. This causes the bay driver to emit an event to
userspace.

case ACPI_NOTIFY_EJECT_REQUEST:
kobject_uevent(&dev->kobj, KOBJ_CHANGE);
break;
default:

an event to userspace.