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>
This commit is contained in:
Stefan Roese 2007-10-13 23:56:30 +02:00 committed by Jean Delvare
parent 8056c6cb2b
commit 7589a326d1
1 changed files with 8 additions and 1 deletions

View File

@ -738,7 +738,14 @@ static int __devinit iic_probe(struct ocp_device *ocp){
adap->timeout = 1; adap->timeout = 1;
adap->retries = 1; adap->retries = 1;
if ((ret = i2c_add_adapter(adap)) != 0){ /*
* If "dev->idx" is negative we consider it as zero.
* The reason to do so is to avoid sysfs names that only make
* sense when there are multiple adapters.
*/
adap->nr = dev->idx >= 0 ? dev->idx : 0;
if ((ret = i2c_add_numbered_adapter(adap)) < 0) {
printk(KERN_CRIT "ibm-iic%d: failed to register i2c adapter\n", printk(KERN_CRIT "ibm-iic%d: failed to register i2c adapter\n",
dev->idx); dev->idx);
goto fail; goto fail;