[PATCH v7 4/9] acpi/arm64: Add GTDT table parse driver
Rafael J. Wysocki
rjw at rjwysocki.net
Fri Jul 15 05:11:15 PDT 2016
On Friday, July 15, 2016 03:45:05 PM Fu Wei wrote:
> 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]:
Right.
By user-selectable I mean "showing up in a Kconfig configurator tool".
It just need not be visible in the configurator IMO.
> 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.
Right. That's the way to do it then and make sbsa_gwdt depend on it instead
of selecting it.
Thanks,
Rafael
More information about the linux-arm-kernel
mailing list