diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /arch/arm/mach-omap2/pm.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
| -rw-r--r-- | arch/arm/mach-omap2/pm.c | 21 | 
1 files changed, 16 insertions, 5 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 6f68576e5695..ca03af8fe43f 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c @@ -16,11 +16,11 @@  #include <linux/pm_opp.h>  #include <linux/export.h>  #include <linux/suspend.h> +#include <linux/clk.h>  #include <linux/cpu.h>  #include <asm/system_misc.h> -#include "omap-pm.h"  #include "omap_device.h"  #include "common.h" @@ -230,16 +230,20 @@ static void __init omap4_init_voltages(void)  	omap2_set_init_voltage("iva", "dpll_iva_m5x2_ck", "iva");  } -static int __init omap2_common_pm_init(void) +int __maybe_unused omap_pm_nop_init(void)  { -	omap_pm_if_init(); -  	return 0;  } -omap_postcore_initcall(omap2_common_pm_init); + +int (*omap_pm_soc_init)(void);  int __init omap2_common_pm_late_init(void)  { +	int error; + +	if (!omap_pm_soc_init) +		return 0; +  	/* Init the voltage layer */  	omap3_twl_init();  	omap4_twl_init(); @@ -252,5 +256,12 @@ int __init omap2_common_pm_late_init(void)  	/* Smartreflex device init */  	omap_devinit_smartreflex(); +	error = omap_pm_soc_init(); +	if (error) +		pr_warn("%s: pm soc init failed: %i\n", __func__, error); + +	omap2_clk_enable_autoidle_all(); +  	return 0;  } +omap_late_initcall(omap2_common_pm_late_init);  | 
