The addition of more fields to irq_desc_t may have broken compilation of other architectures. Go through and C99ify them (was needed anyway). arch/alpha/kernel/irq.c | 5 ++++- arch/ia64/kernel/irq.c | 9 +++++++-- arch/mips/kernel/irq.c | 8 ++++++-- arch/ppc/kernel/irq.c | 8 ++++++-- arch/ppc64/kernel/irq.c | 7 +++++-- arch/sh/kernel/irq.c | 7 +++++-- arch/um/kernel/irq.c | 8 ++++++-- arch/v850/kernel/irq.c | 8 ++++++-- arch/x86_64/kernel/irq.c | 8 ++++++-- 9 files changed, 51 insertions(+), 17 deletions(-) diff -puN arch/alpha/kernel/irq.c~irq_desc-others arch/alpha/kernel/irq.c --- 25-power4/arch/alpha/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/alpha/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -34,7 +34,10 @@ * Controller mappings for all interrupt sources: */ irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { - [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED} + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } }; static void register_irq_proc(unsigned int irq); diff -puN arch/ia64/kernel/irq.c~irq_desc-others arch/ia64/kernel/irq.c --- 25-power4/arch/ia64/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/ia64/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -65,8 +65,13 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t _irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { IRQ_DISABLED, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .status = IRQ_DISABLED, + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; #ifdef CONFIG_IA64_GENERIC struct irq_desc * __ia64_irq_desc (unsigned int irq) diff -puN arch/mips/kernel/irq.c~irq_desc-others arch/mips/kernel/irq.c --- 25-power4/arch/mips/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/mips/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -24,8 +24,12 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; /* * Special irq handlers. diff -puN arch/ppc64/kernel/irq.c~irq_desc-others arch/ppc64/kernel/irq.c --- 25-power4/arch/ppc64/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/ppc64/kernel/irq.c 2003-05-08 14:09:06.000000000 -0700 @@ -63,8 +63,11 @@ extern void iSeries_smp_message_recv( st volatile unsigned char *chrp_int_ack_special; static void register_irq_proc (unsigned int irq); -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, NULL, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .lock = SPIN_LOCK_UNLOCKED + } +}; int ppc_spurious_interrupts = 0; unsigned long lpEvent_count = 0; diff -puN arch/ppc/kernel/irq.c~irq_desc-others arch/ppc/kernel/irq.c --- 25-power4/arch/ppc/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/ppc/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -66,8 +66,12 @@ static void register_irq_proc (unsigned #define MAXCOUNT 10000000 -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, NULL, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; int ppc_spurious_interrupts = 0; struct irqaction *ppc_irq_action[NR_IRQS]; diff -puN arch/sh/kernel/irq.c~irq_desc-others arch/sh/kernel/irq.c --- 25-power4/arch/sh/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/sh/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -41,8 +41,11 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, }}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + } +}; /* * Special irq handlers. diff -puN arch/um/kernel/irq.c~irq_desc-others arch/um/kernel/irq.c --- 25-power4/arch/um/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/um/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -31,8 +31,12 @@ static void register_irq_proc (unsigned int irq); -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; /* * Generic no controller code diff -puN arch/v850/kernel/irq.c~irq_desc-others arch/v850/kernel/irq.c --- 25-power4/arch/v850/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/v850/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -28,8 +28,12 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; /* * Special irq handlers. diff -puN arch/x86_64/kernel/irq.c~irq_desc-others arch/x86_64/kernel/irq.c --- 25-power4/arch/x86_64/kernel/irq.c~irq_desc-others 2003-05-08 13:58:31.000000000 -0700 +++ 25-power4-akpm/arch/x86_64/kernel/irq.c 2003-05-08 13:58:31.000000000 -0700 @@ -65,8 +65,12 @@ /* * Controller mappings for all interrupt sources: */ -irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = - { [0 ... NR_IRQS-1] = { 0, &no_irq_type, NULL, 0, SPIN_LOCK_UNLOCKED}}; +irq_desc_t irq_desc[NR_IRQS] __cacheline_aligned = { + [0 ... NR_IRQS-1] = { + .handler = &no_irq_type, + .lock = SPIN_LOCK_UNLOCKED + } +}; static void register_irq_proc (unsigned int irq); _