lkml.org 
[lkml]   [2009]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2
* Thomas Gleixner (tglx@linutronix.de) wrote:
> Is this a contribution to the "most useless patch of the week"
> contest ?
>
> You have my vote.
>

Count mine too ! :) Actually, this was not what it should look like.
Here is my version. I am not totally convinced that the struct irq_desc
is absolutely required, but in some include orders, it might matter.
However, the #endif around the EXPORT_SYMBOL is definitely needed.

Best regards,

Mathieu

kernel/irq/handle.c fix kstat_irqs_cpu and irq_to_desc symbols v2

On Mon, Mar 16, 2009 at 05:53:37PM -0400, Mathieu Desnoyers wrote:
>* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> On Mon, Mar 16, 2009 at 04:25:00PM -0400, Mathieu Desnoyers wrote:
>> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> On Mon, Mar 16, 2009 at 03:44:59PM -0400, Mathieu Desnoyers wrote:
>> >> >* Josh Boyer (jwboyer@linux.vnet.ibm.com) wrote:
>> >> >> Hi All,
>> >> >>
>> >> >> I was attempting to build a simple ppc64_defconfig using
>> >> >> the latest LTTng tag from git. When doing a:
>> >> >>
>> >> >> make ppc64_defconfig
>> >> >> make
>> >> >>
>> >> >> I get the error below.
>> >> >>
>> >> >
>> >> >Hi Josh,
>> >> >
>> >> >Yes, LTTng has been tested with slub, but not for the powerpc64
>> >> >cross-build. Thanks for the report, this is actually a header circular
>> >> >dependency I caused. It should be fixed in LTTng 0.111.
>> >>
>> >> Bah. Yes, I should have clarified on ppc/ppc64. Sorry for the confusion
>> >> there.
>> >>
>> >> >I'll have to update my powerpc64 cross compiler to test it, because I am
>> >> >stucked with a broken gcc 4.1. Please tell me if 0.111 fixes the problem
>> >> >for you or if you encounter other problems.
>> >>
>> >> Yep, the extern on tb_ticks_per_sec is what I had come up with locally.
>> >> It should work fine, and does indeed get past the error I was seeing. The
>> >> build now dies with:
>> >>
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> kernel/irq/handle.c:259: error: __ksymtab_irq_to_desc causes a section type conflict
>> >> make[2]: *** [kernel/irq/handle.o] Error 1
>> >> make[1]: *** [kernel/irq] Error 2
>> >> make: *** [kernel] Error 2
>> >> make: *** Waiting for unfinished jobs....
>> >>
>> >
>> >Can I get your full .config ?
>>
>> Sure, attached. Note, this is just:
>>
>> make ppc64_defconfig
>> make vmlinux
>>
>> josh
>
>Can you try moving this code around ?

Yep, allows vmlinux and modules to build just fine. Here's a patch for you ;)

Based on a patch from Josh Boyer <jwboyer@linux.vnet.ibm.com>, updated by
Mathieu Desnoyers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
---
include/linux/irqnr.h | 1 +
kernel/irq/handle.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6-lttng/include/linux/irqnr.h
===================================================================
--- linux-2.6-lttng.orig/include/linux/irqnr.h 2009-03-16 18:45:40.000000000 -0400
+++ linux-2.6-lttng/include/linux/irqnr.h 2009-03-16 19:45:26.000000000 -0400
@@ -23,6 +23,7 @@
#else /* CONFIG_GENERIC_HARDIRQS */

extern int nr_irqs;
+struct irq_desc;
extern struct irq_desc *irq_to_desc(unsigned int irq);

# define for_each_irq_desc(irq, desc) \
Index: linux-2.6-lttng/kernel/irq/handle.c
===================================================================
--- linux-2.6-lttng.orig/kernel/irq/handle.c 2009-03-16 18:45:40.000000000 -0400
+++ linux-2.6-lttng/kernel/irq/handle.c 2009-03-16 19:44:05.000000000 -0400
@@ -473,6 +473,6 @@ unsigned int kstat_irqs_cpu(unsigned int
struct irq_desc *desc = irq_to_desc(irq);
return desc ? desc->kstat_irqs[cpu] : 0;
}
-#endif
EXPORT_SYMBOL(kstat_irqs_cpu);
+#endif

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


\
 
 \ /
  Last update: 2009-03-17 01:13    [W:0.038 / U:2.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site