[alsa-devel] [PATCH 1/5] ASoC: add mt6351 codec driver
kbuild test robot
lkp at intel.com
Sat Apr 14 12:37:23 PDT 2018
Hi KaiChieh,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on asoc/for-next]
[also build test WARNING on v4.16 next-20180413]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/KaiChieh-Chuang/ASoC-add-mt6351-codec-driver/20180414-110824
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: x86_64-randconfig-x016-201815 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
In file included from include/linux/string.h:6:0,
from include/linux/dma-mapping.h:6,
from sound/soc/codecs/mt6351.c:12:
sound/soc/codecs/mt6351.c: In function 'mt_hp_event':
include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
>> sound/soc/codecs/mt6351.c:912:8: note: in expansion of macro 'if'
else if (priv->hp_en_counter < 0)
^~
sound/soc/codecs/mt6351.c:918:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
hp_zcd_disable(codec);
^~~~~~~~~~~~~~
In file included from include/linux/string.h:6:0,
from include/linux/dma-mapping.h:6,
from sound/soc/codecs/mt6351.c:12:
include/linux/compiler.h:58:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^
include/linux/compiler.h:56:23: note: in expansion of macro '__trace_if'
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
^~~~~~~~~~
sound/soc/codecs/mt6351.c:928:8: note: in expansion of macro 'if'
else if (priv->hp_en_counter < 0)
^~
sound/soc/codecs/mt6351.c:933:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
snd_soc_update_bits(codec,
^~~~~~~~~~~~~~~~~~~
vim +/if +912 sound/soc/codecs/mt6351.c
834
835 static int mt_hp_event(struct snd_soc_dapm_widget *w,
836 struct snd_kcontrol *kcontrol,
837 int event)
838 {
839 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm);
840 struct mt6351_priv *priv = snd_soc_codec_get_drvdata(codec);
841
842 dev_dbg(priv->dev, "%s(), event 0x%x, hp_en_counter %d\n",
843 __func__, event, priv->hp_en_counter);
844
845 switch (event) {
846 case SND_SOC_DAPM_PRE_PMU:
847 priv->hp_en_counter++;
848 if (priv->hp_en_counter > 1)
849 break; /* already enabled, do nothing */
850 else if (priv->hp_en_counter <= 0)
851 dev_err(priv->dev, "%s(), hp_en_counter %d <= 0\n",
852 __func__,
853 priv->hp_en_counter);
854
855 hp_zcd_disable(codec);
856
857 /* from yoyo HQA script */
858 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON6,
859 0x0700, 0x0700);
860 /* Set HPR/HPL gain as minimum (~ -40dB) */
861 snd_soc_update_bits(codec, MT6351_ZCD_CON2, 0xffff, 0x0F9F);
862 /* Set HS gain as minimum (~ -40dB) */
863 snd_soc_update_bits(codec, MT6351_ZCD_CON3, 0xffff, 0x001F);
864 /* De_OSC of HP */
865 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON2,
866 0x0001, 0x0001);
867 /* enable output STBENH */
868 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON1,
869 0xffff, 0x2000);
870 /* De_OSC of voice, enable output STBENH */
871 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON1,
872 0xffff, 0x2100);
873 /* Enable voice driver */
874 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON0,
875 0x0010, 0xE090);
876 /* Enable pre-charge buffer */
877 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON1,
878 0xffff, 0x2140);
879
880 usleep_range(50, 60);
881
882 /* Apply digital DC compensation value to DAC */
883 set_hp_gain_zero(codec);
884
885 /* Enable HPR/HPL */
886 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON1,
887 0xffff, 0x2100);
888 /* Disable pre-charge buffer */
889 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON1,
890 0xffff, 0x2000);
891 /* Disable De_OSC of voice */
892 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON0,
893 0x0010, 0xF4EF);
894 /* Disable voice buffer */
895
896 /* from yoyo HQ */
897 snd_soc_update_bits(codec, MT6351_AUDDEC_ANA_CON6,
898 0x0700, 0x0300);
899
900 /* Enable ZCD, for minimize pop noise */
901 /* when adjust gain during HP buffer on */
902 hp_zcd_enable(codec);
903
904 /* apply volume setting */
905 hp_gain_ramp_set(codec, HP_GAIN_RESTORE);
906
907 break;
908 case SND_SOC_DAPM_PRE_PMD:
909 priv->hp_en_counter--;
910 if (priv->hp_en_counter > 0)
911 break; /* still being used, don't close */
> 912 else if (priv->hp_en_counter < 0)
913 dev_err(priv->dev, "%s(), hp_en_counter %d <= 0\n",
914 __func__,
915 priv->hp_en_counter);
916
917 /* Disable AUD_ZCD */
918 hp_zcd_disable(codec);
919
920 /* Set HPR/HPL gain as -1dB, step by step */
921 hp_gain_ramp_set(codec, HP_GAIN_SET_ZERO);
922
923 set_hp_gain_zero(codec);
924 break;
925 case SND_SOC_DAPM_POST_PMD:
926 if (priv->hp_en_counter > 0)
927 break; /* still being used, don't close */
928 else if (priv->hp_en_counter < 0)
929 dev_err(priv->dev, "%s(), hp_en_counter %d <= 0\n",
930 __func__,
931 priv->hp_en_counter);
932 /* reset*/
933 snd_soc_update_bits(codec,
934 MT6351_AUDDEC_ANA_CON6,
935 0x0700,
936 0x0000);
937 /* De_OSC of HP */
938 snd_soc_update_bits(codec,
939 MT6351_AUDDEC_ANA_CON2,
940 0x0001,
941 0x0000);
942 break;
943 default:
944 break;
945 }
946
947 return 0;
948 }
949
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 26882 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20180415/242bd0d4/attachment-0001.gz>
More information about the Linux-mediatek
mailing list