Commit a1f26765 authored by Matthias Schwarzott's avatar Matthias Schwarzott Committed by Mauro Carvalho Chehab

[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: default avatarMatthias Schwarzott <zzam@gentoo.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent c3c3f1ae
...@@ -1272,6 +1272,14 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) ...@@ -1272,6 +1272,14 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3)
if (dev->board.dont_use_port_3) if (dev->board.dont_use_port_3)
is_port_3 = false; 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, status = cx231xx_read_ctrl_reg(dev, VRT_GET_REGISTER,
PWR_CTL_EN, value, 4); PWR_CTL_EN, value, 4);
if (status < 0) if (status < 0)
...@@ -1294,6 +1302,10 @@ int cx231xx_enable_i2c_port_3(struct cx231xx *dev, bool is_port_3) ...@@ -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, status = cx231xx_write_ctrl_reg(dev, VRT_SET_REGISTER,
PWR_CTL_EN, value, 4); 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; return status;
} }
......
...@@ -629,6 +629,7 @@ struct cx231xx { ...@@ -629,6 +629,7 @@ struct cx231xx {
/* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */ /* I2C adapters: Master 1 & 2 (External) & Master 3 (Internal only) */
struct cx231xx_i2c i2c_bus[3]; struct cx231xx_i2c i2c_bus[3];
unsigned int xc_fw_load_done:1; unsigned int xc_fw_load_done:1;
unsigned int port_3_switch_enabled:1;
/* locks */ /* locks */
struct mutex gpio_i2c_lock; struct mutex gpio_i2c_lock;
struct mutex i2c_lock; struct mutex i2c_lock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment