pmac_i2c_adapter_to_bus can be simplified. We no longer need to walk
the list of buses, we can get the right bus directly.

The only case where it makes a difference is if the provided adapter
is _not_ a pmac_i2c_bus, but it is not supposed to happen anyway. So
we can also drop the error checks.

Signed-off-by: Jean Delvare <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
---
 arch/powerpc/platforms/powermac/low_i2c.c   |    7 +------
 drivers/macintosh/windfarm_lm75_sensor.c    |    2 --
 drivers/macintosh/windfarm_max6690_sensor.c |    2 --
 drivers/macintosh/windfarm_smu_sat.c        |    2 --
 sound/aoa/codecs/onyx.c                     |    2 --
 sound/aoa/codecs/tas.c                      |    2 --
 6 files changed, 1 insertion(+), 16 deletions(-)

--- linux-2.6.32-rc4.orig/arch/powerpc/platforms/powermac/low_i2c.c     
2009-10-14 15:56:23.000000000 +0200
+++ linux-2.6.32-rc4/arch/powerpc/platforms/powermac/low_i2c.c  2009-10-14 
15:57:42.000000000 +0200
@@ -1020,12 +1020,7 @@ EXPORT_SYMBOL_GPL(pmac_i2c_get_adapter);
 
 struct pmac_i2c_bus *pmac_i2c_adapter_to_bus(struct i2c_adapter *adapter)
 {
-       struct pmac_i2c_bus *bus;
-
-       list_for_each_entry(bus, &pmac_i2c_busses, link)
-               if (&bus->adapter == adapter)
-                       return bus;
-       return NULL;
+       return container_of(adapter, struct pmac_i2c_bus, adapter);
 }
 EXPORT_SYMBOL_GPL(pmac_i2c_adapter_to_bus);
 
--- linux-2.6.32-rc4.orig/drivers/macintosh/windfarm_lm75_sensor.c      
2009-10-05 10:45:49.000000000 +0200
+++ linux-2.6.32-rc4/drivers/macintosh/windfarm_lm75_sensor.c   2009-10-14 
15:57:42.000000000 +0200
@@ -173,8 +173,6 @@ static int wf_lm75_attach(struct i2c_ada
        DBG("wf_lm75: adapter %s detected\n", adapter->name);
 
        bus = pmac_i2c_adapter_to_bus(adapter);
-       if (bus == NULL)
-               return -ENODEV;
        busnode = pmac_i2c_get_bus_node(bus);
 
        DBG("wf_lm75: bus found, looking for device...\n");
--- linux-2.6.32-rc4.orig/drivers/macintosh/windfarm_max6690_sensor.c   
2009-10-05 10:45:49.000000000 +0200
+++ linux-2.6.32-rc4/drivers/macintosh/windfarm_max6690_sensor.c        
2009-10-14 15:57:42.000000000 +0200
@@ -135,8 +135,6 @@ static int wf_max6690_attach(struct i2c_
        const char *loc;
 
        bus = pmac_i2c_adapter_to_bus(adapter);
-       if (bus == NULL)
-               return -ENODEV;
        busnode = pmac_i2c_get_bus_node(bus);
 
        while ((dev = of_get_next_child(busnode, dev)) != NULL) {
--- linux-2.6.32-rc4.orig/drivers/macintosh/windfarm_smu_sat.c  2009-10-05 
10:45:49.000000000 +0200
+++ linux-2.6.32-rc4/drivers/macintosh/windfarm_smu_sat.c       2009-10-14 
15:57:42.000000000 +0200
@@ -359,8 +359,6 @@ static int wf_sat_attach(struct i2c_adap
        struct pmac_i2c_bus *bus;
 
        bus = pmac_i2c_adapter_to_bus(adapter);
-       if (bus == NULL)
-               return -ENODEV;
        busnode = pmac_i2c_get_bus_node(bus);
 
        while ((dev = of_get_next_child(busnode, dev)) != NULL)
--- linux-2.6.32-rc4.orig/sound/aoa/codecs/onyx.c       2009-10-01 
09:44:36.000000000 +0200
+++ linux-2.6.32-rc4/sound/aoa/codecs/onyx.c    2009-10-14 15:57:42.000000000 
+0200
@@ -1077,8 +1077,6 @@ static int onyx_i2c_attach(struct i2c_ad
        struct pmac_i2c_bus *bus;
 
        bus = pmac_i2c_adapter_to_bus(adapter);
-       if (bus == NULL)
-               return -ENODEV;
        busnode = pmac_i2c_get_bus_node(bus);
 
        while ((dev = of_get_next_child(busnode, dev)) != NULL) {
--- linux-2.6.32-rc4.orig/sound/aoa/codecs/tas.c        2009-10-05 
10:45:51.000000000 +0200
+++ linux-2.6.32-rc4/sound/aoa/codecs/tas.c     2009-10-14 15:57:42.000000000 
+0200
@@ -958,8 +958,6 @@ static int tas_i2c_attach(struct i2c_ada
        struct pmac_i2c_bus *bus;
 
        bus = pmac_i2c_adapter_to_bus(adapter);
-       if (bus == NULL)
-               return -ENODEV;
        busnode = pmac_i2c_get_bus_node(bus);
 
        while ((dev = of_get_next_child(busnode, dev)) != NULL) {


-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to