Commit 0f3b4838 authored by Jean Delvare's avatar Jean Delvare Committed by Jean Delvare
Browse files

i2c-algo-bit: Add i2c_bit_add_numbered_bus



Add i2c_bit_add_numbered_bus(), which is equivalent to i2c_bit_add_bus
except that it calls i2c_add_numbered_adapter() at the end instead of
i2c_add_adapter().

Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent c0564606
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -540,7 +540,7 @@ static const struct i2c_algorithm i2c_bit_algo = {
/* 
 * registering functions to load algorithms at runtime 
 */
int i2c_bit_add_bus(struct i2c_adapter *adap)
static int i2c_bit_prepare_bus(struct i2c_adapter *adap)
{
	struct i2c_algo_bit_data *bit_adap = adap->algo_data;

@@ -558,10 +558,33 @@ int i2c_bit_add_bus(struct i2c_adapter *adap)
	adap->timeout = 100;	/* default values, should	*/
	adap->retries = 3;	/* be replaced by defines	*/

	return 0;
}

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);
}
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);
}
EXPORT_SYMBOL(i2c_bit_add_numbered_bus);

MODULE_AUTHOR("Simon G. Vogl <simon@tk.uni-linz.ac.at>");
MODULE_DESCRIPTION("I2C-Bus bit-banging algorithm");
MODULE_LICENSE("GPL");
+1 −0
Original line number Diff line number Diff line
@@ -44,5 +44,6 @@ struct i2c_algo_bit_data {
};

int i2c_bit_add_bus(struct i2c_adapter *);
int i2c_bit_add_numbered_bus(struct i2c_adapter *);

#endif /* _LINUX_I2C_ALGO_BIT_H */