[libcamera-devel] [PATCH v2 01/10] [TEMP] include: linux: Update v4l2-controls.h
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon Dec 9 14:36:06 CET 2019
Hi Jacopo/Niklas,
On 08/12/2019 17:51, Jacopo Mondi wrote:
> Hi Niklas,
>
> On Fri, Dec 06, 2019 at 08:02:42PM +0100, Niklas Söderlund wrote:
>> Hi Jacopo,
>>
>> Thanks for your work.
>>
>> On 2019-12-05 21:43:41 +0100, Jacopo Mondi wrote:
>>> Import a temporary version of the v4l2-controls.h with the newly added
>>> definition of V4L2_CID_CAMERA_SENSOR_LOCATION control.
>>>
>>> This patch should be temporary applied waiting for the newly added
>>> control to land in the mainline kernel version.
>>
>> How do you wish to play this, shall we aim to merge this series before
>> the kernel patches hits the media-tree or hold of? My preference would
>> be to wait until a new kernel feature hits media-tree, I'm however open
>> to discuss it.
>
> Good question.
>
> I'm not sure when that series will land to be honest. It was targeted
> for v5.6 but you never know. We currently use headers from v5.2, so it
> might take a while before we get to use headers from the right kernel
> version...
>
> Not sure, to be honest :)
IMO, here we are bringing in a non-kernel define for a new feature
before it has landed in the kernel.
If this was a feature that /someone else/ was in control of, I might be
more reserved - but the fact that 'we' ("or rather you, Jacopo") are in
control of the feature as it progresses to mainline - means I'm quite
comfortable bringing in this feature to libcamera while it is being
developed.
We should make sure that this doesn't cause any unexpected/undefined
behaviour when run against kernels which do not have these controls
defined though.
It's a shame we can't mark a #define with some sort of
__attribute__((deprecated("Not Yet In Mainline"))) though ...
--
Kieran
>>> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
>>> ---
>>> include/linux/v4l2-controls.h | 7 +++++++
>>> 1 file changed, 7 insertions(+)
>>>
>>> diff --git a/include/linux/v4l2-controls.h b/include/linux/v4l2-controls.h
>>> index ef2ee5b796b4..d18a7749d3f1 100644
>>> --- a/include/linux/v4l2-controls.h
>>> +++ b/include/linux/v4l2-controls.h
>>> @@ -910,6 +910,13 @@ enum v4l2_auto_focus_range {
>>> #define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
>>> #define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
>>>
>>> +#define V4L2_CID_CAMERA_SENSOR_LOCATION (V4L2_CID_CAMERA_CLASS_BASE+34)
>>> +#define V4L2_LOCATION_FRONT 0
>>> +#define V4L2_LOCATION_BACK 1
>>> +#define V4L2_LOCATION_EXTERNAL 2
>>> +
>>> +#define V4L2_CID_CAMERA_SENSOR_ROTATION (V4L2_CID_CAMERA_CLASS_BASE+35)
>>> +
>>> /* FM Modulator class control IDs */
>>>
>>> #define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
>>> --
>>> 2.23.0
>>>
>>> _______________________________________________
>>> libcamera-devel mailing list
>>> libcamera-devel at lists.libcamera.org
>>> https://lists.libcamera.org/listinfo/libcamera-devel
>>
>> --
>> Regards,
>> Niklas Söderlund
>>
>> _______________________________________________
>> libcamera-devel mailing list
>> libcamera-devel at lists.libcamera.org
>> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list