All of lore.kernel.org
 help / color / mirror / Atom feed
* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
       [not found] <5310415c.2d79420a.3275.ffff92bb@mx.google.com>
@ 2014-03-01  2:23 ` Stephen Boyd
  2014-03-01 16:12   ` Andi Kleen
  0 siblings, 1 reply; 11+ messages in thread
From: Stephen Boyd @ 2014-03-01  2:23 UTC (permalink / raw)
  To: linux-arm-kernel

On 02/27/14 23:57, Olof's autobuilder wrote:
> Warnings:
>       3 drivers/irqchip/irq-mmp.c:199:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       3 drivers/irqchip/irq-mmp.c:212:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       3 drivers/irqchip/irq-sirfsoc.c:51:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       3 drivers/irqchip/irq-sun4i.c:140:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       3 drivers/irqchip/irq-sun4i.c:39:70: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       3 drivers/irqchip/irq-vt8500.c:183:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       4 drivers/irqchip/irq-orion.c:35:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>       5 drivers/irqchip/irq-armada-370-xp.c:415:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>      13 drivers/irqchip/irq-vic.c:244:1: warning: 'externally_visible' attribute have effect only on public objects [-Wattributes]
>      28 drivers/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 <sboyd@codeaurora.org>
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.

Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---
 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(-)

diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index cd79503abea9..41be897df8d5 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -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_entry
 armada_370_xp_handle_irq(struct pt_regs *regs)
 {
 	u32 irqstat, irqnr;
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index 1693b8e7f26a..5916d6cdafa1 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -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;
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index a917b144895e..63922b9ba6b7 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -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];
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index 2cb7cd0bc2f5..3c8827fe83f3 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
index 5552fc2bf28a..00b3cc908f76 100644
--- a/drivers/irqchip/irq-moxart.c
+++ b/drivers/irqchip/irq-moxart.c
@@ -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;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index 8e41be62812e..e25f246cd2fb 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -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;
diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
index 3a070c587ed9..581eefe331ae 100644
--- a/drivers/irqchip/irq-sirfsoc.c
+++ b/drivers/irqchip/irq-sirfsoc.c
@@ -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;
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
index a5438d889245..9fbff030c700 100644
--- a/drivers/irqchip/irq-sun4i.c
+++ b/drivers/irqchip/irq-sun4i.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index fd2c980e4cea..37dab0b472cd 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
index 1846e7d66681..eb6e91efdec8 100644
--- a/drivers/irqchip/irq-vt8500.c
+++ b/drivers/irqchip/irq-vt8500.c
@@ -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;
diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
index 8ed04c4a43ee..ceb3a4318f73 100644
--- a/drivers/irqchip/irq-zevio.c
+++ b/drivers/irqchip/irq-zevio.c
@@ -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;
 


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
  2014-03-01  2:23 ` static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228)) Stephen Boyd
@ 2014-03-01 16:12   ` Andi Kleen
  2014-03-03 16:12     ` Josh Cartwright
  2014-03-05  0:40       ` Stephen Boyd
  0 siblings, 2 replies; 11+ messages in thread
From: Andi Kleen @ 2014-03-01 16:12 UTC (permalink / raw)
  To: linux-arm-kernel

> 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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
  2014-03-01 16:12   ` Andi Kleen
@ 2014-03-03 16:12     ` Josh Cartwright
  2014-03-03 16:31       ` Russell King - ARM Linux
  2014-03-03 19:06       ` Andi Kleen
  2014-03-05  0:40       ` Stephen Boyd
  1 sibling, 2 replies; 11+ messages in thread
From: Josh Cartwright @ 2014-03-03 16:12 UTC (permalink / raw)
  To: linux-arm-kernel

On Sat, Mar 01, 2014 at 08:12:58AM -0800, Andi Kleen wrote:
> > 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'.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 11+ messages in thread

* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
  2014-03-03 16:12     ` Josh Cartwright
@ 2014-03-03 16:31       ` Russell King - ARM Linux
  2014-03-03 19:06       ` Andi Kleen
  1 sibling, 0 replies; 11+ messages in thread
From: Russell King - ARM Linux @ 2014-03-03 16:31 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 03, 2014 at 10:12:17AM -0600, Josh Cartwright wrote:
> On Sat, Mar 01, 2014 at 08:12:58AM -0800, Andi Kleen wrote:
> > > 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'.

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.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
  2014-03-03 16:12     ` Josh Cartwright
  2014-03-03 16:31       ` Russell King - ARM Linux
@ 2014-03-03 19:06       ` Andi Kleen
  2014-03-03 20:21         ` Josh Cartwright
  1 sibling, 1 reply; 11+ messages in thread
