All of lore.kernel.org
 help / color / mirror / Atom feed
* [plbossart-sound:fix/glk-chuwi-Hi10x 4/7] sound/soc/codecs/es8316.c:457:2: warning: this 'if' clause does not guard...
@ 2021-07-30 21:02 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-07-30 21:02 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 29083 bytes --]

tree:   https://github.com/plbossart/sound fix/glk-chuwi-Hi10x
head:   8d2c8b66245b0b2c8c3d4b8a8a7b890b469277d0
commit: aa983d82765d8f1f797f33d2ae1ac1b7272cac02 [4/7] [HACK][FOR FOR UPSTREAM] es8336 support
config: i386-randconfig-r006-20210730 (attached as .config)
compiler: gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
reproduce (this is a W=1 build):
        # https://github.com/plbossart/sound/commit/aa983d82765d8f1f797f33d2ae1ac1b7272cac02
        git remote add plbossart-sound https://github.com/plbossart/sound
        git fetch --no-tags plbossart-sound fix/glk-chuwi-Hi10x
        git checkout aa983d82765d8f1f797f33d2ae1ac1b7272cac02
        # save the attached .config to linux build tree
        make W=1 ARCH=i386 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   In file included from sound/soc/codecs/es8316.c:25:
   sound/soc/codecs/es8316.h:225: warning: "ES8316_GPIO_FLAG" redefined
     225 | #define ES8316_GPIO_FLAG 0x4f
         | 
   sound/soc/codecs/es8316.h:95: note: this is the location of the previous definition
      95 | #define ES8316_GPIO_FLAG              0x4F
         | 
   sound/soc/codecs/es8316.c: In function 'es8316_set_dai_fmt':
   sound/soc/codecs/es8316.c:403:5: warning: unused variable 'clksw' [-Wunused-variable]
     403 |  u8 clksw;
         |     ^~~~~
   sound/soc/codecs/es8316.c: In function 'es8316_pcm_startup':
