For probing via device tree, we need to support the case without platform_data.
In this case, chip.base is set to -1 for automatic numbering.

Signed-off-by: Roland Stigge <sti...@antcom.de>
---
 drivers/gpio/gpio-max730x.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- linux-2.6.orig/drivers/gpio/gpio-max730x.c
+++ linux-2.6/drivers/gpio/gpio-max730x.c
@@ -167,10 +167,6 @@ int __devinit __max730x_probe(struct max
        int i, ret;
 
        pdata = dev->platform_data;
-       if (!pdata || !pdata->base) {
-               dev_err(dev, "incorrect or missing platform data\n");
-               return -EINVAL;
-       }
 
        mutex_init(&ts->lock);
        dev_set_drvdata(dev, ts);
@@ -178,7 +174,12 @@ int __devinit __max730x_probe(struct max
        /* Power up the chip and disable IRQ output */
        ts->write(dev, 0x04, 0x01);
 
-       ts->input_pullup_active = pdata->input_pullup_active;
+       if (pdata) {
+               ts->input_pullup_active = pdata->input_pullup_active;
+               ts->chip.base = pdata->base;
+       } else {
+               ts->chip.base = -1;
+       }
        ts->chip.label = dev->driver->name;
 
        ts->chip.direction_input = max7301_direction_input;
@@ -186,7 +187,6 @@ int __devinit __max730x_probe(struct max
        ts->chip.direction_output = max7301_direction_output;
        ts->chip.set = max7301_set;
 
-       ts->chip.base = pdata->base;
        ts->chip.ngpio = PIN_NUMBER;
        ts->chip.can_sleep = 1;
        ts->chip.dev = dev;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to