• Hans de Goede's avatar
    media: core: add ov_16bit_addr_reg_helpers.h · 65b39741
    Hans de Goede authored
    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: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
    65b39741
ov_16bit_addr_reg_helpers.h 2.22 KB