Re: [PATCH 1/2] gpio: mcp23s08: Allow -1 as a legal value for global gpio base

From: Grant Likely
Date: Sat Feb 09 2013 - 09:27:18 EST


On Wed, 6 Feb 2013 18:01:57 +0100, Lars Poeschel <larsi@xxxxxxxxxxxxxxxxx> wrote:
> From: Lars Poeschel <poeschel@xxxxxxxxxxx>
>
> Explicitly allow -1 as a legal value for the
> mcp23s08_platform_data->base. This is the special value lets the
> kernel choose a valid global gpio base number.
>
> Signed-off-by: Lars Poeschel <poeschel@xxxxxxxxxxx>
> ---
> drivers/gpio/gpio-mcp23s08.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpio/gpio-mcp23s08.c b/drivers/gpio/gpio-mcp23s08.c
> index 3cea0ea..2afb828 100644
> --- a/drivers/gpio/gpio-mcp23s08.c
> +++ b/drivers/gpio/gpio-mcp23s08.c
> @@ -483,7 +483,7 @@ static int mcp230xx_probe(struct i2c_client *client,
> int status;
>
> pdata = client->dev.platform_data;
> - if (!pdata || !gpio_is_valid(pdata->base)) {
> + if ((!pdata || !gpio_is_valid(pdata->base)) && pdata->base != -1) {
> dev_dbg(&client->dev, "invalid or missing platform data\n");
> return -EINVAL;

When used with the device tree you shouldn't have a platform data
pointer at all. Instead you should modify the driver to not require it.

g.

--
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/