const char *name, int base, int ngpio)
{
struct gpio_chip *gc = &chip->gc;
- int ret;
gc->base = base;
gc->ngpio = ngpio;
chip->lines = devm_kzalloc(dev, sizeof(*chip->lines) * gc->ngpio,
GFP_KERNEL);
- if (!chip->lines) {
- ret = -ENOMEM;
- goto err;
- }
-
- ret = devm_gpiochip_add_data(dev, &chip->gc, chip);
- if (ret)
- goto err;
-
- dev_info(dev, "gpio<%d..%d> add successful!", base, base + ngpio);
- return 0;
+ if (!chip->lines)
+ return -ENOMEM;
-err:
- dev_err(dev, "gpio<%d..%d> add failed!", base, base + ngpio);
- return ret;
+ return devm_gpiochip_add_data(dev, &chip->gc, chip);
}
static int gpio_mockup_probe(struct platform_device *pdev)
}
if (ret) {
- if (base < 0)
- dev_err(dev, "gpio<%d..%d> add failed\n",
- base, ngpio);
- else
- dev_err(dev, "gpio<%d..%d> add failed\n",
- base, base + ngpio);
+ dev_err(dev, "gpio<%d..%d> add failed\n",
+ base, base < 0 ? ngpio : base + ngpio);
return ret;
}
+
+ dev_info(dev, "gpio<%d..%d> add successful!",
+ base, base + ngpio);
}
return 0;