i2c: core: call of_i2c_setup_smbus_alert in i2c_register_adapter
Add a call to of_i2c_setup_smbus_alert when a i2c adapter is registered so the the smbalert driver can be registered. Signed-off-by: Phil Reid <preid@electromag.com.au> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
This commit is contained in:
parent
69d17246ab
commit
f8756c67b3
@ -29,6 +29,7 @@
|
|||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
|
#include <linux/i2c-smbus.h>
|
||||||
#include <linux/idr.h>
|
#include <linux/idr.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/irqflags.h>
|
#include <linux/irqflags.h>
|
||||||
@ -1259,6 +1260,10 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
|
|||||||
goto out_list;
|
goto out_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
res = of_i2c_setup_smbus_alert(adap);
|
||||||
|
if (res)
|
||||||
|
goto out_reg;
|
||||||
|
|
||||||
dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
|
dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
|
||||||
|
|
||||||
pm_runtime_no_callbacks(&adap->dev);
|
pm_runtime_no_callbacks(&adap->dev);
|
||||||
@ -1290,6 +1295,10 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
out_reg:
|
||||||
|
init_completion(&adap->dev_released);
|
||||||
|
device_unregister(&adap->dev);
|
||||||
|
wait_for_completion(&adap->dev_released);
|
||||||
out_list:
|
out_list:
|
||||||
mutex_lock(&core_lock);
|
mutex_lock(&core_lock);
|
||||||
idr_remove(&i2c_adapter_idr, adap->nr);
|
idr_remove(&i2c_adapter_idr, adap->nr);
|
||||||
|
Loading…
Reference in New Issue
Block a user