ASoC: Intel: catpt: avoid type mismatch in dev_dbg() format
authorArnd Bergmann <arnd@arndb.de>
Tue, 29 Apr 2025 07:35:19 +0000 (09:35 +0200)
committerMark Brown <broonie@kernel.org>
Wed, 30 Apr 2025 00:38:11 +0000 (09:38 +0900)
Depending on the architecture __ffs() returns either an 'unsigned long'
or 'unsigned int' result. Compile-testing this driver on targets that
use the latter produces a warning:

sound/soc/intel/catpt/dsp.c: In function 'catpt_dsp_set_srampge':
sound/soc/intel/catpt/dsp.c:181:44: error: format '%ld' expects argument of type 'long int', but argument 4 has type 'u32' {aka 'unsigned int'} [-Werror=format=]
  181 |                         dev_dbg(cdev->dev, "sanitize block %ld: off 0x%08x\n",
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Change the type of the local variable to match the format string and
avoid the warning on any architecture.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20250429073545.3558494-1-arnd@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/catpt/dsp.c

index 5993819cc58a26082df9aef67b5cc4d19dc981e1..008a20a2acbda72f39c8231633198b9bd7b0c007 100644 (file)
@@ -156,7 +156,7 @@ static void catpt_dsp_set_srampge(struct catpt_dev *cdev, struct resource *sram,
 {
        unsigned long old;
        u32 off = sram->start;
-       u32 b = __ffs(mask);
+       unsigned long b = __ffs(mask);
 
        old = catpt_readl_pci(cdev, VDRTCTL0) & mask;
        dev_dbg(cdev->dev, "SRAMPGE [0x%08lx] 0x%08lx -> 0x%08lx",