[media] rtl2832: use regmap reg cache
Enable regmap register cache in order to reduce IO. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
e20b0cf2f3
commit
dcadb82a7a
|
@ -986,6 +986,22 @@ static struct dvb_frontend_ops rtl2832_ops = {
|
|||
.read_ber = rtl2832_read_ber,
|
||||
};
|
||||
|
||||
static bool rtl2832_volatile_reg(struct device *dev, unsigned int reg)
|
||||
{
|
||||
switch (reg) {
|
||||
case 0x305:
|
||||
case 0x33c:
|
||||
case 0x34e:
|
||||
case 0x351:
|
||||
case 0x40c ... 0x40d:
|
||||
return true;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* We implement own I2C access routines for regmap in order to get manual access
|
||||
* to I2C adapter lock, which is needed for I2C mux adapter.
|
||||
|
@ -1240,9 +1256,11 @@ static int rtl2832_probe(struct i2c_client *client,
|
|||
static const struct regmap_config regmap_config = {
|
||||
.reg_bits = 8,
|
||||
.val_bits = 8,
|
||||
.volatile_reg = rtl2832_volatile_reg,
|
||||
.max_register = 5 * 0x100,
|
||||
.ranges = regmap_range_cfg,
|
||||
.num_ranges = ARRAY_SIZE(regmap_range_cfg),
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
};
|
||||
|
||||
dev_dbg(&client->dev, "\n");
|
||||
|
|
Loading…
Reference in a new issue