mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 08:35:08 +08:00
V4L/DVB (11062): au8522: fix register read/write high bits
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>
This commit is contained in:
parent
0c44bf362f
commit
083a17317b
@ -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 };
|
||||
@ -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 [] = {
|
||||
|
Loading…
Reference in New Issue
Block a user