Skip to content

Commit

Permalink
V4L/DVB (11062): au8522: fix register read/write high bits
Browse files Browse the repository at this point in the history
For the i2c messages to read and write registers, the two high order bits
of the first byte dictates whether it is a read or a write operation.

Thanks to Michael Krufky <mkrufky@linuxtv.org> and Steven Toth
<stoth@linuxtv.org> for providing sample hardware, engineering level support,
and testing.

Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Devin Heitmueller authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 0c44bf3 commit 083a173
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions drivers/media/dvb/frontends/au8522_dig.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ static int debug;
int au8522_writereg(struct au8522_state *state, u16 reg, u8 data)
{
int ret;
u8 buf [] = { reg >> 8, reg & 0xff, data };
u8 buf [] = { (reg >> 8) | 0x80, reg & 0xff, data };

struct i2c_msg msg = { .addr = state->config->demod_address,
.flags = 0, .buf = buf, .len = 3 };
Expand All @@ -57,7 +57,7 @@ int au8522_writereg(struct au8522_state *state, u16 reg, u8 data)
u8 au8522_readreg(struct au8522_state *state, u16 reg)
{
int ret;
u8 b0 [] = { reg >> 8, reg & 0xff };
u8 b0 [] = { (reg >> 8) | 0x40, reg & 0xff };
u8 b1 [] = { 0 };

struct i2c_msg msg [] = {
Expand Down

0 comments on commit 083a173

Please sign in to comment.