[PATCH v2 0/4] MIPS: SiByte: Fix serial device regressions

From: Maciej W. Rozycki

Date: Mon Apr 13 2026 - 00:03:22 EST


Hi,

This v2 of the series discards a stray `i' local variable from 3/4 that
causes a compiler warning missed in verification. No functional change.

Starting from commit 84a9582fd203 ("serial: core: Start managing serial
controllers to enable runtime PM") the driver for the SiByte onchip DUART
has stopped working due to a null pointer dereference in the serial core,
which means a kernel crash at bootstrap if the driver has been enabled, as
is usually the case for the system console.

This patch series addresses the issue by switching the driver away from
legacy probing to using platform devices. A notable consequence of this
is the serial console is only switched from the bootconsole handler that
uses firmware calls over to our serial driver at the time the driver is
being properly brought up. This causes messages to be produced to the
console between the device reset and console setup, which in turn causes
the firmware still being called via the bootconsole handler to loop
forever owing to the transmitter having been disabled.

Therefore introductory change 2/4 is included to fix the issue by doing a
rudimentary device setup right after reset, using parameters compatible
with those used by the firmware (115200n8). There is auxiliary change 1/4
included as well that prevents message corruption from happening at reset,
which becomes more prominent due to the change in timing, with the driver
switch to the platform device, of messages produced to the console.

Additionally there is a revert included as change 4/4 for a regression
introduced by an earlier change that caused previously good code to fail
requesting the control register resource shared between DUART channels,
and issue a warning to the kernel log. Not to be backported as strictly
speaking the driver works just fine despite the missing reservation.

See individual change descriptions for details. Verified with a SWARM
(BCM91250A) system.

Please apply.

Maciej