[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E5F4AFE.5020800@cam.ac.uk>
Date: Thu, 01 Sep 2011 10:06:06 +0100
From: Jonathan Cameron <jic23@....ac.uk>
To: Stephen Warren <swarren@...dia.com>
CC: Greg Kroah-Hartman <gregkh@...e.de>,
Russell King <linux@....linux.org.uk>,
Andrew Chew <achew@...dia.com>, Arnd Bergmann <arnd@...db.de>,
linux-iio@...r.kernel.org, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org, linux-tegra@...r.kernel.org
Subject: Re: [PATCH 2/3] staging:iio:magnetometer:ak8975: Don't assume 0 is
an invalid GPIO
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@...dia.com>
Acked-by: Jonathan Cameron <jic23@....ac.uk>
> ---
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists