projects
/
cascardo
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'samsung-driver' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene...
[cascardo/linux.git]
/
arch
/
x86
/
kernel
/
acpi
/
boot.c
diff --git
a/arch/x86/kernel/acpi/boot.c
b/arch/x86/kernel/acpi/boot.c
index
b436fc7
..
a142e77
100644
(file)
--- a/
arch/x86/kernel/acpi/boot.c
+++ b/
arch/x86/kernel/acpi/boot.c
@@
-397,7
+397,7
@@
static int mp_register_gsi(struct device *dev, u32 gsi, int trigger,
/* Don't set up the ACPI SCI because it's already set up */
if (acpi_gbl_FADT.sci_interrupt == gsi)
/* Don't set up the ACPI SCI because it's already set up */
if (acpi_gbl_FADT.sci_interrupt == gsi)
- return
gsi
;
+ return
mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC)
;
trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
trigger = trigger == ACPI_EDGE_SENSITIVE ? 0 : 1;
polarity = polarity == ACPI_ACTIVE_HIGH ? 0 : 1;
@@
-604,14
+604,18
@@
void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
{
int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
{
- int irq
= mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC | IOAPIC_MAP_CHECK)
;
+ int irq;
- if (irq >= 0) {
+ if (acpi_irq_model == ACPI_IRQ_MODEL_PIC) {
+ *irqp = gsi;
+ } else {
+ irq = mp_map_gsi_to_irq(gsi,
+ IOAPIC_MAP_ALLOC | IOAPIC_MAP_CHECK);
+ if (irq < 0)
+ return -1;
*irqp = irq;
*irqp = irq;
- return 0;
}
}
-
- return -1;
+ return 0;
}
EXPORT_SYMBOL_GPL(acpi_gsi_to_irq);
}
EXPORT_SYMBOL_GPL(acpi_gsi_to_irq);