Re: [PATCH v2 31/53] mfd: ioc3: Add support for IOC4
From: Imre Kaloz
Date: Tue Oct 20 2026 - 17:09:26 EST
On Tue, 20 Oct 2026, Lee Jones wrote:
> > 5 files changed, 438 insertions(+), 46 deletions(-)
>
> Do we really need to bundle all of these changes into this commit?
>
> This is going to be a nightmare to review!
Fair point, and sorry about that. It grew in one piece while I was
bringing the hardware up, and I should have cut it up before posting.
For v3 I'll split it into five patches:
1. mfd: ioc3: Add per-variant interrupt banks
The irq_chip, domain map and chained handler move to a bank table,
and ioc3_priv_data gets a variant pointer and a generic __iomem
base. Only the IOC3 variant exists at this point.
2. MIPS: SGI-IP27: Add IOC4 register definitions
arch/mips/include/asm/sn/ioc4.h on its own.
3. serial: 8250_ioc3: Take the UART clock from platform data
include/linux/platform_data/sgi-ioc3-serial.h and the one-line
change in 8250_ioc3.c, with the MAINTAINERS entry for the header.
4. mfd: ioc3: Add support for IOC4
The IOC4 variant, its two interrupt banks, ioc4_setup() and the
non-serial cells (kbd, RTC and, from patch 46, ATA).
5. mfd: ioc3: Add IOC4 serial cells
ioc4_serial_setup(), the firmware revision check and the four
UART cells.
Each one builds on its own, and 1 and 3 leave IOC3 boards behaving
exactly as before, so they should be easy to check in isolation.
The overall shape of v3 still depends on what Thomas prefers for the
series, so it will follow once he has had a chance to look.
Thanks for taking the time to go through it,
Imre