* [PATCH 1/9] MIPS: TXX9: Remove tx4938_spi_init() and txx9_spi_init()
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 2/9] MIPS: TXX9: Remove txx9_7segled_*() forward declarations Geert Uytterhoeven
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
The last user of tx4938_spi_init() was removed in commit
21d638ef9483d8cf ("MIPS: TXX9: Remove rbtx4938 board support").
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/include/asm/txx9/generic.h | 1 -
arch/mips/include/asm/txx9/tx4938.h | 1 -
arch/mips/txx9/generic/setup.c | 17 -----------------
arch/mips/txx9/generic/setup_tx4938.c | 6 ------
4 files changed, 25 deletions(-)
diff --git a/arch/mips/include/asm/txx9/generic.h b/arch/mips/include/asm/txx9/generic.h
index 9a2c47bf3c4045e7..3813ab9ccf717ada 100644
--- a/arch/mips/include/asm/txx9/generic.h
+++ b/arch/mips/include/asm/txx9/generic.h
@@ -45,7 +45,6 @@ extern int (*txx9_irq_dispatch)(int pending);
const char *prom_getenv(const char *name);
void txx9_wdt_init(unsigned long base);
void txx9_wdt_now(unsigned long base);
-void txx9_spi_init(int busid, unsigned long base, int irq);
void txx9_ethaddr_init(unsigned int id, unsigned char *ethaddr);
void txx9_sio_init(unsigned long baseaddr, int irq,
unsigned int line, unsigned int sclk, int nocts);
diff --git a/arch/mips/include/asm/txx9/tx4938.h b/arch/mips/include/asm/txx9/tx4938.h
index 6ca767ee6467ca88..765f7d6a44d36ee6 100644
--- a/arch/mips/include/asm/txx9/tx4938.h
+++ b/arch/mips/include/asm/txx9/tx4938.h
@@ -281,7 +281,6 @@ void tx4938_wdt_init(void);
void tx4938_setup(void);
void tx4938_time_init(unsigned int tmrnr);
void tx4938_sio_init(unsigned int sclk, unsigned int cts_mask);
-void tx4938_spi_init(int busid);
void tx4938_ethaddr_init(unsigned char *addr0, unsigned char *addr1);
int tx4938_report_pciclk(void);
void tx4938_report_pci1clk(void);
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 6c5025806914f989..97102d3327d22828 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -341,23 +341,6 @@ void txx9_wdt_now(unsigned long base)
&tmrptr->tcr);
}
-/* SPI support */
-void __init txx9_spi_init(int busid, unsigned long base, int irq)
-{
- struct resource res[] = {
- {
- .start = base,
- .end = base + 0x20 - 1,
- .flags = IORESOURCE_MEM,
- }, {
- .start = irq,
- .flags = IORESOURCE_IRQ,
- },
- };
- platform_device_register_simple("spi_txx9", busid,
- res, ARRAY_SIZE(res));
-}
-
void __init txx9_ethaddr_init(unsigned int id, unsigned char *ethaddr)
{
struct platform_device *pdev =
diff --git a/arch/mips/txx9/generic/setup_tx4938.c b/arch/mips/txx9/generic/setup_tx4938.c
index ba646548c5f694bd..bfd6540f8f6a406b 100644
--- a/arch/mips/txx9/generic/setup_tx4938.c
+++ b/arch/mips/txx9/generic/setup_tx4938.c
@@ -301,12 +301,6 @@ void __init tx4938_sio_init(unsigned int sclk, unsigned int cts_mask)
}
}
-void __init tx4938_spi_init(int busid)
-{
- txx9_spi_init(busid, TX4938_SPI_REG & 0xfffffffffULL,
- TXX9_IRQ_BASE + TX4938_IR_SPI);
-}
-
void __init tx4938_ethaddr_init(unsigned char *addr0, unsigned char *addr1)
{
u64 pcfg = __raw_readq(&tx4938_ccfgptr->pcfg);
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/9] MIPS: TXX9: Remove txx9_7segled_*() forward declarations
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 1/9] MIPS: TXX9: Remove tx4938_spi_init() and txx9_spi_init() Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 3/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for SIO DTR Geert Uytterhoeven
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
The actual implementation was removed in commit 5a8df9281b052ff3 ("MIPS:
TXX9: Remove rbtx4939 board support").
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/include/asm/txx9/generic.h | 5 -----
1 file changed, 5 deletions(-)
diff --git a/arch/mips/include/asm/txx9/generic.h b/arch/mips/include/asm/txx9/generic.h
index 3813ab9ccf717ada..5ce5b8579a444ec3 100644
--- a/arch/mips/include/asm/txx9/generic.h
+++ b/arch/mips/include/asm/txx9/generic.h
@@ -83,11 +83,6 @@ void txx9_iocled_init(unsigned long baseaddr,
int basenum, unsigned int num, int lowactive,
const char *color, char **deftriggers);
-/* 7SEG LED */
-void txx9_7segled_init(unsigned int num,
- void (*putc)(unsigned int pos, unsigned char val));
-int txx9_7segled_putc(unsigned int pos, char c);
-
void __init txx9_aclc_init(unsigned long baseaddr, int irq,
unsigned int dmac_id,
unsigned int dma_chan_out,
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 3/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for SIO DTR
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 1/9] MIPS: TXX9: Remove tx4938_spi_init() and txx9_spi_init() Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 2/9] MIPS: TXX9: Remove txx9_7segled_*() forward declarations Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 4/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for TXx9 LEDs Geert Uytterhoeven
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
Convert SIO DTR handling from legacy GPIO calls to GPIO descriptors
using a GPIO lookup table.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/txx9/rbtx4927/setup.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index 31955c1d55550fd4..e57c409c318ca220 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -49,6 +49,7 @@
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/gpio.h>
+#include <linux/gpio/machine.h>
#include <linux/leds.h>
#include <asm/io.h>
#include <asm/reboot.h>
@@ -157,11 +158,20 @@ static inline void tx4927_pci_setup(void) {}
static inline void tx4937_pci_setup(void) {}
#endif /* CONFIG_PCI */
+/* TX4927-SIO DTR on (PIO[15]) */
+GPIO_LOOKUP_SINGLE(sio_gpio_table, NULL, "TXx9", 15, "sio-dtr",
+ GPIO_ACTIVE_HIGH);
+
static void __init rbtx4927_gpio_init(void)
{
- /* TX4927-SIO DTR on (PIO[15]) */
- gpio_request(15, "sio-dtr");
- gpio_direction_output(15, 1);
+ struct gpio_desc *d;
+
+ gpiod_add_lookup_table(&sio_gpio_table);
+ d = gpiod_get(NULL, "sio-dtr", GPIOD_OUT_HIGH);
+ if (IS_ERR(d))
+ pr_err("Unable to get sio-dtr GPIO descriptor\n");
+ else
+ gpiod_put(d);
tx4927_sio_init(0, 0);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 4/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for TXx9 LEDs
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (2 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 3/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for SIO DTR Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 5/9] MIPS: TXX9: Reduce TXX9_IOCLED_MAXLEDS to 3 Geert Uytterhoeven
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
Convert TXx9 LED description from legacy GPIO numbers to GPIO
descriptors using a GPIO lookup table.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/txx9/rbtx4927/setup.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index e57c409c318ca220..618f6a6ab3de08f1 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -327,11 +327,19 @@ static void __init rbtx4927_mtd_init(void)
tx4927_mtd_init(i);
}
+static struct gpiod_lookup_table rbtx4927_gpioled_table = {
+ .table = {
+ GPIO_LOOKUP_IDX("TXx9", 0, NULL, 0, GPIO_ACTIVE_LOW),
+ GPIO_LOOKUP_IDX("TXx9", 1, NULL, 1, GPIO_ACTIVE_LOW),
+ { },
+ },
+};
+
static void __init rbtx4927_gpioled_init(void)
{
static const struct gpio_led leds[] = {
- { .name = "gpioled:green:0", .gpio = 0, .active_low = 1, },
- { .name = "gpioled:green:1", .gpio = 1, .active_low = 1, },
+ { .name = "gpioled:green:0", },
+ { .name = "gpioled:green:1", },
};
static struct gpio_led_platform_data pdata = {
.num_leds = ARRAY_SIZE(leds),
@@ -344,6 +352,8 @@ static void __init rbtx4927_gpioled_init(void)
pdev->dev.platform_data = &pdata;
if (platform_device_add(pdev))
platform_device_put(pdev);
+ rbtx4927_gpioled_table.dev_id = dev_name(&pdev->dev);
+ gpiod_add_lookup_table(&rbtx4927_gpioled_table);
}
static void __init rbtx4927_device_init(void)
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 5/9] MIPS: TXX9: Reduce TXX9_IOCLED_MAXLEDS to 3
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (3 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 4/9] MIPS: TXX9: rbtx4927: Use GPIO lookup table for TXx9 LEDs Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 6/9] MIPS: TXX9: Use GPIO lookup table for iocled LEDs Geert Uytterhoeven
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
The number of available GPIOs and LEDs on the TXx9 IOC FPGA depends on
the platform. Since commit 455481fc9a807798 ("MIPS: Remove TX39XX
support"), the only remaining platform (rbtx4927) supports just three.
Hence reduce the maximum number, to reduce allocation size.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/txx9/generic/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 97102d3327d22828..611ccbe429cfe7e1 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -569,7 +569,7 @@ void __init txx9_ndfmc_init(unsigned long baseaddr,
#if IS_ENABLED(CONFIG_LEDS_GPIO)
static DEFINE_SPINLOCK(txx9_iocled_lock);
-#define TXX9_IOCLED_MAXLEDS 8
+#define TXX9_IOCLED_MAXLEDS 3 /* rbtx4927 */
struct txx9_iocled_data {
struct gpio_chip chip;
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 6/9] MIPS: TXX9: Use GPIO lookup table for iocled LEDs
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (4 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 5/9] MIPS: TXX9: Reduce TXX9_IOCLED_MAXLEDS to 3 Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 7/9] MIPS: TXX9: Drop GPIOLIB_LEGACY select Geert Uytterhoeven
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
Convert iocled LED description from legacy GPIO numbers to GPIO
descriptors using a GPIO lookup table.
For now, just ignore the "lowactive" parameter, and force
GPIO_ACTIVE_LOW, as that is what the sole caller wants.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/txx9/generic/setup.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 611ccbe429cfe7e1..32246f5f78f5070c 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -19,6 +19,7 @@
#include <linux/clkdev.h>
#include <linux/err.h>
#include <linux/gpio/driver.h>
+#include <linux/gpio/machine.h>
#include <linux/platform_device.h>
#include <linux/platform_data/txx9/ndfmc.h>
#include <linux/serial_core.h>
@@ -615,6 +616,15 @@ static int txx9_iocled_dir_out(struct gpio_chip *chip, unsigned int offset,
return 0;
}
+static struct gpiod_lookup_table txx9_iocled_table = {
+ .table = {
+ GPIO_LOOKUP_IDX("iocled", 0, NULL, 0, GPIO_ACTIVE_LOW),
+ GPIO_LOOKUP_IDX("iocled", 1, NULL, 1, GPIO_ACTIVE_LOW),
+ GPIO_LOOKUP_IDX("iocled", 2, NULL, 2, GPIO_ACTIVE_LOW),
+ { },
+ },
+};
+
void __init txx9_iocled_init(unsigned long baseaddr,
int basenum, unsigned int num, int lowactive,
const char *color, char **deftriggers)
@@ -659,14 +669,14 @@ void __init txx9_iocled_init(unsigned long baseaddr,
snprintf(iocled->names[i], sizeof(iocled->names[i]),
"iocled:%s:%u", color, i);
led->name = iocled->names[i];
- led->gpio = basenum + i;
- led->active_low = lowactive;
if (deftriggers && *deftriggers)
led->default_trigger = *deftriggers++;
}
pdev->dev.platform_data = &iocled->pdata;
if (platform_device_add(pdev))
goto out_pdev;
+ txx9_iocled_table.dev_id = dev_name(&pdev->dev);
+ gpiod_add_lookup_table(&txx9_iocled_table);
return;
out_pdev:
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 7/9] MIPS: TXX9: Drop GPIOLIB_LEGACY select
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (5 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 6/9] MIPS: TXX9: Use GPIO lookup table for iocled LEDs Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 8/9] MIPS: TXX9: Convert gpio_txx9 to dynamic GPIO base allocation Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 9/9] MIPS: TXX9: Clean up txx9_iocled_init() Geert Uytterhoeven
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
TXx has been converted away from the old-style gpiolib interfaces.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/txx9/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/mips/txx9/Kconfig b/arch/mips/txx9/Kconfig
index 92b759a434c0eedf..7335efa4d52801dc 100644
--- a/arch/mips/txx9/Kconfig
+++ b/arch/mips/txx9/Kconfig
@@ -37,7 +37,6 @@ config SOC_TX4927
select IRQ_TXX9
select PCI_TX4927
select GPIO_TXX9
- select GPIOLIB_LEGACY
config SOC_TX4938
bool
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 8/9] MIPS: TXX9: Convert gpio_txx9 to dynamic GPIO base allocation
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (6 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 7/9] MIPS: TXX9: Drop GPIOLIB_LEGACY select Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
2026-06-25 12:19 ` [PATCH 9/9] MIPS: TXX9: Clean up txx9_iocled_init() Geert Uytterhoeven
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
Static allocation of GPIO base is deprecated, use dynamic allocation.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/include/asm/txx9pio.h | 3 +--
arch/mips/kernel/gpio_txx9.c | 5 ++---
arch/mips/txx9/rbtx4927/setup.c | 4 ++--
3 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/arch/mips/include/asm/txx9pio.h b/arch/mips/include/asm/txx9pio.h
index 3d6fa9f8d5135411..c33a977244005479 100644
--- a/arch/mips/include/asm/txx9pio.h
+++ b/arch/mips/include/asm/txx9pio.h
@@ -23,7 +23,6 @@ struct txx9_pio_reg {
__u32 maskext;
};
-int txx9_gpio_init(unsigned long baseaddr,
- unsigned int base, unsigned int num);
+int txx9_gpio_init(unsigned long baseaddr, unsigned int num);
#endif /* __ASM_TXX9PIO_H */
diff --git a/arch/mips/kernel/gpio_txx9.c b/arch/mips/kernel/gpio_txx9.c
index 96ac40d20c238018..b2e73263d94c8419 100644
--- a/arch/mips/kernel/gpio_txx9.c
+++ b/arch/mips/kernel/gpio_txx9.c
@@ -76,13 +76,12 @@ static struct gpio_chip txx9_gpio_chip = {
.label = "TXx9",
};
-int __init txx9_gpio_init(unsigned long baseaddr,
- unsigned int base, unsigned int num)
+int __init txx9_gpio_init(unsigned long baseaddr, unsigned int num)
{
txx9_pioptr = ioremap(baseaddr, sizeof(struct txx9_pio_reg));
if (!txx9_pioptr)
return -ENODEV;
- txx9_gpio_chip.base = base;
+ txx9_gpio_chip.base = -1;
txx9_gpio_chip.ngpio = num;
return gpiochip_add_data(&txx9_gpio_chip, NULL);
}
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index 618f6a6ab3de08f1..5b69bff99510e214 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -178,7 +178,7 @@ static void __init rbtx4927_gpio_init(void)
static void __init rbtx4927_arch_init(void)
{
- txx9_gpio_init(TX4927_PIO_REG & 0xfffffffffULL, 0, TX4927_NUM_PIO);
+ txx9_gpio_init(TX4927_PIO_REG & 0xfffffffffULL, TX4927_NUM_PIO);
rbtx4927_gpio_init();
@@ -187,7 +187,7 @@ static void __init rbtx4927_arch_init(void)
static void __init rbtx4937_arch_init(void)
{
- txx9_gpio_init(TX4938_PIO_REG & 0xfffffffffULL, 0, TX4938_NUM_PIO);
+ txx9_gpio_init(TX4938_PIO_REG & 0xfffffffffULL, TX4938_NUM_PIO);
rbtx4927_gpio_init();
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 9/9] MIPS: TXX9: Clean up txx9_iocled_init()
2026-06-25 12:19 [PATCH 0/9] MIPS: TXX9: Legacy GPIO interfaces cleanup Geert Uytterhoeven
` (7 preceding siblings ...)
2026-06-25 12:19 ` [PATCH 8/9] MIPS: TXX9: Convert gpio_txx9 to dynamic GPIO base allocation Geert Uytterhoeven
@ 2026-06-25 12:19 ` Geert Uytterhoeven
8 siblings, 0 replies; 10+ messages in thread
From: Geert Uytterhoeven @ 2026-06-25 12:19 UTC (permalink / raw)
To: Thomas Bogendoerfer, Linus Walleij, Bartosz Golaszewski,
Arnd Bergmann
Cc: linux-mips, linux-gpio, linux-kernel, Geert Uytterhoeven
The sole caller already uses dynamic GPIO base allocation, so drop
support for static allocation.
While at it, drop the no longer used "lowactive" parameter.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/mips/include/asm/txx9/generic.h | 3 +--
arch/mips/txx9/generic/setup.c | 12 ++++--------
arch/mips/txx9/rbtx4927/setup.c | 2 +-
3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/arch/mips/include/asm/txx9/generic.h b/arch/mips/include/asm/txx9/generic.h
index 5ce5b8579a444ec3..653315fb6ca559a7 100644
--- a/arch/mips/include/asm/txx9/generic.h
+++ b/arch/mips/include/asm/txx9/generic.h
@@ -79,8 +79,7 @@ static inline unsigned int __fls8(unsigned char x)
return r;
}
-void txx9_iocled_init(unsigned long baseaddr,
- int basenum, unsigned int num, int lowactive,
+void txx9_iocled_init(unsigned long baseaddr, unsigned int num,
const char *color, char **deftriggers);
void __init txx9_aclc_init(unsigned long baseaddr, int irq,
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 32246f5f78f5070c..5f66236038c8f468 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -625,8 +625,7 @@ static struct gpiod_lookup_table txx9_iocled_table = {
},
};
-void __init txx9_iocled_init(unsigned long baseaddr,
- int basenum, unsigned int num, int lowactive,
+void __init txx9_iocled_init(unsigned long baseaddr, unsigned int num,
const char *color, char **deftriggers)
{
struct txx9_iocled_data *iocled;
@@ -652,14 +651,12 @@ void __init txx9_iocled_init(unsigned long baseaddr,
iocled->chip.direction_input = txx9_iocled_dir_in;
iocled->chip.direction_output = txx9_iocled_dir_out;
iocled->chip.label = "iocled";
- iocled->chip.base = basenum;
+ iocled->chip.base = -1;
iocled->chip.ngpio = num;
if (gpiochip_add_data(&iocled->chip, iocled))
goto out_unmap;
- if (basenum < 0)
- basenum = iocled->chip.base;
- pdev = platform_device_alloc("leds-gpio", basenum);
+ pdev = platform_device_alloc("leds-gpio", iocled->chip.base);
if (!pdev)
goto out_gpio;
iocled->pdata.num_leds = num;
@@ -689,8 +686,7 @@ void __init txx9_iocled_init(unsigned long baseaddr,
kfree(iocled);
}
#else /* CONFIG_LEDS_GPIO */
-void __init txx9_iocled_init(unsigned long baseaddr,
- int basenum, unsigned int num, int lowactive,
+void __init txx9_iocled_init(unsigned long baseaddr, unsigned int num,
const char *color, char **deftriggers)
{
}
diff --git a/arch/mips/txx9/rbtx4927/setup.c b/arch/mips/txx9/rbtx4927/setup.c
index 5b69bff99510e214..51c06c5090f1abcd 100644
--- a/arch/mips/txx9/rbtx4927/setup.c
+++ b/arch/mips/txx9/rbtx4927/setup.c
@@ -370,7 +370,7 @@ static void __init rbtx4927_device_init(void)
tx4938_aclc_init();
}
platform_device_register_simple("txx9aclc-generic", -1, NULL, 0);
- txx9_iocled_init(RBTX4927_LED_ADDR - IO_BASE, -1, 3, 1, "green", NULL);
+ txx9_iocled_init(RBTX4927_LED_ADDR - IO_BASE, 3, "green", NULL);
rbtx4927_gpioled_init();
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread