linux/arch/arm/mach-shmobile
Geert Uytterhoeven 71d076ceb2 ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
All supported Renesas ARM SoCs (except for Emma Mobile EV2) have clock
domains. Some SoCs also have power domains. To ensure proper operation
of on-SoC modules, module clocks must be ungated, and power domains must
be powered up when needed.

Currently the user can choose to build a kernel with power management
enabled or disabled:
  - If CONFIG_PM=y, power domains and/or module clocks are handled
    dynamically by Runtime PM and the generic power domain.
  - If CONFIG_PM=n, power domains are assumed to be powered up by reset
    state or by the boot loader, and module clocks are handled by the
    legacy clock domain on driver (un)bind.
    The latter is implemented using a platform bus notifier, which
    applies not only to all on-SoC devices, but to all platform devices
    present in the system.

To remove the dependency on implicit assumptions, and to get rid of the
peculiarities of the legacy clock domain, enable CONFIG_PM and
CONFIG_PM_GENERIC_DOMAINS unconditionally, for all Renesas ARM SoCs with
clock and/or power domains.

This does cause an increase in kernel size.  Given bloat-o-meter reports
a modest increase of 26 KiB for an RZ/A1H kernel, this should not be a
problem, even when used on RZ/A1H with XIP and internal RAM only.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-02-19 14:52:41 +09:00
..
common.h ARM: shmobile: Remove legacy clock support leftovers 2015-09-14 10:06:56 +09:00
cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
emev2.h ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h 2016-02-19 14:45:31 +09:00
headsmp-scu.S ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
headsmp.S ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
Kconfig ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains 2016-02-19 14:52:41 +09:00
Makefile ARM: shmobile: r8a7778: remove legacy clock implementation 2015-09-14 10:06:49 +09:00
platsmp-apmu.c ARM: shmobile: apmu: correct type of CPU id 2015-10-02 10:56:05 +09:00
platsmp-apmu.h ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
platsmp-scu.c ARM: shmobile: Move common.h 2014-06-17 17:09:39 +09:00
platsmp.c ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable 2015-07-31 18:58:30 +01:00
pm-r8a7779.c ARM: shmobile: r8a7779: Remove legacy PM Domain remainings 2015-10-01 14:09:47 +09:00
pm-rcar-gen2.c ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
pm-rcar.c libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
pm-rcar.h ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const 2015-07-06 09:35:19 +09:00
pm-rmobile.c ARM: SoC platform updates for v4.4 2015-11-10 14:56:23 -08:00
pm-rmobile.h ARM: shmobile: Remove obsolete legacy PM Domain leftovers 2015-09-14 09:58:08 +09:00
r8a7779.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
r8a7790.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
r8a7791.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
rcar-gen2.h ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
regulator-quirk-rcar-gen2.c ARM: shmobile: gose: enable R-Car Gen2 regulator quirk 2015-07-06 09:37:24 +09:00
setup-emev2.c ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h 2016-02-19 14:45:31 +09:00
setup-r7s72100.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a73a4.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7740.c ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback 2016-02-19 14:45:30 +09:00
setup-r8a7778.c ARM: shmobile: Remove legacy mach/irqs.h 2015-11-19 16:28:01 -08:00
setup-r8a7779.c clocksource: cosmetic: Drop OF 'dependency' from symbols 2015-10-01 02:18:39 +02:00
setup-r8a7790.c ARM: shmobile: r8a7790: Remove legacy code 2014-12-21 17:03:50 +09:00
setup-r8a7791.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7793.c ARM: shmobile: r8a7793: proper constness with __initconst 2015-11-22 17:13:13 -08:00
setup-r8a7794.c ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs 2014-09-16 15:01:58 +09:00
setup-rcar-gen2.c clocksource: cosmetic: Drop OF 'dependency' from symbols 2015-10-01 02:18:39 +02:00
setup-sh73a0.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
sh73a0.h ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
smp-emev2.c ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h 2016-02-19 14:45:31 +09:00
smp-r8a7779.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
smp-r8a7790.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
smp-r8a7791.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
smp-sh73a0.c ARM: use const and __initconst for smp_operations 2015-12-01 22:17:45 +01:00
suspend.c arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
timer.c ARM: shmobile: Remove obsolete earlytimer registration 2015-09-14 09:58:09 +09:00