Re: [Q] reprobe deferred-probing drivers

From: Guennadi Liakhovetski
Date: Wed Oct 17 2012 - 11:10:07 EST


On Wed, 17 Oct 2012, Greg Kroah-Hartman wrote:

> On Wed, Oct 17, 2012 at 10:27:36AM +0200, Guennadi Liakhovetski wrote:
> > Hi
> >
> > I've got a situation, for which I currently don't have a (good) solution.
> >
> > 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()?
>
> No, no driver should ever have to mess with that at all, it is up to the
> bus to do this. Do you have a pointer to the code you are concerned
> about?

No, not yet. I'm currently working on it. I'll do it using the

device_release_driver(sd->dev);
device_attach(sd->dev);

trick and post to linux-media. I'll (try to remember to) add you to cc,
then we can see how to properly implement it.

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