Commit 44454baa authored by Karol Lewandowski's avatar Karol Lewandowski Committed by Wolfram Sang

i2c: Dynamically assign adapter id if it wasn't explictly specified

Commit 488bf314 ("i2c: Allow i2c_add_numbered_adapter() to assign a
bus id") reworked i2c_add_numbered_adapter() to call i2c_add_adapter()
if requested bus was -1.

This allows to simplify driver's initialization procedure by using
just one function for static and dynamic adapter id registration.

This patch updates few more drivers (missed out in original patch)
to use this functionality.
Signed-off-by: default avatarKarol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
parent bc414b7b
...@@ -190,12 +190,7 @@ static int __devinit i2c_gpio_probe(struct platform_device *pdev) ...@@ -190,12 +190,7 @@ static int __devinit i2c_gpio_probe(struct platform_device *pdev)
adap->dev.parent = &pdev->dev; adap->dev.parent = &pdev->dev;
adap->dev.of_node = pdev->dev.of_node; adap->dev.of_node = pdev->dev.of_node;
/* adap->nr = pdev->id;
* If "dev->id" 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 = (pdev->id != -1) ? pdev->id : 0;
ret = i2c_bit_add_numbered_bus(adap); ret = i2c_bit_add_numbered_bus(adap);
if (ret) if (ret)
goto err_add_bus; goto err_add_bus;
......
...@@ -171,7 +171,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev) ...@@ -171,7 +171,7 @@ static int __devinit i2c_pca_pf_probe(struct platform_device *pdev)
i2c->io_size = resource_size(res); i2c->io_size = resource_size(res);
i2c->irq = irq; i2c->irq = irq;
i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0; i2c->adap.nr = pdev->id;
i2c->adap.owner = THIS_MODULE; i2c->adap.owner = THIS_MODULE;
snprintf(i2c->adap.name, sizeof(i2c->adap.name), snprintf(i2c->adap.name, sizeof(i2c->adap.name),
"PCA9564/PCA9665 at 0x%08lx", "PCA9564/PCA9665 at 0x%08lx",
......
...@@ -104,13 +104,8 @@ static int i2c_versatile_probe(struct platform_device *dev) ...@@ -104,13 +104,8 @@ static int i2c_versatile_probe(struct platform_device *dev)
i2c->algo = i2c_versatile_algo; i2c->algo = i2c_versatile_algo;
i2c->algo.data = i2c; i2c->algo.data = i2c;
if (dev->id >= 0) {
/* static bus numbering */
i2c->adap.nr = dev->id; i2c->adap.nr = dev->id;
ret = i2c_bit_add_numbered_bus(&i2c->adap); ret = i2c_bit_add_numbered_bus(&i2c->adap);
} else
/* dynamic bus numbering */
ret = i2c_bit_add_bus(&i2c->adap);
if (ret >= 0) { if (ret >= 0) {
platform_set_drvdata(dev, i2c); platform_set_drvdata(dev, i2c);
of_i2c_register_devices(&i2c->adap); of_i2c_register_devices(&i2c->adap);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment