diff options
-rw-r--r-- | arch/powerpc/kernel/setup-common.c | 13 | ||||
-rw-r--r-- | drivers/input/serio/i8042-io.h | 5 |
2 files changed, 18 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 5e4d852f640c..8b6ada66060b 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; |
diff --git a/drivers/input/serio/i8042-io.h b/drivers/input/serio/i8042-io.h index 847f4aad7ed5..5d48bb66aa73 100644 --- a/drivers/input/serio/i8042-io.h +++ b/drivers/input/serio/i8042-io.h | |||
@@ -27,6 +27,11 @@ | |||
27 | #include <asm/irq.h> | 27 | #include <asm/irq.h> |
28 | #elif defined(CONFIG_SH_CAYMAN) | 28 | #elif defined(CONFIG_SH_CAYMAN) |
29 | #include <asm/irq.h> | 29 | #include <asm/irq.h> |
30 | #elif defined(CONFIG_PPC) | ||
31 | extern int of_i8042_kbd_irq; | ||
32 | extern int of_i8042_aux_irq; | ||
33 | # define I8042_KBD_IRQ of_i8042_kbd_irq | ||
34 | # define I8042_AUX_IRQ of_i8042_aux_irq | ||
30 | #else | 35 | #else |
31 | # define I8042_KBD_IRQ 1 | 36 | # define I8042_KBD_IRQ 1 |
32 | # define I8042_AUX_IRQ 12 | 37 | # define I8042_AUX_IRQ 12 |