media: i2c: adv748x: Simplify regmap configuration

The ADV748x has identical map configurations for each register map. The
duplication of each map can be simplified using a helper macro such that
each map is represented on a single line.

Define ADV748X_REGMAP_CONF for this purpose use it to create the tables.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Kieran Bingham 2018-02-27 10:05:48 -05:00 committed by Mauro Carvalho Chehab
parent 3aab15af9a
commit 06aa8f3aa9

View File

@ -35,96 +35,27 @@
* Register manipulation * Register manipulation
*/ */
#define ADV748X_REGMAP_CONF(n) \
{ \
.name = n, \
.reg_bits = 8, \
.val_bits = 8, \
.max_register = 0xff, \
.cache_type = REGCACHE_NONE, \
}
static const struct regmap_config adv748x_regmap_cnf[] = { static const struct regmap_config adv748x_regmap_cnf[] = {
{ ADV748X_REGMAP_CONF("io"),
.name = "io", ADV748X_REGMAP_CONF("dpll"),
.reg_bits = 8, ADV748X_REGMAP_CONF("cp"),
.val_bits = 8, ADV748X_REGMAP_CONF("hdmi"),
ADV748X_REGMAP_CONF("edid"),
.max_register = 0xff, ADV748X_REGMAP_CONF("repeater"),
.cache_type = REGCACHE_NONE, ADV748X_REGMAP_CONF("infoframe"),
}, ADV748X_REGMAP_CONF("cec"),
{ ADV748X_REGMAP_CONF("sdp"),
.name = "dpll", ADV748X_REGMAP_CONF("txa"),
.reg_bits = 8, ADV748X_REGMAP_CONF("txb"),
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "cp",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "hdmi",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "edid",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "repeater",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "infoframe",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "cec",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "sdp",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "txb",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
{
.name = "txa",
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
.cache_type = REGCACHE_NONE,
},
}; };
static int adv748x_configure_regmap(struct adv748x_state *state, int region) static int adv748x_configure_regmap(struct adv748x_state *state, int region)