diff mbox

[V2,1/2] brcmutil: add helper function to format board revision

Message ID 1416945354-23346-2-git-send-email-arend@broadcom.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Arend van Spriel Nov. 25, 2014, 7:55 p.m. UTC
The board revision that is available in hardware can be translated
so it matches the labelling on the board. This is accomplished by
this helper function.

Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
---
 drivers/net/wireless/brcm80211/brcmutil/utils.c      | 16 ++++++++++++++++
 drivers/net/wireless/brcm80211/include/brcmu_utils.h |  2 ++
 2 files changed, 18 insertions(+)

Comments

Rafał Miłecki Nov. 25, 2014, 8:39 p.m. UTC | #1
On 25 November 2014 at 20:55, Arend van Spriel <arend@broadcom.com> wrote:
> +/* Produce a human-readable string for boardrev */
> +char *brcmu_boardrev_str(u32 brev, char *buf)
> +{
> +       char c;
> +
> +       if (brev < 0x100) {
> +               snprintf(buf, 8, "%d.%d", (brev & 0xf0) >> 4, brev & 0xf);
> +       } else {
> +               c = (brev & 0xf000) == 0x1000 ? 'P' : 'A';
> +               snprintf(buf, 8, "%c%03x", c, brev & 0xfff);
> +       }
> +       return buf;
> +}

Is this known what do 'P' and 'A' mean? Just curious.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arend van Spriel Nov. 25, 2014, 8:56 p.m. UTC | #2
On 11/25/14 21:39, Rafa? Mi?ecki wrote:
> On 25 November 2014 at 20:55, Arend van Spriel<arend@broadcom.com>  wrote:
>> +/* Produce a human-readable string for boardrev */
>> +char *brcmu_boardrev_str(u32 brev, char *buf)
>> +{
>> +       char c;
>> +
>> +       if (brev<  0x100) {
>> +               snprintf(buf, 8, "%d.%d", (brev&  0xf0)>>  4, brev&  0xf);
>> +       } else {
>> +               c = (brev&  0xf000) == 0x1000 ? 'P' : 'A';
>> +               snprintf(buf, 8, "%c%03x", c, brev&  0xfff);
>> +       }
>> +       return buf;
>> +}
>
> Is this known what do 'P' and 'A' mean? Just curious.

Me too, but never found out ;-) The test boards I have over here all 
have 'P' prefix.

Regards,
Arend
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/wireless/brcm80211/brcmutil/utils.c b/drivers/net/wireless/brcm80211/brcmutil/utils.c
index 0f7e1c7..906e89d 100644
--- a/drivers/net/wireless/brcm80211/brcmutil/utils.c
+++ b/drivers/net/wireless/brcm80211/brcmutil/utils.c
@@ -261,6 +261,21 @@  struct sk_buff *brcmu_pktq_mdeq(struct pktq *pq, uint prec_bmp,
 }
 EXPORT_SYMBOL(brcmu_pktq_mdeq);
 
+/* Produce a human-readable string for boardrev */
+char *brcmu_boardrev_str(u32 brev, char *buf)
+{
+	char c;
+
+	if (brev < 0x100) {
+		snprintf(buf, 8, "%d.%d", (brev & 0xf0) >> 4, brev & 0xf);
+	} else {
+		c = (brev & 0xf000) == 0x1000 ? 'P' : 'A';
+		snprintf(buf, 8, "%c%03x", c, brev & 0xfff);
+	}
+	return buf;
+}
+EXPORT_SYMBOL(brcmu_boardrev_str);
+
 #if defined(DEBUG)
 /* pretty hex print a pkt buffer chain */
 void brcmu_prpkt(const char *msg, struct sk_buff *p0)
@@ -292,4 +307,5 @@  void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...)
 	print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, data, size);
 }
 EXPORT_SYMBOL(brcmu_dbg_hex_dump);
+
 #endif				/* defined(DEBUG) */
diff --git a/drivers/net/wireless/brcm80211/include/brcmu_utils.h b/drivers/net/wireless/brcm80211/include/brcmu_utils.h
index 8ba445b..a043e29 100644
--- a/drivers/net/wireless/brcm80211/include/brcmu_utils.h
+++ b/drivers/net/wireless/brcm80211/include/brcmu_utils.h
@@ -218,4 +218,6 @@  void brcmu_dbg_hex_dump(const void *data, size_t size, const char *fmt, ...)
 }
 #endif
 
+char *brcmu_boardrev_str(u32 brev, char *buf);
+
 #endif				/* _BRCMU_UTILS_H_ */