Re: [PATCH 2/3] staging:iio:magnetometer:ak8975: Don't assume 0 isan invalid GPIO

From: Jonathan Cameron
Date: Thu Sep 01 2011 - 04:57:59 EST


On 08/31/11 20:40, Stephen Warren wrote:
> gpio_is_valid() is the defined mechanism to determine whether a GPIO is
> valid. Use this instead of assuming that 0 is an invalid GPIO.
>
Greg, depending on merge order you will get some fuzz between this and something
in my tree.

> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx>
Acked-by: Jonathan Cameron <jic23@xxxxxxxxx>
> ---
> drivers/staging/iio/magnetometer/ak8975.c | 11 +++++------
> 1 files changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/staging/iio/magnetometer/ak8975.c b/drivers/staging/iio/magnetometer/ak8975.c
> index bd40e32..79ed183 100644
> --- a/drivers/staging/iio/magnetometer/ak8975.c
> +++ b/drivers/staging/iio/magnetometer/ak8975.c
> @@ -373,7 +373,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int index, int *val)
> }
>
> /* Wait for the conversion to complete. */
> - if (data->eoc_gpio)
> + if (gpio_is_valid(data->eoc_gpio))
> ret = wait_conversion_complete_gpio(data);
> else
> ret = wait_conversion_complete_polled(data);
> @@ -481,7 +481,7 @@ static int ak8975_probe(struct i2c_client *client,
>
> /* We may not have a GPIO based IRQ to scan, that is fine, we will
> poll if so */
> - if (eoc_gpio > 0) {
> + if (gpio_is_valid(eoc_gpio)) {
> err = gpio_request(eoc_gpio, "ak_8975");
> if (err < 0) {
> dev_err(&client->dev,
> @@ -497,8 +497,7 @@ static int ak8975_probe(struct i2c_client *client,
> eoc_gpio, err);
> goto exit_gpio;
> }
> - } else
> - eoc_gpio = 0; /* No GPIO available */
> + }
>
> /* Register with IIO */
> indio_dev = iio_allocate_device(sizeof(*data));
> @@ -534,7 +533,7 @@ static int ak8975_probe(struct i2c_client *client,
> exit_free_iio:
> iio_free_device(indio_dev);
> exit_gpio:
> - if (eoc_gpio)
> + if (gpio_is_valid(eoc_gpio))
> gpio_free(eoc_gpio);
> exit:
> return err;
> @@ -549,7 +548,7 @@ static int ak8975_remove(struct i2c_client *client)
> iio_device_unregister(indio_dev);
> iio_free_device(indio_dev);
>
> - if (eoc_gpio)
> + if (gpio_is_valid(eoc_gpio))
> gpio_free(eoc_gpio);
>
> return 0;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/