static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
Subsystems (7)
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 12 lines · Olof's autobuilder
Warnings:
3drivers/irqchip/irq-mmp.c:199:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 3drivers/irqchip/irq-mmp.c:212:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 3drivers/irqchip/irq-sirfsoc.c:51:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 3drivers/irqchip/irq-sun4i.c:140:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 3drivers/irqchip/irq-sun4i.c:39:70: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 3drivers/irqchip/irq-vt8500.c:183:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 4drivers/irqchip/irq-orion.c:35:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 5drivers/irqchip/irq-armada-370-xp.c:415:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
13drivers/irqchip/irq-vic.c:244:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes] 28drivers/irqchip/irq-gic.c:283:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
These seem to be caused by 128ea04a9885 (lto: Make asmlinkage __visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's __visible. Should we just drop asmlinkage here?
----8<----
From: Stephen Boyd <[email protected]>
Subject: [PATCH] irqchip: Remove asmlinkage from static functions
LTO patches add __visible to the asmlinkage define, causing compilation warnings like:
drivers/irqchip/irq-gic.c:283:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
Drop asmlinkage here to avoid such warnings.
--- drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2835.c | 4 ++-- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-mmp.c | 6 ++---- drivers/irqchip/irq-moxart.c | 2 +- drivers/irqchip/irq-orion.c | 2 +- drivers/irqchip/irq-sirfsoc.c | 2 +- drivers/irqchip/irq-sun4i.c | 4 ++-- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/irq-vt8500.c | 3 +-- drivers/irqchip/irq-zevio.c | 2 +- 11 files changed, 14 insertions(+), 17 deletions(-)
drivers/irqchip/irq-armada-370-xp.c +1 -1
@@ -410,7 +410,7 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,chained_irq_exit (chip, desc); } -static asmlinkage void __exception_irq_entry +static void __exception_irq_entryarmada_370_xp_handle_irq (struct pt_regs *regs) {u32 irqstat, irqnr;
drivers/irqchip/irq-bcm2835.c +2 -2
@@ -95,7 +95,7 @@ struct armctrl_ic { };static struct armctrl_ic intc__read_mostly ; -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs);static void armctrl_mask_irq (struct irq_data *d)
@@ -196,7 +196,7 @@ static void armctrl_handle_shortcut(int bank, struct pt_regs *regs,handle_IRQ (irq_linear_revmap (intc.domain, irq), regs); } -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs) {u32 stat, irq;
drivers/irqchip/irq-gic.c +1 -1
@@ -279,7 +279,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)#define gic_set_wake NULL#endif -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) {u32 irqstat, irqnr;struct gic_chip_data *gic = &gic_data[0 ];
drivers/irqchip/irq-mmp.c +2 -4
@@ -194,8 +194,7 @@ static struct mmp_intc_conf mmp2_conf = { .conf_mask = 0x7f, }; -static asmlinkage void __exception_irq_entry -mmp_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp_handle_irq(struct pt_regs *regs) {int irq, hwirq;
@@ -207,8 +206,7 @@ mmp_handle_irq(struct pt_regs *regs)handle_IRQ (irq, regs); } -static asmlinkage void __exception_irq_entry -mmp2_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp2_handle_irq(struct pt_regs *regs) {int irq, hwirq;
drivers/irqchip/irq-moxart.c +1 -1
@@ -44,7 +44,7 @@ struct moxart_irq_data {static struct moxart_irq_data intc; -static asmlinkage void __exception_irq_entry handle_irq(struct pt_regs *regs) +static void __exception_irq_entry handle_irq(struct pt_regs *regs) {u32 irqstat;int hwirq;
drivers/irqchip/irq-orion.c +1 -1
@@ -30,7 +30,7 @@static struct irq_domain *orion_irq_domain; -static asmlinkage void +static void __exception_irq_entry orion_handle_irq(struct pt_regs *regs) {struct irq_domain_chip_generic *dgc = orion_irq_domain->gc;
drivers/irqchip/irq-sirfsoc.c +1 -1
@@ -47,7 +47,7 @@ sirfsoc_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) ct->regs.mask =SIRFSOC_INT_RISC_MASK0 ; } -static asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) {void __iomem *base = sirfsoc_irqdomain->host_data;u32 irqstat, irqnr;
drivers/irqchip/irq-sun4i.c +2 -2
@@ -36,7 +36,7 @@static void __iomem *sun4i_irq_base;static struct irq_domain *sun4i_irq_domain; -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs); +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs);static void sun4i_irq_ack (struct irq_data *irqd) {
@@ -136,7 +136,7 @@ static int __init sun4i_of_init(struct device_node *node, }IRQCHIP_DECLARE (allwinner_sun4i_ic,"allwinner,sun4i-ic" , sun4i_of_init); -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) {u32 irq, hwirq;
drivers/irqchip/irq-vic.c +1 -1
@@ -240,7 +240,7 @@ static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc)* Keep iterating over all registered VIC's until there are no pending * interrupts. */ -static asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) {int i, handled;
drivers/irqchip/irq-vt8500.c +1 -2
@@ -178,8 +178,7 @@ static struct irq_domain_ops vt8500_irq_domain_ops = { .xlate = irq_domain_xlate_onecell, }; -static asmlinkage -void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) {u32 stat, i;int irqnr, virq;
drivers/irqchip/irq-zevio.c +1 -1
@@ -50,7 +50,7 @@ static void zevio_irq_ack(struct irq_data *irqd)readl (gc->reg_base + regs->ack); } -static asmlinkage void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) {int irqnr;
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Quoted 3 lines
These seem to be caused by
128ea04a9885(lto: Make asmlinkage__visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's__visible. Should we just drop asmlinkage here?
These functions are just called by the generic C interrupt layer right? Yes should just drop asmlinkage. It doesn't make any sense to mark functions that only called from C asmlinkage.
Patch looks good to me.
-Andi
Quoted 7 lines · Andi Kleen
Quoted 3 lines
These seem to be caused by
128ea04a9885(lto: Make asmlinkage__visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's__visible. Should we just drop asmlinkage here?These functions are just called by the generic C interrupt layer right? Yes should just drop asmlinkage. It doesn't make any sense to mark functions that only called from C asmlinkage.
On ARM[64], these functions are called from assembly indirectly through the 'handle_arch_irq' function pointer, so I don't think it makes sense to drop 'asmlinkage'.
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Quoted 5 lines · Josh Cartwright
Quoted 4 lines · Andi Kleen
Quoted 3 lines
These seem to be caused by
128ea04a9885(lto: Make asmlinkage__visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's__visible. Should we just drop asmlinkage here?
Quoted 7 lines
Quoted 3 lines
These functions are just called by the generic C interrupt layer right? Yes should just drop asmlinkage. It doesn't make any sense to mark functions that only called from C asmlinkage.
On ARM[64], these functions are called from assembly indirectly through the '
handle_arch_irq' function pointer, so I don't think it makes sense to drop 'asmlinkage'.
If building with a C++ compiler:
asmlinkage = extern "C"
static asmlinkage = static extern "C"
That doesn't quite make much sense when you think about it - even with the existing definition in current mainline kernels.
Signature · 2 lines
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it.
Quoted 5 lines · Josh Cartwright
Quoted 4 lines · Andi Kleen
Quoted 3 lines
These seem to be caused by
128ea04a9885(lto: Make asmlinkage__visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's__visible. Should we just drop asmlinkage here?
Quoted 7 lines
Quoted 3 lines
These functions are just called by the generic C interrupt layer right? Yes should just drop asmlinkage. It doesn't make any sense to mark functions that only called from C asmlinkage.
On ARM[64], these functions are called from assembly indirectly through the '
handle_arch_irq' function pointer, so I don't think it makes sense to drop 'asmlinkage'.
So do you do anything special in asmlinkage? If not it won't make any difference for you.
-Andi
Quoted 10 lines · Andi Kleen
Quoted 9 lines · Josh Cartwright
Quoted 7 lines · Andi Kleen
Quoted 3 lines
These seem to be caused by
128ea04a9885(lto: Make asmlinkage__visible, 2014-02-08). Before that change asmlinkage was defined to nothing on ARM, but now it's__visible. Should we just drop asmlinkage here?These functions are just called by the generic C interrupt layer right? Yes should just drop asmlinkage. It doesn't make any sense to mark functions that only called from C asmlinkage.
Quoted 6 lines
Quoted 3 lines
On ARM[64], these functions are called from assembly indirectly through the '
handle_arch_irq' function pointer, so I don't think it makes sense to drop 'asmlinkage'.So do you do anything special in asmlinkage? If not it won't make any difference for you.
As Russell elaborated, ARM doesn't have the special calling convention magic that x86 does, so it should be safe to remove.
Sorry for the noise,
Josh
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH 1/1 irqchip: Remove asmlinkage from static functions
In reply to Andi KleenLTO patches add __visible to the asmlinkage define, causing compilation warnings like:
drivers/irqchip/irq-gic.c:283:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
Drop asmlinkage here to avoid such warnings.
---
Based on next-20140226.
drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2835.c | 4 ++-- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-mmp.c | 6 ++---- drivers/irqchip/irq-moxart.c | 2 +- drivers/irqchip/irq-orion.c | 2 +- drivers/irqchip/irq-sirfsoc.c | 2 +- drivers/irqchip/irq-sun4i.c | 4 ++-- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/irq-vt8500.c | 3 +-- drivers/irqchip/irq-zevio.c | 2 +- 11 files changed, 14 insertions(+), 17 deletions(-)
drivers/irqchip/irq-armada-370-xp.c +1 -1
@@ -410,7 +410,7 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,chained_irq_exit (chip, desc); } -static asmlinkage void __exception_irq_entry +static void __exception_irq_entryarmada_370_xp_handle_irq (struct pt_regs *regs) {u32 irqstat, irqnr;
drivers/irqchip/irq-bcm2835.c +2 -2
@@ -95,7 +95,7 @@ struct armctrl_ic { };static struct armctrl_ic intc__read_mostly ; -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs);static void armctrl_mask_irq (struct irq_data *d)
@@ -196,7 +196,7 @@ static void armctrl_handle_shortcut(int bank, struct pt_regs *regs,handle_IRQ (irq_linear_revmap (intc.domain, irq), regs); } -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs) {u32 stat, irq;
drivers/irqchip/irq-gic.c +1 -1
@@ -279,7 +279,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)#define gic_set_wake NULL#endif -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) {u32 irqstat, irqnr;struct gic_chip_data *gic = &gic_data[0 ];
drivers/irqchip/irq-mmp.c +2 -4
@@ -194,8 +194,7 @@ static struct mmp_intc_conf mmp2_conf = { .conf_mask = 0x7f, }; -static asmlinkage void __exception_irq_entry -mmp_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp_handle_irq(struct pt_regs *regs) {int irq, hwirq;
@@ -207,8 +206,7 @@ mmp_handle_irq(struct pt_regs *regs)handle_IRQ (irq, regs); } -static asmlinkage void __exception_irq_entry -mmp2_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp2_handle_irq(struct pt_regs *regs) {int irq, hwirq;
drivers/irqchip/irq-moxart.c +1 -1
@@ -44,7 +44,7 @@ struct moxart_irq_data {static struct moxart_irq_data intc; -static asmlinkage void __exception_irq_entry handle_irq(struct pt_regs *regs) +static void __exception_irq_entry handle_irq(struct pt_regs *regs) {u32 irqstat;int hwirq;
drivers/irqchip/irq-orion.c +1 -1
@@ -30,7 +30,7 @@static struct irq_domain *orion_irq_domain; -static asmlinkage void +static void __exception_irq_entry orion_handle_irq(struct pt_regs *regs) {struct irq_domain_chip_generic *dgc = orion_irq_domain->gc;
drivers/irqchip/irq-sirfsoc.c +1 -1
@@ -47,7 +47,7 @@ sirfsoc_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) ct->regs.mask =SIRFSOC_INT_RISC_MASK0 ; } -static asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) {void __iomem *base = sirfsoc_irqdomain->host_data;u32 irqstat, irqnr;
drivers/irqchip/irq-sun4i.c +2 -2
@@ -36,7 +36,7 @@static void __iomem *sun4i_irq_base;static struct irq_domain *sun4i_irq_domain; -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs); +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs);static void sun4i_irq_ack (struct irq_data *irqd) {
@@ -136,7 +136,7 @@ static int __init sun4i_of_init(struct device_node *node, }IRQCHIP_DECLARE (allwinner_sun4i_ic,"allwinner,sun4i-ic" , sun4i_of_init); -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) {u32 irq, hwirq;
drivers/irqchip/irq-vic.c +1 -1
@@ -240,7 +240,7 @@ static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc)* Keep iterating over all registered VIC's until there are no pending * interrupts. */ -static asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) {int i, handled;
drivers/irqchip/irq-vt8500.c +1 -2
@@ -178,8 +178,7 @@ static struct irq_domain_ops vt8500_irq_domain_ops = { .xlate = irq_domain_xlate_onecell, }; -static asmlinkage -void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) {u32 stat, i;int irqnr, virq;
drivers/irqchip/irq-zevio.c +1 -1
@@ -50,7 +50,7 @@ static void zevio_irq_ack(struct irq_data *irqd)readl (gc->reg_base + regs->ack); } -static asmlinkage void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) {int irqnr;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH] irqchip: Remove asmlinkage from static functions
ping?
Quoted 201 lines · Stephen Boyd
LTO patches add
__visibleto the asmlinkage define, causing compilation warnings like:
drivers/irqchip/irq-gic.c:283:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]Drop asmlinkage here to avoid such warnings.
Reported-by Olof's autobuilder <[email protected]>Cc Andi Kleen <[email protected]>Signed-off-by Stephen Boyd <[email protected]>---
Based on next-20140226.
drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2835.c | 4 ++-- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-mmp.c | 6 ++---- drivers/irqchip/irq-moxart.c | 2 +- drivers/irqchip/irq-orion.c | 2 +- drivers/irqchip/irq-sirfsoc.c | 2 +- drivers/irqchip/irq-sun4i.c | 4 ++-- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/irq-vt8500.c | 3 +-- drivers/irqchip/irq-zevio.c | 2 +- 11 files changed, 14 insertions(+), 17 deletions(-)drivers/irqchip/irq-armada-370-xp.c +1
-1@@ -410,7 +410,7 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,chained_irq_exit (chip, desc); } -static asmlinkage void __exception_irq_entry +static void __exception_irq_entryarmada_370_xp_handle_irq (struct pt_regs *regs) {u32 irqstat, irqnr;drivers/irqchip/irq-bcm2835.c +2
-2@@ -95,7 +95,7 @@ struct armctrl_ic { };static struct armctrl_ic intc__read_mostly ; -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs);static void armctrl_mask_irq (struct irq_data *d)@@ -196,7 +196,7 @@ static void armctrl_handle_shortcut(int bank, struct pt_regs *regs,handle_IRQ (irq_linear_revmap (intc.domain, irq), regs); } -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs) {u32 stat, irq;drivers/irqchip/irq-gic.c +1
-1@@ -279,7 +279,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)#define gic_set_wake NULL#endif -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) {u32 irqstat, irqnr;struct gic_chip_data *gic = &gic_data[0 ];drivers/irqchip/irq-mmp.c +2
-4@@ -194,8 +194,7 @@ static struct mmp_intc_conf mmp2_conf = { .conf_mask = 0x7f, }; -static asmlinkage void __exception_irq_entry -mmp_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp_handle_irq(struct pt_regs *regs) {int irq, hwirq;@@ -207,8 +206,7 @@ mmp_handle_irq(struct pt_regs *regs)handle_IRQ (irq, regs); } -static asmlinkage void __exception_irq_entry -mmp2_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp2_handle_irq(struct pt_regs *regs) {int irq, hwirq;drivers/irqchip/irq-moxart.c +1
-1@@ -44,7 +44,7 @@ struct moxart_irq_data {static struct moxart_irq_data intc; -static asmlinkage void __exception_irq_entry handle_irq(struct pt_regs *regs) +static void __exception_irq_entry handle_irq(struct pt_regs *regs) {u32 irqstat;int hwirq;drivers/irqchip/irq-orion.c +1
-1@@ -30,7 +30,7 @@static struct irq_domain *orion_irq_domain; -static asmlinkage void +static void __exception_irq_entry orion_handle_irq(struct pt_regs *regs) {struct irq_domain_chip_generic *dgc = orion_irq_domain->gc;drivers/irqchip/irq-sirfsoc.c +1
-1@@ -47,7 +47,7 @@ sirfsoc_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) ct->regs.mask =SIRFSOC_INT_RISC_MASK0 ; } -static asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) {void __iomem *base = sirfsoc_irqdomain->host_data;u32 irqstat, irqnr;drivers/irqchip/irq-sun4i.c +2
-2@@ -36,7 +36,7 @@static void __iomem *sun4i_irq_base;static struct irq_domain *sun4i_irq_domain; -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs); +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs);static void sun4i_irq_ack (struct irq_data *irqd) {@@ -136,7 +136,7 @@ static int __init sun4i_of_init(struct device_node *node, }IRQCHIP_DECLARE (allwinner_sun4i_ic,"allwinner,sun4i-ic" , sun4i_of_init); -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) {u32 irq, hwirq;drivers/irqchip/irq-vic.c +1
-1@@ -240,7 +240,7 @@ static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc)* Keep iterating over all registered VIC's until there are no pending * interrupts. */ -static asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) {int i, handled;drivers/irqchip/irq-vt8500.c +1
-2@@ -178,8 +178,7 @@ static struct irq_domain_ops vt8500_irq_domain_ops = { .xlate = irq_domain_xlate_onecell, }; -static asmlinkage -void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) {u32 stat, i;int irqnr, virq;drivers/irqchip/irq-zevio.c +1
-1@@ -50,7 +50,7 @@ static void zevio_irq_ack(struct irq_data *irqd)readl (gc->reg_base + regs->ack); } -static asmlinkage void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) {int irqnr;
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
tip-bot for Stephen Boyd
merge bot[tip:irq/core] irqchip: Remove asmlinkage from static functions
In reply to Stephen Boydirqchip: Remove asmlinkage from static functions
Commit-ID: 8783dd3a37a5853689e1a8fa728827a50905b912 Gitweb: http://git.kernel.org/tip/8783dd3a37a5853689e1a8fa728827a50905b912 Author: Stephen Boyd <[email protected]> AuthorDate: Tue, 4 Mar 2014 16:40:30 -0800 Committer: Thomas Gleixner <[email protected]> CommitDate: Wed, 12 Mar 2014 13:00:41 +0100
irqchip: Remove asmlinkage from static functions
LTO patches add __visible to the asmlinkage define, causing compilation warnings like:
drivers/irqchip/irq-gic.c:283:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
Drop asmlinkage here to avoid such warnings.
--- drivers/irqchip/irq-armada-370-xp.c | 2 +- drivers/irqchip/irq-bcm2835.c | 4 ++-- drivers/irqchip/irq-gic.c | 2 +- drivers/irqchip/irq-mmp.c | 6 ++---- drivers/irqchip/irq-moxart.c | 2 +- drivers/irqchip/irq-orion.c | 2 +- drivers/irqchip/irq-sirfsoc.c | 2 +- drivers/irqchip/irq-sun4i.c | 4 ++-- drivers/irqchip/irq-vic.c | 2 +- drivers/irqchip/irq-vt8500.c | 3 +-- drivers/irqchip/irq-zevio.c | 2 +- 11 files changed, 14 insertions(+), 17 deletions(-)
drivers/irqchip/irq-armada-370-xp.c +1 -1
@@ -410,7 +410,7 @@ static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,chained_irq_exit (chip, desc); } -static asmlinkage void __exception_irq_entry +static void __exception_irq_entryarmada_370_xp_handle_irq (struct pt_regs *regs) {u32 irqstat, irqnr;
drivers/irqchip/irq-bcm2835.c +2 -2
@@ -95,7 +95,7 @@ struct armctrl_ic { };static struct armctrl_ic intc__read_mostly ; -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs);static void armctrl_mask_irq (struct irq_data *d)
@@ -196,7 +196,7 @@ static void armctrl_handle_shortcut(int bank, struct pt_regs *regs,handle_IRQ (irq_linear_revmap (intc.domain, irq), regs); } -static asmlinkage void __exception_irq_entry bcm2835_handle_irq( +static void __exception_irq_entry bcm2835_handle_irq(struct pt_regs *regs) {u32 stat, irq;
drivers/irqchip/irq-gic.c +1 -1
@@ -279,7 +279,7 @@ static int gic_set_wake(struct irq_data *d, unsigned int on)#define gic_set_wake NULL#endif -static asmlinkage void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs) {u32 irqstat, irqnr;struct gic_chip_data *gic = &gic_data[0 ];
drivers/irqchip/irq-mmp.c +2 -4
@@ -194,8 +194,7 @@ static struct mmp_intc_conf mmp2_conf = { .conf_mask = 0x7f, }; -static asmlinkage void __exception_irq_entry -mmp_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp_handle_irq(struct pt_regs *regs) {int irq, hwirq;
@@ -207,8 +206,7 @@ mmp_handle_irq(struct pt_regs *regs)handle_IRQ (irq, regs); } -static asmlinkage void __exception_irq_entry -mmp2_handle_irq (struct pt_regs *regs) +static void __exception_irq_entry mmp2_handle_irq(struct pt_regs *regs) {int irq, hwirq;
drivers/irqchip/irq-moxart.c +1 -1
@@ -44,7 +44,7 @@ struct moxart_irq_data {static struct moxart_irq_data intc; -static asmlinkage void __exception_irq_entry handle_irq(struct pt_regs *regs) +static void __exception_irq_entry handle_irq(struct pt_regs *regs) {u32 irqstat;int hwirq;
drivers/irqchip/irq-orion.c +1 -1
@@ -30,7 +30,7 @@static struct irq_domain *orion_irq_domain; -static asmlinkage void +static void __exception_irq_entry orion_handle_irq(struct pt_regs *regs) {struct irq_domain_chip_generic *dgc = orion_irq_domain->gc;
drivers/irqchip/irq-sirfsoc.c +1 -1
@@ -47,7 +47,7 @@ sirfsoc_alloc_gc(void __iomem *base, unsigned int irq_start, unsigned int num) ct->regs.mask =SIRFSOC_INT_RISC_MASK0 ; } -static asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sirfsoc_handle_irq(struct pt_regs *regs) {void __iomem *base = sirfsoc_irqdomain->host_data;u32 irqstat, irqnr;
drivers/irqchip/irq-sun4i.c +2 -2
@@ -36,7 +36,7 @@static void __iomem *sun4i_irq_base;static struct irq_domain *sun4i_irq_domain; -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs); +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs);static void sun4i_irq_ack (struct irq_data *irqd) {
@@ -136,7 +136,7 @@ static int __init sun4i_of_init(struct device_node *node, }IRQCHIP_DECLARE (allwinner_sun4i_ic,"allwinner,sun4i-ic" , sun4i_of_init); -static asmlinkage void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry sun4i_handle_irq(struct pt_regs *regs) {u32 irq, hwirq;
drivers/irqchip/irq-vic.c +1 -1
@@ -228,7 +228,7 @@ static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs)* Keep iterating over all registered VIC's until there are no pending * interrupts. */ -static asmlinkage void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vic_handle_irq(struct pt_regs *regs) {int i, handled;
drivers/irqchip/irq-vt8500.c +1 -2
@@ -178,8 +178,7 @@ static struct irq_domain_ops vt8500_irq_domain_ops = { .xlate = irq_domain_xlate_onecell, }; -static asmlinkage -void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry vt8500_handle_irq(struct pt_regs *regs) {u32 stat, i;int irqnr, virq;
drivers/irqchip/irq-zevio.c +1 -1
@@ -50,7 +50,7 @@ static void zevio_irq_ack(struct irq_data *irqd)readl (gc->reg_base + regs->ack); } -static asmlinkage void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) +static void __exception_irq_entry zevio_handle_irq(struct pt_regs *regs) {int irqnr;