From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans Verkuil Subject: Re: [PATCH v8 13/21] v4l: async: Register sub-devices before calling bound callback Date: Wed, 6 Sep 2017 09:51:26 +0200 Message-ID: References: <20170905130553.1332-1-sakari.ailus@linux.intel.com> <20170905130553.1332-14-sakari.ailus@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170905130553.1332-14-sakari.ailus-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> Content-Language: en-US Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Sakari Ailus , linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: niklas.soderlund-1zkq55x86MTxsAP9Fp7wbw@public.gmane.org, robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, pavel-+ZI9xUNit7I@public.gmane.org, sre-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org List-Id: devicetree@vger.kernel.org On 09/05/2017 03:05 PM, Sakari Ailus wrote: > Register the sub-device before calling the notifier's bound callback. > Doing this the other way around is problematic as the struct v4l2_device > has not assigned for the sub-device yet and may be required by the bound > callback. > > Signed-off-by: Sakari Ailus Acked-by: Hans Verkuil Regards, Hans > --- > drivers/media/v4l2-core/v4l2-async.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index baee95eacbba..79f216723a3f 100644 > --- a/drivers/media/v4l2-core/v4l2-async.c > +++ b/drivers/media/v4l2-core/v4l2-async.c > @@ -135,13 +135,13 @@ static int v4l2_async_match_notify(struct v4l2_async_notifier *notifier, > { > int ret; > > - ret = v4l2_async_notifier_call_bound(notifier, sd, asd); > + ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); > if (ret < 0) > return ret; > > - ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); > + ret = v4l2_async_notifier_call_bound(notifier, sd, asd); > if (ret < 0) { > - v4l2_async_notifier_call_unbind(notifier, sd, asd); > + v4l2_device_unregister_subdev(sd); > return ret; > } > > -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from lb2-smtp-cloud7.xs4all.net ([194.109.24.28]:33916 "EHLO lb2-smtp-cloud7.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751675AbdIFHva (ORCPT ); Wed, 6 Sep 2017 03:51:30 -0400 Subject: Re: [PATCH v8 13/21] v4l: async: Register sub-devices before calling bound callback To: Sakari Ailus , linux-media@vger.kernel.org Cc: niklas.soderlund@ragnatech.se, robh@kernel.org, laurent.pinchart@ideasonboard.com, devicetree@vger.kernel.org, pavel@ucw.cz, sre@kernel.org References: <20170905130553.1332-1-sakari.ailus@linux.intel.com> <20170905130553.1332-14-sakari.ailus@linux.intel.com> From: Hans Verkuil Message-ID: Date: Wed, 6 Sep 2017 09:51:26 +0200 MIME-Version: 1.0 In-Reply-To: <20170905130553.1332-14-sakari.ailus@linux.intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: On 09/05/2017 03:05 PM, Sakari Ailus wrote: > Register the sub-device before calling the notifier's bound callback. > Doing this the other way around is problematic as the struct v4l2_device > has not assigned for the sub-device yet and may be required by the bound > callback. > > Signed-off-by: Sakari Ailus Acked-by: Hans Verkuil Regards, Hans > --- > drivers/media/v4l2-core/v4l2-async.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index baee95eacbba..79f216723a3f 100644 > --- a/drivers/media/v4l2-core/v4l2-async.c > +++ b/drivers/media/v4l2-core/v4l2-async.c > @@ -135,13 +135,13 @@ static int v4l2_async_match_notify(struct v4l2_async_notifier *notifier, > { > int ret; > > - ret = v4l2_async_notifier_call_bound(notifier, sd, asd); > + ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); > if (ret < 0) > return ret; > > - ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); > + ret = v4l2_async_notifier_call_bound(notifier, sd, asd); > if (ret < 0) { > - v4l2_async_notifier_call_unbind(notifier, sd, asd); > + v4l2_device_unregister_subdev(sd); > return ret; > } > >