|
@@ -381,17 +381,23 @@ static int pa12203001_probe(struct i2c_client *client,
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
ret = pm_runtime_set_active(&client->dev);
|
|
ret = pm_runtime_set_active(&client->dev);
|
|
- if (ret < 0) {
|
|
|
|
- pa12203001_power_chip(indio_dev, PA12203001_CHIP_DISABLE);
|
|
|
|
- return ret;
|
|
|
|
- }
|
|
|
|
|
|
+ if (ret < 0)
|
|
|
|
+ goto out_err;
|
|
|
|
|
|
pm_runtime_enable(&client->dev);
|
|
pm_runtime_enable(&client->dev);
|
|
pm_runtime_set_autosuspend_delay(&client->dev,
|
|
pm_runtime_set_autosuspend_delay(&client->dev,
|
|
PA12203001_SLEEP_DELAY_MS);
|
|
PA12203001_SLEEP_DELAY_MS);
|
|
pm_runtime_use_autosuspend(&client->dev);
|
|
pm_runtime_use_autosuspend(&client->dev);
|
|
|
|
|
|
- return iio_device_register(indio_dev);
|
|
|
|
|
|
+ ret = iio_device_register(indio_dev);
|
|
|
|
+ if (ret < 0)
|
|
|
|
+ goto out_err;
|
|
|
|
+
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
|
|
+out_err:
|
|
|
|
+ pa12203001_power_chip(indio_dev, PA12203001_CHIP_DISABLE);
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
|
|
|
|
static int pa12203001_remove(struct i2c_client *client)
|
|
static int pa12203001_remove(struct i2c_client *client)
|