Commit dc02d925 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij
Browse files

pinctrl: mediatek: moore: Provide a helper macro PINCTRL_PIN_FUNCTION()



Provide a helper macro to assign the struct function_desc entries.
This helps further refactoring.

Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Link: https://lore.kernel.org/r/20240530085745.1539925-5-andy.shevchenko@gmail.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 7f2a2af0
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -43,6 +43,14 @@
		.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);

+16 −16
Original line number Diff line number Diff line
@@ -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 = {
+21 −21
Original line number Diff line number Diff line
@@ -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 = {
+10 −10
Original line number Diff line number Diff line
@@ -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 = {
+17 −17
Original line number Diff line number Diff line
@@ -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 = {
Loading