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-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html