@@ -370,28 +370,6 @@ static void __remove_pin_from_irq(struct mp_chip_data *data, int apic, int pin)
370
370
}
371
371
}
372
372
373
- /*
374
- * Reroute an IRQ to a different pin.
375
- */
376
- static void __init replace_pin_at_irq_node (struct mp_chip_data * data , int node ,
377
- int oldapic , int oldpin ,
378
- int newapic , int newpin )
379
- {
380
- struct irq_pin_list * entry ;
381
-
382
- for_each_irq_pin (entry , data -> irq_2_pin ) {
383
- if (entry -> apic == oldapic && entry -> pin == oldpin ) {
384
- entry -> apic = newapic ;
385
- entry -> pin = newpin ;
386
- /* every one is different, right? */
387
- return ;
388
- }
389
- }
390
-
391
- /* old apic/pin didn't exist, so just add new ones */
392
- add_pin_to_irq_node (data , node , newapic , newpin );
393
- }
394
-
395
373
static void io_apic_modify_irq (struct mp_chip_data * data , bool masked ,
396
374
void (* final )(struct irq_pin_list * entry ))
397
375
{
@@ -2067,6 +2045,24 @@ static int __init mp_alloc_timer_irq(int ioapic, int pin)
2067
2045
return irq ;
2068
2046
}
2069
2047
2048
+ static void __init replace_pin_at_irq_node (struct mp_chip_data * data , int node ,
2049
+ int oldapic , int oldpin ,
2050
+ int newapic , int newpin )
2051
+ {
2052
+ struct irq_pin_list * entry ;
2053
+
2054
+ for_each_irq_pin (entry , data -> irq_2_pin ) {
2055
+ if (entry -> apic == oldapic && entry -> pin == oldpin ) {
2056
+ entry -> apic = newapic ;
2057
+ entry -> pin = newpin ;
2058
+ return ;
2059
+ }
2060
+ }
2061
+
2062
+ /* Old apic/pin didn't exist, so just add a new one */
2063
+ add_pin_to_irq_node (data , node , newapic , newpin );
2064
+ }
2065
+
2070
2066
/*
2071
2067
* This code may look a bit paranoid, but it's supposed to cooperate with
2072
2068
* a wide range of boards and BIOS bugs. Fortunately only the timer IRQ
0 commit comments