[PATCH 02/16] media: v4l2-device: Add struct v4l2_device.flags

Gjorgji Rosikopulos (Consultant) gjorgji.rosikopulos at oss.qualcomm.com
Tue Nov 3 06:55:58 PST 2026



On 11/3/2026 4:42 PM, Dan Scally wrote:
> Hi both
> 
> On 03/11/2026 13:51, Nicolas Dufresne wrote:
>> Le mardi 03 novembre 2026 à 10:09 +0200, Gjorgji Rosikopulos (Consultant) a
>> écrit :
>>> Hi Daniel,
>>>
>>> On 11/3/2026 9:40 AM, Daniel Scally wrote:
>>>> Add a flags field to struct v4l2_device, along with a single flag
>>>> value that is designed to tell v4l2-async in which direction data
>>>> flows for this v4l2 device so that it knows how to set up device
>>>> links between subdevices connected using the async APIs.
>>>>
>>>> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>
>>>> ---
>>>>   include/media/v4l2-device.h | 7 +++++++
>>>>   1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h
>>>> index 25f69b1b8db03d077f7570471d5c6910fcafe110..9b17916d63641ba637cf8c37aa925749bd4e2134 100644
>>>> --- a/include/media/v4l2-device.h
>>>> +++ b/include/media/v4l2-device.h
>>>> @@ -15,6 +15,9 @@
>>>>   
>>>>   struct v4l2_ctrl_handler;
>>>>   
>>>> +/* Set this flag if this V4L2 device is an "output" rather than an "input". */
>>>> +#define V4L2_DEVICE_FL_IS_OUTPUT			BIT(0)
>>>
>>> Just for the clarification do we change the meaning of output->capture to input->output?
>>> I know that output is confusing for everyone including me but somehow i get used to it.
>>> However to clarify what this means will be helpful :-)
>>
>> I agree this is confusing. To avoid all the legacy, we could use PRODUCER /
>> CONSUMER, or does anyone has a better idea?
> 
> I have no better ideas - naming things was never my strong suit - so happy to use PRODUCER / CONSUMER.

PRODUCER / CONSUMER looks good to me as well.

~Gjorgji

> 
> Thanks
> Dan
> 
>>
>> Nicolas
>>
>>>
>>> ~Gjorgji
>>>
>>>> +
>>>>   /**
>>>>    * struct v4l2_device - main struct to for V4L2 device drivers
>>>>    *
>>>> @@ -30,6 +33,9 @@ struct v4l2_ctrl_handler;
>>>>    * @ref: Keep track of the references to this struct.
>>>>    * @release: Release function that is called when the ref count
>>>>    *	goes to 0.
>>>> + * @flags: device flags. Can be:
>>>> + *   %V4L2_DEVICE_FL_IS_OUTPUT - Set this flag if this V4L2 device is an
>>>> + *   "output" rather than an "input"
>>>>    *
>>>>    * Each instance of a V4L2 device should create the v4l2_device struct,
>>>>    * either stand-alone or embedded in a larger struct.
>>>> @@ -54,6 +60,7 @@ struct v4l2_device {
>>>>   	struct v4l2_prio_state prio;
>>>>   	struct kref ref;
>>>>   	void (*release)(struct v4l2_device *v4l2_dev);
>>>> +	u32 flags;
>>>>   };
>>>>   
>>>>   /**
>>>>
>>>
>>>
>>> _______________________________________________
>>> Linux-rockchip mailing list
>>> Linux-rockchip at lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-rockchip
> 




More information about the linux-arm-kernel mailing list