Message ID | 1329175275-19404-1-git-send-email-swarren@nvidia.com |
---|---|
State | Accepted, archived |
Headers | show |
Stephen Warren wrote at Monday, February 13, 2012 4:21 PM: > Commit 7da5a66 "irq_domain: Remove 'new' irq_domain in favour of the > ppc one" changed the set of available irq domain APIs. Update the Tegra > GPIO driver to account for those changes, to solve a build break. Grant, Linus, Could this please be checked in; linux-next since about Feb 6th doesn't build for Tegra without it. Thanks.
On Fri, Feb 24, 2012 at 03:12:37PM -0800, Stephen Warren wrote: > Stephen Warren wrote at Monday, February 13, 2012 4:21 PM: > > Commit 7da5a66 "irq_domain: Remove 'new' irq_domain in favour of the > > ppc one" changed the set of available irq domain APIs. Update the Tegra > > GPIO driver to account for those changes, to solve a build break. > > Grant, Linus, > > Could this please be checked in; linux-next since about Feb 6th doesn't > build for Tegra without it. This doesn't apply against the gpio tree since I didn't pick up the DT patches. It looks like Olof did. (3391811c & 6f74dc9bc). The irq_domain branch is stable now, so it can be merged into the arm-soc tree before applying this patch. g. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, Feb 24, 2012 at 3:29 PM, Grant Likely <grant.likely@secretlab.ca> wrote: > On Fri, Feb 24, 2012 at 03:12:37PM -0800, Stephen Warren wrote: >> Stephen Warren wrote at Monday, February 13, 2012 4:21 PM: >> > Commit 7da5a66 "irq_domain: Remove 'new' irq_domain in favour of the >> > ppc one" changed the set of available irq domain APIs. Update the Tegra >> > GPIO driver to account for those changes, to solve a build break. >> >> Grant, Linus, >> >> Could this please be checked in; linux-next since about Feb 6th doesn't >> build for Tegra without it. > > This doesn't apply against the gpio tree since I didn't pick up the DT patches. > It looks like Olof did. (3391811c & 6f74dc9bc). The irq_domain branch is > stable now, so it can be merged into the arm-soc tree before applying this > patch. Yep, can do. Just to clarify, the branch that is guaranteed to be stable is irqdomain/next on your linux-2.6 repo? -Olof -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c index 98f3980..6f17671 100644 --- a/drivers/gpio/gpio-tegra.c +++ b/drivers/gpio/gpio-tegra.c @@ -75,7 +75,7 @@ struct tegra_gpio_bank { #endif }; -static struct irq_domain irq_domain; +static struct irq_domain *irq_domain; static void __iomem *regs; static u32 tegra_gpio_bank_count; static struct tegra_gpio_bank *tegra_gpio_banks; @@ -141,7 +141,7 @@ static int tegra_gpio_direction_output(struct gpio_chip *chip, unsigned offset, static int tegra_gpio_to_irq(struct gpio_chip *chip, unsigned offset) { - return irq_domain_to_irq(&irq_domain, offset); + return irq_find_mapping(irq_domain, offset); } static struct gpio_chip tegra_gpio_chip = { @@ -372,11 +372,9 @@ static int __devinit tegra_gpio_probe(struct platform_device *pdev) dev_err(&pdev->dev, "Couldn't allocate IRQ numbers\n"); return -ENODEV; } - irq_domain.irq_base = irq_base; - irq_domain.nr_irq = tegra_gpio_chip.ngpio; - irq_domain.ops = &irq_domain_simple_ops; - irq_domain.of_node = pdev->dev.of_node; - irq_domain_add(&irq_domain); + irq_domain = irq_domain_add_legacy(pdev->dev.of_node, + tegra_gpio_chip.ngpio, irq_base, 0, + &irq_domain_simple_ops, NULL); for (i = 0; i < tegra_gpio_bank_count; i++) { res = platform_get_resource(pdev, IORESOURCE_IRQ, i); @@ -416,7 +414,7 @@ static int __devinit tegra_gpio_probe(struct platform_device *pdev) gpiochip_add(&tegra_gpio_chip); for (gpio = 0; gpio < tegra_gpio_chip.ngpio; gpio++) { - int irq = irq_domain_to_irq(&irq_domain, gpio); + int irq = irq_find_mapping(irq_domain, gpio); /* No validity check; all Tegra GPIOs are valid IRQs */ bank = &tegra_gpio_banks[GPIO_BANK(gpio)];
Commit 7da5a66 "irq_domain: Remove 'new' irq_domain in favour of the ppc one" changed the set of available irq domain APIs. Update the Tegra GPIO driver to account for those changes, to solve a build break. Signed-off-by: Stephen Warren <swarren@nvidia.com> --- With this patch, next-20120206 works. There are one or two other issues that prevent more recent nexts from working though; I'm still tracking those down. However, I think this patch is fine by itself, since it solves all issues in next-20120206. drivers/gpio/gpio-tegra.c | 14 ++++++-------- 1 files changed, 6 insertions(+), 8 deletions(-)