On Wed, Aug 11, 2010 at 12:33 PM, Dave Hylands <dhylands@xxxxxxxxx> wrote:
irq_to_desc should be a function. To verify this, we can look into the symbol table in handle.o which specifies this as a function. Here is a snippet of the symbol table.
48: 0000024e 32 FUNC GLOBAL DEFAULT 1 replace_irq_desc
49: 00000000 0 NOTYPE GLOBAL DEFAULT UND radix_tree_lookup_slot
50: 0000026e 12 FUNC GLOBAL DEFAULT 1 irq_to_desc
51: 00000000 0 NOTYPE GLOBAL DEFAULT UND radix_tree_lookup
52: 00000413 31 FUNC GLOBAL DEFAULT 1 kstat_irqs_cpu
53: 00000432 40 FUNC GLOBAL DEFAULT 1 early_init_irq_lock_class
54: 00000032 298 FUNC GLOBAL DEFAULT 9 irq_to_desc_alloc_node
55: 00000000 0 NOTYPE GLOBAL DEFAULT UND warn_slowpath_fmt
56: 00000000 4 OBJECT GLOBAL DEFAULT 5 sparse_irq_lock
-Prabhu
Hi Parbhu,
Sending to the list this time.
> Hi,
>
> I am facing a peculiar behaviour on Kernel version 2.6.34.1
> (http://lxr.linux.no/#linux+v2.6.34.1).
>
> For my experimentation I just wanted to use the following two kernel
> functions in my Kernel module
>
> 1. find_task_by_vpid
> (http://lxr.linux.no/#linux+v2.6.34.1/kernel/pid.c#L388)
> 2. irq_to_desc
> (http://lxr.linux.no/#linux+v2.6.34.1/kernel/irq/handle.c#L138)
>
> Since these two functions are not exported by the Kernel, I
> exported these functions, built the kernel and used in my kernel module.
> When I compiled, I got a warning "WARNING: "irq_to_desc"
> [/root/prabhu/KernelPrograms/irq/kmod.ko] undefined!"
> and when I inserted the module, I got error saying "kmod: Unknown
> symbol irq_to_desc"
irq_to_desc isn't a function, therefore it can't be exported. It's a macro.
irq_to_desc should be a function. To verify this, we can look into the symbol table in handle.o which specifies this as a function. Here is a snippet of the symbol table.
48: 0000024e 32 FUNC GLOBAL DEFAULT 1 replace_irq_desc
49: 00000000 0 NOTYPE GLOBAL DEFAULT UND radix_tree_lookup_slot
50: 0000026e 12 FUNC GLOBAL DEFAULT 1 irq_to_desc
51: 00000000 0 NOTYPE GLOBAL DEFAULT UND radix_tree_lookup
52: 00000413 31 FUNC GLOBAL DEFAULT 1 kstat_irqs_cpu
53: 00000432 40 FUNC GLOBAL DEFAULT 1 early_init_irq_lock_class
54: 00000032 298 FUNC GLOBAL DEFAULT 9 irq_to_desc_alloc_node
55: 00000000 0 NOTYPE GLOBAL DEFAULT UND warn_slowpath_fmt
56: 00000000 4 OBJECT GLOBAL DEFAULT 5 sparse_irq_lock
-Prabhu