From: Andi Kleen @ 2014-03-03 19:06 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 03, 2014 at 10:12:17AM -0600, Josh Cartwright wrote:
> On Sat, Mar 01, 2014 at 08:12:58AM -0800, Andi Kleen wrote:
> > > 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'.

So do you do anything special in asmlinkage? If not it won't make
any difference for you.

-Andi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228))
  2014-03-03 19:06       ` Andi Kleen
@ 2014-03-03 20:21         ` Josh Cartwright
  0 siblings, 0 replies; 11+ messages in thread
From: Josh Cartwright @ 2014-03-03 20:21 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Mar 03, 2014 at 11:06:58AM -0800, Andi Kleen wrote:
> On Mon, Mar 03, 2014 at 10:12:17AM -0600, Josh Cartwright wrote:
> > On Sat, Mar 01, 2014 at 08:12:58AM -0800, Andi Kleen wrote:
> > > > 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'.
> 
> 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

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH] irqchip: Remove asmlinkage from static functions
  2014-03-01 16:12   ` Andi Kleen
@ 2014-03-05  0:40       ` Stephen Boyd
  2014-03-05  0:40       ` Stephen Boyd
  1 sibling, 0 replies; 11+ messages in thread
From: Stephen Boyd @ 2014-03-05  0:40 UTC (permalink / raw)
  To: linux-arm-kernel

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.

Reported-by: Olof's autobuilder <build@lixom.net>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---

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(-)

diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index cd79503abea9..41be897df8d5 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -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_entry
 armada_370_xp_handle_irq(struct pt_regs *regs)
 {
 	u32 irqstat, irqnr;
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index 1693b8e7f26a..5916d6cdafa1 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -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;
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index a917b144895e..63922b9ba6b7 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -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];
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index 2cb7cd0bc2f5..3c8827fe83f3 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
index 5552fc2bf28a..00b3cc908f76 100644
--- a/drivers/irqchip/irq-moxart.c
+++ b/drivers/irqchip/irq-moxart.c
@@ -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;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index 8e41be62812e..e25f246cd2fb 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -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;
diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
index 3a070c587ed9..581eefe331ae 100644
--- a/drivers/irqchip/irq-sirfsoc.c
+++ b/drivers/irqchip/irq-sirfsoc.c
@@ -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;
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
index a5438d889245..9fbff030c700 100644
--- a/drivers/irqchip/irq-sun4i.c
+++ b/drivers/irqchip/irq-sun4i.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index fd2c980e4cea..37dab0b472cd 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
index 1846e7d66681..eb6e91efdec8 100644
--- a/drivers/irqchip/irq-vt8500.c
+++ b/drivers/irqchip/irq-vt8500.c
@@ -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;
diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
index 8ed04c4a43ee..ceb3a4318f73 100644
--- a/drivers/irqchip/irq-zevio.c
+++ b/drivers/irqchip/irq-zevio.c
@@ -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;
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH] irqchip: Remove asmlinkage from static functions
@ 2014-03-05  0:40       ` Stephen Boyd
  0 siblings, 0 replies; 11+ messages in thread
From: Stephen Boyd @ 2014-03-05  0:40 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: linux-kernel, olof @ lixom . net, khilman, kernel-build-reports,
	Russell King - ARM Linux, Josh Cartwright, Andi Kleen

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.

Reported-by: Olof's autobuilder <build@lixom.net>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
---

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(-)

diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index cd79503abea9..41be897df8d5 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -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_entry
 armada_370_xp_handle_irq(struct pt_regs *regs)
 {
 	u32 irqstat, irqnr;
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index 1693b8e7f26a..5916d6cdafa1 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -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;
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index a917b144895e..63922b9ba6b7 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -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];
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index 2cb7cd0bc2f5..3c8827fe83f3 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
index 5552fc2bf28a..00b3cc908f76 100644
--- a/drivers/irqchip/irq-moxart.c
+++ b/drivers/irqchip/irq-moxart.c
@@ -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;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index 8e41be62812e..e25f246cd2fb 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -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;
diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
index 3a070c587ed9..581eefe331ae 100644
--- a/drivers/irqchip/irq-sirfsoc.c
+++ b/drivers/irqchip/irq-sirfsoc.c
@@ -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;
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
index a5438d889245..9fbff030c700 100644
--- a/drivers/irqchip/irq-sun4i.c
+++ b/drivers/irqchip/irq-sun4i.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index fd2c980e4cea..37dab0b472cd 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
index 1846e7d66681..eb6e91efdec8 100644
--- a/drivers/irqchip/irq-vt8500.c
+++ b/drivers/irqchip/irq-vt8500.c
@@ -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;
diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
index 8ed04c4a43ee..ceb3a4318f73 100644
--- a/drivers/irqchip/irq-zevio.c
+++ b/drivers/irqchip/irq-zevio.c
@@ -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;
 
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
hosted by The Linux Foundation


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH] irqchip: Remove asmlinkage from static functions
  2014-03-05  0:40       ` Stephen Boyd
@ 2014-03-11 20:43         ` Stephen Boyd
  -1 siblings, 0 replies; 11+ messages in thread
