diff options
author | Juergen Beisert <jbe@pengutronix.de> | 2013-05-08 14:21:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-05-08 23:24:50 +0200 |
commit | 6a5e4f0c89d1ef818eee6ba87aab6dd6f1c8f0e4 (patch) | |
tree | 26bdeb2ceed2ca1a3bea6367c692af0a5961b79b | |
parent | a7ae099b365295202c2ce02b396e1d9c79a13c67 (diff) | |
download | barebox-6a5e4f0c89d1ef818eee6ba87aab6dd6f1c8f0e4.tar.gz barebox-6a5e4f0c89d1ef818eee6ba87aab6dd6f1c8f0e4.tar.xz |
MCI/MXS: fix signed/unsigned mismatch
Using the MXS MCI driver with an eight bit capable eMMC results into the
'devinfo' message the interface uses '0' bits for data transfer:
barebox:/ devinfo mxs_mci0
resources:
num : 0
start : 0x80034000
size : 0x00002000
driver: mxs_mci
bus: platform
Interface
Min. bus clock: 1476 Hz
Max. bus clock: 48000000 Hz
Current bus clock: 24000000 Hz
Bus width: 0 bit
The eight bit interface width is stored internally as value '2'. And a two bit
'2' ends up into 0xfffffffe when used as an array index. Using an unsigned
field instead fixes this issue:
barebox:/ devinfo mxs_mci0
resources:
num : 0
start : 0x80034000
size : 0x00002000
driver: mxs_mci
bus: platform
Interface
Min. bus clock: 1476 Hz
Max. bus clock: 48000000 Hz
Current bus clock: 24000000 Hz
Bus width: 8 bit
Signed-off-by: Juergen Beisert <jbe@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | drivers/mci/mxs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mci/mxs.c b/drivers/mci/mxs.c index c15461cf40..9dee863aaf 100644 --- a/drivers/mci/mxs.c +++ b/drivers/mci/mxs.c @@ -55,7 +55,7 @@ struct mxs_mci_host { unsigned f_min; unsigned f_max; #endif - int bus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ + unsigned bus_width:2; /* 0 = 1 bit, 1 = 4 bit, 2 = 8 bit */ }; #define to_mxs_mci(mxs) container_of(mxs, struct mxs_mci_host, host) |