powerpc/fsl: Fix mfpmr() asm constraint error
authorMichael Ellerman <mpe@ellerman.id.au>
Wed, 6 Mar 2024 13:08:30 +0000 (00:08 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 6 Mar 2024 13:13:28 +0000 (00:13 +1100)
mfpmr() needs to be marked always inline, otherwise the compiler will
complain that the rn argument can't be passed to the asm block as an
integer:

  arch/powerpc/include/asm/reg_fsl_emb.h:18:9: warning: 'asm' operand 1 probably does not match constraints
      18 |         asm (".machine push; "
        |         ^~~
  arch/powerpc/include/asm/reg_fsl_emb.h:18:9: error: impossible constraint in 'asm'

Mark mtpmr() always inline also to avoid any future problems with it.

Fixes: f01dbd73ccf1 ("powerpc/fsl: Modernise mt/mfpmr")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202403051835.iqLGz996-lkp@intel.com/
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/reg_fsl_emb.h

index b0563c30b06216a19c978291bf648ab8c6bfbb9d..9893d2001b6801db5b53d802454162d75748cbcf 100644 (file)
@@ -11,7 +11,7 @@
 
 #ifndef __ASSEMBLY__
 /* Performance Monitor Registers */
-static inline unsigned int mfpmr(unsigned int rn)
+static __always_inline unsigned int mfpmr(unsigned int rn)
 {
        unsigned int rval;
 
@@ -24,7 +24,7 @@ static inline unsigned int mfpmr(unsigned int rn)
        return rval;
 }
 
-static inline void mtpmr(unsigned int rn, unsigned int val)
+static __always_inline void mtpmr(unsigned int rn, unsigned int val)
 {
        asm (".machine push; "
             ".machine e300; "