iio: prox: pulsed-light-v2: Use pm_runtime_resume_and_get()
authorJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 16 May 2021 16:21:02 +0000 (17:21 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 16 Jun 2021 13:53:13 +0000 (14:53 +0100)
Using this new call makes it easy to handle any errors as a result
of runtime resume as it exits without leaving the reference count
elevated.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Matt Ranostay <matt.ranostay@konsulko.com>
Acked-by: Matt Ranostay <matt.ranostay@konsulko.com>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/20210516162103.1332291-6-jic23@kernel.org
drivers/iio/proximity/pulsedlight-lidar-lite-v2.c

index d854b8d..27026c0 100644 (file)
@@ -158,7 +158,9 @@ static int lidar_get_measurement(struct lidar_data *data, u16 *reg)
        int tries = 10;
        int ret;
 
-       pm_runtime_get_sync(&client->dev);
+       ret = pm_runtime_resume_and_get(&client->dev);
+       if (ret < 0)
+               return ret;
 
        /* start sample */
        ret = lidar_write_control(data, LIDAR_REG_CONTROL_ACQUIRE);