From: Stephen Boyd @ 2014-03-11 20:43 UTC (permalink / raw)
  To: linux-arm-kernel

ping?

On 03/04/14 16:40, Stephen Boyd wrote:
> 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.
>
> Reported-by: Olof's autobuilder <build@lixom.net>
> Cc: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
>
> 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(-)
>
> diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
> index cd79503abea9..41be897df8d5 100644
> --- a/drivers/irqchip/irq-armada-370-xp.c
> +++ b/drivers/irqchip/irq-armada-370-xp.c
> @@ -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_entry
>  armada_370_xp_handle_irq(struct pt_regs *regs)
>  {
>  	u32 irqstat, irqnr;
> diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
> index 1693b8e7f26a..5916d6cdafa1 100644
> --- a/drivers/irqchip/irq-bcm2835.c
> +++ b/drivers/irqchip/irq-bcm2835.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index a917b144895e..63922b9ba6b7 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -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];
> diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
> index 2cb7cd0bc2f5..3c8827fe83f3 100644
> --- a/drivers/irqchip/irq-mmp.c
> +++ b/drivers/irqchip/irq-mmp.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
> index 5552fc2bf28a..00b3cc908f76 100644
> --- a/drivers/irqchip/irq-moxart.c
> +++ b/drivers/irqchip/irq-moxart.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
> index 8e41be62812e..e25f246cd2fb 100644
> --- a/drivers/irqchip/irq-orion.c
> +++ b/drivers/irqchip/irq-orion.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
> index 3a070c587ed9..581eefe331ae 100644
> --- a/drivers/irqchip/irq-sirfsoc.c
> +++ b/drivers/irqchip/irq-sirfsoc.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
> index a5438d889245..9fbff030c700 100644
> --- a/drivers/irqchip/irq-sun4i.c
> +++ b/drivers/irqchip/irq-sun4i.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
> index fd2c980e4cea..37dab0b472cd 100644
> --- a/drivers/irqchip/irq-vic.c
> +++ b/drivers/irqchip/irq-vic.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
> index 1846e7d66681..eb6e91efdec8 100644
> --- a/drivers/irqchip/irq-vt8500.c
> +++ b/drivers/irqchip/irq-vt8500.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
> index 8ed04c4a43ee..ceb3a4318f73 100644
> --- a/drivers/irqchip/irq-zevio.c
> +++ b/drivers/irqchip/irq-zevio.c
> @@ -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;
>  


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] irqchip: Remove asmlinkage from static functions
@ 2014-03-11 20:43         ` Stephen Boyd
  0 siblings, 0 replies; 11+ messages in thread
From: Stephen Boyd @ 2014-03-11 20:43 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: khilman, Russell King - ARM Linux, kernel-build-reports,
	Josh Cartwright, linux-kernel, Andi Kleen, olof @ lixom . net

ping?

On 03/04/14 16:40, Stephen Boyd wrote:
> 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.
>
> Reported-by: Olof's autobuilder <build@lixom.net>
> Cc: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
>
> 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(-)
>
> diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
> index cd79503abea9..41be897df8d5 100644
> --- a/drivers/irqchip/irq-armada-370-xp.c
> +++ b/drivers/irqchip/irq-armada-370-xp.c
> @@ -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_entry
>  armada_370_xp_handle_irq(struct pt_regs *regs)
>  {
>  	u32 irqstat, irqnr;
> diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
> index 1693b8e7f26a..5916d6cdafa1 100644
> --- a/drivers/irqchip/irq-bcm2835.c
> +++ b/drivers/irqchip/irq-bcm2835.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
> index a917b144895e..63922b9ba6b7 100644
> --- a/drivers/irqchip/irq-gic.c
> +++ b/drivers/irqchip/irq-gic.c
> @@ -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];
> diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
> index 2cb7cd0bc2f5..3c8827fe83f3 100644
> --- a/drivers/irqchip/irq-mmp.c
> +++ b/drivers/irqchip/irq-mmp.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
> index 5552fc2bf28a..00b3cc908f76 100644
> --- a/drivers/irqchip/irq-moxart.c
> +++ b/drivers/irqchip/irq-moxart.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
> index 8e41be62812e..e25f246cd2fb 100644
> --- a/drivers/irqchip/irq-orion.c
> +++ b/drivers/irqchip/irq-orion.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
> index 3a070c587ed9..581eefe331ae 100644
> --- a/drivers/irqchip/irq-sirfsoc.c
> +++ b/drivers/irqchip/irq-sirfsoc.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
> index a5438d889245..9fbff030c700 100644
> --- a/drivers/irqchip/irq-sun4i.c
> +++ b/drivers/irqchip/irq-sun4i.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
> index fd2c980e4cea..37dab0b472cd 100644
> --- a/drivers/irqchip/irq-vic.c
> +++ b/drivers/irqchip/irq-vic.c
> @@ -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;
>  
> diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
> index 1846e7d66681..eb6e91efdec8 100644
> --- a/drivers/irqchip/irq-vt8500.c
> +++ b/drivers/irqchip/irq-vt8500.c
> @@ -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;
> diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
> index 8ed04c4a43ee..ceb3a4318f73 100644
> --- a/drivers/irqchip/irq-zevio.c
> +++ b/drivers/irqchip/irq-zevio.c
> @@ -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;
>  


-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [tip:irq/core] irqchip: Remove asmlinkage from static functions
  2014-03-05  0:40       ` Stephen Boyd
  (?)
  (?)
