OSDN Git Service

media: core: add ov_16bit_addr_reg_helpers.h
authorHans de Goede <hdegoede@redhat.com>
Sun, 4 Dec 2022 15:48:49 +0000 (16:48 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Wed, 8 Feb 2023 07:23:50 +0000 (08:23 +0100)
commit65b3974173a7ffede971456de064cec3e9368135
treeec675ed24e25feb325253593b94a104d00dec200
parentc47060369f9cf6724af70945aef4ee3907a4a5ce
media: core: add ov_16bit_addr_reg_helpers.h

The following drivers under drivers/media/i2c: ov08x40.c, ov13858.c,
ov13b10.c, ov2680.c, ov2685.c, ov2740.c, ov4689.c, ov5670.c,
ov5675.c, ov5695.c, ov8856.c, ov9282.c and ov9734.c,

as well as various "atomisp" sensor drivers in drivers/staging, *all*
use register access helpers with the following function prototypes:

int ovxxxx_read_reg(struct ovxxxx_dev *sensor, u16 reg,
                    unsigned int len, u32 *val);

int ovxxxx_write_reg(struct ovxxxx_dev *sensor, u16 reg,
                     unsigned int len, u32 val);

To read/write registers on Omnivision OVxxxx image sensors wich expect
a 16 bit register address in big-endian format and which have 1-3 byte
wide registers, in big-endian format (for the higher width registers).

Add a new ov_16bit_addr_reg_helpers.h header file with static inline
versions of these register access helpers, so that this code duplication
can be removed.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
include/media/ov_16bit_addr_reg_helpers.h [new file with mode: 0644]