[alsa-devel] [bug report] ASoC: cs35l34: Initial commit of the cs35l34 CODEC driver.
Dan Carpenter
dan.carpenter at oracle.com
Thu Nov 10 13:54:02 CET 2016
Hello Paul Handrigan,
The patch c1124c09e103: "ASoC: cs35l34: Initial commit of the cs35l34
CODEC driver." from Oct 12, 2016, leads to the following static
checker warning:
sound/soc/codecs/cs35l34.c:613 cs35l34_dai_set_sysclk()
warn: odd binop '0xffffffffffffffef & 0x0'
sound/soc/codecs/cs35l34.c
604 static int cs35l34_dai_set_sysclk(struct snd_soc_dai *dai,
605 int clk_id, unsigned int freq, int dir)
606 {
607 struct snd_soc_codec *codec = dai->codec;
608 struct cs35l34_private *cs35l34 = snd_soc_codec_get_drvdata(codec);
609 unsigned int value;
610
611 switch (freq) {
612 case CS35L34_MCLK_5644:
613 value = ~CS35L34_MCLK_DIV & CS35L34_MCLK_RATE_5P6448;
^^^^^^^^^^^^^^^^^^^^^^^^
This is zero. Maybe intentional? If so just send a reply to this email
and I won't bother you again.
614 cs35l34->mclk_int = freq;
615 break;
616 case CS35L34_MCLK_6:
617 value = ~CS35L34_MCLK_DIV & CS35L34_MCLK_RATE_6P0000;
618 cs35l34->mclk_int = freq;
619 break;
620 case CS35L34_MCLK_6144:
621 value = ~CS35L34_MCLK_DIV & CS35L34_MCLK_RATE_6P1440;
622 cs35l34->mclk_int = freq;
623 break;
624 case CS35L34_MCLK_11289:
625 value = CS35L34_MCLK_DIV | CS35L34_MCLK_RATE_5P6448;
626 cs35l34->mclk_int = freq / 2;
627 break;
628 case CS35L34_MCLK_12:
629 value = CS35L34_MCLK_DIV | CS35L34_MCLK_RATE_6P0000;
630 cs35l34->mclk_int = freq / 2;
631 break;
632 case CS35L34_MCLK_12288:
633 value = CS35L34_MCLK_DIV | CS35L34_MCLK_RATE_6P1440;
634 cs35l34->mclk_int = freq / 2;
635 break;
636 default:
637 dev_err(codec->dev, "ERROR: Invalid Frequency %d\n", freq);
638 cs35l34->mclk_int = 0;
639 return -EINVAL;
640 }
641 regmap_update_bits(cs35l34->regmap, CS35L34_MCLK_CTL,
642 CS35L34_MCLK_DIV | CS35L34_MCLK_RATE_MASK, value);
643 return 0;
644 }
regards,
dan carpenter
More information about the Alsa-devel
mailing list