Re: linux-next: build failure after merge of the mfd tree

From: Kuninori Morimoto
Date: Mon Feb 29 2016 - 20:36:12 EST



Hi Mark

I noticed that you reborned regmap_write_bits() on your latest tree.
I think using/adding regmap_force_update_bits() is good idea IMO.
Can I create such patch ?

> Oops, it is my fault. Can you check/test this patch ?
>
> ----------------
> From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> Date: Tue, 1 Mar 2016 10:12:20 +0900
> Subject: [PATCH] regmap: add regmap_force_update_bits()
>
> commit 23b92e4c ("regmap: remove regmap_write_bits()")
> removed regmap_write_bits(), we can use regmap_force_update_bits()
> instead of it.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx>
> ---
> drivers/regulator/tps65086-regulator.c | 2 +-
> include/linux/regmap.h | 2 ++
> 2 files changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/regulator/tps65086-regulator.c b/drivers/regulator/tps65086-regulator.c
> index 33f389d..e78b688 100644
> --- a/drivers/regulator/tps65086-regulator.c
> +++ b/drivers/regulator/tps65086-regulator.c
> @@ -191,7 +191,7 @@ static int tps65086_of_parse_cb(struct device_node *dev,
>
> /* Check for decay mode */
> if (desc->id <= BUCK6 && of_property_read_bool(config->of_node, "ti,regulator-decay")) {
> - ret = regmap_write_bits(config->regmap,
> + ret = regmap_force_update_bits(config->regmap,
> regulators[desc->id].decay_reg,
> regulators[desc->id].decay_mask,
> regulators[desc->id].decay_mask);
> diff --git a/include/linux/regmap.h b/include/linux/regmap.h
> index 7449792..d6cde49 100644
> --- a/include/linux/regmap.h
> +++ b/include/linux/regmap.h
> @@ -67,6 +67,8 @@ struct reg_sequence {
>
> #define regmap_update_bits(map, reg, mask, val) \
> regmap_update_bits_base(map, reg, mask, val, NULL, false, false)
> +#define regmap_force_update_bits(map, reg, mask, val) \
> + regmap_update_bits_base(map, reg, mask, val, NULL, false, true)
> #define regmap_update_bits_async(map, reg, mask, val)\
> regmap_update_bits_base(map, reg, mask, val, NULL, true, false)
> #define regmap_update_bits_check(map, reg, mask, val, change)\
> --
> ----------------
>
>
> Best regards
> ---
> Kuninori Morimoto