summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Markowski <bartosz.markowski@tieto.com>2012-02-29 15:14:51 +0100
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:06:42 +0200
commitf3a31229c12f9588a709ce214696cf8dbefdc88c (patch)
tree93e71ae0332dd7e50d19a2c0bdadff11de155916
parent561cefca24c66af926b3aa5be69ab99c10e9dfac (diff)
cw1200: Adds 4byte alignment for 16bit read/writes
This is moreless workaround for mmci 4byte alignment restrictions. ST-Ericsson ID: 373107 ST-Ericsson FOSS-OUT ID: NA Change-Id: Ie4ba4bb9f01109599164fc3ef35aee1a8f0dbbc4 Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/39076 Reviewed-by: QATOOLS
-rw-r--r--drivers/staging/cw1200/bh.c2
-rw-r--r--drivers/staging/cw1200/hwio.h9
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/staging/cw1200/bh.c b/drivers/staging/cw1200/bh.c
index 051cb97df00..c4a880a06a1 100644
--- a/drivers/staging/cw1200/bh.c
+++ b/drivers/staging/cw1200/bh.c
@@ -265,7 +265,7 @@ static int cw1200_bh(void *arg)
int tx_burst;
int rx_burst = 0;
long status;
- u8 dummy;
+ u32 dummy;
for (;;) {
if (!priv->hw_bufs_used
diff --git a/drivers/staging/cw1200/hwio.h b/drivers/staging/cw1200/hwio.h
index 427b75e0523..25c8f6b4c28 100644
--- a/drivers/staging/cw1200/hwio.h
+++ b/drivers/staging/cw1200/hwio.h
@@ -177,13 +177,18 @@ int cw1200_reg_write(struct cw1200_common *priv, u16 addr,
static inline int cw1200_reg_read_16(struct cw1200_common *priv,
u16 addr, u16 *val)
{
- return cw1200_reg_read(priv, addr, val, sizeof(val));
+ u32 bigVal;
+ int ret;
+ ret = cw1200_reg_read(priv, addr, &bigVal, sizeof(bigVal));
+ *val = (u16)bigVal;
+ return ret;
}
static inline int cw1200_reg_write_16(struct cw1200_common *priv,
u16 addr, u16 val)
{
- return cw1200_reg_write(priv, addr, &val, sizeof(val));
+ u32 bigVal = (u32)val;
+ return cw1200_reg_write(priv, addr, &bigVal, sizeof(bigVal));
}
static inline int cw1200_reg_read_32(struct cw1200_common *priv,