Revert "(CR): Add register dump interface for WL2864C.."

This reverts commit eeb0e1745c4cd588986ab03fa8058d0227ac5878.
Mot-CRs-Fixed: (CR)

Fixed user build fail.
regulator_get_error_flags not exit in google whitelist abi_gki_aarch64.xml.


Change-Id: I44bfbd401d16bdcfc7d19af0a5b293678db05eba
Reviewed-on: https://gerrit.mot.com/1865547
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Zhichao Chen <chenzc2@motorola.com>
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
Wang Liu 2021-01-29 05:11:46 -06:00
commit f709ad8cd8
2 changed files with 16 additions and 45 deletions

View file

@ -37,6 +37,7 @@ struct wl2864c {
struct regmap *regmap;
struct regulator_desc *rdesc[WL2864C_MAX_REGULATORS];
struct regulator_dev *rdev[WL2864C_MAX_REGULATORS];
int chip_irq;
int chip_cs_pin;
};
@ -47,10 +48,7 @@ struct wl2864c_evt_sta {
static const struct wl2864c_evt_sta wl2864c_status_reg = { WL2864C_LDO_EN };
static const struct regmap_range wl2864c_writeable_ranges[] = {
/* Do not let useless register writeable */
regmap_reg_range(WL2864C_CURRENT_LIMITSEL, WL2864C_CURRENT_LIMITSEL),
regmap_reg_range(WL2864C_LDO1_VOUT, WL2864C_LDO7_VOUT),
regmap_reg_range(WL2864C_LDO_EN, WL2864C_LDO_EN),
regmap_reg_range(WL2864C_CURRENT_LIMITSEL, WL2864C_SEQ_STATUS),
};
static const struct regmap_range wl2864c_readable_ranges[] = {
@ -85,33 +83,6 @@ static const struct regmap_config wl2864c_regmap_config = {
.volatile_table = &wl2864c_volatile_table,
};
static int wl2864c_get_error_flags(struct regulator_dev *rdev, unsigned int *flags)
{
struct wl2864c *chip = rdev_get_drvdata(rdev);
uint8_t reg_dump[WL2864C_REG_NUM];
uint8_t reg_idx;
unsigned int val = 0;
dev_err(chip->dev, "************ start dump wl2864c register ************\n");
dev_err(chip->dev, "register 0x00: chip version\n");
dev_err(chip->dev, "register 0x01: LDO CL\n");
dev_err(chip->dev, "register 0x03~0x09: LDO1~LDO7 OUT Voltage\n");
dev_err(chip->dev, "register 0x0e: Bit[6:0] LDO7~LDO1 EN\n");
for (reg_idx = 0; reg_idx < WL2864C_REG_NUM; reg_idx++) {
regmap_read(chip->regmap, reg_idx, &val);
reg_dump[reg_idx] = val;
dev_err(chip->dev, "Reg[0x%02x] = 0x%x", reg_idx, reg_dump[reg_idx]);
}
dev_err(chip->dev, "************ end dump wl2864c register ************\n");
if (flags != NULL) {
*flags = 0;
}
return 0;
}
static int wl2864c_get_status(struct regulator_dev *rdev)
{
struct wl2864c *chip = rdev_get_drvdata(rdev);
@ -128,8 +99,6 @@ static int wl2864c_get_status(struct regulator_dev *rdev)
if (!ret)
return REGULATOR_STATUS_OFF;
wl2864c_get_error_flags(rdev, NULL);
ret = regmap_read(chip->regmap, wl2864c_status_reg.sreg, &status);
if (ret < 0) {
dev_err(chip->dev, "Failed to read status register(%d)\n",
@ -153,7 +122,6 @@ static const struct regulator_ops wl2864c_regl_ops = {
.get_voltage_sel = regulator_get_voltage_sel_regmap,
.set_voltage_sel = regulator_set_voltage_sel_regmap,
.get_status = wl2864c_get_status,
.get_error_flags = wl2864c_get_error_flags,
};
static int wl2864c_of_parse_cb(struct device_node *np,
@ -206,7 +174,7 @@ static int wl2864c_regulator_init(struct wl2864c *chip)
struct regulator_desc *rdesc;
u8 vsel_range[1];
int id, ret = 0;
const unsigned int ldo_regs[WL2864C_MAX_REGULATORS] = {
const unsigned int min_regs[WL2864C_MAX_REGULATORS] = {
WL2864C_LDO1_VOUT,
WL2864C_LDO2_VOUT,
WL2864C_LDO3_VOUT,
@ -241,22 +209,22 @@ static int wl2864c_regulator_init(struct wl2864c *chip)
config.dev = chip->dev;
config.driver_data = chip;
ret = regmap_bulk_read(chip->regmap, ldo_regs[id],
ret = regmap_bulk_read(chip->regmap, min_regs[id],
vsel_range, 1);
pr_err("wl2864c_regulator_init: LDO%d, default value:0x%x", (id+1), vsel_range[0]);
pr_err("wl2864c_regulator_init: LDO%d, min:%d", id, vsel_range[0]);
if (ret < 0) {
dev_err(chip->dev,
"Failed to read the ldo register\n");
"Failed to read the MIN register\n");
return ret;
}
ret = regmap_write(chip->regmap, ldo_regs[id], initial_voltage[id]);
ret = regmap_write(chip->regmap, min_regs[id], initial_voltage[id]);
if (ret < 0) {
dev_err(chip->dev,
"Failed to write inital voltage register\n");
return ret;
}
pr_err("wl2864c_regulator_init: LDO%d, initial value:0x%x", (id+1), initial_voltage[id]);
pr_err("wl2864c_regulator_init: LDO%d, default:%d", id, initial_voltage[id]);
chip->rdev[id] = devm_regulator_register(chip->dev, rdesc,
&config);
@ -277,7 +245,7 @@ static int wl2864c_i2c_probe(struct i2c_client *client,
{
struct device *dev = &client->dev;
struct wl2864c *chip;
int error, cs_gpio, ret, current_limit;
int error, cs_gpio, ret, chip_rev, current_limit;
chip = devm_kzalloc(dev, sizeof(struct wl2864c), GFP_KERNEL);
if (!chip) {
@ -310,6 +278,7 @@ static int wl2864c_i2c_probe(struct i2c_client *client,
mdelay(10);
i2c_set_clientdata(client, chip);
chip->chip_irq = client->irq;
chip->dev = dev;
chip->regmap = devm_regmap_init_i2c(client, &wl2864c_regmap_config);
if (IS_ERR(chip->regmap)) {
@ -319,6 +288,9 @@ static int wl2864c_i2c_probe(struct i2c_client *client,
return error;
}
ret = regmap_bulk_read(chip->regmap, WL2864C_CHIP_REV, &chip_rev, 1);
dev_err(chip->dev, "wl2864c chip rev: %02x\n", chip_rev);
ret = regmap_bulk_read(chip->regmap, WL2864C_CURRENT_LIMITSEL, &current_limit, 1);
dev_err(chip->dev, "default current limit is 0x%x\n", current_limit);
@ -328,14 +300,14 @@ static int wl2864c_i2c_probe(struct i2c_client *client,
dev_err(chip->dev,"Failed to write current limit register\n");
}
ret = regmap_bulk_read(chip->regmap, WL2864C_CURRENT_LIMITSEL, &current_limit, 1);
dev_err(chip->dev, "modify current limit to 0x%x\n", current_limit);
ret = wl2864c_regulator_init(chip);
if (ret < 0) {
dev_err(chip->dev, "Failed to init regulator(%d)\n", ret);
return ret;
}
wl2864c_get_error_flags(chip->rdev[0], NULL);
dev_info(chip->dev, "wl2864c_i2c_probe Exit...\n");
return ret;

View file

@ -10,7 +10,6 @@
#define __WL2864C_REGISTERS_H__
/* Registers */
#define WL2864C_REG_NUM (WL2864C_SEQ_STATUS-WL2864C_CHIP_REV+1)
#define WL2864C_CHIP_REV 0x00
#define WL2864C_CURRENT_LIMITSEL 0x01