[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