diff options
author | Lorenzo Bianconi <lorenzo.bianconi@redhat.com> | 2018-09-22 13:45:32 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2018-10-01 12:34:03 +0200 |
commit | 02a4251d44bdb1e8dda61919f3a4a85aaebfb771 (patch) | |
tree | 9235cb12106da0a0dd01c27cb921fd0a9c333151 /drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h | |
parent | c36a3cc5a57e3753bacca14cecd0a591fb49f40d (diff) | |
download | linux-02a4251d44bdb1e8dda61919f3a4a85aaebfb771.tar.gz |
mt76: move mt76x02_rate_power_val in mt76x02-lib module
Move mt76x02_rate_power_val and mt76x2_sign_extend_optional utility
routines in mt76x02_eeprom.h in order to reuse them in mt76x0 eeprom
parsing
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.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h b/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h index 9339514fb073..c3d8920a8127 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h +++ b/drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h @@ -153,6 +153,22 @@ mt76x02_sign_extend(u32 val, unsigned int size) } static inline int +mt76x02_sign_extend_optional(u32 val, unsigned int size) +{ + bool enable = val & BIT(size); + + return enable ? mt76x02_sign_extend(val, size) : 0; +} + +static inline s8 mt76x02_rate_power_val(u8 val) +{ + if (!mt76x02_field_valid(val)) + return 0; + + return mt76x02_sign_extend_optional(val, 7); +} + +static inline int mt76x02_eeprom_get(struct mt76_dev *dev, enum mt76x02_eeprom_field field) { |