PM / devfreq: rk3399_dmc: remove unused variable and fix code style
[firefly-linux-kernel-4.4.55.git] / drivers / devfreq / rk3399_dmc.c
index 9020bd3406ad7ca2961948b339fb03ee2c4b3795..2675fc99d4f6cdf682e4002c1cb45cfd5b45c16e 100644 (file)
@@ -69,15 +69,6 @@ struct rk3399_dmcfreq {
        struct devfreq_event_dev *edev;
        struct mutex lock;
        struct dram_timing *timing;
-
-       /*
-        * DDR Converser of Frequency (DCF) is used to implement DDR frequency
-        * conversion without the participation of CPU, we will implement and
-        * control it in arm trust firmware.
-        */
-       wait_queue_head_t       wait_dcf_queue;
-       int irq;
-       int wait_dcf_flag;
        struct regulator *vdd_center;
        unsigned long rate, target_rate;
        unsigned long volt, target_volt;
@@ -113,13 +104,12 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
                err = regulator_set_voltage(dmcfreq->vdd_center, target_volt,
                                            INT_MAX);
                if (err) {
-                       dev_err(dev, "Cannot to set voltage %lu uV\n",
+                       dev_err(dev, "Cannot set voltage %lu uV\n",
                                target_volt);
                        goto out;
                }
        }
 
-
        mutex_lock(&dmcfreq->lock);
 
        /*
@@ -130,7 +120,7 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
                err = regulator_set_voltage(dmcfreq->vdd_center, target_volt,
                                            INT_MAX);
                if (err) {
-                       dev_err(dev, "Cannot to set voltage %lu uV\n",
+                       dev_err(dev, "Cannot set voltage %lu uV\n",
                                target_volt);
                        goto out;
                }
@@ -138,7 +128,7 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
 
        err = clk_set_rate(dmcfreq->dmc_clk, target_rate);
        if (err) {
-               dev_err(dev, "Cannot to set frequency %lu (%d)\n",
+               dev_err(dev, "Cannot set frequency %lu (%d)\n",
                        target_rate, err);
                regulator_set_voltage(dmcfreq->vdd_center, dmcfreq->volt,
                                      INT_MAX);
@@ -155,8 +145,8 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
 
        /* If get the incorrect rate, set voltage to old value. */
        if (dmcfreq->rate != target_rate) {
-               dev_err(dev, "Get wrong ddr frequency, Request frequency %lu,\
-                       Current frequency %lu\n", target_rate, dmcfreq->rate);
+               dev_err(dev, "Get wrong frequency, Request %lu, Current %lu\n",
+                       target_rate, dmcfreq->rate);
                regulator_set_voltage(dmcfreq->vdd_center, dmcfreq->volt,
                                      INT_MAX);
                goto out;
@@ -164,7 +154,7 @@ static int rk3399_dmcfreq_target(struct device *dev, unsigned long *freq,
                err = regulator_set_voltage(dmcfreq->vdd_center, target_volt,
                                            INT_MAX);
                if (err) {
-                       dev_err(dev, "Cannot to set vol %lu uV\n", target_volt);
+                       dev_err(dev, "Cannot set vol %lu uV\n", target_volt);
                        goto out;
                }
        }
@@ -337,8 +327,8 @@ err:
        return timing;
 }
 
-static int of_get_opp_table(struct device *dev,
-                           struct devfreq_dev_profile *devp)
+static int rk3399_dmcfreq_init_freq_table(struct device *dev,
+                                         struct devfreq_dev_profile *devp)
 {
        int count;
        int i = 0;
@@ -445,11 +435,10 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev)
         */
        if (dev_pm_opp_of_add_table(dev)) {
                dev_err(dev, "Invalid operating-points in device tree.\n");
-               rcu_read_unlock();
                return -EINVAL;
        }
 
-       if (of_get_opp_table(dev, devp))
+       if (rk3399_dmcfreq_init_freq_table(dev, devp))
                return -EFAULT;
 
        of_property_read_u32(np, "upthreshold",
@@ -461,13 +450,17 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev)
        data->volt = regulator_get_voltage(data->vdd_center);
 
        devp->initial_freq = data->rate;
-       data->devfreq = devfreq_add_device(dev, devp,
+       data->devfreq = devm_devfreq_add_device(dev, devp,
                                           "simple_ondemand",
                                           &data->ondemand_data);
        if (IS_ERR(data->devfreq))
                return PTR_ERR(data->devfreq);
        devm_devfreq_register_opp_notifier(dev, data->devfreq);
 
+       data->devfreq->min_freq = devp->freq_table[0];
+       data->devfreq->max_freq =
+               devp->freq_table[devp->max_state ? devp->max_state - 1 : 0];
+
        data->dev = dev;
        platform_set_drvdata(pdev, data);
 
@@ -477,23 +470,14 @@ static int rk3399_dmcfreq_probe(struct platform_device *pdev)
        return 0;
 }
 
-static int rk3399_dmcfreq_remove(struct platform_device *pdev)
-{
-       struct rk3399_dmcfreq *dmcfreq = platform_get_drvdata(pdev);
-
-       regulator_put(dmcfreq->vdd_center);
-
-       return 0;
-}
-
 static const struct of_device_id rk3399dmc_devfreq_of_match[] = {
        { .compatible = "rockchip,rk3399-dmc" },
        { },
 };
+MODULE_DEVICE_TABLE(of, rk3399dmc_devfreq_of_match);
 
 static struct platform_driver rk3399_dmcfreq_driver = {
        .probe  = rk3399_dmcfreq_probe,
-       .remove = rk3399_dmcfreq_remove,
        .driver = {
                .name   = "rk3399-dmc-freq",
                .pm     = &rk3399_dmcfreq_pm,