diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2016-06-14 09:13:41 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2016-06-14 09:13:41 +0200 |
commit | 6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e (patch) | |
tree | f91bbc3b151cd0bb3065fcfc1330ba393a83fd26 /drivers/mci | |
parent | 336dcea5a1f07885ce787a74b928604dd8e2645e (diff) | |
parent | ad741d94b31bcba922e69d1a325d50eaaccf0080 (diff) | |
download | barebox-6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e.tar.gz barebox-6bfb591cc11ddc297ac8dcb0fc4ecab310ee6b1e.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'drivers/mci')
-rw-r--r-- | drivers/mci/mci-core.c | 14 |
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; } |