All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] sunxi: Cleanup to prepare for DM_GPIO/DM_PINCTRL
@ 2021-09-11 21:50 Samuel Holland
  2021-09-11 21:50 ` [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h Samuel Holland
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Samuel Holland @ 2021-09-11 21:50 UTC (permalink / raw)
  To: u-boot, Jagan Teki, Andre Przywara; +Cc: Samuel Holland

I have a patch series in progresss to migrate sunxi to a DM_PINCTRL
driver and convert the remaining legacy GPIO users (outside of SPL).

This is one of several small independent sets of preparatory patches
I will be sending in order to minimize the size of the main series
(which has >100 patches at this point).


Samuel Holland (3):
  sunxi: Clean up inclusions of asm/arch/gpio.h
  sunxi: gpio: Remove name_to_gpio macro
  sunxi: gpio: Remove bank-specific size macros

 arch/arm/include/asm/arch-sunxi/gpio.h | 15 ++-------------
 arch/arm/mach-sunxi/board.c            |  1 -
 arch/arm/mach-sunxi/clock.c            |  1 -
 arch/arm/mach-sunxi/clock_sun4i.c      |  1 -
 board/sunxi/board.c                    |  1 -
 board/sunxi/gmac.c                     |  1 -
 drivers/gpio/axp_gpio.c                |  1 -
 drivers/gpio/sunxi_gpio.c              |  3 ---
 drivers/mmc/sunxi_mmc.c                |  3 +--
 drivers/net/sun8i_emac.c               |  5 +----
 drivers/power/axp809.c                 |  1 -
 drivers/power/axp818.c                 |  1 -
 drivers/spi/spi-sunxi.c                |  2 +-
 drivers/usb/musb-new/sunxi.c           |  2 --
 drivers/video/Kconfig                  | 10 +++++-----
 drivers/video/hitachi_tx18d42vm_lcd.c  |  6 +++---
 drivers/video/sunxi/sunxi_display.c    | 11 +++++------
 drivers/video/sunxi/sunxi_lcd.c        |  1 -
 18 files changed, 18 insertions(+), 48 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h
  2021-09-11 21:50 [PATCH 0/3] sunxi: Cleanup to prepare for DM_GPIO/DM_PINCTRL Samuel Holland
@ 2021-09-11 21:50 ` Samuel Holland
  2021-09-13 23:53   ` Andre Przywara
  2021-09-11 21:50 ` [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro Samuel Holland
  2021-09-11 21:50 ` [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros Samuel Holland
  2 siblings, 1 reply; 7+ messages in thread
From: Samuel Holland @ 2021-09-11 21:50 UTC (permalink / raw)
  To: u-boot, Jagan Teki, Andre Przywara; +Cc: Samuel Holland

As part of migrating to DM_GPIO and DM_PINCTRL, eventually we will
remove the asm/arch/gpio.h header. In preparation, clean up the various
files that include it.

Some files did not contain any GPIO code at all, so this header was
completely unused.

A few files contained only legacy platform-specific GPIO code for
setting up pin muxes. They were left unchanged, as that code will be
completely removed by the DM_PINCTRL migration.

The remaining files contain some combination of DM_GPIO and legacy GPIO
code. For those, switch to including asm/gpio.h (if it wasn't included
already). Right now, this header provides both sets of functions,
because ARCH_SUNXI selects GPIO_EXTRA_HEADER. This will still be the
right header to include once the DM_GPIO migration is complete and
GPIO_EXTRA_HEADER is no longer needed.

Signed-off-by: Samuel Holland <samuel@sholland.org>
---

 arch/arm/mach-sunxi/board.c         | 1 -
 arch/arm/mach-sunxi/clock.c         | 1 -
 arch/arm/mach-sunxi/clock_sun4i.c   | 1 -
 board/sunxi/board.c                 | 1 -
 board/sunxi/gmac.c                  | 1 -
 drivers/gpio/axp_gpio.c             | 1 -
 drivers/gpio/sunxi_gpio.c           | 1 -
 drivers/mmc/sunxi_mmc.c             | 3 +--
 drivers/net/sun8i_emac.c            | 5 +----
 drivers/power/axp809.c              | 1 -
 drivers/power/axp818.c              | 1 -
 drivers/usb/musb-new/sunxi.c        | 2 --
 drivers/video/sunxi/sunxi_display.c | 1 -
 drivers/video/sunxi/sunxi_lcd.c     | 1 -
 14 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
index d9b04f75fc4..373cb56db49 100644
--- a/arch/arm/mach-sunxi/board.c
+++ b/arch/arm/mach-sunxi/board.c
@@ -21,7 +21,6 @@
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/spl.h>
 #include <asm/arch/sys_proto.h>
 #include <asm/arch/timer.h>
diff --git a/arch/arm/mach-sunxi/clock.c b/arch/arm/mach-sunxi/clock.c
index f591affebf7..de7e8752988 100644
--- a/arch/arm/mach-sunxi/clock.c
+++ b/arch/arm/mach-sunxi/clock.c
@@ -10,7 +10,6 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/prcm.h>
 #include <asm/arch/gtbus.h>
 #include <asm/arch/sys_proto.h>
diff --git a/arch/arm/mach-sunxi/clock_sun4i.c b/arch/arm/mach-sunxi/clock_sun4i.c
index 57ee018eaa2..471609764d2 100644
--- a/arch/arm/mach-sunxi/clock_sun4i.c
+++ b/arch/arm/mach-sunxi/clock_sun4i.c
@@ -12,7 +12,6 @@
 #include <common.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/sys_proto.h>
 
 #ifdef CONFIG_SPL_BUILD
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 2b7d655678d..dcd7f0b4375 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -25,7 +25,6 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/display.h>
 #include <asm/arch/dram.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/mmc.h>
 #include <asm/arch/prcm.h>
 #include <asm/arch/spl.h>
diff --git a/board/sunxi/gmac.c b/board/sunxi/gmac.c
index d8fdf7728e0..1fa54ed72de 100644
--- a/board/sunxi/gmac.c
+++ b/board/sunxi/gmac.c
@@ -4,7 +4,6 @@
 #include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
 
 void eth_init_board(void)
 {
diff --git a/drivers/gpio/axp_gpio.c b/drivers/gpio/axp_gpio.c
index 73058cf40b4..35585dc8ac9 100644
--- a/drivers/gpio/axp_gpio.c
+++ b/drivers/gpio/axp_gpio.c
@@ -6,7 +6,6 @@
  */
 
 #include <common.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/pmic_bus.h>
 #include <asm/gpio.h>
 #include <axp_pmic.h>
diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
index 24cb604e3e3..7ce3ef73b46 100644
--- a/drivers/gpio/sunxi_gpio.c
+++ b/drivers/gpio/sunxi_gpio.c
@@ -14,7 +14,6 @@
 #include <errno.h>
 #include <fdtdec.h>
 #include <malloc.h>
-#include <asm/arch/gpio.h>
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <dm/device-internal.h>
diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
index 178b8cf106d..c62b5f5a6f9 100644
--- a/drivers/mmc/sunxi_mmc.c
+++ b/drivers/mmc/sunxi_mmc.c
@@ -15,12 +15,11 @@
 #include <mmc.h>
 #include <clk.h>
 #include <reset.h>
+#include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/cpu.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/mmc.h>
-#include <asm-generic/gpio.h>
 #include <linux/delay.h>
 
 #ifndef CCM_MMC_CTRL_MODE_SEL_NEW
diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
index d7553fe1634..46786d9f764 100644
--- a/drivers/net/sun8i_emac.c
+++ b/drivers/net/sun8i_emac.c
@@ -14,9 +14,9 @@
 #include <log.h>
 #include <asm/cache.h>
 #include <asm/global_data.h>
+#include <asm/gpio.h>
 #include <asm/io.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
 #include <common.h>
 #include <clk.h>
 #include <dm.h>
@@ -31,9 +31,6 @@
 #include <reset.h>
 #include <dt-bindings/pinctrl/sun4i-a10.h>
 #include <wait_bit.h>
-#if CONFIG_IS_ENABLED(DM_GPIO)
-#include <asm-generic/gpio.h>
-#endif
 
 #define MDIO_CMD_MII_BUSY		BIT(0)
 #define MDIO_CMD_MII_WRITE		BIT(1)
diff --git a/drivers/power/axp809.c b/drivers/power/axp809.c
index 6323492b66d..0396502cdb5 100644
--- a/drivers/power/axp809.c
+++ b/drivers/power/axp809.c
@@ -13,7 +13,6 @@
 #include <common.h>
 #include <command.h>
 #include <errno.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/pmic_bus.h>
 #include <axp_pmic.h>
 
diff --git a/drivers/power/axp818.c b/drivers/power/axp818.c
index 0531707c8aa..2dc736467bb 100644
--- a/drivers/power/axp818.c
+++ b/drivers/power/axp818.c
@@ -13,7 +13,6 @@
 #include <common.h>
 #include <command.h>
 #include <errno.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/pmic_bus.h>
 #include <axp_pmic.h>
 
diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
index fea4105f3d1..7e62e3fe6ea 100644
--- a/drivers/usb/musb-new/sunxi.c
+++ b/drivers/usb/musb-new/sunxi.c
@@ -25,8 +25,6 @@
 #include <reset.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/clock.h>
-#include <asm/arch/gpio.h>
-#include <asm-generic/gpio.h>
 #include <dm/device_compat.h>
 #include <dm/lists.h>
 #include <dm/root.h>
diff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c
index 4361a58cd7e..128888f7af1 100644
--- a/drivers/video/sunxi/sunxi_display.c
+++ b/drivers/video/sunxi/sunxi_display.c
@@ -17,7 +17,6 @@
 
 #include <asm/arch/clock.h>
 #include <asm/arch/display.h>
-#include <asm/arch/gpio.h>
 #include <asm/arch/lcdc.h>
 #include <asm/arch/pwm.h>
 #include <asm/arch/tve.h>
diff --git a/drivers/video/sunxi/sunxi_lcd.c b/drivers/video/sunxi/sunxi_lcd.c
index 7a9eba1ed42..8b9c3b2bfa9 100644
--- a/drivers/video/sunxi/sunxi_lcd.c
+++ b/drivers/video/sunxi/sunxi_lcd.c
@@ -15,7 +15,6 @@
 #include <asm/io.h>
 #include <asm/arch/clock.h>
 #include <asm/arch/lcdc.h>
-#include <asm/arch/gpio.h>
 #include <asm/global_data.h>
 #include <asm/gpio.h>
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro
  2021-09-11 21:50 [PATCH 0/3] sunxi: Cleanup to prepare for DM_GPIO/DM_PINCTRL Samuel Holland
  2021-09-11 21:50 ` [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h Samuel Holland
@ 2021-09-11 21:50 ` Samuel Holland
  2021-09-13 23:53   ` Andre Przywara
  2021-09-11 21:50 ` [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros Samuel Holland
  2 siblings, 1 reply; 7+ messages in thread
From: Samuel Holland @ 2021-09-11 21:50 UTC (permalink / raw)
  To: u-boot, Jagan Teki, Andre Przywara; +Cc: Samuel Holland

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@sholland.org>
---

 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
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros
  2021-09-11 21:50 [PATCH 0/3] sunxi: Cleanup to prepare for DM_GPIO/DM_PINCTRL Samuel Holland
  2021-09-11 21:50 ` [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h Samuel Holland
  2021-09-11 21:50 ` [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro Samuel Holland
@ 2021-09-11 21:50 ` Samuel Holland
  2021-09-13 23:53   ` Andre Przywara
  2 siblings, 1 reply; 7+ messages in thread
From: Samuel Holland @ 2021-09-11 21:50 UTC (permalink / raw)
  To: u-boot, Jagan Teki, Andre Przywara; +Cc: Samuel Holland

Since the beginning, all banks have had space for 32 pins, even when
not all pins were implemented. Let's use a single constant for the GPIO
bank size here, like the GPIO driver is already doing.

Signed-off-by: Samuel Holland <samuel@sholland.org>
---

 arch/arm/include/asm/arch-sunxi/gpio.h | 14 ++------------
 drivers/gpio/sunxi_gpio.c              |  2 --
 2 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
index c93c051a19f..cd5e85988b1 100644
--- a/arch/arm/include/asm/arch-sunxi/gpio.h
+++ b/arch/arm/include/asm/arch-sunxi/gpio.h
@@ -93,20 +93,10 @@ struct sunxi_gpio_reg {
 #define GPIO_PULL_OFFSET(pin)	((((pin) & 0x1f) & 0xf) << 1)
 
 /* GPIO bank sizes */
-#define SUNXI_GPIO_A_NR		32
-#define SUNXI_GPIO_B_NR		32
-#define SUNXI_GPIO_C_NR		32
-#define SUNXI_GPIO_D_NR		32
-#define SUNXI_GPIO_E_NR		32
-#define SUNXI_GPIO_F_NR		32
-#define SUNXI_GPIO_G_NR		32
-#define SUNXI_GPIO_H_NR		32
-#define SUNXI_GPIO_I_NR		32
-#define SUNXI_GPIO_L_NR		32
-#define SUNXI_GPIO_M_NR		32
+#define SUNXI_GPIOS_PER_BANK	32
 
 #define SUNXI_GPIO_NEXT(__gpio) \
-	((__gpio##_START) + (__gpio##_NR) + 0)
+	((__gpio##_START) + SUNXI_GPIOS_PER_BANK)
 
 enum sunxi_gpio_number {
 	SUNXI_GPIO_A_START = 0,
diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
index 7ce3ef73b46..ed26eb011f4 100644
--- a/drivers/gpio/sunxi_gpio.c
+++ b/drivers/gpio/sunxi_gpio.c
@@ -19,8 +19,6 @@
 #include <dm/device-internal.h>
 #include <dt-bindings/gpio/gpio.h>
 
-#define SUNXI_GPIOS_PER_BANK	SUNXI_GPIO_A_NR
-
 struct sunxi_gpio_plat {
 	struct sunxi_gpio *regs;
 	const char *bank_name;	/* Name of bank, e.g. "B" */
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h
  2021-09-11 21:50 ` [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h Samuel Holland
@ 2021-09-13 23:53   ` Andre Przywara
  0 siblings, 0 replies; 7+ messages in thread
From: Andre Przywara @ 2021-09-13 23:53 UTC (permalink / raw)
  To: Samuel Holland; +Cc: u-boot, Jagan Teki

On Sat, 11 Sep 2021 16:50:47 -0500
Samuel Holland <samuel@sholland.org> wrote:

> As part of migrating to DM_GPIO and DM_PINCTRL, eventually we will
> remove the asm/arch/gpio.h header. In preparation, clean up the various
> files that include it.
> 
> Some files did not contain any GPIO code at all, so this header was
> completely unused.
> 
> A few files contained only legacy platform-specific GPIO code for
> setting up pin muxes. They were left unchanged, as that code will be
> completely removed by the DM_PINCTRL migration.
> 
> The remaining files contain some combination of DM_GPIO and legacy GPIO
> code. For those, switch to including asm/gpio.h (if it wasn't included
> already). Right now, this header provides both sets of functions,
> because ARCH_SUNXI selects GPIO_EXTRA_HEADER. This will still be the
> right header to include once the DM_GPIO migration is complete and
> GPIO_EXTRA_HEADER is no longer needed.

Nice cleanup, and it survived a buildman sunxi (all 158 boards).

> Signed-off-by: Samuel Holland <samuel@sholland.org>

Reviewed-by: Andre Przywara <andre.przywara@arm.com>

Cheers,
Andre

> ---
> 
>  arch/arm/mach-sunxi/board.c         | 1 -
>  arch/arm/mach-sunxi/clock.c         | 1 -
>  arch/arm/mach-sunxi/clock_sun4i.c   | 1 -
>  board/sunxi/board.c                 | 1 -
>  board/sunxi/gmac.c                  | 1 -
>  drivers/gpio/axp_gpio.c             | 1 -
>  drivers/gpio/sunxi_gpio.c           | 1 -
>  drivers/mmc/sunxi_mmc.c             | 3 +--
>  drivers/net/sun8i_emac.c            | 5 +----
>  drivers/power/axp809.c              | 1 -
>  drivers/power/axp818.c              | 1 -
>  drivers/usb/musb-new/sunxi.c        | 2 --
>  drivers/video/sunxi/sunxi_display.c | 1 -
>  drivers/video/sunxi/sunxi_lcd.c     | 1 -
>  14 files changed, 2 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm/mach-sunxi/board.c b/arch/arm/mach-sunxi/board.c
> index d9b04f75fc4..373cb56db49 100644
> --- a/arch/arm/mach-sunxi/board.c
> +++ b/arch/arm/mach-sunxi/board.c
> @@ -21,7 +21,6 @@
>  #include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/spl.h>
>  #include <asm/arch/sys_proto.h>
>  #include <asm/arch/timer.h>
> diff --git a/arch/arm/mach-sunxi/clock.c b/arch/arm/mach-sunxi/clock.c
> index f591affebf7..de7e8752988 100644
> --- a/arch/arm/mach-sunxi/clock.c
> +++ b/arch/arm/mach-sunxi/clock.c
> @@ -10,7 +10,6 @@
>  #include <common.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/prcm.h>
>  #include <asm/arch/gtbus.h>
>  #include <asm/arch/sys_proto.h>
> diff --git a/arch/arm/mach-sunxi/clock_sun4i.c b/arch/arm/mach-sunxi/clock_sun4i.c
> index 57ee018eaa2..471609764d2 100644
> --- a/arch/arm/mach-sunxi/clock_sun4i.c
> +++ b/arch/arm/mach-sunxi/clock_sun4i.c
> @@ -12,7 +12,6 @@
>  #include <common.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/sys_proto.h>
>  
>  #ifdef CONFIG_SPL_BUILD
> diff --git a/board/sunxi/board.c b/board/sunxi/board.c
> index 2b7d655678d..dcd7f0b4375 100644
> --- a/board/sunxi/board.c
> +++ b/board/sunxi/board.c
> @@ -25,7 +25,6 @@
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/display.h>
>  #include <asm/arch/dram.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/mmc.h>
>  #include <asm/arch/prcm.h>
>  #include <asm/arch/spl.h>
> diff --git a/board/sunxi/gmac.c b/board/sunxi/gmac.c
> index d8fdf7728e0..1fa54ed72de 100644
> --- a/board/sunxi/gmac.c
> +++ b/board/sunxi/gmac.c
> @@ -4,7 +4,6 @@
>  #include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
>  
>  void eth_init_board(void)
>  {
> diff --git a/drivers/gpio/axp_gpio.c b/drivers/gpio/axp_gpio.c
> index 73058cf40b4..35585dc8ac9 100644
> --- a/drivers/gpio/axp_gpio.c
> +++ b/drivers/gpio/axp_gpio.c
> @@ -6,7 +6,6 @@
>   */
>  
>  #include <common.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/pmic_bus.h>
>  #include <asm/gpio.h>
>  #include <axp_pmic.h>
> diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
> index 24cb604e3e3..7ce3ef73b46 100644
> --- a/drivers/gpio/sunxi_gpio.c
> +++ b/drivers/gpio/sunxi_gpio.c
> @@ -14,7 +14,6 @@
>  #include <errno.h>
>  #include <fdtdec.h>
>  #include <malloc.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/io.h>
>  #include <asm/gpio.h>
>  #include <dm/device-internal.h>
> diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
> index 178b8cf106d..c62b5f5a6f9 100644
> --- a/drivers/mmc/sunxi_mmc.c
> +++ b/drivers/mmc/sunxi_mmc.c
> @@ -15,12 +15,11 @@
>  #include <mmc.h>
>  #include <clk.h>
>  #include <reset.h>
> +#include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/cpu.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/mmc.h>
> -#include <asm-generic/gpio.h>
>  #include <linux/delay.h>
>  
>  #ifndef CCM_MMC_CTRL_MODE_SEL_NEW
> diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
> index d7553fe1634..46786d9f764 100644
> --- a/drivers/net/sun8i_emac.c
> +++ b/drivers/net/sun8i_emac.c
> @@ -14,9 +14,9 @@
>  #include <log.h>
>  #include <asm/cache.h>
>  #include <asm/global_data.h>
> +#include <asm/gpio.h>
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
>  #include <common.h>
>  #include <clk.h>
>  #include <dm.h>
> @@ -31,9 +31,6 @@
>  #include <reset.h>
>  #include <dt-bindings/pinctrl/sun4i-a10.h>
>  #include <wait_bit.h>
> -#if CONFIG_IS_ENABLED(DM_GPIO)
> -#include <asm-generic/gpio.h>
> -#endif
>  
>  #define MDIO_CMD_MII_BUSY		BIT(0)
>  #define MDIO_CMD_MII_WRITE		BIT(1)
> diff --git a/drivers/power/axp809.c b/drivers/power/axp809.c
> index 6323492b66d..0396502cdb5 100644
> --- a/drivers/power/axp809.c
> +++ b/drivers/power/axp809.c
> @@ -13,7 +13,6 @@
>  #include <common.h>
>  #include <command.h>
>  #include <errno.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/pmic_bus.h>
>  #include <axp_pmic.h>
>  
> diff --git a/drivers/power/axp818.c b/drivers/power/axp818.c
> index 0531707c8aa..2dc736467bb 100644
> --- a/drivers/power/axp818.c
> +++ b/drivers/power/axp818.c
> @@ -13,7 +13,6 @@
>  #include <common.h>
>  #include <command.h>
>  #include <errno.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/pmic_bus.h>
>  #include <axp_pmic.h>
>  
> diff --git a/drivers/usb/musb-new/sunxi.c b/drivers/usb/musb-new/sunxi.c
> index fea4105f3d1..7e62e3fe6ea 100644
> --- a/drivers/usb/musb-new/sunxi.c
> +++ b/drivers/usb/musb-new/sunxi.c
> @@ -25,8 +25,6 @@
>  #include <reset.h>
>  #include <asm/arch/cpu.h>
>  #include <asm/arch/clock.h>
> -#include <asm/arch/gpio.h>
> -#include <asm-generic/gpio.h>
>  #include <dm/device_compat.h>
>  #include <dm/lists.h>
>  #include <dm/root.h>
> diff --git a/drivers/video/sunxi/sunxi_display.c b/drivers/video/sunxi/sunxi_display.c
> index 4361a58cd7e..128888f7af1 100644
> --- a/drivers/video/sunxi/sunxi_display.c
> +++ b/drivers/video/sunxi/sunxi_display.c
> @@ -17,7 +17,6 @@
>  
>  #include <asm/arch/clock.h>
>  #include <asm/arch/display.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/arch/lcdc.h>
>  #include <asm/arch/pwm.h>
>  #include <asm/arch/tve.h>
> diff --git a/drivers/video/sunxi/sunxi_lcd.c b/drivers/video/sunxi/sunxi_lcd.c
> index 7a9eba1ed42..8b9c3b2bfa9 100644
> --- a/drivers/video/sunxi/sunxi_lcd.c
> +++ b/drivers/video/sunxi/sunxi_lcd.c
> @@ -15,7 +15,6 @@
>  #include <asm/io.h>
>  #include <asm/arch/clock.h>
>  #include <asm/arch/lcdc.h>
> -#include <asm/arch/gpio.h>
>  #include <asm/global_data.h>
>  #include <asm/gpio.h>
>  


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro
  2021-09-11 21:50 ` [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro Samuel Holland
@ 2021-09-13 23:53   ` Andre Przywara
  0 siblings, 0 replies; 7+ messages in thread
From: Andre Przywara @ 2021-09-13 23:53 UTC (permalink / raw)
  To: Samuel Holland; +Cc: u-boot, Jagan Teki

On Sat, 11 Sep 2021 16:50:48 -0500
Samuel Holland <samuel@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@sholland.org>

Compile tested on all sunxi boards.

Acked-by: Andre Przywara <andre.przywara@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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros
  2021-09-11 21:50 ` [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros Samuel Holland
@ 2021-09-13 23:53   ` Andre Przywara
  0 siblings, 0 replies; 7+ messages in thread
From: Andre Przywara @ 2021-09-13 23:53 UTC (permalink / raw)
  To: Samuel Holland; +Cc: u-boot, Jagan Teki

On Sat, 11 Sep 2021 16:50:49 -0500
Samuel Holland <samuel@sholland.org> wrote:

> Since the beginning, all banks have had space for 32 pins, even when
> not all pins were implemented. Let's use a single constant for the GPIO
> bank size here, like the GPIO driver is already doing.

Yeah, I always found some code in there a bit over the top, thanks for
cleaning this up.

> Signed-off-by: Samuel Holland <samuel@sholland.org>

Reviewed-by: Andre Przywara <andre.przywara@arm.com>

Cheers,
Andre

> ---
> 
>  arch/arm/include/asm/arch-sunxi/gpio.h | 14 ++------------
>  drivers/gpio/sunxi_gpio.c              |  2 --
>  2 files changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
> index c93c051a19f..cd5e85988b1 100644
> --- a/arch/arm/include/asm/arch-sunxi/gpio.h
> +++ b/arch/arm/include/asm/arch-sunxi/gpio.h
> @@ -93,20 +93,10 @@ struct sunxi_gpio_reg {
>  #define GPIO_PULL_OFFSET(pin)	((((pin) & 0x1f) & 0xf) << 1)
>  
>  /* GPIO bank sizes */
> -#define SUNXI_GPIO_A_NR		32
> -#define SUNXI_GPIO_B_NR		32
> -#define SUNXI_GPIO_C_NR		32
> -#define SUNXI_GPIO_D_NR		32
> -#define SUNXI_GPIO_E_NR		32
> -#define SUNXI_GPIO_F_NR		32
> -#define SUNXI_GPIO_G_NR		32
> -#define SUNXI_GPIO_H_NR		32
> -#define SUNXI_GPIO_I_NR		32
> -#define SUNXI_GPIO_L_NR		32
> -#define SUNXI_GPIO_M_NR		32
> +#define SUNXI_GPIOS_PER_BANK	32
>  
>  #define SUNXI_GPIO_NEXT(__gpio) \
> -	((__gpio##_START) + (__gpio##_NR) + 0)
> +	((__gpio##_START) + SUNXI_GPIOS_PER_BANK)
>  
>  enum sunxi_gpio_number {
>  	SUNXI_GPIO_A_START = 0,
> diff --git a/drivers/gpio/sunxi_gpio.c b/drivers/gpio/sunxi_gpio.c
> index 7ce3ef73b46..ed26eb011f4 100644
> --- a/drivers/gpio/sunxi_gpio.c
> +++ b/drivers/gpio/sunxi_gpio.c
> @@ -19,8 +19,6 @@
>  #include <dm/device-internal.h>
>  #include <dt-bindings/gpio/gpio.h>
>  
> -#define SUNXI_GPIOS_PER_BANK	SUNXI_GPIO_A_NR
> -
>  struct sunxi_gpio_plat {
>  	struct sunxi_gpio *regs;
>  	const char *bank_name;	/* Name of bank, e.g. "B" */


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-09-13 23:53 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-11 21:50 [PATCH 0/3] sunxi: Cleanup to prepare for DM_GPIO/DM_PINCTRL Samuel Holland
2021-09-11 21:50 ` [PATCH 1/3] sunxi: Clean up inclusions of asm/arch/gpio.h Samuel Holland
2021-09-13 23:53   ` Andre Przywara
2021-09-11 21:50 ` [PATCH 2/3] sunxi: gpio: Remove name_to_gpio macro Samuel Holland
2021-09-13 23:53   ` Andre Przywara
2021-09-11 21:50 ` [PATCH 3/3] sunxi: gpio: Remove bank-specific size macros Samuel Holland
2021-09-13 23:53   ` Andre Przywara

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.