summaryrefslogtreecommitdiffstats
path: root/drivers/mci
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2016-06-14 09:13:41 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2016-06-14 09:13:41 +0200
commit6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e (patch)
treef91bbc3b151cd0bb3065fcfc1330ba393a83fd26 /drivers/mci
parent336dcea5a1f07885ce787a74b928604dd8e2645e (diff)
parentad741d94b31bcba922e69d1a325d50eaaccf0080 (diff)
downloadbarebox-6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e.tar.gz
barebox-6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e.tar.xz
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers/mci')
-rw-r--r--drivers/mci/mci-core.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index 59f66757d9..42dde06c3c 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c
@@ -949,14 +949,18 @@ out:
static char *mci_version_string(struct mci *mci)
{
- static char version[sizeof("x.xx")];
- unsigned major, minor;
+ static char version[sizeof("xx.xxx")];
+ unsigned major, minor, micro;
+ int n;
major = (mci->version >> 8) & 0xf;
- minor = mci->version & 0xff;
+ minor = (mci->version >> 4) & 0xf;
+ micro = mci->version & 0xf;
- /* Shift off last digit of minor if it's 0 */
- sprintf(version, "%u.%x", major, minor & 0xf ? minor : minor >> 4);
+ n = sprintf(version, "%u.%u", major, minor);
+ /* Omit zero micro versions */
+ if (micro)
+ sprintf(version + n, "%u", micro);
return version;
}