mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
staging: regulator: hi6421v600-regulator: get rid of unused code
Get rid of the sysfs code and other parts of the driver which aren't needed upstream. If needed later, this patch can be (partially?) reversed. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/698b2c7bdc92e336d2559bc65415807499b0e3a8.1597647359.git.mchehab+huawei@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
42f24d9d44
commit
0e0473c838
1 changed files with 8 additions and 188 deletions
|
@ -34,19 +34,10 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/time.h>
|
||||
#include <linux/version.h>
|
||||
#ifdef CONFIG_HISI_PMIC_DEBUG
|
||||
#include <linux/debugfs.h>
|
||||
#endif
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/spmi.h>
|
||||
|
||||
#if 1
|
||||
#define BRAND_DEBUG(args...) pr_debug(args);
|
||||
#else
|
||||
#define BRAND_DEBUG(args...)
|
||||
#endif
|
||||
|
||||
struct hisi_regulator_register_info {
|
||||
u32 ctrl_reg;
|
||||
u32 enable_mask;
|
||||
|
@ -110,7 +101,7 @@ static int hisi_regulator_is_enabled(struct regulator_dev *dev)
|
|||
struct hisi_pmic *pmic = rdev_to_pmic(dev);
|
||||
|
||||
reg_val = hisi_pmic_read(pmic, sreg->register_info.ctrl_reg);
|
||||
BRAND_DEBUG("<[%s]: ctrl_reg=0x%x,enable_state=%d>\n", __func__, sreg->register_info.ctrl_reg,\
|
||||
pr_debug("<[%s]: ctrl_reg=0x%x,enable_state=%d>\n", __func__, sreg->register_info.ctrl_reg,\
|
||||
(reg_val & sreg->register_info.enable_mask));
|
||||
|
||||
return ((reg_val & sreg->register_info.enable_mask) != 0);
|
||||
|
@ -124,7 +115,7 @@ static int hisi_regulator_enable(struct regulator_dev *dev)
|
|||
/* keep a distance of off_on_delay from last time disabled */
|
||||
ensured_time_after(sreg->last_off_time, sreg->off_on_delay);
|
||||
|
||||
BRAND_DEBUG("<[%s]: off_on_delay=%dus>\n", __func__, sreg->off_on_delay);
|
||||
pr_debug("<[%s]: off_on_delay=%dus>\n", __func__, sreg->off_on_delay);
|
||||
|
||||
/* cannot enable more than one regulator at one time */
|
||||
mutex_lock(&enable_mutex);
|
||||
|
@ -134,7 +125,7 @@ static int hisi_regulator_enable(struct regulator_dev *dev)
|
|||
hisi_pmic_rmw(pmic, sreg->register_info.ctrl_reg,
|
||||
sreg->register_info.enable_mask,
|
||||
sreg->register_info.enable_mask);
|
||||
BRAND_DEBUG("<[%s]: ctrl_reg=0x%x,enable_mask=0x%x>\n", __func__, sreg->register_info.ctrl_reg,\
|
||||
pr_debug("<[%s]: ctrl_reg=0x%x,enable_mask=0x%x>\n", __func__, sreg->register_info.ctrl_reg,\
|
||||
sreg->register_info.enable_mask);
|
||||
|
||||
do_gettimeofday(&last_enabled);
|
||||
|
@ -165,7 +156,7 @@ static int hisi_regulator_get_voltage(struct regulator_dev *dev)
|
|||
|
||||
/* get voltage selector */
|
||||
reg_val = hisi_pmic_read(pmic, sreg->register_info.vset_reg);
|
||||
BRAND_DEBUG("<[%s]: vset_reg=0x%x>\n", __func__, sreg->register_info.vset_reg);
|
||||
pr_debug("<[%s]: vset_reg=0x%x>\n", __func__, sreg->register_info.vset_reg);
|
||||
|
||||
selector = (reg_val & sreg->register_info.vset_mask) >>
|
||||
(ffs(sreg->register_info.vset_mask) - 1);
|
||||
|
@ -198,7 +189,7 @@ static int hisi_regulator_set_voltage(struct regulator_dev *dev,
|
|||
sreg->register_info.vset_mask,
|
||||
vsel << (ffs(sreg->register_info.vset_mask) - 1));
|
||||
|
||||
BRAND_DEBUG("<[%s]: vset_reg=0x%x, vset_mask=0x%x, value=0x%x>\n", __func__,\
|
||||
pr_debug("<[%s]: vset_reg=0x%x, vset_mask=0x%x, value=0x%x>\n", __func__,\
|
||||
sreg->register_info.vset_reg,\
|
||||
sreg->register_info.vset_mask,\
|
||||
vsel << (ffs(sreg->register_info.vset_mask) - 1)\
|
||||
|
@ -214,7 +205,7 @@ static unsigned int hisi_regulator_get_mode(struct regulator_dev *dev)
|
|||
u32 reg_val;
|
||||
|
||||
reg_val = hisi_pmic_read(pmic, sreg->register_info.ctrl_reg);
|
||||
BRAND_DEBUG("<[%s]: reg_val=%d, ctrl_reg=0x%x, eco_mode_mask=0x%x>\n", __func__, reg_val,\
|
||||
pr_debug("<[%s]: reg_val=%d, ctrl_reg=0x%x, eco_mode_mask=0x%x>\n", __func__, reg_val,\
|
||||
sreg->register_info.ctrl_reg,\
|
||||
sreg->register_info.eco_mode_mask\
|
||||
);
|
||||
|
@ -248,7 +239,7 @@ static int hisi_regulator_set_mode(struct regulator_dev *dev,
|
|||
sreg->register_info.eco_mode_mask,
|
||||
eco_mode << (ffs(sreg->register_info.eco_mode_mask) - 1));
|
||||
|
||||
BRAND_DEBUG("<[%s]: ctrl_reg=0x%x, eco_mode_mask=0x%x, value=0x%x>\n", __func__,\
|
||||
pr_debug("<[%s]: ctrl_reg=0x%x, eco_mode_mask=0x%x, value=0x%x>\n", __func__,\
|
||||
sreg->register_info.ctrl_reg,\
|
||||
sreg->register_info.eco_mode_mask,\
|
||||
eco_mode << (ffs(sreg->register_info.eco_mode_mask) - 1)\
|
||||
|
@ -403,147 +394,6 @@ static struct of_device_id of_hisi_regulator_match_tbl[] = {
|
|||
{ /* end */ }
|
||||
};
|
||||
|
||||
#ifdef CONFIG_HISI_PMIC_DEBUG
|
||||
extern void get_current_regulator_dev(struct seq_file *s);
|
||||
extern void set_regulator_state(char *ldo_name, int value);
|
||||
extern void get_regulator_state(char *ldo_name);
|
||||
extern int set_regulator_voltage(char *ldo_name, unsigned int vol_value);
|
||||
|
||||
u32 pmu_atoi(char *s)
|
||||
{
|
||||
char *p = s;
|
||||
char c;
|
||||
u64 ret = 0;
|
||||
if (s == NULL)
|
||||
return 0;
|
||||
while ((c = *p++) != '\0') {
|
||||
if ('0' <= c && c <= '9') {
|
||||
ret *= 10;
|
||||
ret += (u64)((unsigned char)c - '0');
|
||||
if (ret > U32_MAX)
|
||||
return 0;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return (u32)ret;
|
||||
}
|
||||
static int dbg_hisi_regulator_show(struct seq_file *s, void *data)
|
||||
{
|
||||
seq_printf(s, "\n\r");
|
||||
seq_printf(s, "%-13s %-15s %-15s %-15s %-15s\n\r",
|
||||
"LDO_NAME", "ON/OFF", "Use_count", "Open_count", "Always_on");
|
||||
seq_printf(s, "-----------------------------------------"
|
||||
"-----------------------------------------------\n\r");
|
||||
get_current_regulator_dev(s);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int dbg_hisi_regulator_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return single_open(file, dbg_hisi_regulator_show, inode->i_private);
|
||||
}
|
||||
|
||||
static const struct file_operations debug_regulator_state_fops = {
|
||||
.open = dbg_hisi_regulator_open,
|
||||
.read = seq_read,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
|
||||
static int dbg_control_regulator_show(struct seq_file *s, void *data)
|
||||
{
|
||||
printk(" \n\r \
|
||||
---------------------------------------------------------------------------------\n\r \
|
||||
|usage: |\n\r \
|
||||
| S = state R = read V = voltage |\n\r \
|
||||
| set ldo state and voltage |\n\r \
|
||||
| get ldo state and current voltage |\n\r \
|
||||
|example: |\n\r \
|
||||
| echo S ldo16 0 > control_regulator :disable ldo16 |\n\r \
|
||||
| echo S ldo16 1 > control_regulator :enable ldo16 |\n\r \
|
||||
| echo R ldo16 > control_regulator :get ldo16 state and voltage |\n\r \
|
||||
| echo V ldo16 xxx > control_regulator :set ldo16 voltage |\n\r \
|
||||
---------------------------------------------------------------------------------\n\r");
|
||||
return 0;
|
||||
}
|
||||
static ssize_t dbg_control_regulator_set_value(struct file *filp, const char __user *buffer,
|
||||
size_t count, loff_t *ppos)
|
||||
{
|
||||
char tmp[128] = {0};
|
||||
char ptr[128] = {0};
|
||||
char *vol = NULL;
|
||||
char num = 0;
|
||||
unsigned int i;
|
||||
int next_flag = 1;
|
||||
|
||||
if (count >= 128) {
|
||||
pr_info("error! buffer size big than internal buffer\n");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (copy_from_user(tmp, buffer, count)) {
|
||||
pr_info("error!\n");
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (tmp[0] == 'R' || tmp[0] == 'r') {
|
||||
for (i = 2; i < (count - 1); i++) {
|
||||
ptr[i - 2] = tmp[i];
|
||||
}
|
||||
ptr[i - 2] = '\0';
|
||||
get_regulator_state(ptr);
|
||||
} else if (tmp[0] == 'S' || tmp[0] == 's') {
|
||||
for (i = 2; i < (count - 1); i++) {
|
||||
if (tmp[i] == ' ') {
|
||||
next_flag = 0;
|
||||
ptr[i - 2] = '\0';
|
||||
continue;
|
||||
}
|
||||
if (next_flag) {
|
||||
ptr[i - 2] = tmp[i];
|
||||
} else {
|
||||
num = tmp[i] - 48;
|
||||
}
|
||||
}
|
||||
set_regulator_state(ptr, num);
|
||||
} else if (tmp[0] == 'V' || tmp[0] == 'v') {
|
||||
for (i = 2; i < (count - 1); i++) {
|
||||
if (tmp[i] == ' ') {
|
||||
next_flag = 0;
|
||||
ptr[i - 2] = '\0';
|
||||
continue;
|
||||
}
|
||||
if (next_flag) {
|
||||
ptr[i - 2] = tmp[i];
|
||||
} else {
|
||||
vol = &tmp[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
set_regulator_voltage(ptr, pmu_atoi(vol));
|
||||
}
|
||||
|
||||
*ppos += count;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
static int dbg_control_regulator_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
file->private_data = inode->i_private;
|
||||
return single_open(file, dbg_control_regulator_show, &inode->i_private);
|
||||
}
|
||||
|
||||
static const struct file_operations set_control_regulator_fops = {
|
||||
.open = dbg_control_regulator_open,
|
||||
.read = seq_read,
|
||||
.write = dbg_control_regulator_set_value,
|
||||
.llseek = seq_lseek,
|
||||
.release = single_release,
|
||||
};
|
||||
#endif
|
||||
|
||||
static int hisi_regulator_probe(struct spmi_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
|
@ -556,10 +406,6 @@ static int hisi_regulator_probe(struct spmi_device *pdev)
|
|||
const struct of_device_id *match;
|
||||
struct regulation_constraints *constraint;
|
||||
const char *supplyname = NULL;
|
||||
#ifdef CONFIG_HISI_PMIC_DEBUG
|
||||
struct dentry *d;
|
||||
static int debugfs_flag;
|
||||
#endif
|
||||
unsigned int temp_modes;
|
||||
|
||||
const struct hisi_regulator *template = NULL;
|
||||
|
@ -572,11 +418,7 @@ static int hisi_regulator_probe(struct spmi_device *pdev)
|
|||
}
|
||||
|
||||
template = match->data;
|
||||
#if (LINUX_VERSION_CODE > KERNEL_VERSION(3, 13, 0))
|
||||
initdata = of_get_regulator_init_data(dev, np, NULL);
|
||||
#else
|
||||
initdata = of_get_regulator_init_data(dev, np);
|
||||
#endif
|
||||
if (NULL == initdata) {
|
||||
pr_err("get regulator init data error !\n");
|
||||
return -EINVAL;
|
||||
|
@ -636,32 +478,10 @@ static int hisi_regulator_probe(struct spmi_device *pdev)
|
|||
goto hisi_probe_end;
|
||||
}
|
||||
|
||||
BRAND_DEBUG("[%s]:valid_modes_mask[0x%x], valid_ops_mask[0x%x]\n", rdesc->name,\
|
||||
pr_debug("[%s]:valid_modes_mask[0x%x], valid_ops_mask[0x%x]\n", rdesc->name,\
|
||||
constraint->valid_modes_mask, constraint->valid_ops_mask);
|
||||
|
||||
dev_set_drvdata(dev, rdev);
|
||||
#ifdef CONFIG_HISI_PMIC_DEBUG
|
||||
if (debugfs_flag == 0) {
|
||||
d = debugfs_create_dir("hisi_regulator_debugfs", NULL);
|
||||
if (!d) {
|
||||
dev_err(dev, "failed to create hisi regulator debugfs dir !\n");
|
||||
ret = -ENOMEM;
|
||||
goto hisi_probe_fail;
|
||||
}
|
||||
(void) debugfs_create_file("regulator_state", S_IRUSR,
|
||||
d, NULL, &debug_regulator_state_fops);
|
||||
|
||||
(void) debugfs_create_file("control_regulator", S_IRUSR,
|
||||
d, NULL, &set_control_regulator_fops);
|
||||
debugfs_flag = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HISI_PMIC_DEBUG
|
||||
hisi_probe_fail:
|
||||
if (ret)
|
||||
regulator_unregister(rdev);
|
||||
#endif
|
||||
hisi_probe_end:
|
||||
if (ret)
|
||||
kfree(sreg);
|
||||
|
|
Loading…
Reference in a new issue