Re: [PATCH] irq: Add EXPORT_SYMBOL to function of irq generic-chip

From: Nobuhiro Iwamatsu
Date: Wed Oct 12 2011 - 22:50:34 EST


2011/10/12 Thomas Gleixner <tglx@xxxxxxxxxxxxx>:
> On Wed, 12 Oct 2011, Nobuhiro Iwamatsu wrote:
>
>> Although some functions of of irq generic-chip can be used,
>> since EXPORT_SYMBOL is not specified, it cannot use.
>
> This does not make sense. In which context they can't be used?
>

Yes, this is mistake. Correctly, it is undefined error.

-----
ERROR: "irq_setup_generic_chip" [drivers/gpio/gpio-pch.ko] undefined!
ERROR: "irq_alloc_generic_chip" [drivers/gpio/gpio-pch.ko] undefined!
ERROR: "irq_setup_generic_chip" [drivers/gpio/gpio-ml-ioh.ko] undefined!
ERROR: "irq_alloc_generic_chip" [drivers/gpio/gpio-ml-ioh.ko] undefined!
-----

>> This is revised that EXPORT_SYMBOL can be added and referred
>> to in functions.
>
> EXPORT_SYMBOL_GPL if at all please.
>

Sure.

> And I'd rather avoid the exports, except those
>
>> +EXPORT_SYMBOL(irq_alloc_generic_chip);
>> +EXPORT_SYMBOL(irq_setup_generic_chip);
>> +EXPORT_SYMBOL(irq_setup_alt_chip);
>> +EXPORT_SYMBOL(irq_remove_generic_chip);
>
> which are really necessary. To gain access to the various helper
> functions we're better off to create a data structure with function
> pointers.
>
> struct irq_gc_functions {
>       void (* irq_gc_noop)(...);
>       ...
> };
>
> Instantiate this structure in kernel/irq/generic-chip.c, statically
> initialize it with pointers to those helper functions and export that
> data structure. That's way more efficient than having the overhead of
> the symbol export for each of the functions.
>

OK, I will send the patch to which this function was added.

Thanks for your comments.

Best regards,
Nobuhiro

--
Nobuhiro Iwamatsu
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/