Commit 44454baa7ca7bb57c47a5564ed2528ba211fe8db

Authored by Karol Lewandowski
Committed by Wolfram Sang
1 parent bc414b7b9b

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

Commit 488bf314b ("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: Karol Lewandowski <k.lewandowsk@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>

Showing 3 changed files with 4 additions and 14 deletions Side-by-side Diff

drivers/i2c/busses/i2c-gpio.c
... ... @@ -190,12 +190,7 @@
190 190 adap->dev.parent = &pdev->dev;
191 191 adap->dev.of_node = pdev->dev.of_node;
192 192  
193   - /*
194   - * If "dev->id" is negative we consider it as zero.
195   - * The reason to do so is to avoid sysfs names that only make
196   - * sense when there are multiple adapters.
197   - */
198   - adap->nr = (pdev->id != -1) ? pdev->id : 0;
  193 + adap->nr = pdev->id;
199 194 ret = i2c_bit_add_numbered_bus(adap);
200 195 if (ret)
201 196 goto err_add_bus;
drivers/i2c/busses/i2c-pca-platform.c
... ... @@ -171,7 +171,7 @@
171 171 i2c->io_size = resource_size(res);
172 172 i2c->irq = irq;
173 173  
174   - i2c->adap.nr = pdev->id >= 0 ? pdev->id : 0;
  174 + i2c->adap.nr = pdev->id;
175 175 i2c->adap.owner = THIS_MODULE;
176 176 snprintf(i2c->adap.name, sizeof(i2c->adap.name),
177 177 "PCA9564/PCA9665 at 0x%08lx",
drivers/i2c/busses/i2c-versatile.c
... ... @@ -104,13 +104,8 @@
104 104 i2c->algo = i2c_versatile_algo;
105 105 i2c->algo.data = i2c;
106 106  
107   - if (dev->id >= 0) {
108   - /* static bus numbering */
109   - i2c->adap.nr = dev->id;
110   - ret = i2c_bit_add_numbered_bus(&i2c->adap);
111   - } else
112   - /* dynamic bus numbering */
113   - ret = i2c_bit_add_bus(&i2c->adap);
  107 + i2c->adap.nr = dev->id;
  108 + ret = i2c_bit_add_numbered_bus(&i2c->adap);
114 109 if (ret >= 0) {
115 110 platform_set_drvdata(dev, i2c);
116 111 of_i2c_register_devices(&i2c->adap);