[alsa-devel] [PATCH 2/2] ASoC: codec: wm8960: Relax bit clock computation when using PLL

Arnd Bergmann arnd at arndb.de
Fri Apr 21 16:44:25 CEST 2017


On Fri, Apr 21, 2017 at 3:07 PM, Daniel Baluta <daniel.baluta at nxp.com> wrote:
> Bitclk is derived from sysclk using bclk_divs.
> Sysclk can be derived in two ways:
>         (1) directly from MLCK
>         (2) MCLK via PLL
>
> Commit 3c01b9ee2ab9d0d ("ASoC: codec: wm8960: Relax bit clock
> computation")
> relaxed bitclk computation when sysclk is directly derived from MCLK.
>
> Lets do the same thing when sysclk is derived via PLL.
>
> Signed-off-by: Daniel Baluta <daniel.baluta at nxp.com>
> ---
> Here, I forced the following harmless initialization:
>
>         *sysclk_idx = *dac_idx = *bclk_idx = -1;
>
> otherwise I would trigger a gcc false positive warning:
>
> sound/soc/codecs/wm8960.c: In function 'wm8960_configure_clocking':
> sound/soc/codecs/wm8960.c:810:46: warning: 'j' may be used uninitialized
> in this function [-Wmaybe-uninitialized]
>   snd_soc_update_bits(codec, WM8960_CLOCK1, 0x7 << 6, j << 6);
>                                             ~~^~~~
> sound/soc/codecs/wm8960.c:806:44: warning: 'i' may be used uninitialized
> in this function [-Wmaybe-uninitialized]
> snd_soc_update_bits(codec, WM8960_CLOCK1, 3 << 1, i << 1);
>                                           ~~^~~~

I saw the same warning earlier, but it was gone after the rework
I posted the other day. Please try if that works for you as well, I think
that would be better than a bogus initialization.

       Arnd


More information about the Alsa-devel mailing list