summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210/fw.h
diff options
context:
space:
mode:
authorLior David <qca_liord@qca.qualcomm.com>2016-08-22 12:42:21 +0300
committerKalle Valo <kvalo@qca.qualcomm.com>2016-08-31 10:31:12 +0300
commit12bace75704ec0d64621be6ebf6e51772ce2cb0f (patch)
tree90ed9c23968b4b8150b81a6b627f209116a85a95 /drivers/net/wireless/ath/wil6210/fw.h
parent08989f9640a03939ec170916f80d371a8e3504b0 (diff)
downloadlinux-stable-12bace75704ec0d64621be6ebf6e51772ce2cb0f.tar.gz
linux-stable-12bace75704ec0d64621be6ebf6e51772ce2cb0f.tar.bz2
linux-stable-12bace75704ec0d64621be6ebf6e51772ce2cb0f.zip
wil6210: extract firmware capabilities from FW file
When driver is loaded, extract a capabilities record from the FW file. This record contains bits indicating which optional features are supported by this FW. The driver can use this information to determine which functionality to support and/or expose to user space. The extraction is done before wiphy structure is registered, because the capabilities can affect information published by the this structure. Signed-off-by: Lior David <qca_liord@qca.qualcomm.com> Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/fw.h')
-rw-r--r--drivers/net/wireless/ath/wil6210/fw.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wil6210/fw.h b/drivers/net/wireless/ath/wil6210/fw.h
index 7a2c6c129ad5..c3191c61832c 100644
--- a/drivers/net/wireless/ath/wil6210/fw.h
+++ b/drivers/net/wireless/ath/wil6210/fw.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014 Qualcomm Atheros, Inc.
+ * Copyright (c) 2014,2016 Qualcomm Atheros, Inc.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -58,6 +58,15 @@ struct wil_fw_record_comment { /* type == wil_fw_type_comment */
u8 data[0]; /* free-form data [data_size], see above */
} __packed;
+/* FW capabilities encoded inside a comment record */
+#define WIL_FW_CAPABILITIES_MAGIC (0xabcddcba)
+struct wil_fw_record_capabilities { /* type == wil_fw_type_comment */
+ /* identifies capabilities record */
+ __le32 magic;
+ /* capabilities (variable size), see enum wmi_fw_capability */
+ u8 capabilities[0];
+};
+
/* perform action
* data_size = @head.size - offsetof(struct wil_fw_record_action, data)
*/