[PATCH 3/7] ASoC: mediatek: mt8188: mt8188-afe-clk: Propagate regmap update errors
Cezary Rojewski
cezary.rojewski at intel.com
Tue Sep 8 10:49:00 PDT 2026
On 9/7/2026 2:03 PM, phucduc.bui at gmail.com wrote:
> From: bui duc phuc <phucduc.bui at gmail.com>
>
> The return values from regmap_update_bits() are currently ignored
> by the clock and AFE control functions.
> Propagate the errors to allow callers to handle regmap update
> failures.
>
> Fixes: f6b026479b13 ("ASoC: mediatek: mt8188: support audio clock control")
> Signed-off-by: bui duc phuc <phucduc.bui at gmail.com>
> ---
> sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 14 ++++----------
> 1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c
> index ecba13eda440..77511f6fba41 100644
> --- a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c
> +++ b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c
> @@ -564,9 +564,7 @@ static int mt8188_afe_enable_top_cg(struct mtk_base_afe *afe, unsigned int cg_ty
> unsigned int mask = get_top_cg_mask(cg_type);
> unsigned int val = get_top_cg_on_val(cg_type);
>
> - regmap_update_bits(afe->regmap, reg, mask, val);
> -
> - return 0;
> + return regmap_update_bits(afe->regmap, reg, mask, val);
> }
>
> static int mt8188_afe_disable_top_cg(struct mtk_base_afe *afe, unsigned int cg_type)
> @@ -575,9 +573,7 @@ static int mt8188_afe_disable_top_cg(struct mtk_base_afe *afe, unsigned int cg_t
> unsigned int mask = get_top_cg_mask(cg_type);
> unsigned int val = get_top_cg_off_val(cg_type);
>
> - regmap_update_bits(afe->regmap, reg, mask, val);
> -
> - return 0;
> + return regmap_update_bits(afe->regmap, reg, mask, val);
> }
>
> int mt8188_afe_enable_reg_rw_clk(struct mtk_base_afe *afe)
> @@ -617,14 +613,12 @@ int mt8188_afe_disable_reg_rw_clk(struct mtk_base_afe *afe)
>
> static int mt8188_afe_enable_afe_on(struct mtk_base_afe *afe)
> {
> - regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x1);
> - return 0;
> + return regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x1);
> }
>
> static int mt8188_afe_disable_afe_on(struct mtk_base_afe *afe)
> {
> - regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x0);
> - return 0;
> + return regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x0);
> }
>
> static int mt8188_afe_enable_a1sys(struct mtk_base_afe *afe)
I'd expect someone from Mediatek to verify this. While I agree with the
change, some drivers follow "ignore register update result" arch and,
what was previously ignored will now cause basic operations to fail.
More information about the linux-arm-kernel
mailing list