]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
regulator: smd: Make set_{corner,floor} work with regulator struct
authorGeorgi Djakov <georgi.djakov@linaro.org>
Mon, 1 Jun 2015 16:23:00 +0000 (19:23 +0300)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Mon, 14 Aug 2017 10:51:27 +0000 (12:51 +0200)
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
drivers/regulator/qcom_smd-regulator.c
include/linux/regulator/qcom_smd-regulator.h

index e876d1bbc4fe1a5c14093b82c4725129e2f2f324..e1bc308c473bcd1a7c279cede9a868c0a660cdcf 100644 (file)
@@ -22,6 +22,8 @@
 #include <linux/soc/qcom/smd-rpm.h>
 #include <linux/regulator/qcom_smd-regulator.h>
 
+#include "internal.h"
+
 struct qcom_rpm_reg {
        struct device *dev;
 
@@ -62,9 +64,9 @@ static int rpm_reg_write_active(struct qcom_rpm_reg *vreg,
                                  req, size);
 }
 
-int qcom_rpm_set_floor(struct regulator_dev *rdev,
-                       int floor)
+int qcom_rpm_set_floor(struct regulator *regulator, int floor)
 {
+       struct regulator_dev *rdev = regulator->rdev;
        struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
        struct rpm_regulator_req req;
        int ret;
@@ -77,16 +79,16 @@ int qcom_rpm_set_floor(struct regulator_dev *rdev,
                return -EINVAL;
 
        ret = rpm_reg_write_active(vreg, &req, sizeof(req));
-       if (!ret)
+       if (ret)
                dev_err(rdev_get_dev(rdev), "Failed to set floor %d\n", floor);
 
        return ret;
 }
 EXPORT_SYMBOL(qcom_rpm_set_floor);
 
-int qcom_rpm_set_corner(struct regulator_dev *rdev,
-                       int corner)
+int qcom_rpm_set_corner(struct regulator *regulator, int corner)
 {
+       struct regulator_dev *rdev = regulator->rdev;
        struct qcom_rpm_reg *vreg = rdev_get_drvdata(rdev);
        struct rpm_regulator_req req;
        int ret;
@@ -98,8 +100,9 @@ int qcom_rpm_set_corner(struct regulator_dev *rdev,
        if (corner < RPM_MIN_FLOOR_CORNER || corner > RPM_MAX_FLOOR_CORNER)
                return -EINVAL;
 
+       pr_info("Set corner to %d\n", corner);
        ret = rpm_reg_write_active(vreg, &req, sizeof(req));
-       if (!ret)
+       if (ret)
                dev_err(rdev_get_dev(rdev), "Failed to set corner %d\n", corner);
 
        return ret;
index b1201d7378d77100c82d22c77c2e383e81fb0455..a71b6adc64ba88ac7c320f1b90d1398917a16479 100644 (file)
 #define __QCOM_SMD_REGULATOR_H_
 
 #ifdef CONFIG_REGULATOR_QCOM_SMD_RPM
-int qcom_rpm_set_floor(struct regulator_dev *rdev, int floor);
-int qcom_rpm_set_corner(struct regulator_dev *rdev, int corner);
+int qcom_rpm_set_floor(struct regulator *regulator, int floor);
+int qcom_rpm_set_corner(struct regulator *regulator, int corner);
 #else
-static inline int qcom_rpm_set_floor(struct regulator_dev *rdev, int floor)
+static inline int qcom_rpm_set_floor(struct regulator *regulator, int floor)
 {
        return -EINVAL;
 }
 
-static inline int qcom_rpm_set_corner(struct regulator_dev *rdev, int floor)
+static inline int qcom_rpm_set_corner(struct regulator *regulator, int corner)
 {
        return -EINVAL;
 }