[PATCH v7 4/9] acpi/arm64: Add GTDT table parse driver
Fu Wei
fu.wei at linaro.org
Fri Jul 15 00:45:05 PDT 2016
Hi Rafael,
On 14 July 2016 at 05:43, Rafael J. Wysocki <rafael at kernel.org> wrote:
> On Wed, Jul 13, 2016 at 11:08 PM, Guenter Roeck <linux at roeck-us.net> wrote:
>> On Wed, Jul 13, 2016 at 10:30:37PM +0200, Rafael J. Wysocki wrote:
>>> On Wed, Jul 13, 2016 at 7:53 PM, <fu.wei at linaro.org> wrote:
>>> > From: Fu Wei <fu.wei at linaro.org>
>>> >
>>> > 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 <fu.wei at linaro.org>
>>> > Signed-off-by: Hanjun Guo <hanjun.guo at linaro.org>
>>> > ---
>>> > 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 # ACPI
>>> > diff --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.o
>>> > diff --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
>
>> 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
More information about the linux-arm-kernel
mailing list