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; |
