提交 f451171c 编写于 作者: J Jean Delvare 提交者: Jean Delvare

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: NJean Delvare <khali@linux-fr.org>
上级 92ed1a76
...@@ -600,7 +600,8 @@ static const struct i2c_algorithm i2c_bit_algo = { ...@@ -600,7 +600,8 @@ static const struct i2c_algorithm i2c_bit_algo = {
/* /*
* registering functions to load algorithms at runtime * 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; struct i2c_algo_bit_data *bit_adap = adap->algo_data;
...@@ -614,30 +615,18 @@ static int i2c_bit_prepare_bus(struct i2c_adapter *adap) ...@@ -614,30 +615,18 @@ static int i2c_bit_prepare_bus(struct i2c_adapter *adap)
adap->algo = &i2c_bit_algo; adap->algo = &i2c_bit_algo;
adap->retries = 3; adap->retries = 3;
return 0; return add_adapter(adap);
} }
int i2c_bit_add_bus(struct i2c_adapter *adap) int i2c_bit_add_bus(struct i2c_adapter *adap)
{ {
int err; return __i2c_bit_add_bus(adap, i2c_add_adapter);
err = i2c_bit_prepare_bus(adap);
if (err)
return err;
return i2c_add_adapter(adap);
} }
EXPORT_SYMBOL(i2c_bit_add_bus); EXPORT_SYMBOL(i2c_bit_add_bus);
int i2c_bit_add_numbered_bus(struct i2c_adapter *adap) int i2c_bit_add_numbered_bus(struct i2c_adapter *adap)
{ {
int err; return __i2c_bit_add_bus(adap, i2c_add_numbered_adapter);
err = i2c_bit_prepare_bus(adap);
if (err)
return err;
return i2c_add_numbered_adapter(adap);
} }
EXPORT_SYMBOL(i2c_bit_add_numbered_bus); EXPORT_SYMBOL(i2c_bit_add_numbered_bus);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册