mirror of https://gitee.com/openkylin/linux.git
[media] cx231xx: remember status of i2c port_3 switch
This is used later for is_tuner function that switches i2c behaviour for some tuners. [mchehab@osg.samsung.com: Fix CodingStyle on a multi-line comment] Signed-off-by: Matthias Schwarzott <zzam@gentoo.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This commit is contained in:
parent
c3c3f1ae8b
commit
a1f267651f
|
@ -1272,6 +1272,14 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3)
|
|||
|
||||
if (dev->board.dont_use_port_3)
|
||||
is_port_3 = false;
|
||||
|
||||
/*
|
||||
* Should this code check dev->port_3_switch_enabled first
|
||||
* to skip unnecessary reading of the register?
|
||||
* If yes, the flag dev->port_3_switch_enabled must be initialized
|
||||
* correctly.
|
||||
*/
|
||||
|
||||
status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER,
|
||||
PWR_CTL_EN, value, 4);
|
||||
if (status < 0)
|
||||
|
@ -1294,6 +1302,10 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3)
|
|||
status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
|
||||
PWR_CTL_EN, value, 4);
|
||||
|
||||
/* remember status of the switch for usage in is_tuner */
|
||||
if (status >= 0)
|
||||
dev->port_3_switch_enabled = is_port_3;
|
||||
|
||||
return status;
|
||||
|
||||
}
|
||||
|
|
|
@ -629,6 +629,7 @@ struct cx231xx {
|
|||
/* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */
|
||||
struct cx231xx_i2c i2c_bus[3];
|
||||
unsigned int xc_fw_load_done:1;
|
||||
unsigned int port_3_switch_enabled:1;
|
||||
/* locks */
|
||||
struct mutex gpio_i2c_lock;
|
||||
struct mutex i2c_lock;
|
||||
|
|
Loading…
Reference in New Issue