summaryrefslogtreecommitdiffstats
path: root/kernel/drivers/acpi
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/drivers/acpi')
-rw-r--r--kernel/drivers/acpi/acpi_pnp.c1
-rw-r--r--kernel/drivers/acpi/pci_link.c16
2 files changed, 17 insertions, 0 deletions
diff --git a/kernel/drivers/acpi/acpi_pnp.c b/kernel/drivers/acpi/acpi_pnp.c
index ff6d8adc9..fb765524c 100644
--- a/kernel/drivers/acpi/acpi_pnp.c
+++ b/kernel/drivers/acpi/acpi_pnp.c
@@ -153,6 +153,7 @@ static const struct acpi_device_id acpi_pnp_device_ids[] = {
{"AEI0250"}, /* PROLiNK 1456VH ISA PnP K56flex Fax Modem */
{"AEI1240"}, /* Actiontec ISA PNP 56K X2 Fax Modem */
{"AKY1021"}, /* Rockwell 56K ACF II Fax+Data+Voice Modem */
+ {"ALI5123"}, /* ALi Fast Infrared Controller */
{"AZT4001"}, /* AZT3005 PnP SOUND DEVICE */
{"BDP3336"}, /* Best Data Products Inc. Smart One 336F PnP Modem */
{"BRI0A49"}, /* Boca Complete Ofc Communicator 14.4 Data-FAX */
diff --git a/kernel/drivers/acpi/pci_link.c b/kernel/drivers/acpi/pci_link.c
index cfd7581cc..b09ad5544 100644
--- a/kernel/drivers/acpi/pci_link.c
+++ b/kernel/drivers/acpi/pci_link.c
@@ -826,6 +826,22 @@ void acpi_penalize_isa_irq(int irq, int active)
}
/*
+ * Penalize IRQ used by ACPI SCI. If ACPI SCI pin attributes conflict with
+ * PCI IRQ attributes, mark ACPI SCI as ISA_ALWAYS so it won't be use for
+ * PCI IRQs.
+ */
+void acpi_penalize_sci_irq(int irq, int trigger, int polarity)
+{
+ if (irq >= 0 && irq < ARRAY_SIZE(acpi_irq_penalty)) {
+ if (trigger != ACPI_MADT_TRIGGER_LEVEL ||
+ polarity != ACPI_MADT_POLARITY_ACTIVE_LOW)
+ acpi_irq_penalty[irq] += PIRQ_PENALTY_ISA_ALWAYS;
+ else
+ acpi_irq_penalty[irq] += PIRQ_PENALTY_PCI_USING;
+ }
+}
+
+/*
* Over-ride default table to reserve additional IRQs for use by ISA
* e.g. acpi_irq_isa=5
* Useful for telling ACPI how not to interfere with your ISA sound card.