lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160811111042.GQ3182@valkosipuli.retiisi.org.uk>
Date:	Thu, 11 Aug 2016 14:10:43 +0300
From:	Sakari Ailus <sakari.ailus@....fi>
To:	Javier Martinez Canillas <javier@....samsung.com>
Cc:	linux-kernel@...r.kernel.org,
	Mauro Carvalho Chehab <mchehab@....samsung.com>,
	Laurent Pinchart <laurent.pinchart@...asonboard.com>,
	Hans Verkuil <hans.verkuil@...co.com>,
	linux-media@...r.kernel.org
Subject: Re: [PATCH 2/8] [media] v4l2-async: call registered_async after
 subdev registration

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@....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@....fi	XMPP: sailus@...iisi.org.uk

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