diff -r 9d6c218ddc7e linux/drivers/media/dvb/frontends/isl6421.c --- a/linux/drivers/media/dvb/frontends/isl6421.c Mon Dec 24 08:25:57 2007 -0200 +++ b/linux/drivers/media/dvb/frontends/isl6421.c Sat Apr 12 16:06:22 2008 -0400 @@ -42,9 +42,12 @@ struct isl6421 { struct i2c_adapter *i2c; u8 i2c_addr; }; +static int dcl=1; // dynamic current limit on/off, default on -static int isl6421_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage) -{ +static int isl6421_set_voltage(struct dvb_frontend *fe, fe_sec_voltage_t voltage) { + + + struct isl6421 *isl6421 = (struct isl6421 *) fe->sec_priv; struct i2c_msg msg = { .addr = isl6421->i2c_addr, .flags = 0, .buf = &isl6421->config, @@ -109,6 +112,7 @@ struct dvb_frontend *isl6421_attach(stru /* default configuration */ isl6421->config = ISL6421_ISEL1; isl6421->i2c = i2c; + if (! dcl) isl6421->config |= ISL6421_DCL; isl6421->i2c_addr = i2c_addr; fe->sec_priv = isl6421; @@ -134,6 +138,9 @@ struct dvb_frontend *isl6421_attach(stru return fe; } +module_param(dcl, int, 0644); +MODULE_PARM_DESC(dcl, "Turn on/off dynamic current limit (default:on)."); + EXPORT_SYMBOL(isl6421_attach); MODULE_DESCRIPTION("Driver for lnb supply and control ic isl6421");