diff options
Diffstat (limited to 'kernel/power/qos.c')
| -rw-r--r-- | kernel/power/qos.c | 23 | 
1 files changed, 10 insertions, 13 deletions
| diff --git a/kernel/power/qos.c b/kernel/power/qos.c index 995e3bd3417b..d6d6dbd1ecc0 100644 --- a/kernel/power/qos.c +++ b/kernel/power/qos.c @@ -469,21 +469,18 @@ static ssize_t pm_qos_power_write(struct file *filp, const char __user *buf,  static int __init pm_qos_power_init(void)  {  	int ret = 0; +	int i; -	ret = register_pm_qos_misc(&cpu_dma_pm_qos); -	if (ret < 0) { -		printk(KERN_ERR "pm_qos_param: cpu_dma_latency setup failed\n"); -		return ret; -	} -	ret = register_pm_qos_misc(&network_lat_pm_qos); -	if (ret < 0) { -		printk(KERN_ERR "pm_qos_param: network_latency setup failed\n"); -		return ret; +	BUILD_BUG_ON(ARRAY_SIZE(pm_qos_array) != PM_QOS_NUM_CLASSES); + +	for (i = 1; i < PM_QOS_NUM_CLASSES; i++) { +		ret = register_pm_qos_misc(pm_qos_array[i]); +		if (ret < 0) { +			printk(KERN_ERR "pm_qos_param: %s setup failed\n", +			       pm_qos_array[i]->name); +			return ret; +		}  	} -	ret = register_pm_qos_misc(&network_throughput_pm_qos); -	if (ret < 0) -		printk(KERN_ERR -			"pm_qos_param: network_throughput setup failed\n");  	return ret;  } | 
