• Akinobu Mita's avatar
    regmap: add SCCB support · bcf7eac3
    Akinobu Mita authored
    This adds Serial Camera Control Bus (SCCB) support for regmap API that
    is intended to be used by some of Omnivision sensor drivers.
    
    The ov772x and ov9650 drivers are going to use this SCCB regmap API.
    
    The ov772x driver was previously only worked with the i2c controller
    drivers that support I2C_FUNC_PROTOCOL_MANGLING, because the ov772x
    device doesn't support repeated starts.  After commit 0b964d18
    ("media: ov772x: allow i2c controllers without
    I2C_FUNC_PROTOCOL_MANGLING"), reading ov772x register is replaced with
    issuing two separated i2c messages in order to avoid repeated start.
    Using this SCCB regmap hides the implementation detail.
    
    The ov9650 driver also issues two separated i2c messages to read the
    registers as the device doesn't support repeated start.  So it can
    make use of this SCCB regmap.
    
    Cc: Mark Brown <broonie@kernel.org>
    Cc: Peter Rosin <peda@axentia.se>
    Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
    Cc: Wolfram Sang <wsa@the-dreams.de>
    Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
    Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>
    Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Cc: Hans Verkuil <hans.verkuil@cisco.com>
    Cc: Sakari Ailus <sakari.ailus@linux.intel.com>
    Cc: Mauro Carvalho Chehab <mchehab@s-opensource.com>
    Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    bcf7eac3
regmap-sccb.c 3.38 KB