diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2023-11-07 18:42:40 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-02-01 03:19:09 +0300 |
commit | 8d2cd1724e809526d788c8ece71662441eae90e6 (patch) | |
tree | 9b55c9e58d376808a1631f5f79924e33e790ab5f /include/media | |
parent | 36bf2a8fb0aeaf62c85062c4dd31e85c2040c8a4 (diff) | |
download | linux-8d2cd1724e809526d788c8ece71662441eae90e6.tar.xz |
media: v4l: cci: Add macros to obtain register width and address
[ Upstream commit cd93cc245dfe334c38da98c14b34f9597e1b4ea6 ]
Add CCI_REG_WIDTH() macro to obtain register width in bits and similarly,
CCI_REG_WIDTH_BYTES() to obtain it in bytes.
Also add CCI_REG_ADDR() macro to obtain the address of a register.
Use both macros in v4l2-cci.c, too.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Stable-dep-of: d92e7a013ff3 ("media: v4l2-cci: Add support for little-endian encoded registers")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/v4l2-cci.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/media/v4l2-cci.h b/include/media/v4l2-cci.h index f2c2962e936b..a2835a663df5 100644 --- a/include/media/v4l2-cci.h +++ b/include/media/v4l2-cci.h @@ -7,6 +7,7 @@ #ifndef _V4L2_CCI_H #define _V4L2_CCI_H +#include <linux/bitfield.h> #include <linux/bits.h> #include <linux/types.h> @@ -34,6 +35,10 @@ struct cci_reg_sequence { #define CCI_REG_WIDTH_SHIFT 16 #define CCI_REG_WIDTH_MASK GENMASK(19, 16) +#define CCI_REG_WIDTH_BYTES(x) FIELD_GET(CCI_REG_WIDTH_MASK, x) +#define CCI_REG_WIDTH(x) (CCI_REG_WIDTH_BYTES(x) << 3) +#define CCI_REG_ADDR(x) FIELD_GET(CCI_REG_ADDR_MASK, x) + #define CCI_REG8(x) ((1 << CCI_REG_WIDTH_SHIFT) | (x)) #define CCI_REG16(x) ((2 << CCI_REG_WIDTH_SHIFT) | (x)) #define CCI_REG24(x) ((3 << CCI_REG_WIDTH_SHIFT) | (x)) |