Re: [PATCH v9 00/12] mfd: nct6694: Refactor transport layer and add HIF (eSPI) support
From: Ming Yu
Date: Wed Oct 21 2026 - 02:54:10 EST
Hi Lee,
Thanks for the review. I have replied to each report in its thread. In short:
- 6/12 and 9/12: The report is valid, but the issue predates this
series. v10 will add a separate fix with a Fixes tag, and the two
patches will be rebased on top of it.
- 12/12: This is the intended behaviour, so no change is planned.
The planned fix for 6/12 and 9/12 is:
mfd: nct6694: Drop the unused IRQ enable mask
The .irq_enable and .irq_disable callbacks only update the
irq_enable bitmask under irq_lock, which is a spinlock_t. Nothing
ever reads that bitmask, so the callbacks do not mask anything. They
also take irq_lock while the IRQ core holds desc->lock, a raw
spinlock. On PREEMPT_RT this is an invalid wait context.
The fix removes both callbacks, along with irq_enable and irq_lock,
and keeps IRQCHIP_SKIP_SET_WAKE. Without .irq_disable, the IRQ core
falls back to lazy disable, and handle_simple_irq() keeps a disabled
interrupt pending instead of calling its handler. The behaviour is
therefore unchanged.
Fixes: 51dad33ede63 ("mfd: Add core driver for Nuvoton NCT6694")
I went with removing the callbacks rather than converting irq_lock to
a raw_spinlock_t, because the bitmask it protects is never used.
Please let me know if you would prefer the conversion instead.
Best regards,
Ming
Lee Jones <lee@xxxxxxxxxx> 於 2026年10月20日週二 下午6:27寫道:
>
> On Tue, 13 Oct 2026, a0282524688@xxxxxxxxx wrote:
>
> > From: Ming Yu <a0282524688@xxxxxxxxx>
> >
> > The Nuvoton NCT6694 is a peripheral expander that provides GPIO, I2C,
> > CAN-FD, Watchdog, HWMON, PWM, and RTC sub-devices. Currently, the
> > driver only supports USB as the host transport interface.
> >
> > This series refactors the NCT6694 MFD driver to support multiple
> > transport backends and adds a Host Interface (HIF) transport driver
> > that communicates over eSPI using Super-I/O shared memory.
> >
> > Patches 1-4 fix pre-existing bugs in the current driver. They carry a
> > Fixes tag and can be picked up independently of the rest of the series.
> >
> > Patches 5-11 isolate the USB transport, extract the transport-agnostic
> > core into nct6694-core.c and wrap the firmware command interface behind
> > regmap, so that the sub-device drivers no longer depend on the
> > transport. Patch 12 adds the HIF transport on top.
>
> Please fix or respond to the Sashkio reviews on patches 6, 9 and 12.
>
> --
> Lee Jones