From b99cc27111be8d0732c3bb7b9f5ad3814904da38 Mon Sep 17 00:00:00 2001
From: Aleksandar Gerasimovski <aleksandar.gerasimovski@hitachi-powergrids.com>
Date: Wed, 13 Jan 2021 16:20:35 +0000
Subject: [PATCH] board: keymile: common: fix qrio compilation for arm
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

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 | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/board/keymile/common/qrio.c b/board/keymile/common/qrio.c
index 06a4e67881..d4e75f2850 100644
--- a/board/keymile/common/qrio.c
+++ b/board/keymile/common/qrio.c
@@ -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);
-- 
2.39.5