Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1460411

Re: [PATCH 2/8] [media] v4l2-async: call registered_async after subdev registration

From Sakari Ailus <sakari.ailus@iki.fi>
Newsgroups linux.kernel
Subject Re: [PATCH 2/8] [media] v4l2-async: call registered_async after subdev registration
Date 2016-08-11 13:20 +0200
Message-ID <s4WbL-34E-17@gated-at.bofh.it> (permalink)
References <qYU5b-4l7-9@gated-at.bofh.it> <qYU5c-4l7-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Javier,

On Fri, Feb 05, 2016 at 04:09:52PM -0300, Javier Martinez Canillas wrote:
> V4L2 sub-devices might need to do initialization that depends on being
> registered with a V4L2 device. As an example, sub-devices with Media
> Controller support may need to register entities and create pad links.
> 
> Execute the registered_async callback after the sub-device has been
> registered with the V4L2 device so the driver can do any needed init.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> ---
> 
>  drivers/media/v4l2-core/v4l2-async.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
> index 5bada202b2d3..716bfd47daab 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -119,6 +119,13 @@ static int v4l2_async_test_notify(struct v4l2_async_notifier *notifier,
>  		return ret;
>  	}
>  
> +	ret = v4l2_subdev_call(sd, core, registered_async);
> +	if (ret < 0) {
> +		if (notifier->unbind)
> +			notifier->unbind(notifier, sd, asd);
> +		return ret;
> +	}
> +
>  	if (list_empty(&notifier->waiting) && notifier->complete)
>  		return notifier->complete(notifier);

I noticed this just now but what do you need this and the next patch for?

We already have a callback for the same purpose: it's
v4l2_subdev_ops.internal_ops.registered(). And there's similar
unregistered() callback as well.

Could you use these callbacks instead?

What made me notice this is because the two patches break all other drivers
that do not implement registered_async(). This would be fixed by your
follow-up patch which is not merged, but the real question is: are these
patches needed to begin with?

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH 2/8] [media] v4l2-async: call registered_async after  subdev registration Sakari Ailus <sakari.ailus@iki.fi> - 2016-08-11 13:20 +0200

csiph-web