Re: [PATCH] PM: Provide a config snippet for disabling PM

From: Rafael J. Wysocki
Date: Wed Nov 29 2017 - 09:37:07 EST


On Wed, Nov 29, 2017 at 12:12 PM, Mark Brown <broonie@xxxxxxxxxx> wrote:
> A frequent source of build problems is poor handling of optional PM
> support, almost all development is done with the PM options enabled
> but they can be turned off. Currently few if any of the build test
> services do this as standard as there is no standard config for it and
> the use of selects and def_bool means that simply setting CONFIG_PM=n
> doesn't do what is expected. To make this easier provide a fragement
> that can be used with KCONFIG_ALLCONFIG to force PM off.
>
> CONFIG_XEN is disabled as Xen uses hibernation callbacks which end up
> turning on power management on architectures with Xen. Some cpuidle
> implementations on ARM select PM so CONFIG_CPU_IDLE is disabled, and
> some ARM architectures unconditionally enable PM so they are also
> disabled.
>
> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx>

I'm going to apply this shortly, sorry for the delay.

> ---
> MAINTAINERS | 1 +
> kernel/configs/nopm.config | 15 +++++++++++++++
> 2 files changed, 16 insertions(+)
> create mode 100644 kernel/configs/nopm.config
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 07d9067f68fd..539808dc7928 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -10895,6 +10895,7 @@ F: include/linux/pm.h
> F: include/linux/pm_*
> F: include/linux/powercap.h
> F: drivers/powercap/
> +F: kernel/configs/nopm.config
>
> POWER STATE COORDINATION INTERFACE (PSCI)
> M: Mark Rutland <mark.rutland@xxxxxxx>
> diff --git a/kernel/configs/nopm.config b/kernel/configs/nopm.config
> new file mode 100644
> index 000000000000..81ff07863576
> --- /dev/null
> +++ b/kernel/configs/nopm.config
> @@ -0,0 +1,15 @@
> +CONFIG_PM=n
> +CONFIG_SUSPEND=n
> +CONFIG_HIBERNATION=n
> +
> +# Triggers PM on OMAP
> +CONFIG_CPU_IDLE=n
> +
> +# Triggers enablement via hibernate callbacks
> +CONFIG_XEN=n
> +
> +# ARM/ARM64 architectures that select PM unconditionally
> +CONFIG_ARCH_OMAP2PLUS_TYPICAL=n
> +CONFIG_ARCH_RENESAS=n
> +CONFIG_ARCH_TEGRA=n
> +CONFIG_ARCH_VEXPRESS=n
> --
> 2.15.0
>