[PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro
Andre Przywara
andre.przywara at arm.com
Tue Sep 14 01:53:24 CEST 2021
On Sat, 11 Sep 2021 16:50:48 -0500
Samuel Holland <samuel at sholland.org> wrote:
> This clarifies which callers must be updated to complete the DM_GPIO
> conversion.
>
> The only remaining caller of name_to_gpio in generic code is inside the
> !DM_GPIO block in cmd/gpio.c. DM_GPIO is always selected on sunxi, so
> that code cannot be reached. And after this commit, there are only two
> remaining implementations of name_to_gpio.
>
> Signed-off-by: Samuel Holland <samuel at sholland.org>
Compile tested on all sunxi boards.
Acked-by: Andre Przywara <andre.przywara at arm.com>
Cheers,
Andre
> ---
>
> arch/arm/include/asm/arch-sunxi/gpio.h | 1 -
> drivers/spi/spi-sunxi.c | 2 +-
> drivers/video/Kconfig | 10 +++++-----
> drivers/video/hitachi_tx18d42vm_lcd.c | 6 +++---
> drivers/video/sunxi/sunxi_display.c | 10 +++++-----
> 5 files changed, 14 insertions(+), 15 deletions(-)
>
> diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
> index 2969a530ae1..c93c051a19f 100644
> --- a/arch/arm/include/asm/arch-sunxi/gpio.h
> +++ b/arch/arm/include/asm/arch-sunxi/gpio.h
> @@ -244,7 +244,6 @@ int sunxi_gpio_set_drv(u32 pin, u32 val);
> int sunxi_gpio_set_pull(u32 pin, u32 val);
> int sunxi_name_to_gpio_bank(const char *name);
> int sunxi_name_to_gpio(const char *name);
> -#define name_to_gpio(name) sunxi_name_to_gpio(name)
>
> #if !defined CONFIG_SPL_BUILD && defined CONFIG_AXP_GPIO
> int axp_gpio_init(void);
> diff --git a/drivers/spi/spi-sunxi.c b/drivers/spi/spi-sunxi.c
> index 4ca5d3a93ac..bc2f544e863 100644
> --- a/drivers/spi/spi-sunxi.c
> +++ b/drivers/spi/spi-sunxi.c
> @@ -245,7 +245,7 @@ static int sun4i_spi_parse_pins(struct udevice *dev)
> break;
> }
>
> - pin = name_to_gpio(pin_name);
> + pin = sunxi_name_to_gpio(pin_name);
> if (pin < 0)
> break;
>
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index b1f8a9c1e62..b0c52a500df 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -452,7 +452,7 @@ config VIDEO_LCD_SSD2828_RESET
> default ""
> ---help---
> The reset pin of SSD2828 chip. This takes a string in the format
> - understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
> + understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
>
> config VIDEO_LCD_TDO_TL070WSH30
> bool "TDO TL070WSH30 DSI LCD panel support"
> @@ -477,7 +477,7 @@ config VIDEO_LCD_SPI_CS
> This is one of the SPI communication pins, involved in setting up a
> working LCD configuration. The exact role of SPI may differ for
> different hardware setups. The option takes a string in the format
> - understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
> + understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
>
> config VIDEO_LCD_SPI_SCLK
> string "SPI SCLK pin for LCD related config job"
> @@ -487,7 +487,7 @@ config VIDEO_LCD_SPI_SCLK
> This is one of the SPI communication pins, involved in setting up a
> working LCD configuration. The exact role of SPI may differ for
> different hardware setups. The option takes a string in the format
> - understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
> + understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
>
> config VIDEO_LCD_SPI_MOSI
> string "SPI MOSI pin for LCD related config job"
> @@ -497,7 +497,7 @@ config VIDEO_LCD_SPI_MOSI
> This is one of the SPI communication pins, involved in setting up a
> working LCD configuration. The exact role of SPI may differ for
> different hardware setups. The option takes a string in the format
> - understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
> + understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
>
> config VIDEO_LCD_SPI_MISO
> string "SPI MISO pin for LCD related config job (optional)"
> @@ -509,7 +509,7 @@ config VIDEO_LCD_SPI_MISO
> different hardware setups. If wired up, this pin may provide additional
> useful functionality. Such as bi-directional communication with the
> hardware and LCD panel id retrieval (if the panel can report it). The
> - option takes a string in the format understood by 'name_to_gpio'
> + option takes a string in the format understood by 'sunxi_name_to_gpio'
> function, e.g. PH1 for pin 1 of port H.
>
> source "drivers/video/meson/Kconfig"
> diff --git a/drivers/video/hitachi_tx18d42vm_lcd.c b/drivers/video/hitachi_tx18d42vm_lcd.c
> index c6c8df6a96e..87c4d27438a 100644
> --- a/drivers/video/hitachi_tx18d42vm_lcd.c
> +++ b/drivers/video/hitachi_tx18d42vm_lcd.c
> @@ -49,9 +49,9 @@ int hitachi_tx18d42vm_init(void)
> };
> int i, cs, clk, mosi, ret = 0;
>
> - cs = name_to_gpio(CONFIG_VIDEO_LCD_SPI_CS);
> - clk = name_to_gpio(CONFIG_VIDEO_LCD_SPI_SCLK);
> - mosi = name_to_gpio(CONFIG_VIDEO_LCD_SPI_MOSI);
> + cs = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_CS);
> + clk = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_SCLK);
> + mosi = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_MOSI);
>
> if (cs == -1 || clk == -1 || mosi == 1) {
> printf("Error tx18d42vm spi gpio config is invalid\n");
> diff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c
> index 128888f7af1..da3e8988296 100644
> --- a/drivers/video/sunxi/sunxi_display.c
> +++ b/drivers/video/sunxi/sunxi_display.c
> @@ -871,11 +871,11 @@ static void sunxi_vga_external_dac_enable(void)
> static int sunxi_ssd2828_init(const struct ctfb_res_modes *mode)
> {
> struct ssd2828_config cfg = {
> - .csx_pin = name_to_gpio(CONFIG_VIDEO_LCD_SPI_CS),
> - .sck_pin = name_to_gpio(CONFIG_VIDEO_LCD_SPI_SCLK),
> - .sdi_pin = name_to_gpio(CONFIG_VIDEO_LCD_SPI_MOSI),
> - .sdo_pin = name_to_gpio(CONFIG_VIDEO_LCD_SPI_MISO),
> - .reset_pin = name_to_gpio(CONFIG_VIDEO_LCD_SSD2828_RESET),
> + .csx_pin = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_CS),
> + .sck_pin = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_SCLK),
> + .sdi_pin = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_MOSI),
> + .sdo_pin = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SPI_MISO),
> + .reset_pin = sunxi_name_to_gpio(CONFIG_VIDEO_LCD_SSD2828_RESET),
> .ssd2828_tx_clk_khz = CONFIG_VIDEO_LCD_SSD2828_TX_CLK * 1000,
> .ssd2828_color_depth = 24,
> #ifdef CONFIG_VIDEO_LCD_PANEL_MIPI_4_LANE_513_MBPS_VIA_SSD2828
More information about the U-Boot
mailing list