aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorVictor Kamensky <victor.kamensky@linaro.org>2013-09-29 21:19:14 -0700
committerGary S. Robertson <gary.robertson@linaro.org>2015-06-17 13:55:41 -0500
commitc20ccc94ce505f3162cc86e826e1ea98702e2465 (patch)
treec6478ef2493ca7668fd46cb0970a52a5a7b08ccf /drivers/tty
parent890793221cad693de4873f646dc2f2c5577833a4 (diff)
exynos: driver raw read and write endian fix
Need to use endian neutral functions to read/write LE h/w registers. I.e instead of __raw_read[lw] and _raw_write[lw] functions code need to use read[lw]_relaxed and write[lw]_relaxed functions. If the first just read/write register with memory barrier, the second will byteswap it if host operates in BE mode. This patch covers drivers used by arndale board where all changes are trivial, sed like replacement of __raw_xxx functions with xxx_relaxed variant. Literally this sed program was used to make the change: s|__raw_readl|readl_relaxed|g s|__raw_writel|writel_relaxed|g s|__raw_readw|readw_relaxed|g s|__raw_writew|writew_relaxed|g Original patch signed-by: Victor Kamensky <victor.kamensky@linaro.org> Original patch signed-by: Anders Roxell <anders.roxell@linaro.org> Merged into linux v3.18.11 by Gary S. Robertson Conflicts: arch/arm/mach-exynos/platsmp.c Conflicts: arch/arm/mach-exynos/common.c arch/arm/mach-exynos/cpuidle.c arch/arm/mach-exynos/hotplug.c arch/arm/mach-exynos/include/mach/pm-core.h arch/arm/mach-exynos/platsmp.c arch/arm/mach-exynos/pm.c arch/arm/mach-exynos/pm_domains.c arch/arm/mach-exynos/pmu.c arch/arm/plat-samsung/pm.c drivers/clk/samsung/clk-pll.c drivers/clk/samsung/clk.c drivers/clocksource/exynos_mct.c drivers/cpufreq/exynos4210-cpufreq.c drivers/cpufreq/exynos4x12-cpufreq.c drivers/cpufreq/exynos5250-cpufreq.c drivers/cpufreq/exynos5440-cpufreq.c drivers/gpio/gpio-samsung.c drivers/thermal/samsung/exynos_tmu.c Signed-off-by: Gary S. Robertson <gary.robertson@linaro.org>
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/samsung.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/tty/serial/samsung.h b/drivers/tty/serial/samsung.h
index eb071dd19b2d..e86249605e76 100644
--- a/drivers/tty/serial/samsung.h
+++ b/drivers/tty/serial/samsung.h
@@ -75,9 +75,9 @@ struct s3c24xx_uart_port {
((unsigned long *)(unsigned long)((port)->membase + (reg)))
#define rd_regb(port, reg) (__raw_readb(portaddr(port, reg)))
-#define rd_regl(port, reg) (__raw_readl(portaddr(port, reg)))
+#define rd_regl(port, reg) (readl_relaxed(portaddr(port, reg)))
#define wr_regb(port, reg, val) __raw_writeb(val, portaddr(port, reg))
-#define wr_regl(port, reg, val) __raw_writel(val, portaddr(port, reg))
+#define wr_regl(port, reg, val) writel_relaxed(val, portaddr(port, reg))
#endif