diff options
author | Anand Gadiyar <gadiyar@ti.com> | 2009-11-16 10:39:21 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 14:55:25 -0500 |
commit | 32c3b94e2b643bfeca5e48b0f7f0b81812c7a1d3 (patch) | |
tree | 8c868427abac6a9c8006cd2c44fa32ee164694ee /drivers/usb/musb/musb_core.c | |
parent | 32340d3f75dba732a0545173ac65aab6fc3d4952 (diff) |
USB: MUSB: save hardware revision at init
MUSB: save hardware revision at init
This can be used later to flag workarounds for issues affecting
particular revisions. Saving this at init avoids having to
read the HWVERS register multiple times in code.
While at it, use macros to extract the version information
instead of using hardcoded values.
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
Cc: Ajay Kumar Gupta <ajay.gupta@ti.com>
Acked-by: Felipe Balbi <felipe.balbi@nokia.com>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb/musb_core.c')
-rw-r--r-- | drivers/usb/musb/musb_core.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c index 547e0e390726..49f2346afad3 100644 --- a/drivers/usb/musb/musb_core.c +++ b/drivers/usb/musb/musb_core.c | |||
@@ -1319,7 +1319,6 @@ static int __init musb_core_init(u16 musb_type, struct musb *musb) | |||
1319 | #endif | 1319 | #endif |
1320 | u8 reg; | 1320 | u8 reg; |
1321 | char *type; | 1321 | char *type; |
1322 | u16 hwvers, rev_major, rev_minor; | ||
1323 | char aInfo[78], aRevision[32], aDate[12]; | 1322 | char aInfo[78], aRevision[32], aDate[12]; |
1324 | void __iomem *mbase = musb->mregs; | 1323 | void __iomem *mbase = musb->mregs; |
1325 | int status = 0; | 1324 | int status = 0; |
@@ -1391,11 +1390,10 @@ static int __init musb_core_init(u16 musb_type, struct musb *musb) | |||
1391 | } | 1390 | } |
1392 | 1391 | ||
1393 | /* log release info */ | 1392 | /* log release info */ |
1394 | hwvers = musb_read_hwvers(mbase); | 1393 | musb->hwvers = musb_read_hwvers(mbase); |
1395 | rev_major = (hwvers >> 10) & 0x1f; | 1394 | snprintf(aRevision, 32, "%d.%d%s", MUSB_HWVERS_MAJOR(musb->hwvers), |
1396 | rev_minor = hwvers & 0x3ff; | 1395 | MUSB_HWVERS_MINOR(musb->hwvers), |
1397 | snprintf(aRevision, 32, "%d.%d%s", rev_major, | 1396 | (musb->hwvers & MUSB_HWVERS_RC) ? "RC" : ""); |
1398 | rev_minor, (hwvers & 0x8000) ? "RC" : ""); | ||
1399 | printk(KERN_DEBUG "%s: %sHDRC RTL version %s %s\n", | 1397 | printk(KERN_DEBUG "%s: %sHDRC RTL version %s %s\n", |
1400 | musb_driver_name, type, aRevision, aDate); | 1398 | musb_driver_name, type, aRevision, aDate); |
1401 | 1399 | ||