[PATCH v7 4/9] acpi/arm64: Add GTDT table parse driver
From: Fu Wei <hidden>
Date: 2016-07-15 07:45:10
Also in:
linux-acpi, linux-watchdog, lkml
Subsystem:
clocksource, clockevent drivers, the rest · Maintainers:
Daniel Lezcano, Thomas Gleixner, Linus Torvalds
Hi Rafael, On 14 July 2016 at 05:43, Rafael J. Wysocki [off-list ref] wrote:
On Wed, Jul 13, 2016 at 11:08 PM, Guenter Roeck [off-list ref] wrote:quoted
On Wed, Jul 13, 2016 at 10:30:37PM +0200, Rafael J. Wysocki wrote:quoted
On Wed, Jul 13, 2016 at 7:53 PM, [off-list ref] wrote:quoted
From: Fu Wei <redacted> This patch adds support for parsing arch timer in GTDT, provides some kernel APIs to parse all the PPIs and always-on info in GTDT and export them. By this driver, we can simplify arm_arch_timer drivers, and separate the ACPI GTDT knowledge from it. Signed-off-by: Fu Wei <redacted> Signed-off-by: Hanjun Guo <redacted> --- drivers/acpi/Kconfig | 5 ++ drivers/acpi/Makefile | 1 + drivers/acpi/arm64/Kconfig | 15 ++++ drivers/acpi/arm64/Makefile | 1 + drivers/acpi/arm64/acpi_gtdt.c | 170 +++++++++++++++++++++++++++++++++++++++++ include/linux/acpi.h | 6 ++ 6 files changed, 198 insertions(+)diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig index b7e2e77..1cdc7d2 100644 --- a/drivers/acpi/Kconfig +++ b/drivers/acpi/Kconfig@@ -521,4 +521,9 @@ config XPOWER_PMIC_OPREGION endif +if ARM64 +source "drivers/acpi/arm64/Kconfig" + +endif + endif # ACPIdiff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile index 251ce85..1a94ff7 100644 --- a/drivers/acpi/Makefile +++ b/drivers/acpi/Makefile@@ -99,5 +99,6 @@ obj-$(CONFIG_ACPI_EXTLOG) += acpi_extlog.o obj-$(CONFIG_PMIC_OPREGION) += pmic/intel_pmic.o obj-$(CONFIG_CRC_PMIC_OPREGION) += pmic/intel_pmic_crc.o obj-$(CONFIG_XPOWER_PMIC_OPREGION) += pmic/intel_pmic_xpower.o +obj-$(CONFIG_ARM64) += arm64/ video-objs += acpi_video.o video_detect.odiff --git a/drivers/acpi/arm64/Kconfig b/drivers/acpi/arm64/Kconfig new file mode 100644 index 0000000..ff5c253 --- /dev/null +++ b/drivers/acpi/arm64/Kconfig@@ -0,0 +1,15 @@ +# +# ACPI Configuration for ARM64 +# + +menu "The ARM64-specific ACPI Support" + +config ACPI_GTDT + bool "ACPI GTDT table Support"This should depend on ARM64. Also I wonder if it needs to be user-selectable? Wouldn't it be better to enable it by default when building for ARM64 with ACPI?It is currently selected in patch 9, in the watchdog driver's Kconfig entry.Well, it still doesn't have to be user-selectable for that. :-)
Actually it is also automatically selected by [PATCH v7 6/9]:
diff --git a/drivers/clocksource/Kconfig b/drivers/clocksource/Kconfig
index 47352d2..71d5b30 100644
--- a/drivers/clocksource/Kconfig
+++ b/drivers/clocksource/Kconfig@@ -8,6 +8,7 @@ config CLKSRC_OF config CLKSRC_ACPI bool select CLKSRC_PROBE + select ACPI_GTDT if ARM64 config CLKSRC_PROBE bool
quoted
Not sure if I like that; maybe the watchdog driver should depend on it instead ?If the watchdog is not the only user of it (and I don't think it is), it would be better to arrange things this way.
There are two user: (1) arm_arch_timer(which will select CLKSRC_ACPI if ACPI, then CLKSRC_ACPI will select ACPI_GTDT if ARM64) So arm_arch_timer will automatically selecte ACPI_GTDT if ARM64 && ACPI (2) sbsa_gwdt (which will select ACPI_GTDT if ACPI in [PATCH v7 9/9]) So sbsa_gwdt will automatically selecte ACPI_GTDT if ARM64 && ACPI && ARM_ARCH_TIMER So ACPI_GTDT is automatically selected by both of two users. But like Timur said before: maybe we just "selecte ACPI_GTDT if ACPI" for ARM64, because ARM64 require GTDT if we use ACPI.
Thanks, Rafael
-- Best regards, Fu Wei Software Engineer Red Hat