irq: Fix circular headers dependency
irq: Fix circular headers dependency

asm-generic/hardirq.h needs asm/irq.h which might include
linux/interrupt.h as in the sparc 32 case. At this point
we need irq_cpustat generic definitions, but those are
included later in asm-generic/hardirq.h.

Then delay a bit the inclusion of irq.h from
asm-generic/hardirq.h, it doesn't need to be included early.

This fixes:

 include/linux/interrupt.h: In function '__raise_softirq_irqoff':
 include/linux/interrupt.h:414: error: implicit declaration of function 'local_softirq_pending'
 include/linux/interrupt.h:414: error: lvalue required as left operand of assignment

Reported-by: Ingo Molnar <9dbbbf0688fedc85ad4da37637f1a64b8c718ee2@elte.hu>
Signed-off-by: Frederic Weisbecker <e8a1bf9163cb25e93cfd6540f223b3872ea7ee55@gmail.com>
Cc: Lai Jiangshan <4c9eb49378914b743bdd32292c04df29b820d73e@cn.fujitsu.com>
Cc: Koki Sanagi <902c9d91273629b8189329e0f03aba5d2a4c33de@jp.fujitsu.com>
Cc: 007bef6a47fb57dff675bfa1b0b798b4bdfbfc25@efficios.com
Cc: 43232e92d70cc7aa53504ad0397085ee47bad87f@goodmis.org
Cc: 3316dc2d77df57653443c0391a5296176d6ca9c3@tuxdriver.com
Cc: 34e19218dd33737afcff3c8a2c6f579f00d3b48e@intel.com
Cc: a0baddf32b28d2f9429941ed4af2fe636e210591@gmail.com
Cc: 06fb390d28d4d3a1c65b19c7f623121e2bb09dfc@jp.fujitsu.com
Cc: fe08d3c717adf2ae63592e4c9aec6e3e404d8e3e@davemloft.net
Cc: 23ca3fc138fbd3784aec73bbc7a412bdd1fcadfc@jp.fujitsu.com
Cc: 70a1d3ef3e17a2bb0f09a1b2e6c86f607ed1d6d9@jp.fujitsu.com
LKML-Reference: <27394afce680105866030d8925f99498ec101585@nowhere>
Signed-off-by: Ingo Molnar <9dbbbf0688fedc85ad4da37637f1a64b8c718ee2@elte.hu>

TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas,KristFoundation/Programs,TeamVee-Kanas/android_kernel_samsung_kanas