@@ -26,10 +26,8 @@ static int st_press_i2c_probe(struct i2c_client *client,
int err;
indio_dev = iio_device_alloc(sizeof(*pdata));
- if (indio_dev == NULL) {
- err = -ENOMEM;
- goto iio_device_alloc_error;
- }
+ if (!indio_dev)
+ return -ENOMEM;
pdata = iio_priv(indio_dev);
pdata->dev = &client->dev;
@@ -37,15 +35,12 @@ static int st_press_i2c_probe(struct i2c_client *client,
st_sensors_i2c_configure(indio_dev, client, pdata);
err = st_press_common_probe(indio_dev);
- if (err < 0)
- goto st_press_common_probe_error;
+ if (err < 0) {
+ iio_device_free(indio_dev);
+ return err;
+ }
return 0;
-
-st_press_common_probe_error:
- iio_device_free(indio_dev);
-iio_device_alloc_error:
- return err;
}
static int st_press_i2c_remove(struct i2c_client *client)
Strip out all the unnecessary gotos and check for NULL returns in the usual manner. Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/iio/pressure/st_pressure_i2c.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-)