diff options
author | Victor Kamensky <victor.kamensky@linaro.org> | 2014-04-15 13:37:46 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2014-05-08 10:09:53 -0400 |
commit | edfaf05c2fcb853fcf35f12aeb9c340f5913337f (patch) | |
tree | f3d0d7ca941855237953f65680932a8a433b0ed4 /arch/arm/mach-omap2/mux.c | |
parent | 89ca3b881987f5a4be4c5dbaa7f0df12bbdde2fd (diff) |
ARM: OMAP2+: raw read and write endian fix
All OMAP IP blocks expect LE data, but CPU may operate in BE mode.
Need to use endian neutral functions to read/write 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 simply reads/writes register, the second will byteswap
it if host operates in BE mode.
Changes are trivial sed like replacement of __raw_xxx functions
with xxx_relaxed variant.
Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/mux.c')
-rw-r--r-- | arch/arm/mach-omap2/mux.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 48094b58c88f..fd88edeb027f 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c | |||
@@ -70,18 +70,18 @@ struct omap_mux_partition *omap_mux_get(const char *name) | |||
70 | u16 omap_mux_read(struct omap_mux_partition *partition, u16 reg) | 70 | u16 omap_mux_read(struct omap_mux_partition *partition, u16 reg) |
71 | { | 71 | { |
72 | if (partition->flags & OMAP_MUX_REG_8BIT) | 72 | if (partition->flags & OMAP_MUX_REG_8BIT) |
73 | return __raw_readb(partition->base + reg); | 73 | return readb_relaxed(partition->base + reg); |
74 | else | 74 | else |
75 | return __raw_readw(partition->base + reg); | 75 | return readw_relaxed(partition->base + reg); |
76 | } | 76 | } |
77 | 77 | ||
78 | void omap_mux_write(struct omap_mux_partition *partition, u16 val, | 78 | void omap_mux_write(struct omap_mux_partition *partition, u16 val, |
79 | u16 reg) | 79 | u16 reg) |
80 | { | 80 | { |
81 | if (partition->flags & OMAP_MUX_REG_8BIT) | 81 | if (partition->flags & OMAP_MUX_REG_8BIT) |
82 | __raw_writeb(val, partition->base + reg); | 82 | writeb_relaxed(val, partition->base + reg); |
83 | else | 83 | else |
84 | __raw_writew(val, partition->base + reg); | 84 | writew_relaxed(val, partition->base + reg); |
85 | } | 85 | } |
86 | 86 | ||
87 | void omap_mux_write_array(struct omap_mux_partition *partition, | 87 | void omap_mux_write_array(struct omap_mux_partition *partition, |