i2c: Allow i2c_add_numbered_adapter() to assign a bus id
Currently, if an i2c bus driver supports both static and dynamic bus ids, it needs to choose between calling i2c_add_numbered_adapter() and i2c_add_adapter(). This patch makes i2c_add_numbered_adapter() redirect to i2c_add_adapter() if the requested bus id is -1. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:

committed by
Jean Delvare

parent
3fea5df41d
commit
488bf314bf
@@ -925,6 +925,9 @@ EXPORT_SYMBOL(i2c_add_adapter);
|
||||
* or otherwise built in to the system's mainboard, and where i2c_board_info
|
||||
* is used to properly configure I2C devices.
|
||||
*
|
||||
* If the requested bus number is set to -1, then this function will behave
|
||||
* identically to i2c_add_adapter, and will dynamically assign a bus number.
|
||||
*
|
||||
* If no devices have pre-been declared for this bus, then be sure to
|
||||
* register the adapter before any dynamically allocated ones. Otherwise
|
||||
* the required bus ID may not be available.
|
||||
@@ -940,6 +943,8 @@ int i2c_add_numbered_adapter(struct i2c_adapter *adap)
|
||||
int id;
|
||||
int status;
|
||||
|
||||
if (adap->nr == -1) /* -1 means dynamically assign bus id */
|
||||
return i2c_add_adapter(adap);
|
||||
if (adap->nr & ~MAX_ID_MASK)
|
||||
return -EINVAL;
|
||||
|
||||
|
Reference in New Issue
Block a user