diff options
author | Stefan Roese <sr@denx.de> | 2007-10-13 17:56:30 -0400 |
---|---|---|
committer | Jean Delvare <khali@hyperion.delvare> | 2007-10-13 17:56:30 -0400 |
commit | 7589a326d1d8c9da575ca4cbc6a3e6af02b57ead (patch) | |
tree | 0e8c7309f26e22ca7ef437fcb43de46ac397482c /drivers/i2c/busses/i2c-ibm_iic.c | |
parent | 8056c6cb2bb1632aa9221dce0e43a61db37b420f (diff) |
i2c-ibm_iic: Add support for new-style clients
Use i2c_bit_add_numbered_adapter() if device id specified, so that the
i2c-ibm_iic adapter works well with new-style pre-declared devices.
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-ibm_iic.c')
-rw-r--r-- | drivers/i2c/busses/i2c-ibm_iic.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c index 8b14d14e60ca..e08bacadd6bc 100644 --- a/drivers/i2c/busses/i2c-ibm_iic.c +++ b/drivers/i2c/busses/i2c-ibm_iic.c | |||
@@ -738,7 +738,14 @@ static int __devinit iic_probe(struct ocp_device *ocp){ | |||
738 | adap->timeout = 1; | 738 | adap->timeout = 1; |
739 | adap->retries = 1; | 739 | adap->retries = 1; |
740 | 740 | ||
741 | if ((ret = i2c_add_adapter(adap)) != 0){ | 741 | /* |
742 | * If "dev->idx" is negative we consider it as zero. | ||
743 | * The reason to do so is to avoid sysfs names that only make | ||
744 | * sense when there are multiple adapters. | ||
745 | */ | ||
746 | adap->nr = dev->idx >= 0 ? dev->idx : 0; | ||
747 | |||
748 | if ((ret = i2c_add_numbered_adapter(adap)) < 0) { | ||
742 | printk(KERN_CRIT "ibm-iic%d: failed to register i2c adapter\n", | 749 | printk(KERN_CRIT "ibm-iic%d: failed to register i2c adapter\n", |
743 | dev->idx); | 750 | dev->idx); |
744 | goto fail; | 751 | goto fail; |