provide irq_force_affinity fallback for non-SMP
PATCH 1/1 provide irq_force_affinity fallback for non-SMP
Patch 01f8fa4f01d "genirq: Allow forcing cpu affinity of interrupts" added an irq_force_affinity() function, and 30ccf03b4a6 "clocksource: Exynos_mct:
Use irq_force_affinity() in cpu bringup" subsequently uses it. However, the driver can be used with CONFIG_SMP disabled, but the function declaration is only available for CONFIG_SMP, leading to this build error:
drivers/clocksource/exynos_mct.c:431:3: error: implicit declaration of function 'irq_force_affinity' [-Werror=implicit-function-declaration]
irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu));
This patch introduces a dummy helper function for the non-SMP case that always returns success, to get rid of the build error. Since the patches causing the problem are marked for stable backports, this one should be as well.
---
include/linux/interrupt.h +5 -0
@@ -272,6 +272,11 @@ static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m)return -EINVAL ; } +static inline int irq_force_affinity (unsigned int irq,const struct cpumask *cpumask) +{ +return 0 ; +} +static inline int irq_can_set_affinity (unsigned int irq) {return 0 ;
Quoted 3 lines · Arnd Bergmann
Patch
01f8fa4f01d"genirq: Allow forcing cpu affinity of interrupts" added anirq_force_affinity()function, and30ccf03b4a6"clocksource:
Exynos_mct:
Quoted 9 lines
Use
irq_force_affinity()in cpu bringup" subsequently uses it. However, the
driver can be used withCONFIG_SMPdisabled, but the function declaration is only available forCONFIG_SMP, leading to this build error:
drivers/clocksource/exynos_mct.c:431:3: error: implicit declaration of function 'irq_force_affinity' [-Werror=implicit-function-declaration]
irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu));
Quoted 6 lines
This patch introduces a dummy helper function for the non-SMP case that always returns success, to get rid of the build error. Since the patches causing the problem are marked for stable backports, this one should be as well.
Signed-off-by Arnd Bergmann <[email protected]>
Arnd, thanks for your fix the build error.
- Kukjin
Quoted 20 lines
---
include/linux/interrupt.h +5
-0@@ -272,6 +272,11 @@ static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m)return -EINVAL ; } +static inline int irq_force_affinity (unsigned int irq,const struct cpumask *cpumask) +{ +return 0 ; +} +static inline int irq_can_set_affinity (unsigned int irq){
return 0;
tip-bot for Arnd Bergmann
merge bot[tip:irq/urgent] genirq: Provide irq_force_affinity fallback for non-SMP
In reply to Arnd Bergmanngenirq: Provide irq_force_affinity fallback for non-SMP
Commit-ID: 4c88d7f9b0d5fb0588c3386be62115cc2eaa8f9f Gitweb: http://git.kernel.org/tip/4c88d7f9b0d5fb0588c3386be62115cc2eaa8f9f Author: Arnd Bergmann <[email protected]> AuthorDate: Wed, 23 Apr 2014 14:49:17 +0200 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 7 May 2014 00:42:09 +0200
genirq: Provide irq_force_affinity fallback for non-SMP
Patch 01f8fa4f01d "genirq: Allow forcing cpu affinity of interrupts" added an irq_force_affinity() function, and 30ccf03b4a6 "clocksource: Exynos_mct:
Use irq_force_affinity() in cpu bringup" subsequently uses it. However, the driver can be used with CONFIG_SMP disabled, but the function declaration is only available for CONFIG_SMP, leading to this build error:
drivers/clocksource/exynos_mct.c:431:3: error: implicit declaration of function 'irq_force_affinity' [-Werror=implicit-function-declaration]
irq_force_affinity(mct_irqs[MCT_L0_IRQ + cpu], cpumask_of(cpu));
This patch introduces a dummy helper function for the non-SMP case that always returns success, to get rid of the build error. Since the patches causing the problem are marked for stable backports, this one should be as well.
--- include/linux/interrupt.h | 5 +++++ 1 file changed, 5 insertions(+)
include/linux/interrupt.h +5 -0
@@ -272,6 +272,11 @@ static inline int irq_set_affinity(unsigned int irq, const struct cpumask *m)return -EINVAL ; } +static inline int irq_force_affinity (unsigned int irq,const struct cpumask *cpumask) +{ +return 0 ; +} +static inline int irq_can_set_affinity (unsigned int irq) {return 0 ;