summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorWolfram Sang <wsa@kernel.org>2020-05-22 16:56:58 +0200
committerWolfram Sang <wsa@kernel.org>2020-05-22 16:56:58 +0200
commit7a4e63cb0905672fd52e7316a885f19d4aeed976 (patch)
treee6cc6d80b6f1c6c9218a4ed27ef2be290a527ee3 /drivers/i2c
parent3f35064a7cfef4ed8d25cdb16da0abfbbd525f63 (diff)
downloadlinux-7a4e63cb0905672fd52e7316a885f19d4aeed976.tar.bz2
Revert "i2c: core: support bus regulator controlling in adapter"
This reverts commit 6fe12cdbcfe35ad4726a619a9546822d34fc934c. Testing in linux-next showed it needs some more time. Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/i2c-core-base.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index ac7edcc1d5ee..9987e72752c4 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -313,14 +313,12 @@ static int i2c_smbus_host_notify_to_irq(const struct i2c_client *client)
static int i2c_device_probe(struct device *dev)
{
struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap;
struct i2c_driver *driver;
int status;
if (!client)
return 0;
- adap = client->adapter;
driver = to_i2c_driver(dev->driver);
client->irq = client->init_irq;
@@ -386,12 +384,6 @@ static int i2c_device_probe(struct device *dev)
dev_dbg(dev, "probe\n");
- status = regulator_enable(adap->bus_regulator);
- if (status < 0) {
- dev_err(&adap->dev, "Failed to enable power regulator\n");
- goto err_clear_wakeup_irq;
- }
-
status = of_clk_set_defaults(dev->of_node, false);
if (status < 0)
goto err_clear_wakeup_irq;
@@ -432,14 +424,12 @@ put_sync_adapter:
static int i2c_device_remove(struct device *dev)
{
struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap;
struct i2c_driver *driver;
int status = 0;
if (!client || !dev->driver)
return 0;
- adap = client->adapter;
driver = to_i2c_driver(dev->driver);
if (driver->remove) {
dev_dbg(dev, "remove\n");
@@ -447,8 +437,6 @@ static int i2c_device_remove(struct device *dev)
}
dev_pm_domain_detach(&client->dev, true);
- if (!pm_runtime_status_suspended(&client->dev))
- regulator_disable(adap->bus_regulator);
dev_pm_clear_wake_irq(&client->dev);
device_init_wakeup(&client->dev, false);
@@ -460,72 +448,6 @@ static int i2c_device_remove(struct device *dev)
return status;
}
-#ifdef CONFIG_PM_SLEEP
-static int i2c_resume_early(struct device *dev)
-{
- struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap = client->adapter;
- int err;
-
- if (!pm_runtime_status_suspended(&client->dev)) {
- err = regulator_enable(adap->bus_regulator);
- if (err)
- return err;
- }
-
- return pm_generic_resume_early(&client->dev);
-}
-
-static int i2c_suspend_late(struct device *dev)
-{
- struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap = client->adapter;
- int err;
-
- err = pm_generic_suspend_late(&client->dev);
- if (err)
- return err;
-
- if (!pm_runtime_status_suspended(&client->dev))
- return regulator_disable(adap->bus_regulator);
-
- return 0;
-}
-#endif
-
-#ifdef CONFIG_PM
-static int i2c_runtime_resume(struct device *dev)
-{
- struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap = client->adapter;
- int err;
-
- err = regulator_enable(adap->bus_regulator);
- if (err)
- return err;
-
- return pm_generic_runtime_resume(&client->dev);
-}
-
-static int i2c_runtime_suspend(struct device *dev)
-{
- struct i2c_client *client = i2c_verify_client(dev);
- struct i2c_adapter *adap = client->adapter;
- int err;
-
- err = pm_generic_runtime_suspend(&client->dev);
- if (err)
- return err;
-
- return regulator_disable(adap->bus_regulator);
-}
-#endif
-
-static const struct dev_pm_ops i2c_device_pm = {
- SET_LATE_SYSTEM_SLEEP_PM_OPS(i2c_suspend_late, i2c_resume_early)
- SET_RUNTIME_PM_OPS(i2c_runtime_suspend, i2c_runtime_resume, NULL)
-};
-
static void i2c_device_shutdown(struct device *dev)
{
struct i2c_client *client = i2c_verify_client(dev);
@@ -583,7 +505,6 @@ struct bus_type i2c_bus_type = {
.probe = i2c_device_probe,
.remove = i2c_device_remove,
.shutdown = i2c_device_shutdown,
- .pm = &i2c_device_pm,
};
EXPORT_SYMBOL_GPL(i2c_bus_type);
@@ -1422,11 +1343,6 @@ static int i2c_register_adapter(struct i2c_adapter *adap)
if (res)
goto out_reg;
- adap->bus_regulator = devm_regulator_get(&adap->dev, "bus");
- if (IS_ERR(adap->bus_regulator)) {
- res = PTR_ERR(adap->bus_regulator);
- goto out_reg;
- }
dev_dbg(&adap->dev, "adapter [%s] registered\n", adap->name);
pm_runtime_no_callbacks(&adap->dev);