Skip to content

Commit

Permalink
[media] rtl2832: use regmap reg cache
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Antti Palosaari authored and Mauro Carvalho Chehab committed Feb 3, 2015
1 parent e20b0cf commit dcadb82
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions drivers/media/dvb-frontends/rtl2832.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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");
Expand Down

0 comments on commit dcadb82

Please sign in to comment.