[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