]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pinctrl: mediatek: moore: Provide a helper macro PINCTRL_PIN_FUNCTION()
authorAndy Shevchenko <andy.shevchenko@gmail.com>
Thu, 30 May 2024 08:55:13 +0000 (11:55 +0300)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 17 Jun 2024 07:24:05 +0000 (09:24 +0200)
Provide a helper macro to assign the struct function_desc entries.
This helps further refactoring.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240530085745.1539925-5-andy.shevchenko@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/mediatek/pinctrl-moore.h
drivers/pinctrl/mediatek/pinctrl-mt7622.c
drivers/pinctrl/mediatek/pinctrl-mt7623.c
drivers/pinctrl/mediatek/pinctrl-mt7629.c
drivers/pinctrl/mediatek/pinctrl-mt7981.c
drivers/pinctrl/mediatek/pinctrl-mt7986.c

index e0313e7a1fe00e48e36289804de91ba34fc5811d..5945e4fe021f7e4bf1cd2e958214432354a00bc6 100644 (file)
                .data = id##_funcs,                                                     \
        }
 
+#define PINCTRL_PIN_FUNCTION(_name_, id)                                                       \
+       {                                                                                       \
+               .name = _name_,                                                                 \
+               .group_names = id##_groups,                                                     \
+               .num_group_names = ARRAY_SIZE(id##_groups),                                     \
+               .data = NULL,                                                                   \
+       }
+
 int mtk_moore_pinctrl_probe(struct platform_device *pdev,
                            const struct mtk_pin_soc *soc);
 
index 3c1148d59eff76893a7d9a5bf0b35522598d0f2c..2dc1019910662a2a52e81f277a10a32bd83b33d4 100644 (file)
@@ -823,22 +823,22 @@ static const char *mt7622_uart_groups[] = { "uart0_0_tx_rx",
 static const char *mt7622_wdt_groups[] = { "watchdog", };
 
 static const struct function_desc mt7622_functions[] = {
-       {"antsel", mt7622_antsel_groups, ARRAY_SIZE(mt7622_antsel_groups)},
-       {"emmc", mt7622_emmc_groups, ARRAY_SIZE(mt7622_emmc_groups)},
-       {"eth", mt7622_ethernet_groups, ARRAY_SIZE(mt7622_ethernet_groups)},
-       {"i2c", mt7622_i2c_groups, ARRAY_SIZE(mt7622_i2c_groups)},
-       {"i2s", mt7622_i2s_groups, ARRAY_SIZE(mt7622_i2s_groups)},
-       {"ir", mt7622_ir_groups, ARRAY_SIZE(mt7622_ir_groups)},
-       {"led", mt7622_led_groups, ARRAY_SIZE(mt7622_led_groups)},
-       {"flash", mt7622_flash_groups, ARRAY_SIZE(mt7622_flash_groups)},
-       {"pcie", mt7622_pcie_groups, ARRAY_SIZE(mt7622_pcie_groups)},
-       {"pmic", mt7622_pmic_bus_groups, ARRAY_SIZE(mt7622_pmic_bus_groups)},
-       {"pwm", mt7622_pwm_groups, ARRAY_SIZE(mt7622_pwm_groups)},
-       {"sd", mt7622_sd_groups, ARRAY_SIZE(mt7622_sd_groups)},
-       {"spi", mt7622_spic_groups, ARRAY_SIZE(mt7622_spic_groups)},
-       {"tdm", mt7622_tdm_groups, ARRAY_SIZE(mt7622_tdm_groups)},
-       {"uart", mt7622_uart_groups, ARRAY_SIZE(mt7622_uart_groups)},
-       {"watchdog", mt7622_wdt_groups, ARRAY_SIZE(mt7622_wdt_groups)},
+       PINCTRL_PIN_FUNCTION("antsel", mt7622_antsel),
+       PINCTRL_PIN_FUNCTION("emmc", mt7622_emmc),
+       PINCTRL_PIN_FUNCTION("eth", mt7622_ethernet),
+       PINCTRL_PIN_FUNCTION("i2c", mt7622_i2c),
+       PINCTRL_PIN_FUNCTION("i2s", mt7622_i2s),
+       PINCTRL_PIN_FUNCTION("ir", mt7622_ir),
+       PINCTRL_PIN_FUNCTION("led", mt7622_led),
+       PINCTRL_PIN_FUNCTION("flash", mt7622_flash),
+       PINCTRL_PIN_FUNCTION("pcie", mt7622_pcie),
+       PINCTRL_PIN_FUNCTION("pmic", mt7622_pmic_bus),
+       PINCTRL_PIN_FUNCTION("pwm", mt7622_pwm),
+       PINCTRL_PIN_FUNCTION("sd", mt7622_sd),
+       PINCTRL_PIN_FUNCTION("spi", mt7622_spic),
+       PINCTRL_PIN_FUNCTION("tdm", mt7622_tdm),
+       PINCTRL_PIN_FUNCTION("uart", mt7622_uart),
+       PINCTRL_PIN_FUNCTION("watchdog", mt7622_wdt),
 };
 
 static const struct mtk_eint_hw mt7622_eint_hw = {
index 699977074697363e407acf1d9d3d6a9135d9c99c..3e59eada2825277b3d7500cb1f2cf740242a4a8b 100644 (file)
@@ -1341,27 +1341,27 @@ static const char *mt7623_uart_groups[] = { "uart0_0_txd_rxd",
 static const char *mt7623_wdt_groups[] = { "watchdog_0", "watchdog_1", };
 
 static const struct function_desc mt7623_functions[] = {
-       {"audck", mt7623_aud_clk_groups, ARRAY_SIZE(mt7623_aud_clk_groups)},
-       {"disp", mt7623_disp_pwm_groups, ARRAY_SIZE(mt7623_disp_pwm_groups)},
-       {"eth", mt7623_ethernet_groups, ARRAY_SIZE(mt7623_ethernet_groups)},
-       {"sdio", mt7623_ext_sdio_groups, ARRAY_SIZE(mt7623_ext_sdio_groups)},
-       {"hdmi", mt7623_hdmi_groups, ARRAY_SIZE(mt7623_hdmi_groups)},
-       {"i2c", mt7623_i2c_groups, ARRAY_SIZE(mt7623_i2c_groups)},
-       {"i2s", mt7623_i2s_groups, ARRAY_SIZE(mt7623_i2s_groups)},
-       {"ir",  mt7623_ir_groups, ARRAY_SIZE(mt7623_ir_groups)},
-       {"lcd", mt7623_lcd_groups, ARRAY_SIZE(mt7623_lcd_groups)},
-       {"msdc", mt7623_msdc_groups, ARRAY_SIZE(mt7623_msdc_groups)},
-       {"nand", mt7623_nandc_groups, ARRAY_SIZE(mt7623_nandc_groups)},
-       {"otg", mt7623_otg_groups, ARRAY_SIZE(mt7623_otg_groups)},
-       {"pcie", mt7623_pcie_groups, ARRAY_SIZE(mt7623_pcie_groups)},
-       {"pcm", mt7623_pcm_groups, ARRAY_SIZE(mt7623_pcm_groups)},
-       {"pwm", mt7623_pwm_groups, ARRAY_SIZE(mt7623_pwm_groups)},
-       {"pwrap", mt7623_pwrap_groups, ARRAY_SIZE(mt7623_pwrap_groups)},
-       {"rtc", mt7623_rtc_groups, ARRAY_SIZE(mt7623_rtc_groups)},
-       {"spi", mt7623_spi_groups, ARRAY_SIZE(mt7623_spi_groups)},
-       {"spdif", mt7623_spdif_groups, ARRAY_SIZE(mt7623_spdif_groups)},
-       {"uart", mt7623_uart_groups, ARRAY_SIZE(mt7623_uart_groups)},
-       {"watchdog", mt7623_wdt_groups, ARRAY_SIZE(mt7623_wdt_groups)},
+       PINCTRL_PIN_FUNCTION("audck", mt7623_aud_clk),
+       PINCTRL_PIN_FUNCTION("disp", mt7623_disp_pwm),
+       PINCTRL_PIN_FUNCTION("eth", mt7623_ethernet),
+       PINCTRL_PIN_FUNCTION("sdio", mt7623_ext_sdio),
+       PINCTRL_PIN_FUNCTION("hdmi", mt7623_hdmi),
+       PINCTRL_PIN_FUNCTION("i2c", mt7623_i2c),
+       PINCTRL_PIN_FUNCTION("i2s", mt7623_i2s),
+       PINCTRL_PIN_FUNCTION("ir", mt7623_ir),
+       PINCTRL_PIN_FUNCTION("lcd", mt7623_lcd),
+       PINCTRL_PIN_FUNCTION("msdc", mt7623_msdc),
+       PINCTRL_PIN_FUNCTION("nand", mt7623_nandc),
+       PINCTRL_PIN_FUNCTION("otg", mt7623_otg),
+       PINCTRL_PIN_FUNCTION("pcie", mt7623_pcie),
+       PINCTRL_PIN_FUNCTION("pcm", mt7623_pcm),
+       PINCTRL_PIN_FUNCTION("pwm", mt7623_pwm),
+       PINCTRL_PIN_FUNCTION("pwrap", mt7623_pwrap),
+       PINCTRL_PIN_FUNCTION("rtc", mt7623_rtc),
+       PINCTRL_PIN_FUNCTION("spi", mt7623_spi),
+       PINCTRL_PIN_FUNCTION("spdif", mt7623_spdif),
+       PINCTRL_PIN_FUNCTION("uart", mt7623_uart),
+       PINCTRL_PIN_FUNCTION("watchdog", mt7623_wdt),
 };
 
 static const struct mtk_eint_hw mt7623_eint_hw = {
index 2ce411cb9c6ec0adeb983fa92727e37aed09928f..98142e8c98011d17339da74f61d6f917372dfcd5 100644 (file)
@@ -385,16 +385,16 @@ static const char *mt7629_wifi_groups[] = { "wf0_5g", "wf0_2g", };
 static const char *mt7629_flash_groups[] = { "snfi", "spi_nor" };
 
 static const struct function_desc mt7629_functions[] = {
-       {"eth", mt7629_ethernet_groups, ARRAY_SIZE(mt7629_ethernet_groups)},
-       {"i2c", mt7629_i2c_groups, ARRAY_SIZE(mt7629_i2c_groups)},
-       {"led", mt7629_led_groups, ARRAY_SIZE(mt7629_led_groups)},
-       {"pcie", mt7629_pcie_groups, ARRAY_SIZE(mt7629_pcie_groups)},
-       {"pwm", mt7629_pwm_groups, ARRAY_SIZE(mt7629_pwm_groups)},
-       {"spi", mt7629_spi_groups, ARRAY_SIZE(mt7629_spi_groups)},
-       {"uart", mt7629_uart_groups, ARRAY_SIZE(mt7629_uart_groups)},
-       {"watchdog", mt7629_wdt_groups, ARRAY_SIZE(mt7629_wdt_groups)},
-       {"wifi", mt7629_wifi_groups, ARRAY_SIZE(mt7629_wifi_groups)},
-       {"flash", mt7629_flash_groups, ARRAY_SIZE(mt7629_flash_groups)},
+       PINCTRL_PIN_FUNCTION("eth", mt7629_ethernet),
+       PINCTRL_PIN_FUNCTION("i2c", mt7629_i2c),
+       PINCTRL_PIN_FUNCTION("led", mt7629_led),
+       PINCTRL_PIN_FUNCTION("pcie", mt7629_pcie),
+       PINCTRL_PIN_FUNCTION("pwm", mt7629_pwm),
+       PINCTRL_PIN_FUNCTION("spi", mt7629_spi),
+       PINCTRL_PIN_FUNCTION("uart", mt7629_uart),
+       PINCTRL_PIN_FUNCTION("watchdog", mt7629_wdt),
+       PINCTRL_PIN_FUNCTION("wifi", mt7629_wifi),
+       PINCTRL_PIN_FUNCTION("flash", mt7629_flash),
 };
 
 static const struct mtk_eint_hw mt7629_eint_hw = {
index ef61237658850d44d10710c421967cec9a826b84..83092be5b614cc164590fe5ec2b756fe6579b263 100644 (file)
@@ -978,23 +978,23 @@ static const char *mt7981_ethernet_groups[] = { "smi_mdc_mdio", "gbe_ext_mdc_mdi
 static const char *mt7981_ant_groups[] = { "ant_sel", };
 
 static const struct function_desc mt7981_functions[] = {
-       {"wa_aice",     mt7981_wa_aice_groups, ARRAY_SIZE(mt7981_wa_aice_groups)},
-       {"dfd", mt7981_dfd_groups, ARRAY_SIZE(mt7981_dfd_groups)},
-       {"jtag", mt7981_jtag_groups, ARRAY_SIZE(mt7981_jtag_groups)},
-       {"pta", mt7981_pta_groups, ARRAY_SIZE(mt7981_pta_groups)},
-       {"pcm", mt7981_pcm_groups, ARRAY_SIZE(mt7981_pcm_groups)},
-       {"udi", mt7981_udi_groups, ARRAY_SIZE(mt7981_udi_groups)},
-       {"usb", mt7981_usb_groups, ARRAY_SIZE(mt7981_usb_groups)},
-       {"ant", mt7981_ant_groups, ARRAY_SIZE(mt7981_ant_groups)},
-       {"eth", mt7981_ethernet_groups, ARRAY_SIZE(mt7981_ethernet_groups)},
-       {"i2c", mt7981_i2c_groups, ARRAY_SIZE(mt7981_i2c_groups)},
-       {"led", mt7981_led_groups, ARRAY_SIZE(mt7981_led_groups)},
-       {"pwm", mt7981_pwm_groups, ARRAY_SIZE(mt7981_pwm_groups)},
-       {"spi", mt7981_spi_groups, ARRAY_SIZE(mt7981_spi_groups)},
-       {"uart", mt7981_uart_groups, ARRAY_SIZE(mt7981_uart_groups)},
-       {"watchdog", mt7981_wdt_groups, ARRAY_SIZE(mt7981_wdt_groups)},
-       {"flash", mt7981_flash_groups, ARRAY_SIZE(mt7981_flash_groups)},
-       {"pcie", mt7981_pcie_groups, ARRAY_SIZE(mt7981_pcie_groups)},
+       PINCTRL_PIN_FUNCTION("wa_aice", mt7981_wa_aice),
+       PINCTRL_PIN_FUNCTION("dfd", mt7981_dfd),
+       PINCTRL_PIN_FUNCTION("jtag", mt7981_jtag),
+       PINCTRL_PIN_FUNCTION("pta", mt7981_pta),
+       PINCTRL_PIN_FUNCTION("pcm", mt7981_pcm),
+       PINCTRL_PIN_FUNCTION("udi", mt7981_udi),
+       PINCTRL_PIN_FUNCTION("usb", mt7981_usb),
+       PINCTRL_PIN_FUNCTION("ant", mt7981_ant),
+       PINCTRL_PIN_FUNCTION("eth", mt7981_ethernet),
+       PINCTRL_PIN_FUNCTION("i2c", mt7981_i2c),
+       PINCTRL_PIN_FUNCTION("led", mt7981_led),
+       PINCTRL_PIN_FUNCTION("pwm", mt7981_pwm),
+       PINCTRL_PIN_FUNCTION("spi", mt7981_spi),
+       PINCTRL_PIN_FUNCTION("uart", mt7981_uart),
+       PINCTRL_PIN_FUNCTION("watchdog", mt7981_wdt),
+       PINCTRL_PIN_FUNCTION("flash", mt7981_flash),
+       PINCTRL_PIN_FUNCTION("pcie", mt7981_pcie),
 };
 
 static const struct mtk_eint_hw mt7981_eint_hw = {
index 39e80fa644c1ca2bbdf12eee01fef027be429392..5816b5fdb7ca918486f57a890f73543b3198c728 100644 (file)
@@ -879,18 +879,18 @@ static const char *mt7986_wdt_groups[] = { "watchdog", };
 static const char *mt7986_wf_groups[] = { "wf_2g", "wf_5g", "wf_dbdc", };
 
 static const struct function_desc mt7986_functions[] = {
-       {"audio", mt7986_audio_groups, ARRAY_SIZE(mt7986_audio_groups)},
-       {"emmc", mt7986_emmc_groups, ARRAY_SIZE(mt7986_emmc_groups)},
-       {"eth", mt7986_ethernet_groups, ARRAY_SIZE(mt7986_ethernet_groups)},
-       {"i2c", mt7986_i2c_groups, ARRAY_SIZE(mt7986_i2c_groups)},
-       {"led", mt7986_led_groups, ARRAY_SIZE(mt7986_led_groups)},
-       {"flash", mt7986_flash_groups, ARRAY_SIZE(mt7986_flash_groups)},
-       {"pcie", mt7986_pcie_groups, ARRAY_SIZE(mt7986_pcie_groups)},
-       {"pwm", mt7986_pwm_groups, ARRAY_SIZE(mt7986_pwm_groups)},
-       {"spi", mt7986_spi_groups, ARRAY_SIZE(mt7986_spi_groups)},
-       {"uart", mt7986_uart_groups, ARRAY_SIZE(mt7986_uart_groups)},
-       {"watchdog", mt7986_wdt_groups, ARRAY_SIZE(mt7986_wdt_groups)},
-       {"wifi", mt7986_wf_groups, ARRAY_SIZE(mt7986_wf_groups)},
+       PINCTRL_PIN_FUNCTION("audio", mt7986_audio),
+       PINCTRL_PIN_FUNCTION("emmc", mt7986_emmc),
+       PINCTRL_PIN_FUNCTION("eth", mt7986_ethernet),
+       PINCTRL_PIN_FUNCTION("i2c", mt7986_i2c),
+       PINCTRL_PIN_FUNCTION("led", mt7986_led),
+       PINCTRL_PIN_FUNCTION("flash", mt7986_flash),
+       PINCTRL_PIN_FUNCTION("pcie", mt7986_pcie),
+       PINCTRL_PIN_FUNCTION("pwm", mt7986_pwm),
+       PINCTRL_PIN_FUNCTION("spi", mt7986_spi),
+       PINCTRL_PIN_FUNCTION("uart", mt7986_uart),
+       PINCTRL_PIN_FUNCTION("watchdog", mt7986_wdt),
+       PINCTRL_PIN_FUNCTION("wifi", mt7986_wf),
 };
 
 static const struct mtk_eint_hw mt7986a_eint_hw = {