Subject: Re: linux-next: Tree for Oct 17 (pinctrl-single.c)

From: Tony Lindgren <[email-masked]>
Date: Fri, 18 Oct 2013 16:39:51 -0700

* Linus Walleij <[email-masked]> [131018 12:43]:
> On Fri, Oct 18, 2013 at 8:08 PM, Randy Dunlap <[email-masked]> wrote:
> > On 10/17/13 17:38, Mark Brown wrote:
> >> Hi all,
> >>
> >> I've uploaded today's linux-next tree to the master branch of the
> >> repository below:
> >>
> >>         git://gitorious.org/thierryreding/linux-next.git
> >>
> >> A next-20131017 tag is also provided for convenience.
> >>
> >> One new conflict today but otherwise uneventful.  x86_64 allmodconfigs
> >> build after each merge but no other build tests were done.
> >
> > on i386:
> >
> > drivers/pinctrl/pinctrl-single.c: In function 'pcs_irqdomain_map':
> > drivers/pinctrl/pinctrl-single.c:1750:2: error: implicit declaration of function 'set_irq_flags' [-Werror=implicit-function-declaration]
> > drivers/pinctrl/pinctrl-single.c:1750:21: error: 'IRQF_VALID' undeclared (first use in this function)
> > drivers/pinctrl/pinctrl-single.c:1750:34: error: 'IRQF_PROBE' undeclared (first use in this function)
> 
> Hmmmm this looks like Tony's baby and the offending patch is
> not in the pinctrl tree, I bet he'll have a fix for it in no time.

Ouch sorry about that. I'll send a pull request for the
following fix ASAP. Build tested with Randy's randconfig.

Regards,

Tony

8< ------------------------
From: Tony Lindgren <[email-masked]>
Date: Fri, 18 Oct 2013 16:20:05 -0700
Subject: [PATCH] pinctrl: single: Fix build when not built on ARM

Looks like we need a little bit of arch specific handling
with the generic IRQ. Fix the issue with an ifdef the
same way as other drivers do.

ARM needs things set to IRQF_VALID, which also then sets
noprobe. Others seem to use just irq_set_noprobe().

Otherwise we can get:

drivers/pinctrl/pinctrl-single.c: In function 'pcs_irqdomain_map':
drivers/pinctrl/pinctrl-single.c:1750:2: error: implicit declaration of function 'set_irq_flags' [-Werror=implicit-function-declaration]
drivers/pinctrl/pinctrl-single.c:1750:21: error: 'IRQF_VALID' undeclared (first use in this function)
drivers/pinctrl/pinctrl-single.c:1750:34: error: 'IRQF_PROBE' undeclared (first use in this function)

Reported-by: Randy Dunlap <[email-masked]>
Signed-off-by: Tony Lindgren <[email-masked]>

--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -1743,7 +1743,12 @@ static int pcs_irqdomain_map(struct irq_domain *d, unsigned int irq,
 	irq_set_chip_data(irq, pcs_soc);
 	irq_set_chip_and_handler(irq, &pcs->chip,
 				 handle_level_irq);
-	set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+
+#ifdef CONFIG_ARM
+	set_irq_flags(irq, IRQF_VALID);
+#else
+	irq_set_noprobe(irq);
+#endif
 
 	return 0;
 }