rendered paste bodydiff -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");