Re: [PATCH v7 04/10] mfd: nct6694: Rename driver to nct6694-usb and update Kconfig
From: Lee Jones
Date: Thu Sep 03 2026 - 06:50:27 EST
On Fri, 21 Aug 2026, a0282524688@xxxxxxxxx wrote:
> From: Ming Yu <a0282524688@xxxxxxxxx>
>
> Rename nct6694.c to nct6694-usb.c to accurately reflect that it
> implements the USB transport backend.
>
> Additionally, introduce a new MFD_NCT6694_USB Kconfig option and convert
> the existing MFD_NCT6694 into a hidden core symbol. The core symbol is
> now automatically selected by the transport drivers.
>
> This Kconfig and naming restructure aligns with standard MFD transport
> abstraction practices, paving the way for future interfaces (e.g., HIF)
> to be seamlessly integrated.
>
> Signed-off-by: Ming Yu <a0282524688@xxxxxxxxx>
> ---
> Changes in v7:
No changes or you forgot to populate it?
> Changes in v6:
> - Split from the monolithic v4 patch to follow the single logical change
> principle.
>
> MAINTAINERS | 2 +-
> drivers/mfd/Kconfig | 31 ++++++++++++++++--------
> drivers/mfd/Makefile | 2 +-
> drivers/mfd/{nct6694.c => nct6694-usb.c} | 0
> 4 files changed, 23 insertions(+), 12 deletions(-)
> rename drivers/mfd/{nct6694.c => nct6694-usb.c} (100%)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 040df7bfb24f..89d7339f3613 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19356,7 +19356,7 @@ S: Supported
> F: drivers/gpio/gpio-nct6694.c
> F: drivers/hwmon/nct6694-hwmon.c
> F: drivers/i2c/busses/i2c-nct6694.c
> -F: drivers/mfd/nct6694.c
> +F: drivers/mfd/nct6694-usb.c
> F: drivers/net/can/usb/nct6694_canfd.c
> F: drivers/rtc/rtc-nct6694.c
> F: drivers/watchdog/nct6694_wdt.c
> diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig
> index 763ce6a34782..5506a0adf3ec 100644
> --- "a/drivers/mfd/Kconfig"
> +++ "b/drivers/mfd/Kconfig"
> @@ -1164,19 +1164,30 @@ config MFD_MENF21BMC
> will be called menf21bmc.
>
> config MFD_NCT6694
So what does this do now?
Will there be another core symbol soon?
> - tristate "Nuvoton NCT6694 support"
> + tristate
> select MFD_CORE
> + help
> + Core MFD support for the Nuvoton NCT6694 peripheral expander.
> + This provides the common APIs and shared structures used by all
> + interfaces (USB, HIF) to access the NCT6694 hardware features
> + such as GPIO, I2C, CAN-FD, Watchdog, ADC, PWM, and RTC.
> +
> + It is selected automatically by the transport interface drivers.
> +
> +config MFD_NCT6694_USB
> + tristate "Nuvoton NCT6694 USB interface support"
> + select MFD_NCT6694
> depends on USB
> help
> - This enables support for the Nuvoton USB device NCT6694, which shares
> - peripherals.
> - The Nuvoton NCT6694 is a peripheral expander with 16 GPIO chips,
> - 6 I2C controllers, 2 CANfd controllers, 2 Watchdog timers, ADC,
> - PWM, and RTC.
> - This driver provides core APIs to access the NCT6694 hardware
> - monitoring and control features.
> - Additional drivers must be enabled to utilize the specific
> - functionalities of the device.
> + This enables support for the Nuvoton NCT6694 peripheral expander
> + connected via the USB interface.
> +
> + The transport driver uses USB bulk and interrupt transfers to
> + communicate with the NCT6694 firmware. Enable this option if you
> + are using the NCT6694 via a USB connection.
> +
> + To compile this driver as a module, choose M here: the module
> + will be called nct6694-usb.
>
> config MFD_OCELOT
> tristate "Microsemi Ocelot External Control Support"
> diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile
> index dd4bb7e77c33..48caac64f3d8 100644
> --- a/drivers/mfd/Makefile
> +++ b/drivers/mfd/Makefile
> @@ -124,7 +124,7 @@ obj-$(CONFIG_MFD_MC13XXX_I2C) += mc13xxx-i2c.o
>
> obj-$(CONFIG_MFD_PF1550) += pf1550.o
>
> -obj-$(CONFIG_MFD_NCT6694) += nct6694.o
> +obj-$(CONFIG_MFD_NCT6694_USB) += nct6694-usb.o
>
> obj-$(CONFIG_MFD_CORE) += mfd-core.o
>
> diff --git a/drivers/mfd/nct6694.c b/drivers/mfd/nct6694-usb.c
> similarity index 100%
> rename from drivers/mfd/nct6694.c
> rename to drivers/mfd/nct6694-usb.c
> --
> 2.34.1
>
--
Lee Jones