The virt ctrl register seems to be native endian, currently this driver
uses writel(), which works by luck because its currently broken on m68k.

Use __raw_writel() instead to avoid breaking this driver when the
endianness of writel() is fixed.

Acked-by: Kuan-Wei Chiu <[email protected]>
Reviewed-by: Angelo Dureghello <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Signed-off-by: Daniel Palmer <[email protected]>
---
 drivers/sysreset/sysreset_qemu_virt_ctrl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/sysreset/sysreset_qemu_virt_ctrl.c 
b/drivers/sysreset/sysreset_qemu_virt_ctrl.c
index 61b38d507fc5..ce15e776f8fa 100644
--- a/drivers/sysreset/sysreset_qemu_virt_ctrl.c
+++ b/drivers/sysreset/sysreset_qemu_virt_ctrl.c
@@ -40,7 +40,7 @@ static int qemu_virt_ctrl_request(struct udevice *dev, enum 
sysreset_t type)
                return -EPROTONOSUPPORT;
        }
 
-       writel(val, reg);
+       __raw_writel(val, reg);
 
        return -EINPROGRESS;
 }
-- 
2.53.0

Reply via email to