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