]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
iio: light: vcnl4000: make pm_runtime_enable() device-managed
authorErikas Bitovtas <xerikasxx@gmail.com>
Tue, 14 Apr 2026 12:37:21 +0000 (15:37 +0300)
committerJonathan Cameron <jic23@kernel.org>
Mon, 27 Apr 2026 08:58:21 +0000 (09:58 +0100)
Replace pm_runtime_set_active() and pm_runtime_enable() with their
device-managed counterpart to remove them from vcnl4000_remove().

Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/light/vcnl4000.c

index 1e636e6f51da3078529c4b43b2935171edf39a72..3d0287799ba51d4e13abcab201df1765cac734e3 100644 (file)
@@ -2055,23 +2055,18 @@ static int vcnl4000_probe(struct i2c_client *client)
                        return ret;
        }
 
-       ret = pm_runtime_set_active(dev);
-       if (ret < 0)
+       ret = devm_pm_runtime_set_active_enabled(dev);
+       if (ret)
                return ret;
 
        ret = iio_device_register(indio_dev);
        if (ret < 0)
-               goto fail_register;
+               return ret;
 
-       pm_runtime_enable(dev);
        pm_runtime_set_autosuspend_delay(dev, VCNL4000_SLEEP_DELAY_MS);
        pm_runtime_use_autosuspend(dev);
 
        return 0;
-
-fail_register:
-       pm_runtime_set_suspended(dev);
-       return ret;
 }
 
 static const struct of_device_id vcnl_4000_of_match[] = {
@@ -2091,10 +2086,7 @@ static void vcnl4000_remove(struct i2c_client *client)
 {
        struct iio_dev *indio_dev = i2c_get_clientdata(client);
 
-       pm_runtime_dont_use_autosuspend(&client->dev);
-       pm_runtime_disable(&client->dev);
        iio_device_unregister(indio_dev);
-       pm_runtime_set_suspended(&client->dev);
 }
 
 static int vcnl4000_runtime_suspend(struct device *dev)