Signed-off-by: Kate Hsuan <hpa@xxxxxxxxxx> --- drivers/platform/x86/Kconfig | 19 --------------- drivers/platform/x86/Makefile | 1 - drivers/platform/x86/intel/Kconfig | 1 + drivers/platform/x86/intel/Makefile | 2 ++ drivers/platform/x86/intel/int0002/Kconfig | 23 +++++++++++++++++++ drivers/platform/x86/intel/int0002/Makefile | 6 +++++ .../{ => intel/int0002}/intel_int0002_vgpio.c | 0 7 files changed, 32 insertions(+), 20 deletions(-) create mode 100644 drivers/platform/x86/intel/int0002/Kconfig create mode 100644 drivers/platform/x86/intel/int0002/Makefile rename drivers/platform/x86/{ => intel/int0002}/intel_int0002_vgpio.c (100%) diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index ba760d1cb873..b9c0d2d97793 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig @@ -632,25 +632,6 @@ config THINKPAD_LMI source "drivers/platform/x86/intel/Kconfig" -config INTEL_INT0002_VGPIO - tristate "Intel ACPI INT0002 Virtual GPIO driver" - depends on GPIOLIB && ACPI && PM_SLEEP - select GPIOLIB_IRQCHIP - help - Some peripherals on Bay Trail and Cherry Trail platforms signal a - Power Management Event (PME) to the Power Management Controller (PMC) - to wakeup the system. When this happens software needs to explicitly - clear the PME bus 0 status bit in the GPE0a_STS register to avoid an - IRQ storm on IRQ 9. - - This is modelled in ACPI through the INT0002 ACPI device, which is - called a "Virtual GPIO controller" in ACPI because it defines the - event handler to call when the PME triggers through _AEI and _L02 - methods as would be done for a real GPIO interrupt in ACPI. - - To compile this driver as a module, choose M here: the module will - be called intel_int0002_vgpio. - config INTEL_MENLOW tristate "Thermal Management driver for Intel menlow platform" depends on ACPI_THERMAL diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile index a657eef9e10f..f4c6ced59da1 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -67,7 +67,6 @@ obj-$(CONFIG_THINKPAD_LMI) += think-lmi.o obj-$(CONFIG_X86_PLATFORM_DRIVERS_INTEL) += intel/ -obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o obj-$(CONFIG_INTEL_MENLOW) += intel_menlow.o obj-$(CONFIG_INTEL_OAKTRAIL) += intel_oaktrail.o obj-$(CONFIG_INTEL_VBTN) += intel-vbtn.o diff --git a/drivers/platform/x86/intel/Kconfig b/drivers/platform/x86/intel/Kconfig index f1f09c7bd992..4efb5ad3e3e1 100644 --- a/drivers/platform/x86/intel/Kconfig +++ b/drivers/platform/x86/intel/Kconfig @@ -35,6 +35,7 @@ source "drivers/platform/x86/intel/smartconnect/Kconfig" source "drivers/platform/x86/intel/intel_speed_select_if/Kconfig" source "drivers/platform/x86/intel/turbo_max_3/Kconfig" source "drivers/platform/x86/intel/uncore_freq/Kconfig" +source "drivers/platform/x86/intel/int0002/Kconfig" endif # X86_PLATFORM_DRIVERS_INTEL diff --git a/drivers/platform/x86/intel/Makefile b/drivers/platform/x86/intel/Makefile index a4993248cfde..fe5058c3af18 100644 --- a/drivers/platform/x86/intel/Makefile +++ b/drivers/platform/x86/intel/Makefile @@ -11,6 +11,7 @@ obj-$(CONFIG_INTEL_ATOMISP2_PM) += atomisp2/ obj-$(CONFIG_INTEL_HID_EVENT) += hid/ obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE) += wmi/ obj-$(CONFIG_INTEL_WMI_THUNDERBOLT) += wmi/ +obj-$(CONFIG_INTEL_INT0002_VGPIO) += int0002/ # Intel PMIC / PMC / P-Unit devices @@ -36,3 +37,4 @@ obj-$(CONFIG_INTEL_SMARTCONNECT) += smartconnect/ obj-$(CONFIG_INTEL_SPEED_SELECT_INTERFACE) += intel_speed_select_if/ obj-$(CONFIG_INTEL_TURBO_MAX_3) += turbo_max_3/ obj-$(CONFIG_INTEL_UNCORE_FREQ_CONTROL) += uncore_freq/ + diff --git a/drivers/platform/x86/intel/int0002/Kconfig b/drivers/platform/x86/intel/int0002/Kconfig new file mode 100644 index 000000000000..b1368f3c9f31 --- /dev/null +++ b/drivers/platform/x86/intel/int0002/Kconfig @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Intel x86 Platform Specific Drivers +# + +config INTEL_INT0002_VGPIO + tristate "Intel ACPI INT0002 Virtual GPIO driver" + depends on GPIOLIB && ACPI && PM_SLEEP + select GPIOLIB_IRQCHIP + help + Some peripherals on Bay Trail and Cherry Trail platforms signal a + Power Management Event (PME) to the Power Management Controller (PMC) + to wakeup the system. When this happens software needs to explicitly + clear the PME bus 0 status bit in the GPE0a_STS register to avoid an + IRQ storm on IRQ 9. + + This is modelled in ACPI through the INT0002 ACPI device, which is + called a "Virtual GPIO controller" in ACPI because it defines the + event handler to call when the PME triggers through _AEI and _L02 + methods as would be done for a real GPIO interrupt in ACPI. + + To compile this driver as a module, choose M here: the module will + be called intel_int0002_vgpio. diff --git a/drivers/platform/x86/intel/int0002/Makefile b/drivers/platform/x86/intel/int0002/Makefile new file mode 100644 index 000000000000..a4040416bcf6 --- /dev/null +++ b/drivers/platform/x86/intel/int0002/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Intel x86 Platform Specific Drivers +# + +obj-$(CONFIG_INTEL_INT0002_VGPIO) += intel_int0002_vgpio.o diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel/int0002/intel_int0002_vgpio.c similarity index 100% rename from drivers/platform/x86/intel_int0002_vgpio.c rename to drivers/platform/x86/intel/int0002/intel_int0002_vgpio.c -- 2.31.1