Re: Implement class_device_update_dev() function
From: Kay Sievers
Date: Sat Jul 08 2006 - 08:59:05 EST
On Sat, 2006-07-08 at 11:27 +0200, Marcel Holtmann wrote:
> > > > But userspace should also find out about this change, and this patch
> > > > prevents that from happening. What about just tearing down the class
> > > > device and creating a new one? That way userspace knows about the new
> > > > linkage properly, and any device naming and permission issues can be
> > > > handled anew?
> > >
> > > This won't work for Bluetooth. We create the TTY and its class device
> > > with tty_register_device() and then the device node is present. Then at
> > > some point later we open that device and the Bluetooth connection gets
> > > established. Only when the connection has been established we know the
> > > device that represents it. So tearing down the class device and creating
> > > a new one will screw up the application that is using this device node.
> > >
> > > Would reissuing the uevent of the class device help here?
> >
> > How about KOBJ_ONLINE/OFFLINE?
>
> I am not that familiar with the internals of kobject. Can you give me an
> example on how to do that?
Just send another event (but not add or remove), for the already created
object. CPU hotplug uses ONLINE/OFFLINE, and we also use it to get
notified when the device mapper table is set up (not upstream). Udev is
able to update symlinks, or run actions on "online" events if asked
for.
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;h=52674323b14da5724bfdc4ffee830609f116d248;hb=HEAD;f=drivers/acpi/processor_core.c#l714
Kay
-
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/