Hi Zhu, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on broonie-sound/for-next] [also build test WARNING on tiwai-sound/for-next linus/master v5.19-rc5 next-20220707] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Zhu-Ning/ASoC-codecs-add-support-for-ES8326/20220707-115006 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next config: arm-randconfig-r014-20220707 (https://download.01.org/0day-ci/archive/20220707/202207072002.QTXsBBqR-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 66ae1d60bb278793fd651cece264699d522bab84) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # install arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/intel-lab-lkp/linux/commit/fda793f4ec55b33955344b93a8c290fe207d54d4 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Zhu-Ning/ASoC-codecs-add-support-for-ES8326/20220707-115006 git checkout fda793f4ec55b33955344b93a8c290fe207d54d4 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/clk/qcom/ sound/soc/codecs/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> sound/soc/codecs/es8326.c:612:13: warning: converting the result of '<<' to a boolean always evaluates to true [-Wtautological-constant-compare] if((reg && ES8326_VERSION_B) == 1) ^ sound/soc/codecs/es8326.h:185:29: note: expanded from macro 'ES8326_VERSION_B' #define ES8326_VERSION_B (1 << 0) ^ 1 warning generated. vim +612 sound/soc/codecs/es8326.c 531 532 static struct snd_soc_dai_driver es8326_dai = { 533 .name = "ES8326 HiFi", 534 .playback = { 535 .stream_name = "Playback", 536 .channels_min = 1, 537 .channels_max = 2, 538 .rates = es8326_RATES, 539 .formats = es8326_FORMATS, 540 }, 541 .capture = { 542 .stream_name = "Capture", 543 .channels_min = 1, 544 .channels_max = 2, 545 .rates = es8326_RATES, 546 .formats = es8326_FORMATS, 547 }, 548 .ops = &es8326_ops, 549 .symmetric_rate = 1, 550 }; 551 static int es8326_resume(struct snd_soc_component *component) 552 { 553 struct es8326_priv *es8326 = snd_soc_component_get_drvdata(component); 554 555 regmap_write(es8326->regmap, ES8326_CLK_CTL_01, ES8326_CLK_ON); 556 /* Two channel ADC */ 557 regmap_write(es8326->regmap, ES8326_PULLUP_CTL_F9, 0x02); 558 regmap_write(es8326->regmap, ES8326_CLK_INV_02, 0x00); 559 regmap_write(es8326->regmap, ES8326_CLK_DIV_CPC_0C, 0x1F); 560 regmap_write(es8326->regmap, ES8326_CLK_VMIDS1_10, 0xC8); 561 regmap_write(es8326->regmap, ES8326_CLK_VMIDS2_11, 0x88); 562 regmap_write(es8326->regmap, ES8326_CLK_CAL_TIME_12, 0x20); 563 regmap_write(es8326->regmap, ES8326_SYS_BIAS_1D, 0x08); 564 regmap_write(es8326->regmap, ES8326_DAC2HPMIX_25, 0x22); 565 regmap_write(es8326->regmap, ES8326_ADC1_SRC_2A, es8326->mic1_src); 566 regmap_write(es8326->regmap, ES8326_ADC2_SRC_2B, es8326->mic2_src); 567 regmap_write(es8326->regmap, ES8326_HPJACK_TIMER_56, 0x88); 568 regmap_write(es8326->regmap, ES8326_HP_DET_57, 569 ES8326_HP_DET_SRC_PIN9 | es8326->jack_pol); 570 regmap_write(es8326->regmap, ES8326_INT_SOURCE_58, 0x08); 571 regmap_write(es8326->regmap, ES8326_INTOUT_IO_59, 0x45); 572 regmap_write(es8326->regmap, ES8326_RESET_00, ES8326_CSM_ON); 573 snd_soc_component_update_bits(component, ES8326_PAGGAIN_23, 574 ES8326_MIC_SEL_MASK, ES8326_MIC1_SEL); 575 576 es8326_irq(es8326->irq, es8326); 577 return 0; 578 } 579 static int es8326_probe(struct snd_soc_component *component) 580 { 581 struct es8326_priv *es8326 = snd_soc_component_get_drvdata(component); 582 int ret; 583 u8 reg; 584 585 es8326->component = component; 586 es8326->jd_inverted = device_property_read_bool(component->dev, 587 "everest,jack-detect-inverted"); 588 589 ret = device_property_read_u8(component->dev, "everest,mic1-src", &es8326->mic1_src); 590 if (ret != 0) { 591 dev_dbg(component->dev, "mic1-src return %d", ret); 592 es8326->mic1_src = ES8326_ADC_AMIC; 593 } 594 dev_dbg(component->dev, "mic1-src %x", es8326->mic1_src); 595 596 ret = device_property_read_u8(component->dev, "everest,mic2-src", &es8326->mic2_src); 597 if (ret != 0) { 598 dev_dbg(component->dev, "mic2-src return %d", ret); 599 es8326->mic2_src = ES8326_ADC_DMIC; 600 } 601 dev_dbg(component->dev, "mic2-src %x", es8326->mic2_src); 602 603 ret = device_property_read_u8(component->dev, "everest,jack-pol", &es8326->jack_pol); 604 if (ret != 0) { 605 dev_dbg(component->dev, "jack-pol return %d", ret); 606 es8326->jack_pol = ES8326_HP_DET_BUTTON_POL | ES8326_HP_TYPE_OMTP; 607 } 608 dev_dbg(component->dev, "jack-pol %x", es8326->jack_pol); 609 610 es8326_resume(component); 611 reg = snd_soc_component_read(component, ES8326_CHIP_VERSION_FF); > 612 if((reg && ES8326_VERSION_B) == 1) 613 { 614 regmap_write(es8326->regmap, ES8326_ANA_VSEL_1C, 0x7F); 615 regmap_write(es8326->regmap, ES8326_VMIDLOW_22, 0x0F); 616 regmap_write(es8326->regmap, ES8326_DAC2HPMIX_25, 0xAA); 617 regmap_write(es8326->regmap, ES8326_HP_DRVIER_24, 0x20); 618 } 619 return 0; 620 } 621 -- 0-DAY CI Kernel Test Service https://01.org/lkp