Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f451171c authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare
Browse files

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: default avatarJean Delvare <khali@linux-fr.org>
parent 92ed1a76
Loading
Loading
Loading
Loading
+5 −16
Original line number Original line Diff line number Diff line
@@ -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)
	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);