linux-i2c.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] i2c-algo-bit: Refactor adapter registration
@ 2010-12-07 10:06 Jean Delvare
       [not found] ` <20101207110631.6222cfed-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
  0 siblings, 1 reply; 8+ messages in thread
From: Jean Delvare @ 2010-12-07 10:06 UTC (permalink / raw)
  To: Linux I2C

Use a function pointer to decide whether to call i2c_add_adapter or
i2c_add_numbered_adapter. This makes the code more compact than the
current strategy of having the common code in a separate function.

Signed-off-by: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
---
 drivers/i2c/algos/i2c-algo-bit.c |   21 +++++----------------
 1 file changed, 5 insertions(+), 16 deletions(-)

--- linux-2.6.37-rc5.orig/drivers/i2c/algos/i2c-algo-bit.c	2010-12-07 10:13:49.000000000 +0100
+++ linux-2.6.37-rc5/drivers/i2c/algos/i2c-algo-bit.c	2010-12-07 11:02:38.000000000 +0100
@@ -600,7 +600,8 @@ static const struct i2c_algorithm i2c_bi
 /*
  * registering functions to load algorithms at runtime
  */
-static int i2c_bit_prepare_bus(struct i2c_adapter *adap)
+static int __i2c_bit_add_bus(struct i2c_adapter *adap,
+			     int (*add_adapter)(struct i2c_adapter *))
 {
 	struct i2c_algo_bit_data *bit_adap = adap->algo_data;
 
@@ -614,30 +615,18 @@ static int i2c_bit_prepare_bus(struct i2
 	adap->algo = &i2c_bit_algo;
 	adap->retries = 3;
 
-	return 0;
+	return add_adapter(adap);
 }
 
 int i2c_bit_add_bus(struct i2c_adapter *adap)
 {
-	int err;
-
-	err = i2c_bit_prepare_bus(adap);
-	if (err)
-		return err;
-
-	return i2c_add_adapter(adap);
+	return __i2c_bit_add_bus(adap, i2c_add_adapter);
 }
 EXPORT_SYMBOL(i2c_bit_add_bus);
 
 int i2c_bit_add_numbered_bus(struct i2c_adapter *adap)
 {
-	int err;
-
-	err = i2c_bit_prepare_bus(adap);
-	if (err)
-		return err;
-
-	return i2c_add_numbered_adapter(adap);
+	return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter);
 }
 EXPORT_SYMBOL(i2c_bit_add_numbered_bus);
 


-- 
Jean Delvare

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-12-14  7:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-12-07 10:06 [PATCH 1/2] i2c-algo-bit: Refactor adapter registration Jean Delvare
     [not found] ` <20101207110631.6222cfed-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2010-12-07 11:51   ` Ben Dooks
     [not found]     ` <20101207115131.GM20097-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2010-12-07 11:59       ` Michael Lawnick
     [not found]         ` <4CFE21A7.9020901-Mmb7MZpHnFY@public.gmane.org>
2010-12-07 17:29           ` Jean Delvare
     [not found]             ` <20101207182943.1e31507b-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2010-12-08  9:59               ` Michael Lawnick
     [not found]                 ` <4CFF56F6.1000606-Mmb7MZpHnFY@public.gmane.org>
2010-12-08 13:32                   ` Jean Delvare
     [not found]                     ` <20101208143236.5f9082af-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2010-12-13 23:47                       ` Ben Dooks
     [not found]                         ` <20101213234723.GZ20097-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2010-12-14  7:46                           ` Jean Delvare

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).