]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
pinctrl: airoha: convert PHY LED GPIO to macro
authorChristian Marangi <ansuelsmth@gmail.com>
Thu, 6 Nov 2025 23:57:05 +0000 (00:57 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 10 Nov 2025 23:40:49 +0000 (00:40 +0100)
PHY LED GPIO pinctrl struct definition is very similar across the
different 4 PHY and 2 LED and it can be generelized to a macro.

To reduce code size, convert them to a common macro.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/mediatek/pinctrl-airoha.c

index 32e5c1b32d5071064a4535ed84328c4df9e628fe..cb0edc2a66a1e6439a0fcc2bcd7a54801595a5f9 100644 (file)
@@ -1473,516 +1473,128 @@ static const struct airoha_pinctrl_func_group pwm_func_group[] = {
        },
 };
 
+#define AIROHA_PINCTRL_PHY_LED0(gpio, mux_val, map_mask, map_val)      \
+       {                                                               \
+               .name = (gpio),                                         \
+               .regmap[0] = {                                          \
+                       AIROHA_FUNC_MUX,                                \
+                       REG_GPIO_2ND_I2C_MODE,                          \
+                       (mux_val),                                      \
+                       (mux_val),                                      \
+               },                                                      \
+               .regmap[1] = {                                          \
+                       AIROHA_FUNC_MUX,                                \
+                       REG_LAN_LED0_MAPPING,                           \
+                       (map_mask),                                     \
+                       (map_val),                                      \
+               },                                                      \
+               .regmap_size = 2,                                       \
+       }
+
+#define AIROHA_PINCTRL_PHY_LED1(gpio, mux_val, map_mask, map_val)      \
+       {                                                               \
+               .name = (gpio),                                         \
+               .regmap[0] = {                                          \
+                       AIROHA_FUNC_MUX,                                \
+                       REG_GPIO_2ND_I2C_MODE,                          \
+                       (mux_val),                                      \
+                       (mux_val),                                      \
+               },                                                      \
+               .regmap[1] = {                                          \
+                       AIROHA_FUNC_MUX,                                \
+                       REG_LAN_LED1_MAPPING,                           \
+                       (map_mask),                                     \
+                       (map_val),                                      \
+               },                                                      \
+               .regmap_size = 2,                                       \
+       }
+
 static const struct airoha_pinctrl_func_group phy1_led0_func_group[] = {
-       {
-               .name = "gpio33",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED0_MODE_MASK,
-                       GPIO_LAN0_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio34",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED0_MODE_MASK,
-                       GPIO_LAN1_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio35",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED0_MODE_MASK,
-                       GPIO_LAN2_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio42",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED0_MODE_MASK,
-                       GPIO_LAN3_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED0("gpio33", GPIO_LAN0_LED0_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED0("gpio34", GPIO_LAN1_LED0_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED0("gpio35", GPIO_LAN2_LED0_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED0("gpio42", GPIO_LAN3_LED0_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
 };
 
 static const struct airoha_pinctrl_func_group phy2_led0_func_group[] = {
-       {
-               .name = "gpio33",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED0_MODE_MASK,
-                       GPIO_LAN0_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio34",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED0_MODE_MASK,
-                       GPIO_LAN1_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio35",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED0_MODE_MASK,
-                       GPIO_LAN2_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio42",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED0_MODE_MASK,
-                       GPIO_LAN3_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED0("gpio33", GPIO_LAN0_LED0_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED0("gpio34", GPIO_LAN1_LED0_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED0("gpio35", GPIO_LAN2_LED0_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED0("gpio42", GPIO_LAN3_LED0_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
 };
 
 static const struct airoha_pinctrl_func_group phy3_led0_func_group[] = {
-       {
-               .name = "gpio33",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED0_MODE_MASK,
-                       GPIO_LAN0_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio34",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED0_MODE_MASK,
-                       GPIO_LAN1_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio35",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED0_MODE_MASK,
-                       GPIO_LAN2_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio42",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED0_MODE_MASK,
-                       GPIO_LAN3_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED0("gpio33", GPIO_LAN0_LED0_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED0("gpio34", GPIO_LAN1_LED0_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED0("gpio35", GPIO_LAN2_LED0_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED0("gpio42", GPIO_LAN3_LED0_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
 };
 
 static const struct airoha_pinctrl_func_group phy4_led0_func_group[] = {
-       {
-               .name = "gpio33",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED0_MODE_MASK,
-                       GPIO_LAN0_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio34",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED0_MODE_MASK,
-                       GPIO_LAN1_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio35",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED0_MODE_MASK,
-                       GPIO_LAN2_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio42",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED0_MODE_MASK,
-                       GPIO_LAN3_LED0_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED0_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED0("gpio33", GPIO_LAN0_LED0_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(3)),
+       AIROHA_PINCTRL_PHY_LED0("gpio34", GPIO_LAN1_LED0_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(3)),
+       AIROHA_PINCTRL_PHY_LED0("gpio35", GPIO_LAN2_LED0_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(3)),
+       AIROHA_PINCTRL_PHY_LED0("gpio42", GPIO_LAN3_LED0_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(3)),
 };
 
 static const struct airoha_pinctrl_func_group phy1_led1_func_group[] = {
-       {
-               .name = "gpio43",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED1_MODE_MASK,
-                       GPIO_LAN0_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio44",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED1_MODE_MASK,
-                       GPIO_LAN1_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio45",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED1_MODE_MASK,
-                       GPIO_LAN2_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio46",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED1_MODE_MASK,
-                       GPIO_LAN3_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(0)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED1("gpio43", GPIO_LAN0_LED1_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED1("gpio44", GPIO_LAN1_LED1_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED1("gpio45", GPIO_LAN2_LED1_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(0)),
+       AIROHA_PINCTRL_PHY_LED1("gpio46", GPIO_LAN3_LED1_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(0)),
 };
 
 static const struct airoha_pinctrl_func_group phy2_led1_func_group[] = {
-       {
-               .name = "gpio43",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED1_MODE_MASK,
-                       GPIO_LAN0_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio44",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED1_MODE_MASK,
-                       GPIO_LAN1_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio45",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED1_MODE_MASK,
-                       GPIO_LAN2_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio46",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED1_MODE_MASK,
-                       GPIO_LAN3_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(1)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED1("gpio43", GPIO_LAN0_LED1_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED1("gpio44", GPIO_LAN1_LED1_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED1("gpio45", GPIO_LAN2_LED1_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(1)),
+       AIROHA_PINCTRL_PHY_LED1("gpio46", GPIO_LAN3_LED1_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(1)),
 };
 
 static const struct airoha_pinctrl_func_group phy3_led1_func_group[] = {
-       {
-               .name = "gpio43",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED1_MODE_MASK,
-                       GPIO_LAN0_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio44",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED1_MODE_MASK,
-                       GPIO_LAN1_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio45",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED1_MODE_MASK,
-                       GPIO_LAN2_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio46",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED1_MODE_MASK,
-                       GPIO_LAN3_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(2)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED1("gpio43", GPIO_LAN0_LED1_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio44", GPIO_LAN1_LED1_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio45", GPIO_LAN2_LED1_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio46", GPIO_LAN3_LED1_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
 };
 
 static const struct airoha_pinctrl_func_group phy4_led1_func_group[] = {
-       {
-               .name = "gpio43",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN0_LED1_MODE_MASK,
-                       GPIO_LAN0_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN0_LED_MAPPING_MASK,
-                       LAN0_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio44",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN1_LED1_MODE_MASK,
-                       GPIO_LAN1_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN1_LED_MAPPING_MASK,
-                       LAN1_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio45",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN2_LED1_MODE_MASK,
-                       GPIO_LAN2_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN2_LED_MAPPING_MASK,
-                       LAN2_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       }, {
-               .name = "gpio46",
-               .regmap[0] = {
-                       AIROHA_FUNC_MUX,
-                       REG_GPIO_2ND_I2C_MODE,
-                       GPIO_LAN3_LED1_MODE_MASK,
-                       GPIO_LAN3_LED1_MODE_MASK
-               },
-               .regmap[1] = {
-                       AIROHA_FUNC_MUX,
-                       REG_LAN_LED1_MAPPING,
-                       LAN3_LED_MAPPING_MASK,
-                       LAN3_PHY_LED_MAP(3)
-               },
-               .regmap_size = 2,
-       },
+       AIROHA_PINCTRL_PHY_LED1("gpio43", GPIO_LAN0_LED1_MODE_MASK,
+                               LAN0_LED_MAPPING_MASK, LAN0_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio44", GPIO_LAN1_LED1_MODE_MASK,
+                               LAN1_LED_MAPPING_MASK, LAN1_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio45", GPIO_LAN2_LED1_MODE_MASK,
+                               LAN2_LED_MAPPING_MASK, LAN2_PHY_LED_MAP(2)),
+       AIROHA_PINCTRL_PHY_LED1("gpio46", GPIO_LAN3_LED1_MODE_MASK,
+                               LAN3_LED_MAPPING_MASK, LAN3_PHY_LED_MAP(2)),
 };
 
 static const struct airoha_pinctrl_func en7581_pinctrl_funcs[] = {