diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-10 09:50:50 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-16 20:31:01 -0400 |
commit | 8678b03428b6894d146695980f04f26af7b9b3ec (patch) | |
tree | f798020d9a1a296ffa71c27b751446af7c548a1e /drivers/media | |
parent | 75c1819e5e42064e66d4f88a5af628a1604ad52d (diff) |
[media] r820t: split the function that read cached regs
As we'll need to retrieve cached registers, make this
function explicit.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Tested-by: Antti Palosaari <crope@iki.fi>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/tuners/r820t.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/media/tuners/r820t.c b/drivers/media/tuners/r820t.c index d5686e8a8bc6..ef100ab3564d 100644 --- a/drivers/media/tuners/r820t.c +++ b/drivers/media/tuners/r820t.c | |||
@@ -402,15 +402,25 @@ static int r820t_write_reg(struct r820t_priv *priv, u8 reg, u8 val) | |||
402 | return r820t_write(priv, reg, &val, 1); | 402 | return r820t_write(priv, reg, &val, 1); |
403 | } | 403 | } |
404 | 404 | ||
405 | static int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val, | 405 | static int r820t_read_cache_reg(struct r820t_priv *priv, int reg) |
406 | u8 bit_mask) | ||
407 | { | 406 | { |
408 | int r = reg - REG_SHADOW_START; | 407 | reg -= REG_SHADOW_START; |
409 | 408 | ||
410 | if (r >= 0 && r < NUM_REGS) | 409 | if (reg >= 0 && reg < NUM_REGS) |
411 | val = (priv->regs[r] & ~bit_mask) | (val & bit_mask); | 410 | return priv->regs[reg]; |
412 | else | 411 | else |
413 | return -EINVAL; | 412 | return -EINVAL; |
413 | } | ||
414 | |||
415 | static int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val, | ||
416 | u8 bit_mask) | ||
417 | { | ||
418 | int rc = r820t_read_cache_reg(priv, reg); | ||
419 | |||
420 | if (rc < 0) | ||
421 | return rc; | ||
422 | |||
423 | val = (rc & ~bit_mask) | (val & bit_mask); | ||
414 | 424 | ||
415 | return r820t_write(priv, reg, &val, 1); | 425 | return r820t_write(priv, reg, &val, 1); |
416 | } | 426 | } |