[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