Re: [PATCH 1/2] regulator: ltc3676: Simplify .readable_reg and .writable_reg callbacks

From: Tim Harvey
Date: Fri Feb 15 2019 - 11:21:04 EST


On Fri, Feb 15, 2019 at 3:54 AM Axel Lin <axel.lin@xxxxxxxxxx> wrote:
>
> 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: Axel Lin <axel.lin@xxxxxxxxxx>
> ---
> drivers/regulator/ltc3676.c | 63 +++----------------------------------
> 1 file changed, 5 insertions(+), 58 deletions(-)
>
> diff --git a/drivers/regulator/ltc3676.c b/drivers/regulator/ltc3676.c
> index 71fd0f2a4b76..549a1a243870 100644
> --- a/drivers/regulator/ltc3676.c
> +++ b/drivers/regulator/ltc3676.c
> @@ -241,61 +241,10 @@ static struct regulator_desc ltc3676_regulators[LTC3676_NUM_REGULATORS] = {
> 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) {
> - 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_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_BUCK1 ... LTC3676_IRQSTAT:
> case LTC3676_HRST:
> case LTC3676_CLIRQ:
> return true;
> @@ -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)
> {
> switch (reg) {
> - case LTC3676_IRQSTAT:
> - case LTC3676_PGSTATL:
> - case LTC3676_PGSTATRT:
> + case LTC3676_IRQSTAT ... LTC3676_PGSTATRT:
> return true;
> }
> return false;
> @@ -317,8 +264,8 @@ static bool ltc3676_volatile_reg(struct device *dev, unsigned int reg)
> static const struct regmap_config ltc3676_regmap_config = {
> .reg_bits = 8,
> .val_bits = 8,
> - .writeable_reg = ltc3676_writeable_reg,
> - .readable_reg = ltc3676_readable_reg,
> + .writeable_reg = ltc3676_readable_writeable_reg,
> + .readable_reg = ltc3676_readable_writeable_reg,
> .volatile_reg = ltc3676_volatile_reg,
> .max_register = LTC3676_CLIRQ,
> .use_single_read = true,
> --
> 2.17.1
>

Acked-by: Tim Harvey <tharvey@xxxxxxxxxxxxx>

Tim