Commit 502aba81 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

regulator: ltc3676: Simplify .readable_reg and .writable_reg callbacks

Use case range for continuous range to make the code shorter.
The .readable_reg and .writable_reg implementation are exactly the same,
so use a common ltc3676_readable_writeable_reg function instead.
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Acked-by: default avatarTim Harvey <tharvey@gateworks.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 049369d4
...@@ -241,61 +241,10 @@ static struct regulator_desc ltc3676_regulators[LTC3676_NUM_REGULATORS] = { ...@@ -241,61 +241,10 @@ static struct regulator_desc ltc3676_regulators[LTC3676_NUM_REGULATORS] = {
LTC3676_FIXED_REG(LDO4, ldo4, LDOB, 2), LTC3676_FIXED_REG(LDO4, ldo4, LDOB, 2),
}; };
static bool ltc3676_writeable_reg(struct device *dev, unsigned int reg) static bool ltc3676_readable_writeable_reg(struct device *dev, unsigned int reg)
{ {
switch (reg) { switch (reg) {
case LTC3676_IRQSTAT: case LTC3676_BUCK1 ... LTC3676_IRQSTAT:
case LTC3676_BUCK1:
case LTC3676_BUCK2:
case LTC3676_BUCK3:
case LTC3676_BUCK4:
case LTC3676_LDOA:
case LTC3676_LDOB:
case LTC3676_SQD1:
case LTC3676_SQD2:
case LTC3676_CNTRL:
case LTC3676_DVB1A:
case LTC3676_DVB1B:
case LTC3676_DVB2A:
case LTC3676_DVB2B:
case LTC3676_DVB3A:
case LTC3676_DVB3B:
case LTC3676_DVB4A:
case LTC3676_DVB4B:
case LTC3676_MSKIRQ:
case LTC3676_MSKPG:
case LTC3676_USER:
case LTC3676_HRST:
case LTC3676_CLIRQ:
return true;
}
return false;
}
static bool ltc3676_readable_reg(struct device *dev, unsigned int reg)
{
switch (reg) {
case LTC3676_IRQSTAT:
case LTC3676_BUCK1:
case LTC3676_BUCK2:
case LTC3676_BUCK3:
case LTC3676_BUCK4:
case LTC3676_LDOA:
case LTC3676_LDOB:
case LTC3676_SQD1:
case LTC3676_SQD2:
case LTC3676_CNTRL:
case LTC3676_DVB1A:
case LTC3676_DVB1B:
case LTC3676_DVB2A:
case LTC3676_DVB2B:
case LTC3676_DVB3A:
case LTC3676_DVB3B:
case LTC3676_DVB4A:
case LTC3676_DVB4B:
case LTC3676_MSKIRQ:
case LTC3676_MSKPG:
case LTC3676_USER:
case LTC3676_HRST: case LTC3676_HRST:
case LTC3676_CLIRQ: case LTC3676_CLIRQ:
return true; return true;
...@@ -306,9 +255,7 @@ static bool ltc3676_readable_reg(struct device *dev, unsigned int reg) ...@@ -306,9 +255,7 @@ static bool ltc3676_readable_reg(struct device *dev, unsigned int reg)
static bool ltc3676_volatile_reg(struct device *dev, unsigned int reg) static bool ltc3676_volatile_reg(struct device *dev, unsigned int reg)
{ {
switch (reg) { switch (reg) {
case LTC3676_IRQSTAT: case LTC3676_IRQSTAT ... LTC3676_PGSTATRT:
case LTC3676_PGSTATL:
case LTC3676_PGSTATRT:
return true; return true;
} }
return false; return false;
...@@ -317,8 +264,8 @@ static bool ltc3676_volatile_reg(struct device *dev, unsigned int reg) ...@@ -317,8 +264,8 @@ static bool ltc3676_volatile_reg(struct device *dev, unsigned int reg)
static const struct regmap_config ltc3676_regmap_config = { static const struct regmap_config ltc3676_regmap_config = {
.reg_bits = 8, .reg_bits = 8,
.val_bits = 8, .val_bits = 8,
.writeable_reg = ltc3676_writeable_reg, .writeable_reg = ltc3676_readable_writeable_reg,
.readable_reg = ltc3676_readable_reg, .readable_reg = ltc3676_readable_writeable_reg,
.volatile_reg = ltc3676_volatile_reg, .volatile_reg = ltc3676_volatile_reg,
.max_register = LTC3676_CLIRQ, .max_register = LTC3676_CLIRQ,
.use_single_read = true, .use_single_read = true,
......
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