|
@@ -20,8 +20,12 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
|
|
|
void __iomem *dat, *dir;
|
|
|
struct gpio_chip *gc;
|
|
|
struct resource *res;
|
|
|
- int err, id = np ? of_alias_get_id(np, "gpio") : pdev->id;
|
|
|
+ int err, id;
|
|
|
|
|
|
+ if (!np)
|
|
|
+ return -ENODEV;
|
|
|
+
|
|
|
+ id = of_alias_get_id(np, "gpio");
|
|
|
if ((id < 0) || (id > 4))
|
|
|
return -ENODEV;
|
|
|
|
|
@@ -63,7 +67,7 @@ static int clps711x_gpio_probe(struct platform_device *pdev)
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- gc->base = id * 8;
|
|
|
+ gc->base = -1;
|
|
|
gc->owner = THIS_MODULE;
|
|
|
platform_set_drvdata(pdev, gc);
|
|
|
|