summaryrefslogtreecommitdiffstats
path: root/drivers/media/tuners/r820t.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2013-04-10 07:08:17 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-04-16 21:27:38 -0300
commit103fe2fb2314f09d9b923c5919e70cbe66830d6d (patch)
treea031f222543eeb066c56a6b77ba657e711cf7c35 /drivers/media/tuners/r820t.c
parent884655ad2e85ebcd84b10b82fca2ef8e431d4392 (diff)
downloadlinux-103fe2fb2314f09d9b923c5919e70cbe66830d6d.tar.bz2
[media] r820t: Invert bits for read ops
On read, the bit order is inverted. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Tested-by: Antti Palosaari <crope@iki.fi>
Diffstat (limited to 'drivers/media/tuners/r820t.c')
-rw-r--r--drivers/media/tuners/r820t.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/tuners/r820t.c b/drivers/media/tuners/r820t.c
index 48ff6bb75f81..79ab2b74bd52 100644
--- a/drivers/media/tuners/r820t.c
+++ b/drivers/media/tuners/r820t.c
@@ -35,8 +35,10 @@
#include <linux/videodev2.h>
#include <linux/mutex.h>
#include <linux/slab.h>
-#include "tuner-i2c.h"
+#include <linux/bitrev.h>
#include <asm/div64.h>
+
+#include "tuner-i2c.h"
#include "r820t.h"
/*
@@ -414,7 +416,7 @@ static int r820t_write_reg_mask(struct r820t_priv *priv, u8 reg, u8 val,
static int r820_read(struct r820t_priv *priv, u8 reg, u8 *val, int len)
{
- int rc;
+ int rc, i;
u8 *p = &priv->buf[1];
priv->buf[0] = reg;
@@ -431,7 +433,8 @@ static int r820_read(struct r820t_priv *priv, u8 reg, u8 *val, int len)
__func__, reg, len, len, p);
/* Copy data to the output buffer */
- memcpy(val, p, len);
+ for (i = 0; i < len; i++)
+ val[i] = bitrev8(p[i]);
return 0;
}