[PATCH] ASoC: tlv320aic31xx: Fix jack detection after suspend
kernel test robot
lkp at intel.com
Sat Jul 24 02:21:21 CEST 2021
Hi Mark,
I love your patch! Yet something to improve:
[auto build test ERROR on asoc/for-next]
[also build test ERROR on v5.14-rc2 next-20210723]
[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]
url: https://github.com/0day-ci/linux/commits/Mark-Brown/ASoC-tlv320aic31xx-Fix-jack-detection-after-suspend/20210724-020429
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: x86_64-randconfig-c022-20210723 (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/0day-ci/linux/commit/fd727e56e60de06a923175ce246e965e27c6df88
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Mark-Brown/ASoC-tlv320aic31xx-Fix-jack-detection-after-suspend/20210724-020429
git checkout fd727e56e60de06a923175ce246e965e27c6df88
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
sound/soc/codecs/tlv320aic31xx.c: In function 'aic31xx_power_on':
>> sound/soc/codecs/tlv320aic31xx.c:1264:2: error: implicit declaration of function 'aic31xx_set_jack'; did you mean 'aic31xx_set_dai_fmt'? [-Werror=implicit-function-declaration]
1264 | aic31xx_set_jack(component, aic31xx->jack, NULL);
| ^~~~~~~~~~~~~~~~
| aic31xx_set_dai_fmt
sound/soc/codecs/tlv320aic31xx.c: At top level:
>> sound/soc/codecs/tlv320aic31xx.c:1312:12: error: static declaration of 'aic31xx_set_jack' follows non-static declaration
1312 | static int aic31xx_set_jack(struct snd_soc_component *component,
| ^~~~~~~~~~~~~~~~
sound/soc/codecs/tlv320aic31xx.c:1264:2: note: previous implicit declaration of 'aic31xx_set_jack' was here
1264 | aic31xx_set_jack(component, aic31xx->jack, NULL);
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +1264 sound/soc/codecs/tlv320aic31xx.c
1231
1232 static int aic31xx_power_on(struct snd_soc_component *component)
1233 {
1234 struct aic31xx_priv *aic31xx = snd_soc_component_get_drvdata(component);
1235 int ret;
1236
1237 ret = regulator_bulk_enable(ARRAY_SIZE(aic31xx->supplies),
1238 aic31xx->supplies);
1239 if (ret)
1240 return ret;
1241
1242 regcache_cache_only(aic31xx->regmap, false);
1243
1244 /* Reset device registers for a consistent power-on like state */
1245 ret = aic31xx_reset(aic31xx);
1246 if (ret < 0)
1247 dev_err(aic31xx->dev, "Could not reset device: %d\n", ret);
1248
1249 ret = regcache_sync(aic31xx->regmap);
1250 if (ret) {
1251 dev_err(component->dev,
1252 "Failed to restore cache: %d\n", ret);
1253 regcache_cache_only(aic31xx->regmap, true);
1254 regulator_bulk_disable(ARRAY_SIZE(aic31xx->supplies),
1255 aic31xx->supplies);
1256 return ret;
1257 }
1258
1259 /*
1260 * The jack detection configuration is in the same register
1261 * that is used to report jack detect status so is volatile
1262 * and not covered by the cache sync, restore it separately.
1263 */
> 1264 aic31xx_set_jack(component, aic31xx->jack, NULL);
1265
1266 return 0;
1267 }
1268
1269 static void aic31xx_power_off(struct snd_soc_component *component)
1270 {
1271 struct aic31xx_priv *aic31xx = snd_soc_component_get_drvdata(component);
1272
1273 regcache_cache_only(aic31xx->regmap, true);
1274 regulator_bulk_disable(ARRAY_SIZE(aic31xx->supplies),
1275 aic31xx->supplies);
1276 }
1277
1278 static int aic31xx_set_bias_level(struct snd_soc_component *component,
1279 enum snd_soc_bias_level level)
1280 {
1281 dev_dbg(component->dev, "## %s: %d -> %d\n", __func__,
1282 snd_soc_component_get_bias_level(component), level);
1283
1284 switch (level) {
1285 case SND_SOC_BIAS_ON:
1286 break;
1287 case SND_SOC_BIAS_PREPARE:
1288 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY)
1289 aic31xx_clk_on(component);
1290 break;
1291 case SND_SOC_BIAS_STANDBY:
1292 switch (snd_soc_component_get_bias_level(component)) {
1293 case SND_SOC_BIAS_OFF:
1294 aic31xx_power_on(component);
1295 break;
1296 case SND_SOC_BIAS_PREPARE:
1297 aic31xx_clk_off(component);
1298 break;
1299 default:
1300 BUG();
1301 }
1302 break;
1303 case SND_SOC_BIAS_OFF:
1304 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY)
1305 aic31xx_power_off(component);
1306 break;
1307 }
1308
1309 return 0;
1310 }
1311
> 1312 static int aic31xx_set_jack(struct snd_soc_component *component,
1313 struct snd_soc_jack *jack, void *data)
1314 {
1315 struct aic31xx_priv *aic31xx = snd_soc_component_get_drvdata(component);
1316
1317 aic31xx->jack = jack;
1318
1319 /* Enable/Disable jack detection */
1320 regmap_write(aic31xx->regmap, AIC31XX_HSDETECT,
1321 jack ? AIC31XX_HSD_ENABLE : 0);
1322
1323 return 0;
1324 }
1325
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 32926 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20210724/7d0aea74/attachment-0001.gz>
More information about the Alsa-devel
mailing list