Commit c4993272 authored by Shengjiu Wang's avatar Shengjiu Wang Committed by Mark Brown

ASoC: fsl_asrc: force cast the asrc_format type

Fix sparse warning:
sound/soc/fsl/fsl_asrc.c:1177:60: sparse: warning: incorrect type in argument 3 (different base types)
sound/soc/fsl/fsl_asrc.c:1177:60: sparse:    expected unsigned int [usertype] *out_value
sound/soc/fsl/fsl_asrc.c:1177:60: sparse:    got restricted snd_pcm_format_t *
sound/soc/fsl/fsl_asrc.c:1200:47: sparse: warning: restricted snd_pcm_format_t degrades to integer

Fixes: 4520af41 ("ASoC: fsl_asrc: Support new property fsl,asrc-format")
Signed-off-by: default avatarShengjiu Wang <shengjiu.wang@nxp.com>
Link: https://lore.kernel.org/r/1658399393-28777-3-git-send-email-shengjiu.wang@nxp.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent b17079d3
...@@ -1066,6 +1066,7 @@ static int fsl_asrc_probe(struct platform_device *pdev) ...@@ -1066,6 +1066,7 @@ static int fsl_asrc_probe(struct platform_device *pdev)
struct resource *res; struct resource *res;
void __iomem *regs; void __iomem *regs;
int irq, ret, i; int irq, ret, i;
u32 asrc_fmt = 0;
u32 map_idx; u32 map_idx;
char tmp[16]; char tmp[16];
u32 width; u32 width;
...@@ -1174,7 +1175,8 @@ static int fsl_asrc_probe(struct platform_device *pdev) ...@@ -1174,7 +1175,8 @@ static int fsl_asrc_probe(struct platform_device *pdev)
return ret; return ret;
} }
ret = of_property_read_u32(np, "fsl,asrc-format", &asrc->asrc_format); ret = of_property_read_u32(np, "fsl,asrc-format", &asrc_fmt);
asrc->asrc_format = (__force snd_pcm_format_t)asrc_fmt;
if (ret) { if (ret) {
ret = of_property_read_u32(np, "fsl,asrc-width", &width); ret = of_property_read_u32(np, "fsl,asrc-width", &width);
if (ret) { if (ret) {
...@@ -1197,7 +1199,7 @@ static int fsl_asrc_probe(struct platform_device *pdev) ...@@ -1197,7 +1199,7 @@ static int fsl_asrc_probe(struct platform_device *pdev)
} }
} }
if (!(FSL_ASRC_FORMATS & (1ULL << asrc->asrc_format))) { if (!(FSL_ASRC_FORMATS & pcm_format_to_bits(asrc->asrc_format))) {
dev_warn(&pdev->dev, "unsupported width, use default S24_LE\n"); dev_warn(&pdev->dev, "unsupported width, use default S24_LE\n");
asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE; asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment