PM / devfreq: Change return type of devfreq_set_freq_table()
authorChanwoo Choi <cw00.choi@samsung.com>
Mon, 23 Oct 2017 01:32:09 +0000 (10:32 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Thu, 26 Oct 2017 08:08:40 +0000 (17:08 +0900)
This patch changes the return type of devfreq_set_freq_table()
from 'void' to 'int' in order to check whether it fails or not.

And This patch just removes the 'devfreq' prefix and the description
of function. Because the helper functions are only used by the devfreq.

Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
drivers/devfreq/devfreq.c

index ee3e7cee30b699fc92daca05591031a20b2f73b1..b2920cd2b78e039e20dbca93a14411c5ec66b656 100644 (file)
@@ -116,11 +116,7 @@ static int devfreq_get_freq_level(struct devfreq *devfreq, unsigned long freq)
        return -EINVAL;
 }
 
-/**
- * devfreq_set_freq_table() - Initialize freq_table for the frequency
- * @devfreq:   the devfreq instance
- */
-static void devfreq_set_freq_table(struct devfreq *devfreq)
+static int set_freq_table(struct devfreq *devfreq)
 {
        struct devfreq_dev_profile *profile = devfreq->profile;
        struct dev_pm_opp *opp;
@@ -130,7 +126,7 @@ static void devfreq_set_freq_table(struct devfreq *devfreq)
        /* Initialize the freq_table from OPP table */
        count = dev_pm_opp_get_opp_count(devfreq->dev.parent);
        if (count <= 0)
-               return;
+               return -EINVAL;
 
        profile->max_state = count;
        profile->freq_table = devm_kcalloc(devfreq->dev.parent,
@@ -139,7 +135,7 @@ static void devfreq_set_freq_table(struct devfreq *devfreq)
                                        GFP_KERNEL);
        if (!profile->freq_table) {
                profile->max_state = 0;
-               return;
+               return -ENOMEM;
        }
 
        for (i = 0, freq = 0; i < profile->max_state; i++, freq++) {
@@ -147,11 +143,13 @@ static void devfreq_set_freq_table(struct devfreq *devfreq)
                if (IS_ERR(opp)) {
                        devm_kfree(devfreq->dev.parent, profile->freq_table);
                        profile->max_state = 0;
-                       return;
+                       return PTR_ERR(opp);
                }
                dev_pm_opp_put(opp);
                profile->freq_table[i] = freq;
        }
+
+       return 0;
 }
 
 /**
@@ -601,7 +599,9 @@ struct devfreq *devfreq_add_device(struct device *dev,
 
        if (!devfreq->profile->max_state && !devfreq->profile->freq_table) {
                mutex_unlock(&devfreq->lock);
-               devfreq_set_freq_table(devfreq);
+               err = set_freq_table(devfreq);
+               if (err < 0)
+                       goto err_out;
                mutex_lock(&devfreq->lock);
        }