Re: [PATCH] Add device addition/removal notifier

From: Benjamin Herrenschmidt
Date: Fri Oct 20 2006 - 01:43:35 EST



> Ok, as long as you all agree that this does change the behavior, it's
> fine with me :)

I should probably split the patch in two: One that does that behaviour
change (I already have an Acked-by: Len Brown for that one even :) and
one adding that notifier.

> Ok, then perhaps you just want a bus specific callback for the devices
> on that bus? That would be much simpler and keep you from having to do
> that mess with the different tests of bus type.
>
> Actually, that's the only thing that really makes sense here, now that I
> think about it, the platform_notify doesn't really make any sense...

Well... people already use it and go check the bus types :)

Having a notifier queue per bus type is a bit harder though because bus
types are generally allocated statically and thus we would need to find
them all in the kernel to add a proper static initialisation for the
notifier queue... bus_register() is not a good spot to do it because
platform code might want to register for bus types before those bus
types have been registered (it's not always easy to find a place to
"hook" between a bus is registered and things get added to it).

In fact, the whole bus type thing is a mess :) We can't easily register
for bus types that are in modules.

For example, if I want to use the notifier to catch USB devices in order
to, for example, link them to firmware nodes, I'm lost if the USB
subsystem is modular ... unless I use a global notifier and strcmp the
bus type name in there.

So at this point, I'd rather stay on a global notifier.

Ben.



-
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/