forked from Minki/linux
bcf7eac3d9
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 0b964d183c
("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: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
52 lines
905 B
Plaintext
52 lines
905 B
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# Generic register map support. There are no user servicable options here,
|
|
# this is an API intended to be used by other kernel subsystems. These
|
|
# subsystems should select the appropriate symbols.
|
|
|
|
config REGMAP
|
|
default y if (REGMAP_I2C || REGMAP_SPI || REGMAP_SPMI || REGMAP_W1 || REGMAP_AC97 || REGMAP_MMIO || REGMAP_IRQ)
|
|
select IRQ_DOMAIN if REGMAP_IRQ
|
|
bool
|
|
|
|
config REGCACHE_COMPRESSED
|
|
select LZO_COMPRESS
|
|
select LZO_DECOMPRESS
|
|
bool
|
|
|
|
config REGMAP_AC97
|
|
tristate
|
|
|
|
config REGMAP_I2C
|
|
tristate
|
|
depends on I2C
|
|
|
|
config REGMAP_SLIMBUS
|
|
tristate
|
|
depends on SLIMBUS
|
|
|
|
config REGMAP_SPI
|
|
tristate
|
|
depends on SPI
|
|
|
|
config REGMAP_SPMI
|
|
tristate
|
|
depends on SPMI
|
|
|
|
config REGMAP_W1
|
|
tristate
|
|
depends on W1
|
|
|
|
config REGMAP_MMIO
|
|
tristate
|
|
|
|
config REGMAP_IRQ
|
|
bool
|
|
|
|
config REGMAP_SOUNDWIRE
|
|
tristate
|
|
depends on SOUNDWIRE_BUS
|
|
|
|
config REGMAP_SCCB
|
|
tristate
|
|
depends on I2C
|