ASoC: Intel: avs: Fix build error on arc, m68k and sparc
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Sun, 29 May 2022 14:12:50 +0000 (16:12 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 30 May 2022 14:08:33 +0000 (16:08 +0200)
On some platforms (i.e. arc, m68k and sparc) __fls returns an int (while
on most platforms it returns an unsigned long). This triggers a format
warning on these few platforms as the driver uses %ld to print a warning.

So explicitly cast the return value to unsigned long to make the warning
go away (and so fix allmodconfig build on the affected architectures).

Fixes: beed983621fb ("ASoC: Intel: avs: Machine board registration")
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20220529141250.1979827-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/avs/board_selection.c

index 80cb016..87f9c18 100644 (file)
@@ -326,7 +326,8 @@ static int avs_register_i2s_board(struct avs_dev *adev, struct snd_soc_acpi_mach
        num_ssps = adev->hw_cfg.i2s_caps.ctrl_count;
        if (fls(mach->mach_params.i2s_link_mask) > num_ssps) {
                dev_err(adev->dev, "Platform supports %d SSPs but board %s requires SSP%ld\n",
-                       num_ssps, mach->drv_name, __fls(mach->mach_params.i2s_link_mask));
+                       num_ssps, mach->drv_name,
+                       (unsigned long)__fls(mach->mach_params.i2s_link_mask));
                return -ENODEV;
        }