OSDN Git Service

mt76: mt76x02: simplify led reg definitions
authorLorenzo Bianconi <lorenzo@kernel.org>
Mon, 16 Dec 2019 13:19:58 +0000 (14:19 +0100)
committerFelix Fietkau <nbd@nbd.name>
Fri, 14 Feb 2020 09:06:02 +0000 (10:06 +0100)
Rely on FIELD_PREP macro for led register definitions and
remove open coding

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt76x02_regs.h
drivers/net/wireless/mediatek/mt76/mt76x02_util.c

index 21c0f35..3e72227 100644 (file)
 #define MT_LED_S0(_n)                  (MT_LED_S0_BASE + 8 * (_n))
 #define MT_LED_S1_BASE                 0x0780
 #define MT_LED_S1(_n)                  (MT_LED_S1_BASE + 8 * (_n))
-#define MT_LED_STATUS_OFF_MASK         GENMASK(31, 24)
-#define MT_LED_STATUS_OFF(_v)          (((_v) << __ffs(MT_LED_STATUS_OFF_MASK)) & \
-                                        MT_LED_STATUS_OFF_MASK)
-#define MT_LED_STATUS_ON_MASK          GENMASK(23, 16)
-#define MT_LED_STATUS_ON(_v)           (((_v) << __ffs(MT_LED_STATUS_ON_MASK)) & \
-                                        MT_LED_STATUS_ON_MASK)
-#define MT_LED_STATUS_DURATION_MASK    GENMASK(15, 8)
-#define MT_LED_STATUS_DURATION(_v)     (((_v) << __ffs(MT_LED_STATUS_DURATION_MASK)) & \
-                                        MT_LED_STATUS_DURATION_MASK)
+#define MT_LED_STATUS_OFF              GENMASK(31, 24)
+#define MT_LED_STATUS_ON               GENMASK(23, 16)
+#define MT_LED_STATUS_DURATION         GENMASK(15, 8)
 
 #define MT_FCE_PSE_CTRL                        0x0800
 #define MT_FCE_PARAMETERS              0x0804
index 15a24e0..28d8d44 100644 (file)
@@ -96,9 +96,9 @@ mt76x02_led_set_config(struct mt76_dev *mdev, u8 delay_on,
                                               mt76);
        u32 val;
 
-       val = MT_LED_STATUS_DURATION(0xff) |
-             MT_LED_STATUS_OFF(delay_off) |
-             MT_LED_STATUS_ON(delay_on);
+       val = FIELD_PREP(MT_LED_STATUS_DURATION, 0xff) |
+             FIELD_PREP(MT_LED_STATUS_OFF, delay_off) |
+             FIELD_PREP(MT_LED_STATUS_ON, delay_on);
 
        mt76_wr(dev, MT_LED_S0(mdev->led_pin), val);
        mt76_wr(dev, MT_LED_S1(mdev->led_pin), val);