>> sound/soc/codecs/es8316.c:457:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     457 |  if (es8316->sysclk_constraints.list)
         |  ^~
   sound/soc/codecs/es8316.c:462:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
     462 |   if(a){
         |   ^~
   sound/soc/codecs/es8316.c: In function 'es8316_irq':
>> sound/soc/codecs/es8316.c:638:6: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
     638 |   if(a=5)
         |      ^
   sound/soc/codecs/es8316.c:613:31: warning: unused variable 'dapm' [-Wunused-variable]
     613 |  struct snd_soc_dapm_context *dapm;
         |                               ^~~~
   In file included from include/sound/tlv.h:10,
                    from sound/soc/codecs/es8316.c:23:
   At top level:
   sound/soc/codecs/es8316.c:72:46: warning: 'hpout_vol_tlv' defined but not used [-Wunused-const-variable=]
      72 | static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(hpout_vol_tlv,
         |                                              ^~~~~~~~~~~~~
   include/uapi/sound/tlv.h:111:15: note: in definition of macro 'SNDRV_CTL_TLVD_DECLARE_DB_RANGE'
     111 |  unsigned int name[] = { \
         |               ^~~~


vim +/if +457 sound/soc/codecs/es8316.c

b8b88b70875af7 Daniel Drake         2017-06-12  449  
b8b88b70875af7 Daniel Drake         2017-06-12  450  static int es8316_pcm_startup(struct snd_pcm_substream *substream,
b8b88b70875af7 Daniel Drake         2017-06-12  451  			      struct snd_soc_dai *dai)
b8b88b70875af7 Daniel Drake         2017-06-12  452  {
2ff52976788bae Kuninori Morimoto    2018-01-29  453  	struct snd_soc_component *component = dai->component;
2ff52976788bae Kuninori Morimoto    2018-01-29  454  	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  455  	static int a=1;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  456  	printk("Enter into %s\n", __func__);
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08 @457  	if (es8316->sysclk_constraints.list)
b8b88b70875af7 Daniel Drake         2017-06-12  458  		snd_pcm_hw_constraint_list(substream->runtime, 0,
b8b88b70875af7 Daniel Drake         2017-06-12  459  					   SNDRV_PCM_HW_PARAM_RATE,
b8b88b70875af7 Daniel Drake         2017-06-12  460  					   &es8316->sysclk_constraints);
b8b88b70875af7 Daniel Drake         2017-06-12  461  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  462  		if(a){
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  463  		//gpiod_set_value_cansleep(es8316->pa_enable, false);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  464  		a++;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  465  		if(a==19)		
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  466  			{
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  467  		mdelay(5000);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  468  			printk("i2cset 0x0d 0x08");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  469  		snd_soc_component_write(component, 0x4e, 0xf1);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  470  		snd_soc_component_write(component, 0x4e, 0xf2);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  471  			}
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  472  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  473  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  474  		}	
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  475  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  476  	printk("Exit %s\n", __func__);
b8b88b70875af7 Daniel Drake         2017-06-12  477  	return 0;
b8b88b70875af7 Daniel Drake         2017-06-12  478  }
b8b88b70875af7 Daniel Drake         2017-06-12  479  
b8b88b70875af7 Daniel Drake         2017-06-12  480  static int es8316_pcm_hw_params(struct snd_pcm_substream *substream,
b8b88b70875af7 Daniel Drake         2017-06-12  481  				struct snd_pcm_hw_params *params,
b8b88b70875af7 Daniel Drake         2017-06-12  482  				struct snd_soc_dai *dai)
b8b88b70875af7 Daniel Drake         2017-06-12  483  {
2ff52976788bae Kuninori Morimoto    2018-01-29  484  	struct snd_soc_component *component = dai->component;
2ff52976788bae Kuninori Morimoto    2018-01-29  485  	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
b8b88b70875af7 Daniel Drake         2017-06-12  486  	u8 wordlen = 0;
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  487  	int i;
b8b88b70875af7 Daniel Drake         2017-06-12  488  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  489  	printk("Enter into %s\n", __func__);
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  490  	/* Validate supported sample rates that are autodetected from MCLK */
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  491  	for (i = 0; i < NR_SUPPORTED_MCLK_LRCK_RATIOS; i++) {
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  492  		const unsigned int ratio = supported_mclk_lrck_ratios[i];
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  493  
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  494  		if (es8316->sysclk % ratio != 0)
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  495  			continue;
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  496  		if (es8316->sysclk / ratio == params_rate(params))
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  497  			break;
b8b88b70875af7 Daniel Drake         2017-06-12  498  	}
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  499  	if (i == NR_SUPPORTED_MCLK_LRCK_RATIOS)
ebe02a5b9ef05e Katsuhiro Suzuki     2019-09-08  500  		return -EINVAL;
b8b88b70875af7 Daniel Drake         2017-06-12  501  
b8b88b70875af7 Daniel Drake         2017-06-12  502  	switch (params_format(params)) {
b8b88b70875af7 Daniel Drake         2017-06-12  503  	case SNDRV_PCM_FORMAT_S16_LE:
b8b88b70875af7 Daniel Drake         2017-06-12  504  		wordlen = ES8316_SERDATA2_LEN_16;
b8b88b70875af7 Daniel Drake         2017-06-12  505  		break;
b8b88b70875af7 Daniel Drake         2017-06-12  506  	case SNDRV_PCM_FORMAT_S20_3LE:
b8b88b70875af7 Daniel Drake         2017-06-12  507  		wordlen = ES8316_SERDATA2_LEN_20;
b8b88b70875af7 Daniel Drake         2017-06-12  508  		break;
b8b88b70875af7 Daniel Drake         2017-06-12  509  	case SNDRV_PCM_FORMAT_S24_LE:
b8b88b70875af7 Daniel Drake         2017-06-12  510  		wordlen = ES8316_SERDATA2_LEN_24;
b8b88b70875af7 Daniel Drake         2017-06-12  511  		break;
b8b88b70875af7 Daniel Drake         2017-06-12  512  	case SNDRV_PCM_FORMAT_S32_LE:
b8b88b70875af7 Daniel Drake         2017-06-12  513  		wordlen = ES8316_SERDATA2_LEN_32;
b8b88b70875af7 Daniel Drake         2017-06-12  514  		break;
b8b88b70875af7 Daniel Drake         2017-06-12  515  	default:
b8b88b70875af7 Daniel Drake         2017-06-12  516  		return -EINVAL;
b8b88b70875af7 Daniel Drake         2017-06-12  517  	}
b8b88b70875af7 Daniel Drake         2017-06-12  518  
2ff52976788bae Kuninori Morimoto    2018-01-29  519  	snd_soc_component_update_bits(component, ES8316_SERDATA_DAC,
b8b88b70875af7 Daniel Drake         2017-06-12  520  			    ES8316_SERDATA2_LEN_MASK, wordlen);
2ff52976788bae Kuninori Morimoto    2018-01-29  521  	snd_soc_component_update_bits(component, ES8316_SERDATA_ADC,
b8b88b70875af7 Daniel Drake         2017-06-12  522  			    ES8316_SERDATA2_LEN_MASK, wordlen);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  523          
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  524  	snd_soc_component_write(component, 0x01, 0x7f);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  525  	snd_soc_component_write(component, 0x02, 0x09);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  526  	snd_soc_component_update_bits(component,ES8316_ADC_PDN_LINSEL,0xcf,0x00);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  527  	//snd_soc_component_write(component, 0x22, 0x30);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  528  	snd_soc_component_write(component, 0x0a, 0x00);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  529  	snd_soc_component_write(component, 0x0d, 0x00);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  530          
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  531  	printk("Exit %s\n", __func__);
b8b88b70875af7 Daniel Drake         2017-06-12  532  	return 0;
b8b88b70875af7 Daniel Drake         2017-06-12  533  }
b8b88b70875af7 Daniel Drake         2017-06-12  534  
8667d948a6185f Kuninori Morimoto    2020-07-09  535  static int es8316_mute(struct snd_soc_dai *dai, int mute, int direction)
b8b88b70875af7 Daniel Drake         2017-06-12  536  {
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  537  	printk("Enter into %s\n", __func__);
2ff52976788bae Kuninori Morimoto    2018-01-29  538  	snd_soc_component_update_bits(dai->component, ES8316_DAC_SET1, 0x20,
b8b88b70875af7 Daniel Drake         2017-06-12  539  			    mute ? 0x20 : 0);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  540  	printk("Exit %s\n", __func__);
b8b88b70875af7 Daniel Drake         2017-06-12  541  	return 0;
b8b88b70875af7 Daniel Drake         2017-06-12  542  }
b8b88b70875af7 Daniel Drake         2017-06-12  543  
b8b88b70875af7 Daniel Drake         2017-06-12  544  #define ES8316_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE | \
b8b88b70875af7 Daniel Drake         2017-06-12  545  			SNDRV_PCM_FMTBIT_S24_LE)
b8b88b70875af7 Daniel Drake         2017-06-12  546  
eb59d73cb535ba Arvind Yadav         2017-08-18  547  static const struct snd_soc_dai_ops es8316_ops = {
b8b88b70875af7 Daniel Drake         2017-06-12  548  	.startup = es8316_pcm_startup,
b8b88b70875af7 Daniel Drake         2017-06-12  549  	.hw_params = es8316_pcm_hw_params,
b8b88b70875af7 Daniel Drake         2017-06-12  550  	.set_fmt = es8316_set_dai_fmt,
b8b88b70875af7 Daniel Drake         2017-06-12  551  	.set_sysclk = es8316_set_dai_sysclk,
8667d948a6185f Kuninori Morimoto    2020-07-09  552  	.mute_stream = es8316_mute,
8667d948a6185f Kuninori Morimoto    2020-07-09  553  	.no_capture_mute = 1,
b8b88b70875af7 Daniel Drake         2017-06-12  554  };
b8b88b70875af7 Daniel Drake         2017-06-12  555  
b8b88b70875af7 Daniel Drake         2017-06-12  556  static struct snd_soc_dai_driver es8316_dai = {
b8b88b70875af7 Daniel Drake         2017-06-12  557  	.name = "ES8316 HiFi",
b8b88b70875af7 Daniel Drake         2017-06-12  558  	.playback = {
b8b88b70875af7 Daniel Drake         2017-06-12  559  		.stream_name = "Playback",
b8b88b70875af7 Daniel Drake         2017-06-12  560  		.channels_min = 1,
b8b88b70875af7 Daniel Drake         2017-06-12  561  		.channels_max = 2,
b8b88b70875af7 Daniel Drake         2017-06-12  562  		.rates = SNDRV_PCM_RATE_8000_48000,
b8b88b70875af7 Daniel Drake         2017-06-12  563  		.formats = ES8316_FORMATS,
b8b88b70875af7 Daniel Drake         2017-06-12  564  	},
b8b88b70875af7 Daniel Drake         2017-06-12  565  	.capture = {
b8b88b70875af7 Daniel Drake         2017-06-12  566  		.stream_name = "Capture",
b8b88b70875af7 Daniel Drake         2017-06-12  567  		.channels_min = 1,
b8b88b70875af7 Daniel Drake         2017-06-12  568  		.channels_max = 2,
b8b88b70875af7 Daniel Drake         2017-06-12  569  		.rates = SNDRV_PCM_RATE_8000_48000,
b8b88b70875af7 Daniel Drake         2017-06-12  570  		.formats = ES8316_FORMATS,
b8b88b70875af7 Daniel Drake         2017-06-12  571  	},
b8b88b70875af7 Daniel Drake         2017-06-12  572  	.ops = &es8316_ops,
4060064e8baf04 Kuninori Morimoto    2021-01-15  573  	.symmetric_rate = 1,
b8b88b70875af7 Daniel Drake         2017-06-12  574  };
b8b88b70875af7 Daniel Drake         2017-06-12  575  
822257661031fa Hans de Goede        2019-01-03  576  static void es8316_enable_micbias_for_mic_gnd_short_detect(
822257661031fa Hans de Goede        2019-01-03  577  	struct snd_soc_component *component)
822257661031fa Hans de Goede        2019-01-03  578  {
822257661031fa Hans de Goede        2019-01-03  579  	struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
822257661031fa Hans de Goede        2019-01-03  580  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  581  	printk("Enter into %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  582  	snd_soc_dapm_mutex_lock(dapm);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  583  	//snd_soc_dapm_force_enable_pin_unlocked(dapm, "Bias");
822257661031fa Hans de Goede        2019-01-03  584  	snd_soc_dapm_force_enable_pin_unlocked(dapm, "Analog power");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  585  	//snd_soc_dapm_force_enable_pin_unlocked(dapm, "Mic Bias");
822257661031fa Hans de Goede        2019-01-03  586  	snd_soc_dapm_sync_unlocked(dapm);
822257661031fa Hans de Goede        2019-01-03  587  	snd_soc_dapm_mutex_unlock(dapm);
822257661031fa Hans de Goede        2019-01-03  588  
822257661031fa Hans de Goede        2019-01-03  589  	msleep(20);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  590  	printk("Exit %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  591  }
822257661031fa Hans de Goede        2019-01-03  592  
822257661031fa Hans de Goede        2019-01-03  593  static void es8316_disable_micbias_for_mic_gnd_short_detect(
822257661031fa Hans de Goede        2019-01-03  594  	struct snd_soc_component *component)
822257661031fa Hans de Goede        2019-01-03  595  {
822257661031fa Hans de Goede        2019-01-03  596  	struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  597  	printk("Enter into %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  598  
822257661031fa Hans de Goede        2019-01-03  599  	snd_soc_dapm_mutex_lock(dapm);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  600  	//snd_soc_dapm_disable_pin_unlocked(dapm, "Mic Bias");
822257661031fa Hans de Goede        2019-01-03  601  	snd_soc_dapm_disable_pin_unlocked(dapm, "Analog power");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  602  	//snd_soc_dapm_disable_pin_unlocked(dapm, "Bias");
822257661031fa Hans de Goede        2019-01-03  603  	snd_soc_dapm_sync_unlocked(dapm);
822257661031fa Hans de Goede        2019-01-03  604  	snd_soc_dapm_mutex_unlock(dapm);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  605  	printk("Exit %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  606  }
822257661031fa Hans de Goede        2019-01-03  607  
822257661031fa Hans de Goede        2019-01-03  608  static irqreturn_t es8316_irq(int irq, void *data)
822257661031fa Hans de Goede        2019-01-03  609  {
822257661031fa Hans de Goede        2019-01-03  610  	struct es8316_priv *es8316 = data;
822257661031fa Hans de Goede        2019-01-03  611  	struct snd_soc_component *comp = es8316->component;
822257661031fa Hans de Goede        2019-01-03  612  	unsigned int flags;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  613  	struct snd_soc_dapm_context *dapm;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  614  	static int a=1;
822257661031fa Hans de Goede        2019-01-03  615  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  616  	printk("Enter into %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  617  	mutex_lock(&es8316->lock);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  618      	snd_soc_component_write(comp, ES8316_GPIO_DEBUNCE_INT_REG4E, 0xf0);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  619  	snd_soc_component_write(comp,0x01,0x7f);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  620  	msleep(500);	
822257661031fa Hans de Goede        2019-01-03  621  	regmap_read(es8316->regmap, ES8316_GPIO_FLAG, &flags);
822257661031fa Hans de Goede        2019-01-03  622  	if (flags == 0x00)
822257661031fa Hans de Goede        2019-01-03  623  		goto out; /* Powered-down / reset */
822257661031fa Hans de Goede        2019-01-03  624  
822257661031fa Hans de Goede        2019-01-03  625  	/* Catch spurious IRQ before set_jack is called */
822257661031fa Hans de Goede        2019-01-03  626  	if (!es8316->jack)
822257661031fa Hans de Goede        2019-01-03  627  		goto out;
822257661031fa Hans de Goede        2019-01-03  628  
0bbcedd6bb41b8 Paul Cercueil        2019-03-29  629  	if (es8316->jd_inverted)
0bbcedd6bb41b8 Paul Cercueil        2019-03-29  630  		flags ^= ES8316_GPIO_FLAG_HP_NOT_INSERTED;
0bbcedd6bb41b8 Paul Cercueil        2019-03-29  631  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  632  	//dapm = snd_soc_component_get_dapm(es8316->component);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  633  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  634  	if(a){
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  635  		//es8316_enable_micbias_for_mic_gnd_short_detect(comp);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  636  		//es8316_disable_micbias_for_mic_gnd_short_detect(comp);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  637  		a++;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30 @638  		if(a=5)
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  639  			a=0;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  640  		//
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  641  		//snd_soc_dapm_force_enable_pin(dapm,"");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  642  		//snd_soc_dapm_disable_pin(dapm, "MIC1");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  643  		//snd_soc_dapm_disable_pin(dapm, "MIC2");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  644  		
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  645  	}
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  646  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  647  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  648  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  649  	printk("%s, gpio flags %#04x\n", __func__, flags);
822257661031fa Hans de Goede        2019-01-03  650  	if (flags & ES8316_GPIO_FLAG_HP_NOT_INSERTED) {
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  651  		printk("%s, removed detected--1!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  652  		printk("%s, set pa enable to true!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  653          	gpiod_set_value_cansleep(es8316->pa_enable, true);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  654  		snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x20);
822257661031fa Hans de Goede        2019-01-03  655  		/* Jack removed, or spurious IRQ? */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  656  		//if (es8316->jack->status & SND_JACK_MICROPHONE)
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  657  		//	es8316_disable_micbias_for_mic_gnd_short_detect(comp);
822257661031fa Hans de Goede        2019-01-03  658  		
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  659  		if ((es8316->jack->status & SND_JACK_HEADPHONE)|a) {
822257661031fa Hans de Goede        2019-01-03  660  			snd_soc_jack_report(es8316->jack, 0,
822257661031fa Hans de Goede        2019-01-03  661  					    SND_JACK_HEADSET | SND_JACK_BTN_0);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  662  			printk("%s. jack unplugged\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  663  			//snd_soc_dapm_force_enable_pin(dapm, "MIC1");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  664  			//snd_soc_dapm_disable_pin(dapm, "MIC2");
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  665  			snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x20);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  666                 if(a){		
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  667  		snd_soc_jack_report(es8316->jack,
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  668  					    SND_JACK_HEADSET,
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  669  					    SND_JACK_HEADSET);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  670  		snd_soc_jack_report(es8316->jack, 0,
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  671  					    SND_JACK_HEADSET | SND_JACK_BTN_0);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  672  		snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x20);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  673  		}
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  674  
822257661031fa Hans de Goede        2019-01-03  675  	}
822257661031fa Hans de Goede        2019-01-03  676  	} else if (!(es8316->jack->status & SND_JACK_HEADPHONE)) {
822257661031fa Hans de Goede        2019-01-03  677  		/* Jack inserted, determine type */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  678          snd_soc_component_write(comp, ES8316_GPIO_DEBUNCE_INT_REG4E, 0xf2);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  679          snd_soc_component_write(comp, 0x0d, 0x00);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  680  		//es8316_enable_micbias_for_mic_gnd_short_detect(comp);
822257661031fa Hans de Goede        2019-01-03  681  		regmap_read(es8316->regmap, ES8316_GPIO_FLAG, &flags);
0bbcedd6bb41b8 Paul Cercueil        2019-03-29  682  		if (es8316->jd_inverted)
0bbcedd6bb41b8 Paul Cercueil        2019-03-29  683  			flags ^= ES8316_GPIO_FLAG_HP_NOT_INSERTED;
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  684  		printk("%s, gpio flags %#04x\n", __func__, flags);
822257661031fa Hans de Goede        2019-01-03  685  		if (flags & ES8316_GPIO_FLAG_HP_NOT_INSERTED) {
822257661031fa Hans de Goede        2019-01-03  686  			/* Jack unplugged underneath us */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  687  			printk("%s, Removal detected--2!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  688  			printk("%s, set pa enable to true!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  689          	gpiod_set_value_cansleep(es8316->pa_enable, true);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  690  			//es8316_disable_micbias_for_mic_gnd_short_detect(comp);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  691              snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x20);
822257661031fa Hans de Goede        2019-01-03  692  		} else if (flags & ES8316_GPIO_FLAG_GM_NOT_SHORTED) {
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  693  			printk("%s, headset detected!\n", __func__);
822257661031fa Hans de Goede        2019-01-03  694  			/* Open, headset */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  695  			printk("%s, set pa enable to false!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  696          	gpiod_set_value_cansleep(es8316->pa_enable, false);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  697  			snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x30);
822257661031fa Hans de Goede        2019-01-03  698  			snd_soc_jack_report(es8316->jack,
822257661031fa Hans de Goede        2019-01-03  699  					    SND_JACK_HEADSET,
822257661031fa Hans de Goede        2019-01-03  700  					    SND_JACK_HEADSET);
822257661031fa Hans de Goede        2019-01-03  701  			/* Keep mic-gnd-short detection on for button press */
822257661031fa Hans de Goede        2019-01-03  702  		} else {
822257661031fa Hans de Goede        2019-01-03  703  			/* Shorted, headphones */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  704  			printk("%s, headphone detected!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  705  			printk("%s, set pa enable to false!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  706  if(a)
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  707  	{snd_soc_jack_report(es8316->jack, 0, SND_JACK_HEADSET | SND_JACK_BTN_0);}
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  708          		gpiod_set_value_cansleep(es8316->pa_enable, false);
822257661031fa Hans de Goede        2019-01-03  709  			snd_soc_jack_report(es8316->jack,
822257661031fa Hans de Goede        2019-01-03  710  					    SND_JACK_HEADPHONE,
822257661031fa Hans de Goede        2019-01-03  711  					    SND_JACK_HEADSET);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  712  			snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x20);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  713  
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  714  
822257661031fa Hans de Goede        2019-01-03  715  			/* No longer need mic-gnd-short detection */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  716  			//es8316_disable_micbias_for_mic_gnd_short_detect(comp);
822257661031fa Hans de Goede        2019-01-03  717  		}
822257661031fa Hans de Goede        2019-01-03  718  	} else if (es8316->jack->status & SND_JACK_MICROPHONE) {
822257661031fa Hans de Goede        2019-01-03  719  		/* Interrupt while jack inserted, report button state */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  720  		printk("%s, button detected!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  721  		printk("%s, set pa enable to false!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  722          gpiod_set_value_cansleep(es8316->pa_enable, false);		
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  723  	snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x30);
822257661031fa Hans de Goede        2019-01-03  724  	}else{
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  725          if (flags & ES8316_GPIO_FLAG_GM_NOT_SHORTED) {
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  726  			printk("%s, headset detected!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  727  			/* Open, headset */
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  728  			printk("%s, set pa enable to false!\n", __func__);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  729          	gpiod_set_value_cansleep(es8316->pa_enable, false);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  730  			snd_soc_component_write(comp,ES8316_ADC_PDN_LINSEL,0x30);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  731  if(a)
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  732  	{snd_soc_jack_report(es8316->jack, 0, SND_JACK_HEADSET);}
822257661031fa Hans de Goede        2019-01-03  733  			snd_soc_jack_report(es8316->jack,
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  734  					    SND_JACK_HEADSET,
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  735  					    SND_JACK_HEADSET);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  736              //es8316_disable_micbias_for_mic_gnd_short_detect(comp);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  737  
822257661031fa Hans de Goede        2019-01-03  738          }
822257661031fa Hans de Goede        2019-01-03  739      }
822257661031fa Hans de Goede        2019-01-03  740  
822257661031fa Hans de Goede        2019-01-03  741  out:
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  742      //snd_soc_dapm_sync(dapm);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  743      mdelay(5);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  744      snd_soc_component_write(comp, ES8316_GPIO_DEBUNCE_INT_REG4E, 0xf2);
822257661031fa Hans de Goede        2019-01-03  745  	mutex_unlock(&es8316->lock);
aa983d82765d8f Pierre-Louis Bossart 2021-07-30  746  	printk("Exit %s\n", __func__);
822257661031fa Hans de Goede        2019-01-03  747  	return IRQ_HANDLED;
822257661031fa Hans de Goede        2019-01-03  748  }
822257661031fa Hans de Goede        2019-01-03  749  

:::::: The code at line 457 was first introduced by commit
:::::: ebe02a5b9ef05e3b812af3d628cdf6206d9ba610 ASoC: es8316: support fixed and variable both clock rates

:::::: TO: Katsuhiro Suzuki <katsuhiro@katsuster.net>
:::::: CC: Mark Brown <broonie@kernel.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 39220 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-07-30 21:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-30 21:02 [plbossart-sound:fix/glk-chuwi-Hi10x 4/7] sound/soc/codecs/es8316.c:457:2: warning: this 'if' clause does not guard kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.