@ 2014-03-12 12:03       ` tip-bot for Stephen Boyd
  -1 siblings, 0 replies; 11+ messages in thread
From: tip-bot for Stephen Boyd @ 2014-03-12 12:03 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, sboyd, joshc, linux, ak, tglx, build

Commit-ID:  8783dd3a37a5853689e1a8fa728827a50905b912
Gitweb:     http://git.kernel.org/tip/8783dd3a37a5853689e1a8fa728827a50905b912
Author:     Stephen Boyd <sboyd@codeaurora.org>
AuthorDate: Tue, 4 Mar 2014 16:40:30 -0800
Committer:  Thomas Gleixner <tglx@linutronix.de>
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.

Reported-by: Olof's autobuilder <build@lixom.net>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: khilman@linaro.org
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Josh Cartwright <joshc@codeaurora.org>
Cc: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1393980030-17770-1-git-send-email-sboyd@codeaurora.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 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(-)

diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index cd79503..41be897 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -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_entry
 armada_370_xp_handle_irq(struct pt_regs *regs)
 {
 	u32 irqstat, irqnr;
diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c
index 1693b8e..5916d6c 100644
--- a/drivers/irqchip/irq-bcm2835.c
+++ b/drivers/irqchip/irq-bcm2835.c
@@ -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;
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index abeb5a9..531769b 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -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];
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index 2cb7cd0..3c8827f 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-moxart.c b/drivers/irqchip/irq-moxart.c
index 5552fc2..00b3cc9 100644
--- a/drivers/irqchip/irq-moxart.c
+++ b/drivers/irqchip/irq-moxart.c
@@ -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;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index e51d400..c3f0f41 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -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;
diff --git a/drivers/irqchip/irq-sirfsoc.c b/drivers/irqchip/irq-sirfsoc.c
index 3a070c5..581eefe 100644
--- a/drivers/irqchip/irq-sirfsoc.c
+++ b/drivers/irqchip/irq-sirfsoc.c
@@ -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;
diff --git a/drivers/irqchip/irq-sun4i.c b/drivers/irqchip/irq-sun4i.c
index a5438d8..9fbff03 100644
--- a/drivers/irqchip/irq-sun4i.c
+++ b/drivers/irqchip/irq-sun4i.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index 8e21ae0..473f09a 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -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;
 
diff --git a/drivers/irqchip/irq-vt8500.c b/drivers/irqchip/irq-vt8500.c
index 1846e7d..eb6e91e 100644
--- a/drivers/irqchip/irq-vt8500.c
+++ b/drivers/irqchip/irq-vt8500.c
@@ -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;
diff --git a/drivers/irqchip/irq-zevio.c b/drivers/irqchip/irq-zevio.c
index 8ed04c4..ceb3a43 100644
--- a/drivers/irqchip/irq-zevio.c
+++ b/drivers/irqchip/irq-zevio.c
@@ -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;
 

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-03-12 12:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <5310415c.2d79420a.3275.ffff92bb@mx.google.com>
2014-03-01  2:23 ` static asmlinkage in irqchip (was Re: next build: 78 warnings 0 failures (next/next-20140228)) Stephen Boyd
2014-03-01 16:12   ` Andi Kleen
2014-03-03 16:12     ` Josh Cartwright
2014-03-03 16:31       ` Russell King - ARM Linux
2014-03-03 19:06       ` Andi Kleen
2014-03-03 20:21         ` Josh Cartwright
2014-03-05  0:40     ` [PATCH] irqchip: Remove asmlinkage from static functions Stephen Boyd
2014-03-05  0:40       ` Stephen Boyd
2014-03-11 20:43       ` Stephen Boyd
2014-03-11 20:43         ` Stephen Boyd
2014-03-12 12:03       ` [tip:irq/core] " tip-bot for Stephen Boyd

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.