tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.14
head: 972c48e87ad66b0893810f0b2d839fcd77e5e31e
commit: 972c48e87ad66b0893810f0b2d839fcd77e5e31e [14/14] CHROMIUM: ASoC: cs42l42: Switch
to SCLK in IRQ
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 7.5.0
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
git remote add chrome-os
https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-4.14
git checkout 972c48e87ad66b0893810f0b2d839fcd77e5e31e
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross W=1 ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/io_mm.h:27:0,
from arch/m68k/include/asm/io.h:5,
from include/linux/io.h:25,
from include/linux/irq.h:25,
from include/linux/gpio/driver.h:7,
from include/asm-generic/gpio.h:13,
from include/linux/gpio.h:52,
from sound/soc/codecs/cs42l42.c:23:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:97:7: warning: variable '__w' set but not used
[-Wunused-but-set-variable]
({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
^
arch/m68k/include/asm/raw_io.h:413:3: note: in expansion of macro 'rom_out_8'
rom_out_8(port, *buf++);
^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:100:8: warning: variable '__w' set but not used
[-Wunused-but-set-variable]
({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
^
arch/m68k/include/asm/raw_io.h:431:3: note: in expansion of macro
'rom_out_be16'
rom_out_be16(port, *buf++);
^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:104:8: warning: variable '__w' set but not used
[-Wunused-but-set-variable]
({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
^
arch/m68k/include/asm/raw_io.h:449:3: note: in expansion of macro
'rom_out_le16'
rom_out_le16(port, *buf++);
^~~~~~~~~~~~
sound/soc/codecs/cs42l42.c: At top level:
> sound/soc/codecs/cs42l42.c:936:5: warning: no previous prototype
for 'cs42l42_trigger' [-Wmissing-prototypes]
int cs42l42_trigger(struct
snd_pcm_substream * substream, int cmd, struct snd_soc_dai *dai)
^~~~~~~~~~~~~~~
sound/soc/codecs/cs42l42.c: In function 'cs42l42_trigger':
> sound/soc/codecs/cs42l42.c:941:6: warning: variable 'ret'
set but not used [-Wunused-but-set-variable]
int ret;
^~~
sound/soc/codecs/cs42l42.c: In function 'cs42l42_handle_device_data':
sound/soc/codecs/cs42l42.c:1805:12: warning: comparison of unsigned expression >= 0
is always true [-Wtype-limits]
if ((val >= CS42L42_BTN_DET_INIT_DBNCE_MIN) &&
^~
sound/soc/codecs/cs42l42.c:1822:12: warning: comparison of unsigned expression >= 0
is always true [-Wtype-limits]
if ((val >= CS42L42_BTN_DET_EVENT_DBNCE_MIN) &&
^~
sound/soc/codecs/cs42l42.c:1840:23: warning: comparison of unsigned expression >= 0
is always true [-Wtype-limits]
if ((thresholds[i] >= CS42L42_HS_DET_LEVEL_MIN) &&
^~
vim +/cs42l42_trigger +936 sound/soc/codecs/cs42l42.c
935
936 int cs42l42_trigger(struct snd_pcm_substream * substream, int
cmd, struct snd_soc_dai *dai)
937 {
938 struct snd_soc_component *component = dai->component;
939 struct cs42l42_private *cs42l42 = snd_soc_component_get_drvdata(component);
940 unsigned int regval;
941 int ret;
942 unsigned int count = 0;
943 int streams = cs42l42->stream_use;
944
945 /* Count currently active streams */
946 while (streams) {
947 if(streams & 1)
948 ++count;
949 streams >>= 1;
950 }
951
952 dev_dbg(component->dev, "%s() cs42l42->stream_use=%08x, active
streams=%d\n",
953 __func__, cs42l42->stream_use, count);
954
955 regmap_read(cs42l42->regmap, CS42L42_PLL_LOCK_STATUS, ®val);
956
957 switch (cmd) {
958 case SNDRV_PCM_TRIGGER_START:
959 if (!regval)
960 snd_soc_component_update_bits(component, CS42L42_PLL_CTL1,
961 CS42L42_PLL_START_MASK, 1);
962 break;
963
964 case SNDRV_PCM_TRIGGER_STOP:
965 /* Last active stream, switching to SCO */
966 if (count == 1) {
967 dev_dbg(component->dev, "%s() Switching to SCO\n", __func__);
968
969 regmap_multi_reg_write(cs42l42->regmap, cs42l42_to_osc_seq,
970 ARRAY_SIZE(cs42l42_to_osc_seq));
971
972 snd_soc_component_update_bits(component, CS42L42_MCLK_SRC_SEL,
973 CS42L42_MCLK_SRC_SEL_MASK |
974 CS42L42_MCLKDIV_MASK,
975 (0 << CS42L42_MCLK_SRC_SEL_SHIFT) |
976 (0 << CS42L42_MCLKDIV_SHIFT));
977
978 ret = snd_soc_component_update_bits(component, CS42L42_PLL_CTL1,
979 CS42L42_PLL_START_MASK, 0);
980
981 /* PLL unlock delay 10ms*/
982 usleep_range(10000,12000);
983
984 regmap_read(cs42l42->regmap, CS42L42_PLL_LOCK_STATUS, ®val);
985 }
986 break;
987
988 default:
989 break;
990 }
991
992 cs42l42->pll_lock = regval;
993
994 return 0;
995 }
996
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org