diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-10 07:08:17 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-04-16 21:27:38 -0300 |
commit | 103fe2fb2314f09d9b923c5919e70cbe66830d6d (patch) | |
tree | a031f222543eeb066c56a6b77ba657e711cf7c35 /drivers/media/tuners/r820t.c | |
parent | 884655ad2e85ebcd84b10b82fca2ef8e431d4392 (diff) | |
download | linux-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.c | 9 |
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; } |