Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: pxa: remove dead code

Commit f87311743 ("ARM: mmp: add more compatible names in gpio driver")
changed the driver logic to determine the number of available GPIOs from
the compatible string, and hence obsoleted the (undocumented) child
nodes that were previously necessary. However, it left some remainder
which can be safely removed now.

Also, this patch makes pxa_gpio_probe_dt() return the correct value in
case irq_alloc_descs() fails.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Daniel Mack and committed by
Linus Walleij
5dbb7c63 640efa08

+3 -10
+3 -10
drivers/gpio/gpio-pxa.c
··· 524 524 525 525 static int pxa_gpio_probe_dt(struct platform_device *pdev) 526 526 { 527 - int ret, nr_gpios; 528 - struct device_node *prev, *next, *np = pdev->dev.of_node; 527 + int ret = 0, nr_gpios; 528 + struct device_node *np = pdev->dev.of_node; 529 529 const struct of_device_id *of_id = 530 530 of_match_device(pxa_gpio_dt_ids, &pdev->dev); 531 531 const struct pxa_gpio_id *gpio_id; ··· 537 537 gpio_id = of_id->data; 538 538 gpio_type = gpio_id->type; 539 539 540 - next = of_get_next_child(np, NULL); 541 - prev = next; 542 - if (!next) { 543 - dev_err(&pdev->dev, "Failed to find child gpio node\n"); 544 - ret = -EINVAL; 545 - goto err; 546 - } 547 - of_node_put(prev); 548 540 nr_gpios = gpio_id->gpio_nums; 549 541 pxa_last_gpio = nr_gpios - 1; 550 542 551 543 irq_base = irq_alloc_descs(-1, 0, nr_gpios, 0); 552 544 if (irq_base < 0) { 553 545 dev_err(&pdev->dev, "Failed to allocate IRQ numbers\n"); 546 + ret = irq_base; 554 547 goto err; 555 548 } 556 549 domain = irq_domain_add_legacy(np, nr_gpios, irq_base, 0,