diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-26 00:06:30 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-01-26 00:06:30 -0500 |
commit | 422d26b6ecd77af8c77f2a40580679459825170f (patch) | |
tree | 632e690e458fb7b27db200cd6fcd5429e143e419 /drivers/gpio/gpio-mvebu.c | |
parent | 4c271bb67c04253c1e99006eb48fb773a8fe8c0f (diff) | |
parent | 949db153b6466c6f7cad5a427ecea94985927311 (diff) |
Merge 3.8-rc5 into driver-core-next
This resolves a gpio driver merge issue pointed out in linux-next.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpio/gpio-mvebu.c')
-rw-r--r-- | drivers/gpio/gpio-mvebu.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c index bf6c7c989aee..7472182967ce 100644 --- a/drivers/gpio/gpio-mvebu.c +++ b/drivers/gpio/gpio-mvebu.c | |||
@@ -546,10 +546,8 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
546 | 546 | ||
547 | spin_lock_init(&mvchip->lock); | 547 | spin_lock_init(&mvchip->lock); |
548 | mvchip->membase = devm_ioremap_resource(&pdev->dev, res); | 548 | mvchip->membase = devm_ioremap_resource(&pdev->dev, res); |
549 | if (IS_ERR(mvchip->membase)) { | 549 | if (IS_ERR(mvchip->membase)) |
550 | kfree(mvchip->chip.label); | ||
551 | return PTR_ERR(mvchip->membase); | 550 | return PTR_ERR(mvchip->membase); |
552 | } | ||
553 | 551 | ||
554 | /* The Armada XP has a second range of registers for the | 552 | /* The Armada XP has a second range of registers for the |
555 | * per-CPU registers */ | 553 | * per-CPU registers */ |
@@ -557,16 +555,13 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
557 | res = platform_get_resource(pdev, IORESOURCE_MEM, 1); | 555 | res = platform_get_resource(pdev, IORESOURCE_MEM, 1); |
558 | if (! res) { | 556 | if (! res) { |
559 | dev_err(&pdev->dev, "Cannot get memory resource\n"); | 557 | dev_err(&pdev->dev, "Cannot get memory resource\n"); |
560 | kfree(mvchip->chip.label); | ||
561 | return -ENODEV; | 558 | return -ENODEV; |
562 | } | 559 | } |
563 | 560 | ||
564 | mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev, | 561 | mvchip->percpu_membase = devm_ioremap_resource(&pdev->dev, |
565 | res); | 562 | res); |
566 | if (IS_ERR(mvchip->percpu_membase)) { | 563 | if (IS_ERR(mvchip->percpu_membase)) |
567 | kfree(mvchip->chip.label); | ||
568 | return PTR_ERR(mvchip->percpu_membase); | 564 | return PTR_ERR(mvchip->percpu_membase); |
569 | } | ||
570 | } | 565 | } |
571 | 566 | ||
572 | /* | 567 | /* |
@@ -625,7 +620,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
625 | mvchip->irqbase = irq_alloc_descs(-1, 0, ngpios, -1); | 620 | mvchip->irqbase = irq_alloc_descs(-1, 0, ngpios, -1); |
626 | if (mvchip->irqbase < 0) { | 621 | if (mvchip->irqbase < 0) { |
627 | dev_err(&pdev->dev, "no irqs\n"); | 622 | dev_err(&pdev->dev, "no irqs\n"); |
628 | kfree(mvchip->chip.label); | ||
629 | return -ENOMEM; | 623 | return -ENOMEM; |
630 | } | 624 | } |
631 | 625 | ||
@@ -633,7 +627,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
633 | mvchip->membase, handle_level_irq); | 627 | mvchip->membase, handle_level_irq); |
634 | if (! gc) { | 628 | if (! gc) { |
635 | dev_err(&pdev->dev, "Cannot allocate generic irq_chip\n"); | 629 | dev_err(&pdev->dev, "Cannot allocate generic irq_chip\n"); |
636 | kfree(mvchip->chip.label); | ||
637 | return -ENOMEM; | 630 | return -ENOMEM; |
638 | } | 631 | } |
639 | 632 | ||
@@ -668,7 +661,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev) | |||
668 | irq_remove_generic_chip(gc, IRQ_MSK(ngpios), IRQ_NOREQUEST, | 661 | irq_remove_generic_chip(gc, IRQ_MSK(ngpios), IRQ_NOREQUEST, |
669 | IRQ_LEVEL | IRQ_NOPROBE); | 662 | IRQ_LEVEL | IRQ_NOPROBE); |
670 | kfree(gc); | 663 | kfree(gc); |
671 | kfree(mvchip->chip.label); | ||
672 | return -ENODEV; | 664 | return -ENODEV; |
673 | } | 665 | } |
674 | 666 | ||