[media] fc0012: use config directly from the config struct

No need to copy config to the driver state. Those are coming from
the const struct and could be used directly.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Acked-by: Hans-Frieder Vogt <hfvogt@gmx.net>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
Antti Palosaari 2012-12-09 12:33:04 -03:00 committed by Mauro Carvalho Chehab
parent 0bb3d8ac87
commit 3a98477200
4 changed files with 11 additions and 15 deletions

View File

@ -33,9 +33,6 @@
struct fc0012_priv { struct fc0012_priv {
struct i2c_adapter *i2c; struct i2c_adapter *i2c;
const struct fc0012_config *cfg; const struct fc0012_config *cfg;
u8 addr;
u8 dual_master;
u8 xtal_freq;
u32 frequency; u32 frequency;
u32 bandwidth; u32 bandwidth;

View File

@ -25,7 +25,7 @@ static int fc0012_writereg(struct fc0012_priv *priv, u8 reg, u8 val)
{ {
u8 buf[2] = {reg, val}; u8 buf[2] = {reg, val};
struct i2c_msg msg = { struct i2c_msg msg = {
.addr = priv->addr, .flags = 0, .buf = buf, .len = 2 .addr = priv->cfg->i2c_address, .flags = 0, .buf = buf, .len = 2
}; };
if (i2c_transfer(priv->i2c, &msg, 1) != 1) { if (i2c_transfer(priv->i2c, &msg, 1) != 1) {
@ -38,8 +38,10 @@ static int fc0012_writereg(struct fc0012_priv *priv, u8 reg, u8 val)
static int fc0012_readreg(struct fc0012_priv *priv, u8 reg, u8 *val) static int fc0012_readreg(struct fc0012_priv *priv, u8 reg, u8 *val)
{ {
struct i2c_msg msg[2] = { struct i2c_msg msg[2] = {
{ .addr = priv->addr, .flags = 0, .buf = &reg, .len = 1 }, { .addr = priv->cfg->i2c_address, .flags = 0,
{ .addr = priv->addr, .flags = I2C_M_RD, .buf = val, .len = 1 }, .buf = &reg, .len = 1 },
{ .addr = priv->cfg->i2c_address, .flags = I2C_M_RD,
.buf = val, .len = 1 },
}; };
if (i2c_transfer(priv->i2c, msg, 2) != 2) { if (i2c_transfer(priv->i2c, msg, 2) != 2) {
@ -88,7 +90,7 @@ static int fc0012_init(struct dvb_frontend *fe)
0x04, /* reg. 0x15: Enable LNA COMPS */ 0x04, /* reg. 0x15: Enable LNA COMPS */
}; };
switch (priv->xtal_freq) { switch (priv->cfg->xtal_freq) {
case FC_XTAL_27_MHZ: case FC_XTAL_27_MHZ:
case FC_XTAL_28_8_MHZ: case FC_XTAL_28_8_MHZ:
reg[0x07] |= 0x20; reg[0x07] |= 0x20;
@ -98,7 +100,7 @@ static int fc0012_init(struct dvb_frontend *fe)
break; break;
} }
if (priv->dual_master) if (priv->cfg->dual_master)
reg[0x0c] |= 0x02; reg[0x0c] |= 0x02;
if (priv->cfg->loop_through) if (priv->cfg->loop_through)
@ -147,7 +149,7 @@ static int fc0012_set_params(struct dvb_frontend *fe)
goto exit; goto exit;
} }
switch (priv->xtal_freq) { switch (priv->cfg->xtal_freq) {
case FC_XTAL_27_MHZ: case FC_XTAL_27_MHZ:
xtal_freq_khz_2 = 27000 / 2; xtal_freq_khz_2 = 27000 / 2;
break; break;
@ -449,9 +451,6 @@ struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
priv->i2c = i2c; priv->i2c = i2c;
priv->cfg = cfg; priv->cfg = cfg;
priv->dual_master = cfg->dual_master;
priv->addr = cfg->i2c_address;
priv->xtal_freq = cfg->xtal_freq;
info("Fitipower FC0012 successfully attached."); info("Fitipower FC0012 successfully attached.");

View File

@ -35,7 +35,7 @@ struct fc0012_config {
*/ */
enum fc001x_xtal_freq xtal_freq; enum fc001x_xtal_freq xtal_freq;
int dual_master; bool dual_master;
/* /*
* RF loop-through * RF loop-through

View File

@ -906,13 +906,13 @@ static const struct fc0012_config af9035_fc0012_config[] = {
{ {
.i2c_address = 0x63, .i2c_address = 0x63,
.xtal_freq = FC_XTAL_36_MHZ, .xtal_freq = FC_XTAL_36_MHZ,
.dual_master = 1, .dual_master = true,
.loop_through = true, .loop_through = true,
.clock_out = true, .clock_out = true,
}, { }, {
.i2c_address = 0x63 | 0x80, /* I2C bus select hack */ .i2c_address = 0x63 | 0x80, /* I2C bus select hack */
.xtal_freq = FC_XTAL_36_MHZ, .xtal_freq = FC_XTAL_36_MHZ,
.dual_master = 1, .dual_master = true,
} }
}; };