Re: [Q] reprobe deferred-probing drivers

From: Guennadi Liakhovetski
Date: Wed Oct 17 2012 - 04:43:15 EST


On Wed, 17 Oct 2012, Guennadi Liakhovetski wrote:

> Hi
>
> I've got a situation, for which I currently don't have a (good) solution.

Ok, right, would it be acceptable to just do something like

if (dev->parent)
device_lock(dev->parent);
device_release_driver(dev);
device_attach(dev);

?

Thanks
Guennadi

> Let's say device A depends on device B and as long as B hasn't probed, A
> requests deferred probing. Now B probes, which causes A to also succeed
> its probing. Next we want to remove B, say, by unloading its driver. A has
> to go back into "deferred-probing" state. How do we do it? This can be
> achieved by unloading B's driver and loading again. Essentially, we have
> to use the sysfs "unbind" and then the "bind" attributes. But how do we do
> this from the kernel? Shall we export driver_bind() and driver_unbind()?

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
--
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/