Subject: [PATCH 6/8] ARM: OMAP2+: pm33xx-core: Add platform code needed for PM

From: [email-masked] (Tony Lindgren)
Date: Tue, 4 Apr 2017 09:19:19 -0700

Russell,

* Dave Gerlach <[email-masked]> [170328 19:01]:
> Most of the PM code needed for am335x and am437x can be moved into a
> module under drivers but some core code must remain in mach-omap2 at the
> moment. This includes some internal clockdomain APIs and low-level ARM
> APIs which are also not exported for use by modules.
> 
> Implement a few functions that handle these low-level platform
> operations can be passed to the pm33xx module through the use of
> platform data.
> 
> In addition to this, to be able to share data structures between C and
> the sleep33xx and sleep43xx assembly code, we can automatically generate
> all of the C struct member offsets and sizes as macros by making use of
> the ARM asm-offsets file. In the same header that we define our data
> structures in we also define all the macros in an inline function and by
> adding a call to this in the asm_offsets file all macros are properly
> generated and available to the assembly code without cluttering up the
> asm-offsets file.
> 
> Signed-off-by: Dave Gerlach <[email-masked]>
> ---
>  arch/arm/kernel/asm-offsets.c        |   2 +
>  arch/arm/mach-omap2/Kconfig          |   1 +
>  arch/arm/mach-omap2/Makefile         |   4 +
>  arch/arm/mach-omap2/pm.h             |   5 +
>  arch/arm/mach-omap2/pm33xx-core.c    | 181 +++++++++++++++++++++++++++++++++++
>  include/linux/platform_data/pm33xx.h |  69 +++++++++++++
>  6 files changed, 262 insertions(+)
>  create mode 100644 arch/arm/mach-omap2/pm33xx-core.c
>  create mode 100644 include/linux/platform_data/pm33xx.h
> 
> diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c
> index d728b5660e36..62253e7bfac4 100644
> --- a/arch/arm/kernel/asm-offsets.c
> +++ b/arch/arm/kernel/asm-offsets.c
> @@ -28,6 +28,7 @@
>  #include <asm/vdso_datapage.h>
>  #include <asm/hardware/cache-l2x0.h>
>  #include <linux/kbuild.h>
> +#include <linux/platform_data/pm33xx.h>
>  #include <linux/ti-emif-sram.h>
>  
>  /*
> @@ -187,6 +188,7 @@ int main(void)
>  #if defined(CONFIG_SOC_AM33XX) || defined(CONFIG_SOC_AM43XX)
>    BLANK();
>    ti_emif_offsets();
> +  amx3_pm_asm_offsets();
>  #endif
>  
>    return 0; 

Here too can you please check this is OK with you.

Regards,

Tony