irq: don't put module.h into irq.h for tracking irqgen modules.
authorPaul Gortmaker <paul.gortmaker@windriver.com>
Tue, 20 Sep 2011 00:33:19 +0000 (20:33 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 31 Oct 2011 23:32:35 +0000 (19:32 -0400)
commitec53cf23c0ddb0c29950b9a4ac46964c4c6c6c2f
tree198b2e172c5d9043ee10341092900e584c5f97f6
parent1d58996da6a8045c8df2899ce5689a19c721322f
irq: don't put module.h into irq.h for tracking irqgen modules.

Recent commit "irq: Track the  owner of irq descriptor" in
commit ID b6873807a7143b7 placed module.h into linux/irq.h
but we are trying to limit module.h inclusion to just C files
that really need it, due to its size and number of children
includes.  This targets just reversing that include.

Add in the basic "struct module" since that is all we really need
to ensure things compile.  In theory, b687380 should have added the
module.h include to the irqdesc.h header as well, but the implicit
module.h everywhere presence masked this from showing up.  So give
it the "struct module" as well.

As for the C files, irqdesc.c is only using THIS_MODULE, so it
does not need module.h - give it export.h instead.  The C file
irq/manage.c is now (as of b687380) using try_module_get and
module_put and so it needs module.h (which it already has).

Also convert the irq_alloc_descs variants to macros, since all
they really do is is call the __irq_alloc_descs primitive.
This avoids including export.h and no debug info is lost.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
include/linux/irq.h
include/linux/irqdesc.h
kernel/irq/irqdesc.c