ACPI / x86: boot: Use INVALID_ACPI_IRQ instead of 0 for acpi_sci_override_gsi
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 15 Dec 2017 21:25:10 +0000 (23:25 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 28 Dec 2017 11:36:46 +0000 (12:36 +0100)
0 is valid hardware interrupt which might be in some cases overridden.
Due to this, switch to INVALID_ACPI_IRQ to mark SCI override not set.

While here, change the type of the variable from int to u32 to match
the GSI type used in the rest of the code.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
arch/x86/include/asm/acpi.h
arch/x86/kernel/acpi/boot.c

index 8d0ec9d..44f5d79 100644 (file)
@@ -49,7 +49,7 @@ extern int acpi_fix_pin2_polarity;
 extern int acpi_disable_cmcff;
 
 extern u8 acpi_sci_flags;
-extern int acpi_sci_override_gsi;
+extern u32 acpi_sci_override_gsi;
 void acpi_pic_sci_set_trigger(unsigned int, u16);
 
 struct device;
index 56752b4..5a12cad 100644 (file)
@@ -68,8 +68,9 @@ int acpi_ioapic;
 int acpi_strict;
 int acpi_disable_cmcff;
 
+/* ACPI SCI override configuration */
 u8 acpi_sci_flags __initdata;
-int acpi_sci_override_gsi __initdata;
+u32 acpi_sci_override_gsi __initdata = INVALID_ACPI_IRQ;
 int acpi_skip_timer_override __initdata;
 int acpi_use_timer_override __initdata;
 int acpi_fix_pin2_polarity __initdata;
@@ -1209,7 +1210,7 @@ static int __init acpi_parse_madt_ioapic_entries(void)
         * If BIOS did not supply an INT_SRC_OVR for the SCI
         * pretend we got one so we can set the SCI flags.
         */
-       if (!acpi_sci_override_gsi)
+       if (acpi_sci_override_gsi == INVALID_ACPI_IRQ)
                acpi_sci_ioapic_setup(acpi_gbl_FADT.sci_interrupt, 0, 0,
                                      acpi_gbl_FADT.sci_interrupt);