Re: [PATCH/RFC] core: add a function to safely try to get device driver owner

Guennadi Liakhovetski
2010-11-29T20:54:17Z

Hi Jon

On Mon, 29 Nov 2010, Jonathan Corbet wrote:

> On Mon, 29 Nov 2010 20:43:28 +0100 (CET)
> Guennadi Liakhovetski <g.liakhovetski@gmx.de> wrote:
>
> > When two drivers interoperate without an explicit dependency, it is often
> > required to prevent one of them from being unloaded safely by dereferencing
> > dev->driver->owner. This patch provides a generic function to do this in a
> > race-free way.
>
> I must ask: why not, instead, make the dependency explicit? In
> particular, this looks like an application for the proposed media
> controller code, which is meant to model the connections between otherwise
> independent devices. The fact that your example comes from V4L2 (which is
> the current domain of the media controller) also argues that way.

Sorry, don't see a good way to do this. This function is for a general
dependency, where you don't have that driver, we are checking for register
with us, so, the only way to get to it is via dev->driver->owner. And I
also don't want to move registering the device into the dependant driver
and then wait (with a timeout) for a driver to probe with it... I just
want to verify, whether a driver has attached to that device and whether I
can lock it down.

Thanks
Guennadi
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer