Commit 20eab7e0 authored by Anton Blanchard's avatar Anton Blanchard

ppc64: use an initcall to register ras irqs

parent aa8359a9
...@@ -19,11 +19,11 @@ obj-$(CONFIG_PPC_ISERIES) += iSeries_pci.o iSeries_pci_reset.o \ ...@@ -19,11 +19,11 @@ obj-$(CONFIG_PPC_ISERIES) += iSeries_pci.o iSeries_pci_reset.o \
mf.o HvLpEvent.o iSeries_proc.o mf.o HvLpEvent.o iSeries_proc.o
obj-$(CONFIG_PPC_PSERIES) += pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o \ obj-$(CONFIG_PPC_PSERIES) += pSeries_pci.o pSeries_lpar.o pSeries_hvCall.o \
eeh.o rtasd.o nvram.o eeh.o rtasd.o nvram.o ras.o
# Change this to pSeries only once we've got iSeries up to date # Change this to pSeries only once we've got iSeries up to date
obj-y += open_pic.o xics.o pSeries_htab.o rtas.o \ obj-y += open_pic.o xics.o pSeries_htab.o rtas.o \
chrp_setup.o i8259.o ras.o prom.o chrp_setup.o i8259.o prom.o
obj-$(CONFIG_PROC_FS) += proc_ppc64.o obj-$(CONFIG_PROC_FS) += proc_ppc64.o
obj-$(CONFIG_RTAS_FLASH) += rtas_flash.o obj-$(CONFIG_RTAS_FLASH) += rtas_flash.o
......
...@@ -69,7 +69,6 @@ extern volatile unsigned char *chrp_int_ack_special; ...@@ -69,7 +69,6 @@ extern volatile unsigned char *chrp_int_ack_special;
void chrp_progress(char *, unsigned short); void chrp_progress(char *, unsigned short);
extern void openpic_init_IRQ(void); extern void openpic_init_IRQ(void);
extern void init_ras_IRQ(void);
extern void find_and_init_phbs(void); extern void find_and_init_phbs(void);
...@@ -239,7 +238,6 @@ chrp_init(unsigned long r3, unsigned long r4, unsigned long r5, ...@@ -239,7 +238,6 @@ chrp_init(unsigned long r3, unsigned long r4, unsigned long r5,
ppc_md.init_IRQ = xics_init_IRQ; ppc_md.init_IRQ = xics_init_IRQ;
ppc_md.get_irq = xics_get_irq; ppc_md.get_irq = xics_get_irq;
} }
ppc_md.init_ras_IRQ = init_ras_IRQ;
ppc_md.init = chrp_init2; ppc_md.init = chrp_init2;
......
...@@ -312,7 +312,6 @@ iSeries_init_early(void) ...@@ -312,7 +312,6 @@ iSeries_init_early(void)
ppc_md.setup_residual = iSeries_setup_residual; ppc_md.setup_residual = iSeries_setup_residual;
ppc_md.get_cpuinfo = iSeries_get_cpuinfo; ppc_md.get_cpuinfo = iSeries_get_cpuinfo;
ppc_md.init_IRQ = iSeries_init_IRQ; ppc_md.init_IRQ = iSeries_init_IRQ;
ppc_md.init_ras_IRQ = NULL;
ppc_md.get_irq = iSeries_get_irq; ppc_md.get_irq = iSeries_get_irq;
ppc_md.init = NULL; ppc_md.init = NULL;
......
...@@ -596,7 +596,6 @@ void __init init_IRQ(void) ...@@ -596,7 +596,6 @@ void __init init_IRQ(void)
once++; once++;
ppc_md.init_IRQ(); ppc_md.init_IRQ();
if(ppc_md.init_ras_IRQ) ppc_md.init_ras_IRQ();
} }
static struct proc_dir_entry * root_irq_dir; static struct proc_dir_entry * root_irq_dir;
......
...@@ -58,7 +58,6 @@ static irqreturn_t ras_epow_interrupt(int irq, void *dev_id, ...@@ -58,7 +58,6 @@ static irqreturn_t ras_epow_interrupt(int irq, void *dev_id,
struct pt_regs * regs); struct pt_regs * regs);
static irqreturn_t ras_error_interrupt(int irq, void *dev_id, static irqreturn_t ras_error_interrupt(int irq, void *dev_id,
struct pt_regs * regs); struct pt_regs * regs);
void init_ras_IRQ(void);
/* #define DEBUG */ /* #define DEBUG */
...@@ -66,7 +65,8 @@ void init_ras_IRQ(void); ...@@ -66,7 +65,8 @@ void init_ras_IRQ(void);
* Initialize handlers for the set of interrupts caused by hardware errors * Initialize handlers for the set of interrupts caused by hardware errors
* and power system events. * and power system events.
*/ */
void init_ras_IRQ(void) { static int __init init_ras_IRQ(void)
{
struct device_node *np; struct device_node *np;
unsigned int *ireg, len, i; unsigned int *ireg, len, i;
...@@ -91,7 +91,10 @@ void init_ras_IRQ(void) { ...@@ -91,7 +91,10 @@ void init_ras_IRQ(void) {
ireg++; ireg++;
} }
} }
return 1;
} }
__initcall(init_ras_IRQ);
/* /*
* Handle power subsystem events (EPOW). * Handle power subsystem events (EPOW).
......
...@@ -67,7 +67,6 @@ struct machdep_calls { ...@@ -67,7 +67,6 @@ struct machdep_calls {
void (*get_cpuinfo)(struct seq_file *m); void (*get_cpuinfo)(struct seq_file *m);
void (*init_IRQ)(void); void (*init_IRQ)(void);
void (*init_ras_IRQ)(void);
int (*get_irq)(struct pt_regs *); int (*get_irq)(struct pt_regs *);
/* Optional, may be NULL. */ /* Optional, may be NULL. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment