|
@@ -277,6 +277,33 @@ char *brcmu_boardrev_str(u32 brev, char *buf)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(brcmu_boardrev_str);
|
|
EXPORT_SYMBOL(brcmu_boardrev_str);
|
|
|
|
|
|
|
|
+char *brcmu_dotrev_str(u32 dotrev, char *buf)
|
|
|
|
+{
|
|
|
|
+ u8 dotval[4];
|
|
|
|
+
|
|
|
|
+ if (!dotrev) {
|
|
|
|
+ snprintf(buf, BRCMU_DOTREV_LEN, "unknown");
|
|
|
|
+ return buf;
|
|
|
|
+ }
|
|
|
|
+ dotval[0] = (dotrev >> 24) & 0xFF;
|
|
|
|
+ dotval[1] = (dotrev >> 16) & 0xFF;
|
|
|
|
+ dotval[2] = (dotrev >> 8) & 0xFF;
|
|
|
|
+ dotval[3] = dotrev & 0xFF;
|
|
|
|
+
|
|
|
|
+ if (dotval[3])
|
|
|
|
+ snprintf(buf, BRCMU_DOTREV_LEN, "%d.%d.%d.%d", dotval[0],
|
|
|
|
+ dotval[1], dotval[2], dotval[3]);
|
|
|
|
+ else if (dotval[2])
|
|
|
|
+ snprintf(buf, BRCMU_DOTREV_LEN, "%d.%d.%d", dotval[0],
|
|
|
|
+ dotval[1], dotval[2]);
|
|
|
|
+ else
|
|
|
|
+ snprintf(buf, BRCMU_DOTREV_LEN, "%d.%d", dotval[0],
|
|
|
|
+ dotval[1]);
|
|
|
|
+
|
|
|
|
+ return buf;
|
|
|
|
+}
|
|
|
|
+EXPORT_SYMBOL(brcmu_dotrev_str);
|
|
|
|
+
|
|
#if defined(DEBUG)
|
|
#if defined(DEBUG)
|
|
/* pretty hex print a pkt buffer chain */
|
|
/* pretty hex print a pkt buffer chain */
|
|
void brcmu_prpkt(const char *msg, struct sk_buff *p0)
|
|
void brcmu_prpkt(const char *msg, struct sk_buff *p0)
|