ARM: SAMSUNG: Fixup usage of __raw IO in PM
authorBen Dooks <ben.dooks@codethink.co.uk>
Tue, 21 Jun 2016 10:20:27 +0000 (11:20 +0100)
committerKrzysztof Kozlowski <k.kozlowski@samsung.com>
Tue, 21 Jun 2016 11:26:33 +0000 (13:26 +0200)
Fix the use of __raw accesors in pm-common.c to use the _relaxed
variants to deal with any issues due to endian related fetches.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
arch/arm/plat-samsung/pm-common.c

index 515cd53..6534c3f 100644 (file)
@@ -31,7 +31,7 @@
 void s3c_pm_do_save(struct sleep_save *ptr, int count)
 {
        for (; count > 0; count--, ptr++) {
-               ptr->val = __raw_readl(ptr->reg);
+               ptr->val = readl_relaxed(ptr->reg);
                S3C_PMDBG("saved %p value %08lx\n", ptr->reg, ptr->val);
        }
 }
@@ -51,9 +51,9 @@ void s3c_pm_do_restore(const struct sleep_save *ptr, int count)
 {
        for (; count > 0; count--, ptr++) {
                pr_debug("restore %p (restore %08lx, was %08x)\n",
-                               ptr->reg, ptr->val, __raw_readl(ptr->reg));
+                               ptr->reg, ptr->val, readl_relaxed(ptr->reg));
 
-               __raw_writel(ptr->val, ptr->reg);
+               writel_relaxed(ptr->val, ptr->reg);
        }
 }
 
@@ -71,5 +71,5 @@ void s3c_pm_do_restore(const struct sleep_save *ptr, int count)
 void s3c_pm_do_restore_core(const struct sleep_save *ptr, int count)
 {
        for (; count > 0; count--, ptr++)
-               __raw_writel(ptr->val, ptr->reg);
+               writel_relaxed(ptr->val, ptr->reg);
 }