diff options
Diffstat (limited to 'arch/powerpc/kernel/setup-common.c')
-rw-r--r-- | arch/powerpc/kernel/setup-common.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index b7e6c7e193ae..70decd8068ca 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -94,6 +94,10 @@ struct screen_info screen_info = { | |||
94 | .orig_video_points = 16 | 94 | .orig_video_points = 16 |
95 | }; | 95 | }; |
96 | 96 | ||
97 | /* Variables required to store legacy IO irq routing */ | ||
98 | int of_i8042_kbd_irq; | ||
99 | int of_i8042_aux_irq; | ||
100 | |||
97 | #ifdef __DO_IRQ_CANON | 101 | #ifdef __DO_IRQ_CANON |
98 | /* XXX should go elsewhere eventually */ | 102 | /* XXX should go elsewhere eventually */ |
99 | int ppc_do_canonicalize_irqs; | 103 | int ppc_do_canonicalize_irqs; |
@@ -575,6 +579,15 @@ int check_legacy_ioport(unsigned long base_port) | |||
575 | np = of_find_compatible_node(NULL, NULL, "pnpPNP,f03"); | 579 | np = of_find_compatible_node(NULL, NULL, "pnpPNP,f03"); |
576 | if (np) { | 580 | if (np) { |
577 | parent = of_get_parent(np); | 581 | parent = of_get_parent(np); |
582 | |||
583 | of_i8042_kbd_irq = irq_of_parse_and_map(parent, 0); | ||
584 | if (!of_i8042_kbd_irq) | ||
585 | of_i8042_kbd_irq = 1; | ||
586 | |||
587 | of_i8042_aux_irq = irq_of_parse_and_map(parent, 1); | ||
588 | if (!of_i8042_aux_irq) | ||
589 | of_i8042_aux_irq = 12; | ||
590 | |||
578 | of_node_put(np); | 591 | of_node_put(np); |
579 | np = parent; | 592 | np = parent; |
580 | break; | 593 | break; |