board: keymile: common: fix qrio compilation for arm
authorAleksandar Gerasimovski <aleksandar.gerasimovski@hitachi-powergrids.com>
Wed, 13 Jan 2021 16:20:35 +0000 (16:20 +0000)
committerPriyanka Jain <priyanka.jain@nxp.com>
Mon, 8 Feb 2021 08:31:16 +0000 (14:01 +0530)
This patch is fixing qrio driver compilation for ARM architecture:
- It includes asm/io.h for in_/out_ access
- It use correct names for set/clear_bits as defined in linux/bitops.h

Signed-off-by: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachi-powergrids.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
board/keymile/common/qrio.c

index 06a4e67..d4e75f2 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <common.h>
+#include <asm/io.h>
 #include <linux/bitops.h>
 
 #include "common.h"
@@ -129,7 +130,7 @@ void qrio_prst(u8 bit, bool en, bool wden)
 
 void qrio_prstcfg(u8 bit, u8 mode)
 {
-       u32 prstcfg;
+       unsigned long prstcfg;
        u8 i;
        void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
 
@@ -137,9 +138,9 @@ void qrio_prstcfg(u8 bit, u8 mode)
 
        for (i = 0; i < 2; i++) {
                if (mode & (1 << i))
-                       set_bit(2 * bit + i, &prstcfg);
+                       __set_bit(2 * bit + i, &prstcfg);
                else
-                       clear_bit(2 * bit + i, &prstcfg);
+                       __clear_bit(2 * bit + i, &prstcfg);
        }
 
        out_be32(qrio_base + PRSTCFG_OFF, prstcfg);