[PATCH 2/3] i2c-powermac: Simplify pmac_i2c_adapter_to_bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <khali@xxxxxxxxxxxx>
Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
---
 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux