diff options
Diffstat (limited to 'arch/arm/mach-omap2/powerdomain.c')
| -rw-r--r-- | arch/arm/mach-omap2/powerdomain.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/arch/arm/mach-omap2/powerdomain.c b/arch/arm/mach-omap2/powerdomain.c index 86babd740d4..e233dfcbc18 100644 --- a/arch/arm/mach-omap2/powerdomain.c +++ b/arch/arm/mach-omap2/powerdomain.c @@ -102,6 +102,10 @@ static int _pwrdm_register(struct powerdomain *pwrdm)  	if (_pwrdm_lookup(pwrdm->name))  		return -EEXIST; +	if (arch_pwrdm && arch_pwrdm->pwrdm_has_voltdm) +		if (!arch_pwrdm->pwrdm_has_voltdm()) +			goto skip_voltdm; +  	voltdm = voltdm_lookup(pwrdm->voltdm.name);  	if (!voltdm) {  		pr_err("powerdomain: %s: voltagedomain %s does not exist\n", @@ -111,6 +115,7 @@ static int _pwrdm_register(struct powerdomain *pwrdm)  	pwrdm->voltdm.ptr = voltdm;  	INIT_LIST_HEAD(&pwrdm->voltdm_node);  	voltdm_add_pwrdm(voltdm, pwrdm); +skip_voltdm:  	spin_lock_init(&pwrdm->_lock);  	list_add(&pwrdm->node, &pwrdm_list); | 
