diff options
author | Victor Kamensky <victor.kamensky@linaro.org> | 2013-09-29 21:19:14 -0700 |
---|---|---|
committer | Gary S. Robertson <gary.robertson@linaro.org> | 2015-06-17 13:55:41 -0500 |
commit | c20ccc94ce505f3162cc86e826e1ea98702e2465 (patch) | |
tree | c6478ef2493ca7668fd46cb0970a52a5a7b08ccf /drivers/tty | |
parent | 890793221cad693de4873f646dc2f2c5577833a4 (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.h | 4 |
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 |