gpio: gpio-max710x: Support device tree probing
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 <stigge@antcom.de> Acked-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
9859eb99e9
Коммит
8754fccbae
|
@ -167,10 +167,6 @@ int __devinit __max730x_probe(struct max7301 *ts)
|
|||
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 max7301 *ts)
|
|||
/* 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 max7301 *ts)
|
|||
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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче