aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2009-03-28 16:34:43 -0400
committerJean Delvare <khali@linux-fr.org>2009-03-28 16:34:43 -0400
commit8fcfef6e65c5b58e6482eae0b793319c8d9efd44 (patch)
treea41ba5854513ce8492620432920de7e6ad5698d1 /drivers/i2c
parent154d22b04ae1741c5fcfd5d747b813a9a279abff (diff)
i2c: Set a default timeout value for all adapters
Setting a default timeout value on a per-algo basis doesn't make any sense. Move the default value setting to i2c-core. Individual adapter drivers can specify a different (non-zero) value if they wish. Also express the timeout value in a way which results in the same duration regarless of the value of HZ. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Wolfram Sang <w.sang@pengutronix.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c4
-rw-r--r--drivers/i2c/algos/i2c-algo-pcf.c1
-rw-r--r--drivers/i2c/i2c-core.c5
3 files changed, 6 insertions, 4 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index eb8f72ca02f4..d420cc5f5633 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -604,9 +604,7 @@ static int i2c_bit_prepare_bus(struct i2c_adapter *adap)
604 604
605 /* register new adapter to i2c module... */ 605 /* register new adapter to i2c module... */
606 adap->algo = &i2c_bit_algo; 606 adap->algo = &i2c_bit_algo;
607 607 adap->retries = 3;
608 adap->timeout = 100; /* default values, should */
609 adap->retries = 3; /* be replaced by defines */
610 608
611 return 0; 609 return 0;
612} 610}
diff --git a/drivers/i2c/algos/i2c-algo-pcf.c b/drivers/i2c/algos/i2c-algo-pcf.c
index d31147e10774..7ce75775ec73 100644
--- a/drivers/i2c/algos/i2c-algo-pcf.c
+++ b/drivers/i2c/algos/i2c-algo-pcf.c
@@ -423,7 +423,6 @@ int i2c_pcf_add_bus(struct i2c_adapter *adap)
423 423
424 /* register new adapter to i2c module... */ 424 /* register new adapter to i2c module... */
425 adap->algo = &pcf_algo; 425 adap->algo = &pcf_algo;
426 adap->timeout = 100;
427 426
428 if ((rval = pcf_init_8584(pcf_adap))) 427 if ((rval = pcf_init_8584(pcf_adap)))
429 return rval; 428 return rval;
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c
index 456caa80bfd3..e361033815d3 100644
--- a/drivers/i2c/i2c-core.c
+++ b/drivers/i2c/i2c-core.c
@@ -459,6 +459,11 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
459 pr_debug("I2C adapter driver [%s] forgot to specify " 459 pr_debug("I2C adapter driver [%s] forgot to specify "
460 "physical device\n", adap->name); 460 "physical device\n", adap->name);
461 } 461 }
462
463 /* Set default timeout to 1 second if not already set */
464 if (adap->timeout == 0)
465 adap->timeout = HZ;
466
462 dev_set_name(&adap->dev, "i2c-%d", adap->nr); 467 dev_set_name(&adap->dev, "i2c-%d", adap->nr);
463 adap->dev.release = &i2c_adapter_dev_release; 468 adap->dev.release = &i2c_adapter_dev_release;
464 adap->dev.class = &i2c_adapter_class; 469 adap->dev.class = &i2c_adapter_class;