summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h
diff options
context:
space:
mode:
authorLorenzo Bianconi2018-09-20 11:11:51 +0200
committerFelix Fietkau2018-10-01 12:33:42 +0200
commit86c71d3deefae88b8f151f97102af661d9792636 (patch)
treea6165816b5561ef4a04cd34d3cbd50afb789d608 /drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h
parentmt76: move common eeprom definitions in mt76x02-lib module (diff)
downloadkernel-qcow2-linux-86c71d3deefae88b8f151f97102af661d9792636.tar.gz
kernel-qcow2-linux-86c71d3deefae88b8f151f97102af661d9792636.tar.xz
kernel-qcow2-linux-86c71d3deefae88b8f151f97102af661d9792636.zip
mt76: move eeprom utility routines in mt76x02_eeprom.h
Move shared eeprom utility routines in mt76x02_eeprom.h and remove duplicated code Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h b/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h
index d50387f2ef46..1575c2352d9b 100644
--- a/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h
+++ b/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h
@@ -121,4 +121,19 @@ enum mt76x02_eeprom_field {
#define MT_EFUSE_USAGE_MAP_SIZE (MT_EE_USAGE_MAP_END - \
MT_EE_USAGE_MAP_START + 1)
+static inline bool mt76x02_field_valid(u8 val)
+{
+ return val != 0 && val != 0xff;
+}
+
+static inline int
+mt76x02_sign_extend(u32 val, unsigned int size)
+{
+ bool sign = val & BIT(size - 1);
+
+ val &= BIT(size - 1) - 1;
+
+ return sign ? val : -val;
+}
+
#endif /* __MT76x02_EEPROM_H */