]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
MIPS: rb532: Fix MMIO UART resource registration
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Thu, 5 Feb 2026 10:08:42 +0000 (10:08 +0000)
committerSasha Levin <sashal@kernel.org>
Wed, 4 Mar 2026 12:21:25 +0000 (07:21 -0500)
[ Upstream commit e93bb4b76cfefb302534246e892c7667491cb8cc ]

Since commit 6e690d54cfa8 ("serial: 8250: fix return error code in
serial8250_request_std_resource()"), registering an 8250 MMIO port
without mapbase no longer works, as the resource range is derived from
mapbase/mapsize.

Populate mapbase and mapsize accordingly. Also drop ugly membase KSEG1
pointer and set UPF_IOREMAP instead, letting the 8250 core perform the
ioremap.

Fixes: 6e690d54cfa8 ("serial: 8250: fix return error code in serial8250_request_std_resource()")
Cc: stable@vger.kernel.org
Reported-by: Waldemar Brodkorb <wbx@openadk.org>
Link: https://lore.kernel.org/linux-mips/aX-d0ShTplHKZT33@waldemar-brodkorb.de/
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/mips/rb532/devices.c

index b7f6f782d9a130c223a12e83b066233010a9961f..ffa4d38ca95df78715208da69cccf8e1f87991fe 100644 (file)
@@ -212,11 +212,12 @@ static struct platform_device rb532_wdt = {
 static struct plat_serial8250_port rb532_uart_res[] = {
        {
                .type           = PORT_16550A,
-               .membase        = (char *)KSEG1ADDR(REGBASE + UART0BASE),
+               .mapbase        = REGBASE + UART0BASE,
+               .mapsize        = 0x1000,
                .irq            = UART0_IRQ,
                .regshift       = 2,
                .iotype         = UPIO_MEM,
-               .flags          = UPF_BOOT_AUTOCONF,
+               .flags          = UPF_BOOT_AUTOCONF | UPF_IOREMAP,
        },
        {
                .flags          = 0,