[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 i2c_adapter *i2c;
const struct fc0012_config *cfg;
u8 addr;
u8 dual_master;
u8 xtal_freq;
u32 frequency;
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};
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) {
@ -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)
{
struct i2c_msg msg[2] = {
{ .addr = priv->addr, .flags = 0, .buf = &reg, .len = 1 },
{ .addr = priv->addr, .flags = I2C_M_RD, .buf = val, .len = 1 },
{ .addr = priv->cfg->i2c_address, .flags = 0,
.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) {
@ -88,7 +90,7 @@ static int fc0012_init(struct dvb_frontend *fe)
0x04, /* reg. 0x15: Enable LNA COMPS */
};
switch (priv->xtal_freq) {
switch (priv->cfg->xtal_freq) {
case FC_XTAL_27_MHZ:
case FC_XTAL_28_8_MHZ:
reg[0x07] |= 0x20;
@ -98,7 +100,7 @@ static int fc0012_init(struct dvb_frontend *fe)
break;
}
if (priv->dual_master)
if (priv->cfg->dual_master)
reg[0x0c] |= 0x02;
if (priv->cfg->loop_through)
@ -147,7 +149,7 @@ static int fc0012_set_params(struct dvb_frontend *fe)
goto exit;
}
switch (priv->xtal_freq) {
switch (priv->cfg->xtal_freq) {
case FC_XTAL_27_MHZ:
xtal_freq_khz_2 = 27000 / 2;
break;
@ -449,9 +451,6 @@ struct dvb_frontend *fc0012_attach(struct dvb_frontend *fe,
priv->i2c = i2c;
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.");

View File

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

View File

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