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

Commit 9f924169 authored by Wolfram Sang's avatar Wolfram Sang Committed by Wolfram Sang
Browse files

i2c: always enable RuntimePM for the adapter device



The adapter device is a logical device. Because of that, it already uses
pm_runtime_no_callbacks() in the core. To ensure proper propagation from
the children (i2c devices) to the parent of the adapter (the HW device),
make sure RuntimePM is enabled in any case.

Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 8d22f309
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -1564,6 +1564,7 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
	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);
	pm_runtime_enable(&adap->dev);


#ifdef CONFIG_I2C_COMPAT
#ifdef CONFIG_I2C_COMPAT
	res = class_compat_create_link(i2c_adapter_compat_class, &adap->dev,
	res = class_compat_create_link(i2c_adapter_compat_class, &adap->dev,
@@ -1818,6 +1819,8 @@ void i2c_del_adapter(struct i2c_adapter *adap)
	/* device name is gone after device_unregister */
	/* device name is gone after device_unregister */
	dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name);
	dev_dbg(&adap->dev, "adapter [%s] unregistered\n", adap->name);


	pm_runtime_disable(&adap->dev);

	/* wait until all references to the device are gone
	/* wait until all references to the device are gone
	 *
	 *
	 * FIXME: This is old code and should ideally be replaced by an
	 * FIXME: This is old code and should ideally be replaced by an