diff options
| author | Jean Delvare <khali@linux-fr.org> | 2011-01-10 22:11:23 +0100 | 
|---|---|---|
| committer | Jean Delvare <khali@endymion.delvare> | 2011-01-10 22:11:23 +0100 | 
| commit | f451171c5ac829e55581c81caf2cb01e1c0a5c5f (patch) | |
| tree | 519af0702a8348b043a721d996933b655236712e /drivers/i2c | |
| parent | 92ed1a76ca31774eb27de14b2215841367c68056 (diff) | |
| download | olio-linux-3.10-f451171c5ac829e55581c81caf2cb01e1c0a5c5f.tar.xz olio-linux-3.10-f451171c5ac829e55581c81caf2cb01e1c0a5c5f.zip  | |
i2c-algo-bit: Refactor adapter registration
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@linux-fr.org>
Diffstat (limited to 'drivers/i2c')
| -rw-r--r-- | drivers/i2c/algos/i2c-algo-bit.c | 21 | 
1 files changed, 5 insertions, 16 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index a39e6cff86e..938170b8998 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c @@ -600,7 +600,8 @@ static const struct i2c_algorithm i2c_bit_algo = {  /*   * 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 i2c_adapter *adap)  	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);  |