Re: (subset) [PATCH v7 00/16] Add audio support for the MediaTek Genio 350-evk board
From: Nathan Chancellor
Date: Fri Sep 06 2024 - 14:04:07 EST
On Wed, Sep 04, 2024 at 12:16:48PM +0100, Mark Brown wrote:
> [01/16] ASoC: dt-bindings: mediatek,mt8365-afe: Add audio afe document
> commit: ceb3ca2876243e3ea02f78b3d488b1f2d734de49
> [02/16] ASoC: dt-bindings: mediatek,mt8365-mt6357: Add audio sound card document
> commit: 76d80dcdd55f70b28930edb97b96ee375e1cce5a
> [03/16] dt-bindings: mfd: mediatek: Add codec property for MT6357 PMIC
> commit: 761cab667898d86c04867948f1b7aec1090be796
> [04/16] ASoC: mediatek: mt8365: Add common header
> commit: 38c7c9ddc74033406461d64e541bbc8268e77f73
> [05/16] ASoC: mediatek: mt8365: Add audio clock control support
> commit: ef307b40b7f0042d54f020bccb3e728ced292282
> [06/16] ASoC: mediatek: mt8365: Add I2S DAI support
> commit: 402bbb13a195caa83b3279ebecdabfb11ddee084
> [07/16] ASoC: mediatek: mt8365: Add ADDA DAI support
> commit: 7c58c88e524180e8439acdfc44872325e7f6d33d
> [08/16] ASoC: mediatek: mt8365: Add DMIC DAI support
> commit: 1c50ec75ce6c0c6b5736499393e522f73e19d0cf
> [09/16] ASoC: mediatek: mt8365: Add PCM DAI support
> commit: 5097c0c8634d703e3c59cfb89831b7db9dc46339
> [10/16] ASoc: mediatek: mt8365: Add a specific soundcard for EVK
> commit: 1bf6dbd75f7603dd026660bebf324f812200dc1b
> [11/16] ASoC: mediatek: mt8365: Add the AFE driver support
> commit: e1991d102bc2abb32331c462f8f3e77059c69578
I am seeing several warnings/errors from both GCC and Clang with
ARCH=arm64 allmodconfig after this series appeared in next-20240906.
As far as I can tell, they appear to agree. I wondered how this was not
caught during the series development but perhaps it was written against
a development tree that did not have Arnd's extrawarn series from 6.10
in it yet? I was going to work on a series but I was not sure about the
best way to address the overflow errors, hence just the report.
Clang 19:
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:298:5: error: no previous prototype for function 'mt8365_afe_hd_engen_enable' [-Werror,-Wmissing-prototypes]
298 | int mt8365_afe_hd_engen_enable(struct mtk_base_afe *afe, bool apll1)
| ^
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:298:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
298 | int mt8365_afe_hd_engen_enable(struct mtk_base_afe *afe, bool apll1)
| ^
| static
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:310:5: error: no previous prototype for function 'mt8365_afe_hd_engen_disable' [-Werror,-Wmissing-prototypes]
310 | int mt8365_afe_hd_engen_disable(struct mtk_base_afe *afe, bool apll1)
| ^
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:310:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
310 | int mt8365_afe_hd_engen_disable(struct mtk_base_afe *afe, bool apll1)
| ^
| static
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:314:24: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551614 to 4294967294 [-Werror,-Wconstant-conversion]
313 | regmap_update_bits(afe->regmap, AFE_HD_ENGEN_ENABLE,
| ~~~~~~~~~~~~~~~~~~
314 | AFE_22M_PLL_EN, ~AFE_22M_PLL_EN);
| ^~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:317:24: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551613 to 4294967293 [-Werror,-Wconstant-conversion]
316 | regmap_update_bits(afe->regmap, AFE_HD_ENGEN_ENABLE,
| ~~~~~~~~~~~~~~~~~~
317 | AFE_24M_PLL_EN, ~AFE_24M_PLL_EN);
| ^~~~~~~~~~~~~~~
4 errors generated.
sound/soc/mediatek/mt8365/mt8365-dai-adda.c:93:8: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551614 to 4294967294 [-Werror,-Wconstant-conversion]
91 | regmap_update_bits(afe->regmap, AFE_ADDA_UL_DL_CON0,
| ~~~~~~~~~~~~~~~~~~
92 | AFE_ADDA_UL_DL_ADDA_AFE_ON,
93 | ~AFE_ADDA_UL_DL_ADDA_AFE_ON);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
sound/soc/mediatek/mt8365/mt8365-mt6357.c:293:22: error: unused variable 'platform_node' [-Werror,-Wunused-variable]
293 | struct device_node *platform_node;
| ^~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-mt6357.c:295:6: error: unused variable 'i' [-Werror,-Wunused-variable]
295 | int i, ret;
| ^
2 errors generated.
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c:64:7: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551613 to 4294967293 [-Werror,-Wconstant-conversion]
62 | regmap_update_bits(afe->regmap, AFE_ADDA_UL_DL_CON0,
| ~~~~~~~~~~~~~~~~~~
63 | AFE_ADDA_UL_DL_DMIC_CLKDIV_ON,
64 | ~AFE_ADDA_UL_DL_DMIC_CLKDIV_ON);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:388:8: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551613 to 4294967293 [-Werror,-Wconstant-conversion]
386 | regmap_update_bits(afe->regmap, AFE_ASRC_2CH_CON0,
| ~~~~~~~~~~~~~~~~~~
387 | COEFF_SRAM_CTRL,
388 | (unsigned long)~COEFF_SRAM_CTRL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:396:16: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709549567 to 4294965247 [-Werror,-Wconstant-conversion]
395 | regmap_update_bits(afe->regmap, AFE_ASRC_2CH_CON2,
| ~~~~~~~~~~~~~~~~~~
396 | IIR_EN, (unsigned long)~IIR_EN);
| ^~~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:459:16: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551614 to 4294967294 [-Werror,-Wconstant-conversion]
458 | regmap_update_bits(afe->regmap, AFE_ASRC_2CH_CON0,
| ~~~~~~~~~~~~~~~~~~
459 | ASM_ON, (unsigned long)~ASM_ON);
| ^~~~~~~~~~~~~~~~~~~~~~
3 errors generated.
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:173:6: error: no previous prototype for function 'mt8365_afe_clk_group_44k' [-Werror,-Wmissing-prototypes]
173 | bool mt8365_afe_clk_group_44k(int sample_rate)
| ^
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:173:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
173 | bool mt8365_afe_clk_group_44k(int sample_rate)
| ^
| static
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:499:5: error: no previous prototype for function 'mt8365_afe_fe_startup' [-Werror,-Wmissing-prototypes]
499 | int mt8365_afe_fe_startup(struct snd_pcm_substream *substream,
| ^
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:499:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
499 | int mt8365_afe_fe_startup(struct snd_pcm_substream *substream,
| ^
| static
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:575:9: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709547519 to 4294963199 [-Werror,-Wconstant-conversion]
573 | regmap_update_bits(afe->regmap, AFE_CM2_CON0,
| ~~~~~~~~~~~~~~~~~~
574 | CM_AFE_CM2_TDM_SEL,
575 | ~CM_AFE_CM2_TDM_SEL);
| ^~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:654:29: error: unused variable 'memif' [-Werror,-Wunused-variable]
654 | struct mtk_base_afe_memif *memif = &afe->memif[dai_id];
| ^~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:717:5: error: no previous prototype for function 'mt8365_afe_fe_trigger' [-Werror,-Wmissing-prototypes]
717 | int mt8365_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd,
| ^
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:717:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
717 | int mt8365_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd,
| ^
| static
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:746:23: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551599 to 4294967279 [-Werror,-Wconstant-conversion]
745 | regmap_update_bits(afe->regmap, AFE_CM1_CON0,
| ~~~~~~~~~~~~~~~~~~
746 | CM_AFE_CM_ON, ~CM_AFE_CM_ON);
| ^~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:750:23: error: implicit conversion from 'unsigned long' to 'unsigned int' changes value from 18446744073709551599 to 4294967279 [-Werror,-Wconstant-conversion]
749 | regmap_update_bits(afe->regmap, AFE_CM2_CON0,
| ~~~~~~~~~~~~~~~~~~
750 | CM_AFE_CM_ON, ~CM_AFE_CM_ON);
| ^~~~~~~~~~~~~
7 errors generated.
GCC 14:
sound/soc/mediatek/mt8365/mt8365-mt6357.c: In function 'mt8365_mt6357_dev_probe':
sound/soc/mediatek/mt8365/mt8365-mt6357.c:295:13: error: unused variable 'i' [-Werror=unused-variable]
295 | int i, ret;
| ^
sound/soc/mediatek/mt8365/mt8365-mt6357.c:293:29: error: unused variable 'platform_node' [-Werror=unused-variable]
293 | struct device_node *platform_node;
| ^~~~~~~~~~~~~
cc1: all warnings being treated as errors
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c: In function 'audio_dmic_adda_disable':
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c:64:28: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551613' to '4294967293' [-Werror=overflow]
64 | ~AFE_ADDA_UL_DL_DMIC_CLKDIV_ON);
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c: At top level:
sound/soc/mediatek/mt8365/mt8365-dai-dmic.c:134:12: error: 'mt8365_dai_load_dmic_iir_coeff_table' defined but not used [-Werror=unused-function]
134 | static int mt8365_dai_load_dmic_iir_coeff_table(struct mtk_base_afe *afe)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
sound/soc/mediatek/mt8365/mt8365-dai-adda.c: In function 'mt8365_dai_disable_adda_on':
sound/soc/mediatek/mt8365/mt8365-dai-adda.c:93:36: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551614' to '4294967294' [-Werror=overflow]
93 | ~AFE_ADDA_UL_DL_ADDA_AFE_ON);
cc1: all warnings being treated as errors
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:298:5: error: no previous prototype for 'mt8365_afe_hd_engen_enable' [-Werror=missing-prototypes]
298 | int mt8365_afe_hd_engen_enable(struct mtk_base_afe *afe, bool apll1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:310:5: error: no previous prototype for 'mt8365_afe_hd_engen_disable' [-Werror=missing-prototypes]
310 | int mt8365_afe_hd_engen_disable(struct mtk_base_afe *afe, bool apll1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-clk.c: In function 'mt8365_afe_hd_engen_disable':
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:314:52: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551614' to '4294967294' [-Werror=overflow]
314 | AFE_22M_PLL_EN, ~AFE_22M_PLL_EN);
sound/soc/mediatek/mt8365/mt8365-afe-clk.c:317:52: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551613' to '4294967293' [-Werror=overflow]
317 | AFE_24M_PLL_EN, ~AFE_24M_PLL_EN);
cc1: all warnings being treated as errors
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c: In function 'mt8365_afe_set_2nd_i2s_asrc':
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:388:36: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551613' to '4294967293' [-Werror=overflow]
388 | (unsigned long)~COEFF_SRAM_CTRL);
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:396:44: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709549567' to '4294965247' [-Werror=overflow]
396 | IIR_EN, (unsigned long)~IIR_EN);
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c: In function 'mt8365_afe_set_2nd_i2s_asrc_enable':
sound/soc/mediatek/mt8365/mt8365-dai-i2s.c:459:44: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551614' to '4294967294' [-Werror=overflow]
459 | ASM_ON, (unsigned long)~ASM_ON);
cc1: all warnings being treated as errors
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:173:6: error: no previous prototype for 'mt8365_afe_clk_group_44k' [-Werror=missing-prototypes]
173 | bool mt8365_afe_clk_group_44k(int sample_rate)
| ^~~~~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:499:5: error: no previous prototype for 'mt8365_afe_fe_startup' [-Werror=missing-prototypes]
499 | int mt8365_afe_fe_startup(struct snd_pcm_substream *substream,
| ^~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c: In function 'mt8365_afe_fe_hw_params':
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:575:44: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709547519' to '4294963199' [-Werror=overflow]
575 | ~CM_AFE_CM2_TDM_SEL);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c: In function 'mt8365_afe_fe_hw_free':
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:654:36: error: unused variable 'memif' [-Werror=unused-variable]
654 | struct mtk_base_afe_memif *memif = &afe->memif[dai_id];
| ^~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c: At top level:
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:717:5: error: no previous prototype for 'mt8365_afe_fe_trigger' [-Werror=missing-prototypes]
717 | int mt8365_afe_fe_trigger(struct snd_pcm_substream *substream, int cmd,
| ^~~~~~~~~~~~~~~~~~~~~
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c: In function 'mt8365_afe_fe_trigger':
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:746:58: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551599' to '4294967279' [-Werror=overflow]
746 | CM_AFE_CM_ON, ~CM_AFE_CM_ON);
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c:750:58: error: conversion from 'long unsigned int' to 'unsigned int' changes value from '18446744073709551599' to '4294967279' [-Werror=overflow]
750 | CM_AFE_CM_ON, ~CM_AFE_CM_ON);
cc1: all warnings being treated as errors
Cheers,
Nathan