Commit 875a65a0 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Greg Kroah-Hartman

staging: regulator: hi6421v600-regulator: add a driver-specific debug macro

Using dev_dbg() is not too nice, as, instead of printing the
name of the regulator, it prints "regulator.<number>", making
harder to associate what is happening with each ldo line.

So, add a debug-specific macro, which will print the rdev's
name, just like the regulator core.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/r/1690b8531b23910aa915bd2725410b926022c481.1597647359.git.mchehab+huawei@kernel.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 67a345c7
...@@ -39,6 +39,9 @@ ...@@ -39,6 +39,9 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/spmi.h> #include <linux/spmi.h>
#define rdev_dbg(rdev, fmt, arg...) \
pr_debug("%s: %s: " fmt, rdev->desc->name, __func__, ##arg)
struct hi6421v600_regulator { struct hi6421v600_regulator {
struct regulator_desc rdesc; struct regulator_desc rdesc;
struct hi6421_spmi_pmic *pmic; struct hi6421_spmi_pmic *pmic;
...@@ -60,10 +63,10 @@ static int hi6421_spmi_regulator_is_enabled(struct regulator_dev *rdev) ...@@ -60,10 +63,10 @@ static int hi6421_spmi_regulator_is_enabled(struct regulator_dev *rdev)
reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->enable_reg); reg_val = hi6421_spmi_pmic_read(pmic, rdev->desc->enable_reg);
dev_dbg(&rdev->dev, rdev_dbg(rdev,
"%s: enable_reg=0x%x, val= 0x%x, enable_state=%d\n", "enable_reg=0x%x, val= 0x%x, enable_state=%d\n",
__func__, rdev->desc->enable_reg, rdev->desc->enable_reg,
reg_val, (reg_val & rdev->desc->enable_mask)); reg_val, (reg_val & rdev->desc->enable_mask));
return ((reg_val & rdev->desc->enable_mask) != 0); return ((reg_val & rdev->desc->enable_mask) != 0);
} }
...@@ -73,21 +76,20 @@ static int hi6421_spmi_regulator_enable(struct regulator_dev *rdev) ...@@ -73,21 +76,20 @@ static int hi6421_spmi_regulator_enable(struct regulator_dev *rdev)
struct hi6421v600_regulator *sreg = rdev_get_drvdata(rdev); struct hi6421v600_regulator *sreg = rdev_get_drvdata(rdev);
struct hi6421_spmi_pmic *pmic = sreg->pmic; struct hi6421_spmi_pmic *pmic = sreg->pmic;
dev_dbg(&rdev->dev, "%s: off_on_delay=%d us\n",
__func__, rdev->desc->off_on_delay);
/* cannot enable more than one regulator at one time */ /* cannot enable more than one regulator at one time */
mutex_lock(&enable_mutex); mutex_lock(&enable_mutex);
usleep_range(HISI_REGS_ENA_PROTECT_TIME, usleep_range(HISI_REGS_ENA_PROTECT_TIME,
HISI_REGS_ENA_PROTECT_TIME + 1000); HISI_REGS_ENA_PROTECT_TIME + 1000);
/* set enable register */ /* set enable register */
rdev_dbg(rdev,
"off_on_delay=%d us, enable_reg=0x%x, enable_mask=0x%x\n",
rdev->desc->off_on_delay, rdev->desc->enable_reg,
rdev->desc->enable_mask);
hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg,
rdev->desc->enable_mask, rdev->desc->enable_mask,
rdev->desc->enable_mask); rdev->desc->enable_mask);
dev_dbg(&rdev->dev, "%s: enable_reg=0x%x, enable_mask=0x%x\n",
__func__, rdev->desc->enable_reg,
rdev->desc->enable_mask);
mutex_unlock(&enable_mutex); mutex_unlock(&enable_mutex);
...@@ -100,6 +102,9 @@ static int hi6421_spmi_regulator_disable(struct regulator_dev *rdev) ...@@ -100,6 +102,9 @@ static int hi6421_spmi_regulator_disable(struct regulator_dev *rdev)
struct hi6421_spmi_pmic *pmic = sreg->pmic; struct hi6421_spmi_pmic *pmic = sreg->pmic;
/* set enable register to 0 */ /* set enable register to 0 */
rdev_dbg(rdev, "enable_reg=0x%x, enable_mask=0x%x\n",
rdev->desc->enable_reg, rdev->desc->enable_mask);
hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg,
rdev->desc->enable_mask, 0); rdev->desc->enable_mask, 0);
...@@ -117,9 +122,9 @@ static int hi6421_spmi_regulator_get_voltage_sel(struct regulator_dev *rdev) ...@@ -117,9 +122,9 @@ static int hi6421_spmi_regulator_get_voltage_sel(struct regulator_dev *rdev)
selector = (reg_val & rdev->desc->vsel_mask) >> (ffs(rdev->desc->vsel_mask) - 1); selector = (reg_val & rdev->desc->vsel_mask) >> (ffs(rdev->desc->vsel_mask) - 1);
dev_dbg(&rdev->dev, rdev_dbg(rdev,
"%s: vsel_reg=0x%x, value=0x%x, entry=0x%x, voltage=%d mV\n", "vsel_reg=0x%x, value=0x%x, entry=0x%x, voltage=%d mV\n",
__func__, rdev->desc->vsel_reg, reg_val, selector, rdev->desc->vsel_reg, reg_val, selector,
rdev->desc->ops->list_voltage(rdev, selector) / 1000); rdev->desc->ops->list_voltage(rdev, selector) / 1000);
return selector; return selector;
...@@ -139,15 +144,14 @@ static int hi6421_spmi_regulator_set_voltage_sel(struct regulator_dev *rdev, ...@@ -139,15 +144,14 @@ static int hi6421_spmi_regulator_set_voltage_sel(struct regulator_dev *rdev,
reg_val = selector << (ffs(rdev->desc->vsel_mask) - 1); reg_val = selector << (ffs(rdev->desc->vsel_mask) - 1);
/* set voltage selector */ /* set voltage selector */
hi6421_spmi_pmic_rmw(pmic, rdev->desc->vsel_reg, rdev_dbg(rdev,
rdev->desc->vsel_mask, reg_val); "vsel_reg=0x%x, mask=0x%x, value=0x%x, voltage=%d mV\n",
dev_dbg(&rdev->dev,
"%s: vsel_reg=0x%x, mask=0x%x, value=0x%x, voltage=%d mV\n",
__func__,
rdev->desc->vsel_reg, rdev->desc->vsel_mask, reg_val, rdev->desc->vsel_reg, rdev->desc->vsel_mask, reg_val,
rdev->desc->ops->list_voltage(rdev, selector) / 1000); rdev->desc->ops->list_voltage(rdev, selector) / 1000);
hi6421_spmi_pmic_rmw(pmic, rdev->desc->vsel_reg,
rdev->desc->vsel_mask, reg_val);
return 0; return 0;
} }
...@@ -165,9 +169,9 @@ static unsigned int hi6421_spmi_regulator_get_mode(struct regulator_dev *rdev) ...@@ -165,9 +169,9 @@ static unsigned int hi6421_spmi_regulator_get_mode(struct regulator_dev *rdev)
else else
mode = REGULATOR_MODE_NORMAL; mode = REGULATOR_MODE_NORMAL;
dev_dbg(&rdev->dev, rdev_dbg(rdev,
"%s: enable_reg=0x%x, eco_mode_mask=0x%x, reg_val=0x%x, %s mode\n", "enable_reg=0x%x, eco_mode_mask=0x%x, reg_val=0x%x, %s mode\n",
__func__, rdev->desc->enable_reg, sreg->eco_mode_mask, reg_val, rdev->desc->enable_reg, sreg->eco_mode_mask, reg_val,
mode == REGULATOR_MODE_IDLE ? "idle" : "normal"); mode == REGULATOR_MODE_IDLE ? "idle" : "normal");
return mode; return mode;
...@@ -192,13 +196,12 @@ static int hi6421_spmi_regulator_set_mode(struct regulator_dev *rdev, ...@@ -192,13 +196,12 @@ static int hi6421_spmi_regulator_set_mode(struct regulator_dev *rdev,
} }
/* set mode */ /* set mode */
rdev_dbg(rdev, "enable_reg=0x%x, eco_mode_mask=0x%x, value=0x%x\n",
rdev->desc->enable_reg, sreg->eco_mode_mask, val);
hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg, hi6421_spmi_pmic_rmw(pmic, rdev->desc->enable_reg,
sreg->eco_mode_mask, val); sreg->eco_mode_mask, val);
dev_dbg(&rdev->dev,
"%s: enable_reg=0x%x, eco_mode_mask=0x%x, value=0x%x\n",
__func__, rdev->desc->enable_reg, sreg->eco_mode_mask, val);
return 0; return 0;
} }
...@@ -209,10 +212,10 @@ static unsigned int hi6421_spmi_regulator_get_optimum_mode(struct regulator_dev ...@@ -209,10 +212,10 @@ static unsigned int hi6421_spmi_regulator_get_optimum_mode(struct regulator_dev
struct hi6421v600_regulator *sreg = rdev_get_drvdata(rdev); struct hi6421v600_regulator *sreg = rdev_get_drvdata(rdev);
if (load_uA || ((unsigned int)load_uA > sreg->eco_uA)) { if (load_uA || ((unsigned int)load_uA > sreg->eco_uA)) {
dev_dbg(&rdev->dev, "%s: normal mode", __func__); rdev_dbg(rdev, "normal mode");
return REGULATOR_MODE_NORMAL; return REGULATOR_MODE_NORMAL;
} else { } else {
dev_dbg(&rdev->dev, "%s: idle mode", __func__); rdev_dbg(rdev, "idle mode");
return REGULATOR_MODE_IDLE; return REGULATOR_MODE_IDLE;
} }
} }
...@@ -373,7 +376,7 @@ static int hi6421_spmi_regulator_probe_ldo(struct platform_device *pdev, ...@@ -373,7 +376,7 @@ static int hi6421_spmi_regulator_probe_ldo(struct platform_device *pdev,
goto probe_end; goto probe_end;
} }
dev_dbg(dev, "valid_modes_mask: 0x%x, valid_ops_mask: 0x%x\n", rdev_dbg(rdev, "valid_modes_mask: 0x%x, valid_ops_mask: 0x%x\n",
constraint->valid_modes_mask, constraint->valid_ops_mask); constraint->valid_modes_mask, constraint->valid_ops_mask);
dev_set_drvdata(dev, rdev); dev_set_drvdata(dev, rdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment