summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2012-05-18 12:23:42 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-20 10:24:01 -0300
commit525ffc19b992f5d6a25413c36ba543a82585ed89 (patch)
treeb0415c5ac2af5f4256a5db93c3b17ffbecbc9e51 /drivers/media
parenteba672a045d8fbf62b229eac74ef444b6000c4c2 (diff)
downloadlinux-525ffc19b992f5d6a25413c36ba543a82585ed89.tar.gz
linux-525ffc19b992f5d6a25413c36ba543a82585ed89.tar.xz
linux-525ffc19b992f5d6a25413c36ba543a82585ed89.zip
[media] rtl2830: implement .read_ber()
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb/frontends/rtl2830.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/rtl2830.c b/drivers/media/dvb/frontends/rtl2830.c
index e6d7c501717a..266098656c48 100644
--- a/drivers/media/dvb/frontends/rtl2830.c
+++ b/drivers/media/dvb/frontends/rtl2830.c
@@ -450,8 +450,20 @@ err:
static int rtl2830_read_ber(struct dvb_frontend *fe, u32 *ber)
{
- *ber = 0;
+ struct rtl2830_priv *priv = fe->demodulator_priv;
+ int ret;
+ u8 buf[2];
+
+ ret = rtl2830_rd_regs(priv, 0x34e, buf, 2);
+ if (ret)
+ goto err;
+
+ *ber = buf[0] << 8 | buf[1];
+
return 0;
+err:
+ dbg("%s: failed=%d", __func__, ret);
+ return ret;
}
static int rtl2830_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks)