• Nathan Chancellor's avatar
    ASoC: fsl: lpc3xxx-i2s: Include bitfield.h for FIELD_PREP · f1afb360
    Nathan Chancellor authored
    bitfield.h is not explicitly included but it is required for FIELD_PREP
    to be expanded by the preprocessor. If it is not implicitly included,
    there will be a compiler error (as seen with ARCH=hexagon allmodconfig):
    
      sound/soc/fsl/lpc3xxx-i2s.c:169:10: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        169 |                 tmp |= LPC3XXX_I2S_WW8 | LPC3XXX_I2S_WS_HP(LPC3XXX_I2S_WW8_HP);
            |                        ^
      sound/soc/fsl/lpc3xxx-i2s.h:42:30: note: expanded from macro 'LPC3XXX_I2S_WW8'
         42 | #define LPC3XXX_I2S_WW8      FIELD_PREP(0x3, 0) /* Word width is 8bit */
            |                              ^
      sound/soc/fsl/lpc3xxx-i2s.c:205:34: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        205 |                              LPC3XXX_I2S_DMA1_TX_EN | LPC3XXX_I2S_DMA0_TX_DEPTH(4));
            |                                                       ^
      sound/soc/fsl/lpc3xxx-i2s.h:65:38: note: expanded from macro 'LPC3XXX_I2S_DMA0_TX_DEPTH'
         65 | #define LPC3XXX_I2S_DMA0_TX_DEPTH(s) FIELD_PREP(0xF0000, s) /* Set the DMA1 TX Request level */
            |                                      ^
      sound/soc/fsl/lpc3xxx-i2s.c:210:34: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
        210 |                              LPC3XXX_I2S_DMA0_RX_EN | LPC3XXX_I2S_DMA1_RX_DEPTH(4));
            |                                                       ^
      sound/soc/fsl/lpc3xxx-i2s.h:70:38: note: expanded from macro 'LPC3XXX_I2S_DMA1_RX_DEPTH'
         70 | #define LPC3XXX_I2S_DMA1_RX_DEPTH(s) FIELD_PREP(0x700, s) /* Set the DMA1 RX Request level */
            |                                      ^
    
    Include bitfield.h explicitly, so that FIELD_PREP is always expanded,
    clearing up the compiler error.
    
    Fixes: 0959de65 ("ASoC: fsl: Add i2s and pcm drivers for LPC32xx CPUs")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Link: https://patch.msgid.link/20240701-lpc32xx-asoc-fix-include-for-field_prep-v1-1-0c5d7f71921b@kernel.orgSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    f1afb360
lpc3xxx-i2s.h 3.29 KB