Re: [RFC 2/4] media: v4l2-async: Add notifier flags

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17/06/2021 19:16, Jacopo Mondi wrote:
> Add a 'flags' field to the async notifier structure and define the
> V4L2_ASYNC_NOTIFIER_SKIP_POST_REGISTER flag.
> 
> Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx>
> ---
>  drivers/media/v4l2-core/v4l2-async.c |  1 +
>  include/media/v4l2-async.h           | 10 ++++++++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
> index cd9e78c63791..0836e01e59ca 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -472,6 +472,7 @@ static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier,
>  void v4l2_async_notifier_init(struct v4l2_async_notifier *notifier)
>  {
>  	INIT_LIST_HEAD(&notifier->asd_list);
> +	notifier->flags = 0;
>  }
>  EXPORT_SYMBOL(v4l2_async_notifier_init);
>  
> diff --git a/include/media/v4l2-async.h b/include/media/v4l2-async.h
> index 5b275a845c20..3f0627bf8894 100644
> --- a/include/media/v4l2-async.h
> +++ b/include/media/v4l2-async.h
> @@ -92,6 +92,13 @@ struct v4l2_async_notifier_operations {
>  		       struct v4l2_async_subdev *asd);
>  };
>  
> +/*
> + * Set this flag to instruct the core framework not to call the post_register()
> + * core operation. The driver that registered the notifier will take care to
> + * do so eventually.
> + */
> +#define V4L2_ASYNC_NOTIFIER_SKIP_POST_REGISTER		(1U << 0)

How about: V4L2_ASYNC_NOTIFIER_DEFER_POST_REGISTER

I think that's a better name: it is not skipped, it is just called later.

Regards,

	Hans

> +
>  /**
>   * struct v4l2_async_notifier - v4l2_device notifier data
>   *
> @@ -103,6 +110,8 @@ struct v4l2_async_notifier_operations {
>   * @waiting:	list of struct v4l2_async_subdev, waiting for their drivers
>   * @done:	list of struct v4l2_subdev, already probed
>   * @list:	member in a global list of notifiers
> + * @flags:	notifier's flags. Can be:
> + * 	%V4L2_ASYNC_NOTIFIER_SKIP_POST_REGISTER
>   */
>  struct v4l2_async_notifier {
>  	const struct v4l2_async_notifier_operations *ops;
> @@ -113,6 +122,7 @@ struct v4l2_async_notifier {
>  	struct list_head waiting;
>  	struct list_head done;
>  	struct list_head list;
> +	u32 flags;
>  };
>  
>  /**
> 




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux