diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-04-29 18:07:19 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-04-29 18:07:19 -0400 |
| commit | a6ab948e6500306dcb415ec80bff5f9b93f41b90 (patch) | |
| tree | 7c5d934ae840835b63dd38dbeb47adfc40927648 | |
| parent | 592311c91daece7d6503bdef8fcc434f829aad23 (diff) | |
| parent | 1ff42c32c7614c2e810ed388fd1ba04a5626b74c (diff) | |
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: ce4100: Configure IOAPIC pins for USB and SATA to level type
x86: devicetree: Configure IOAPIC pin only once
x86, setup: When probing memory with e801, use ax/bx as a pair
| -rw-r--r-- | arch/x86/boot/memory.c | 2 | ||||
| -rw-r--r-- | arch/x86/include/asm/io_apic.h | 2 | ||||
| -rw-r--r-- | arch/x86/kernel/apic/io_apic.c | 10 | ||||
| -rw-r--r-- | arch/x86/kernel/devicetree.c | 2 | ||||
| -rw-r--r-- | arch/x86/platform/ce4100/falconfalls.dts | 6 |
5 files changed, 11 insertions, 11 deletions
diff --git a/arch/x86/boot/memory.c b/arch/x86/boot/memory.c index cae3feb1035e..db75d07c3645 100644 --- a/arch/x86/boot/memory.c +++ b/arch/x86/boot/memory.c | |||
| @@ -91,7 +91,7 @@ static int detect_memory_e801(void) | |||
| 91 | if (oreg.ax > 15*1024) { | 91 | if (oreg.ax > 15*1024) { |
| 92 | return -1; /* Bogus! */ | 92 | return -1; /* Bogus! */ |
| 93 | } else if (oreg.ax == 15*1024) { | 93 | } else if (oreg.ax == 15*1024) { |
| 94 | boot_params.alt_mem_k = (oreg.dx << 6) + oreg.ax; | 94 | boot_params.alt_mem_k = (oreg.bx << 6) + oreg.ax; |
| 95 | } else { | 95 | } else { |
| 96 | /* | 96 | /* |
| 97 | * This ignores memory above 16MB if we have a memory | 97 | * This ignores memory above 16MB if we have a memory |
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h index c4bd267dfc50..a97a240f67f3 100644 --- a/arch/x86/include/asm/io_apic.h +++ b/arch/x86/include/asm/io_apic.h | |||
| @@ -150,7 +150,7 @@ void setup_IO_APIC_irq_extra(u32 gsi); | |||
| 150 | extern void ioapic_and_gsi_init(void); | 150 | extern void ioapic_and_gsi_init(void); |
| 151 | extern void ioapic_insert_resources(void); | 151 | extern void ioapic_insert_resources(void); |
| 152 | 152 | ||
| 153 | int io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr); | 153 | int io_apic_setup_irq_pin_once(unsigned int irq, int node, struct io_apic_irq_attr *attr); |
| 154 | 154 | ||
| 155 | extern struct IO_APIC_route_entry **alloc_ioapic_entries(void); | 155 | extern struct IO_APIC_route_entry **alloc_ioapic_entries(void); |
| 156 | extern void free_ioapic_entries(struct IO_APIC_route_entry **ioapic_entries); | 156 | extern void free_ioapic_entries(struct IO_APIC_route_entry **ioapic_entries); |
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c index 68df09bba92e..45fd33d1fd3a 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c | |||
| @@ -128,8 +128,8 @@ static int __init parse_noapic(char *str) | |||
| 128 | } | 128 | } |
| 129 | early_param("noapic", parse_noapic); | 129 | early_param("noapic", parse_noapic); |
| 130 | 130 | ||
| 131 | static int io_apic_setup_irq_pin_once(unsigned int irq, int node, | 131 | static int io_apic_setup_irq_pin(unsigned int irq, int node, |
| 132 | struct io_apic_irq_attr *attr); | 132 | struct io_apic_irq_attr *attr); |
| 133 | 133 | ||
| 134 | /* Will be called in mpparse/acpi/sfi codes for saving IRQ info */ | 134 | /* Will be called in mpparse/acpi/sfi codes for saving IRQ info */ |
| 135 | void mp_save_irq(struct mpc_intsrc *m) | 135 | void mp_save_irq(struct mpc_intsrc *m) |
| @@ -3570,7 +3570,7 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev) | |||
| 3570 | } | 3570 | } |
| 3571 | #endif /* CONFIG_HT_IRQ */ | 3571 | #endif /* CONFIG_HT_IRQ */ |
| 3572 | 3572 | ||
| 3573 | int | 3573 | static int |
| 3574 | io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr) | 3574 | io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr) |
| 3575 | { | 3575 | { |
| 3576 | struct irq_cfg *cfg = alloc_irq_and_cfg_at(irq, node); | 3576 | struct irq_cfg *cfg = alloc_irq_and_cfg_at(irq, node); |
| @@ -3585,8 +3585,8 @@ io_apic_setup_irq_pin(unsigned int irq, int node, struct io_apic_irq_attr *attr) | |||
| 3585 | return ret; | 3585 | return ret; |
| 3586 | } | 3586 | } |
| 3587 | 3587 | ||
| 3588 | static int io_apic_setup_irq_pin_once(unsigned int irq, int node, | 3588 | int io_apic_setup_irq_pin_once(unsigned int irq, int node, |
| 3589 | struct io_apic_irq_attr *attr) | 3589 | struct io_apic_irq_attr *attr) |
| 3590 | { | 3590 | { |
| 3591 | unsigned int id = attr->ioapic, pin = attr->ioapic_pin; | 3591 | unsigned int id = attr->ioapic, pin = attr->ioapic_pin; |
| 3592 | int ret; | 3592 | int ret; |
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c index 706a9fb46a58..e90f08458e6b 100644 --- a/arch/x86/kernel/devicetree.c +++ b/arch/x86/kernel/devicetree.c | |||
| @@ -391,7 +391,7 @@ static int ioapic_xlate(struct irq_domain *id, const u32 *intspec, u32 intsize, | |||
| 391 | 391 | ||
| 392 | set_io_apic_irq_attr(&attr, idx, line, it->trigger, it->polarity); | 392 | set_io_apic_irq_attr(&attr, idx, line, it->trigger, it->polarity); |
| 393 | 393 | ||
| 394 | return io_apic_setup_irq_pin(*out_hwirq, cpu_to_node(0), &attr); | 394 | return io_apic_setup_irq_pin_once(*out_hwirq, cpu_to_node(0), &attr); |
| 395 | } | 395 | } |
| 396 | 396 | ||
| 397 | static void __init ioapic_add_ofnode(struct device_node *np) | 397 | static void __init ioapic_add_ofnode(struct device_node *np) |
diff --git a/arch/x86/platform/ce4100/falconfalls.dts b/arch/x86/platform/ce4100/falconfalls.dts index 2d6d226f2b10..e70be38ce039 100644 --- a/arch/x86/platform/ce4100/falconfalls.dts +++ b/arch/x86/platform/ce4100/falconfalls.dts | |||
| @@ -347,7 +347,7 @@ | |||
| 347 | "pciclass0c03"; | 347 | "pciclass0c03"; |
| 348 | 348 | ||
| 349 | reg = <0x16800 0x0 0x0 0x0 0x0>; | 349 | reg = <0x16800 0x0 0x0 0x0 0x0>; |
| 350 | interrupts = <22 3>; | 350 | interrupts = <22 1>; |
| 351 | }; | 351 | }; |
| 352 | 352 | ||
| 353 | usb@d,1 { | 353 | usb@d,1 { |
| @@ -357,7 +357,7 @@ | |||
| 357 | "pciclass0c03"; | 357 | "pciclass0c03"; |
| 358 | 358 | ||
| 359 | reg = <0x16900 0x0 0x0 0x0 0x0>; | 359 | reg = <0x16900 0x0 0x0 0x0 0x0>; |
| 360 | interrupts = <22 3>; | 360 | interrupts = <22 1>; |
| 361 | }; | 361 | }; |
| 362 | 362 | ||
| 363 | sata@e,0 { | 363 | sata@e,0 { |
| @@ -367,7 +367,7 @@ | |||
| 367 | "pciclass0106"; | 367 | "pciclass0106"; |
| 368 | 368 | ||
| 369 | reg = <0x17000 0x0 0x0 0x0 0x0>; | 369 | reg = <0x17000 0x0 0x0 0x0 0x0>; |
| 370 | interrupts = <23 3>; | 370 | interrupts = <23 1>; |
| 371 | }; | 371 | }; |
| 372 | 372 | ||
| 373 | flash@f,0 { | 373 | flash@f,0 { |
