[PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers

a0282524688@gmail.com posted 7 patches 4 weeks, 1 day ago
There is a newer version of this series
MAINTAINERS                         |  12 +
drivers/gpio/Kconfig                |  12 +
drivers/gpio/Makefile               |   1 +
drivers/gpio/gpio-nct6694.c         | 499 +++++++++++++++
drivers/hwmon/Kconfig               |  10 +
drivers/hwmon/Makefile              |   1 +
drivers/hwmon/nct6694-hwmon.c       | 949 ++++++++++++++++++++++++++++
drivers/i2c/busses/Kconfig          |  10 +
drivers/i2c/busses/Makefile         |   1 +
drivers/i2c/busses/i2c-nct6694.c    | 196 ++++++
drivers/mfd/Kconfig                 |  15 +
drivers/mfd/Makefile                |   2 +
drivers/mfd/nct6694.c               | 388 ++++++++++++
drivers/net/can/usb/Kconfig         |  11 +
drivers/net/can/usb/Makefile        |   1 +
drivers/net/can/usb/nct6694_canfd.c | 832 ++++++++++++++++++++++++
drivers/rtc/Kconfig                 |  10 +
drivers/rtc/Makefile                |   1 +
drivers/rtc/rtc-nct6694.c           | 297 +++++++++
drivers/watchdog/Kconfig            |  11 +
drivers/watchdog/Makefile           |   1 +
drivers/watchdog/nct6694_wdt.c      | 307 +++++++++
include/linux/mfd/nct6694.h         | 102 +++
23 files changed, 3669 insertions(+)
create mode 100644 drivers/gpio/gpio-nct6694.c
create mode 100644 drivers/hwmon/nct6694-hwmon.c
create mode 100644 drivers/i2c/busses/i2c-nct6694.c
create mode 100644 drivers/mfd/nct6694.c
create mode 100644 drivers/net/can/usb/nct6694_canfd.c
create mode 100644 drivers/rtc/rtc-nct6694.c
create mode 100644 drivers/watchdog/nct6694_wdt.c
create mode 100644 include/linux/mfd/nct6694.h
[PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers
Posted by a0282524688@gmail.com 4 weeks, 1 day ago
From: Ming Yu <a0282524688@gmail.com>

This patch series introduces support for Nuvoton NCT6694, a peripheral
expander based on USB interface. It models the chip as an MFD driver
(1/7), GPIO driver(2/7), I2C Adapter driver(3/7), CANfd driver(4/7),
WDT driver(5/7), HWMON driver(6/7), and RTC driver(7/7).

The MFD driver implements USB device functionality to issue
custom-define USB bulk pipe packets for NCT6694. Each child device can
use the USB functions nct6694_read_msg() and nct6694_write_msg() to issue
a command. They can also request interrupt that will be called when the
USB device receives its interrupt pipe.

The following introduces the custom-define USB transactions:
        nct6694_read_msg - Send bulk-out pipe to write request packet
                           Receive bulk-in pipe to read response packet
                           Receive bulk-in pipe to read data packet

        nct6694_write_msg - Send bulk-out pipe to write request packet
                            Send bulk-out pipe to write data packet
                            Receive bulk-in pipe to read response packet
                            Receive bulk-in pipe to read data packet

Changes since version 13:
- Update to guard(spinlock_irqsave)() in nct6694.c
- Add struct i2c_adapter_quirks in i2c-nct6694.c
- Rebased on top of v6.17-rc1 as requested

Changes since version 12:
- Implement IDA in MFD driver to handle per-device IDs
- Use spinlock to replace irq mutex lock
- Use same email address in the signature

Changes since version 11:
- Use platform_device's id to replace IDA
- Modify the irq_domain_add_simple() to irq_domain_create_simple() in
  nct6694.c
- Update struct data_bittiming_params related part in nct6694_canfd.c
- Fix the typo in the header in nct6694-hwmon.c

Changes since version 10:
- Add change log for each patch
- Fix mfd_cell to MFD_CELL_NAME() in nct6694.c
- Implement IDA to allocate id in gpio-nct6694.c, i2c-nct6694.c,
  nct6694_canfd.c and nct6694_wdt.c
- Add header <linux/bitfield.h> in nct6694_canfd.c
- Add support to config tdc in nct6694_canfd.c
- Add module parameters to configure WDT's timeout and pretimeout value
  in nct6694_wdt.c

Changes since version 9:
- Add devm_add_action_or_reset() to dispose irq mapping
- Add KernelDoc to exported functions in nct6694.c

Changes since version 8:
- Modify the signed-off-by with my work address
- Rename all MFD cell names to "nct6694-xxx"
- Add irq_dispose_mapping() in the error handling path and in the remove
  function
- Fix some comments in nct6694.c and in nct6694.h
- Add module parameters to configure I2C's baudrate in i2c-nct6694.c
- Rename all function names nct6694_can_xxx to nct6694_canfd_xxx in
  nct6694_canfd.c
- Fix nct6694_canfd_handle_state_change() in nct6694_canfd.c
- Fix nct6694_canfd_start() to configure NBTP and DBTP in nct6694_canfd.c
- Add can_set_static_ctrlmode() in nct6694_canfd.c

Changes since version 7:
- Add error handling for devm_mutex_init()
- Modify the name of the child devices CAN1 and CAN2 to CAN0 and CAN1.
- Fix multiline comments to net-dev style in nct6694_canfd.c

Changes since version 6:
- Fix nct6694_can_handle_state_change() in nct6694_canfd.c
- Fix warnings in nct6694_canfd.c
- Move the nct6694_can_priv's bec to the end in nct6694_canfd.c
- Fix warning in nct6694_wdt.c
- Fix temp_hyst's data type to signed variable in nct6694-hwmon.c

Changes since version 5:
- Modify the module name and the driver name consistently
- Fix mfd_cell to MFD_CELL_NAME() and MFD_CELL_BASIC()
- Drop unnecessary macros in nct6694.c
- Update private data and drop mutex in nct6694_canfd.c
- Fix nct6694_can_handle_state_change() in nct6694_canfd.c

Changes since version 4:
- Modify arguments in read/write function to a pointer to cmd_header
- Modify all callers that call the read/write function
- Move the nct6694_canfd.c to drivers/net/can/usb/
- Fix the missing rx offload function in nct6694_canfd.c
- Fix warngings in nct6694-hwmon.c

Changes since version 3:
- Modify array buffer to structure for each drivers
- Fix defines and comments for each drivers
- Add header <linux/bits.h> and use BIT macro in nct6694.c and
  gpio-nct6694.c
- Modify mutex_init() to devm_mutex_init()
- Add rx-offload helper in nct6694_canfd.c
- Drop watchdog_init_timeout() in nct6694_wdt.c
- Modify the division method to DIV_ROUND_CLOSEST() in nct6694-hwmon.c
- Drop private mutex and use rtc core lock in rtc-nct6694.c
- Modify device_set_wakeup_capable() to device_init_wakeup() in
  rtc-nct6694.c

Changes since version 2:
- Add MODULE_ALIAS() for each child driver
- Modify gpio line names be a local variable in gpio-nct6694.c
- Drop unnecessary platform_get_drvdata() in gpio-nct6694.c
- Rename each command in nct6694_canfd.c
- Modify each function name consistently in nct6694_canfd.c
- Modify the pretimeout validation procedure in nct6694_wdt.c
- Fix warnings in nct6694-hwmon.c

Changes since version 1:
- Implement IRQ domain to handle IRQ demux in nct6694.c
- Modify USB_DEVICE to USB_DEVICE_AND_INTERFACE_INFO API in nct6694.c
- Add each driver's command structure
- Fix USB functions in nct6694.c
- Fix platform driver registration in each child driver
- Sort each driver's header files alphabetically
- Drop unnecessary header in gpio-nct6694.c
- Add gpio line names in gpio-nct6694.c
- Fix errors and warnings in nct6694_canfd.c
- Fix TX-flow control in nct6694_canfd.c
- Fix warnings in nct6694_wdt.c
- Drop unnecessary logs in nct6694_wdt.c
- Modify start() function to setup device in nct6694_wdt.c
- Add voltage sensors functionality in nct6694-hwmon.c
- Add temperature sensors functionality in nct6694-hwmon.c
- Fix overwrite error return values in nct6694-hwmon.c
- Add write value limitation for each write() function in nct6694-hwmon.c
- Drop unnecessary logs in rtc-nct6694.c
- Fix overwrite error return values in rtc-nct6694.c
- Modify to use dev_err_probe API in rtc-nct6694.c


Ming Yu (7):
  mfd: Add core driver for Nuvoton NCT6694
  gpio: Add Nuvoton NCT6694 GPIO support
  i2c: Add Nuvoton NCT6694 I2C support
  can: Add Nuvoton NCT6694 CANFD support
  watchdog: Add Nuvoton NCT6694 WDT support
  hwmon: Add Nuvoton NCT6694 HWMON support
  rtc: Add Nuvoton NCT6694 RTC support

 MAINTAINERS                         |  12 +
 drivers/gpio/Kconfig                |  12 +
 drivers/gpio/Makefile               |   1 +
 drivers/gpio/gpio-nct6694.c         | 499 +++++++++++++++
 drivers/hwmon/Kconfig               |  10 +
 drivers/hwmon/Makefile              |   1 +
 drivers/hwmon/nct6694-hwmon.c       | 949 ++++++++++++++++++++++++++++
 drivers/i2c/busses/Kconfig          |  10 +
 drivers/i2c/busses/Makefile         |   1 +
 drivers/i2c/busses/i2c-nct6694.c    | 196 ++++++
 drivers/mfd/Kconfig                 |  15 +
 drivers/mfd/Makefile                |   2 +
 drivers/mfd/nct6694.c               | 388 ++++++++++++
 drivers/net/can/usb/Kconfig         |  11 +
 drivers/net/can/usb/Makefile        |   1 +
 drivers/net/can/usb/nct6694_canfd.c | 832 ++++++++++++++++++++++++
 drivers/rtc/Kconfig                 |  10 +
 drivers/rtc/Makefile                |   1 +
 drivers/rtc/rtc-nct6694.c           | 297 +++++++++
 drivers/watchdog/Kconfig            |  11 +
 drivers/watchdog/Makefile           |   1 +
 drivers/watchdog/nct6694_wdt.c      | 307 +++++++++
 include/linux/mfd/nct6694.h         | 102 +++
 23 files changed, 3669 insertions(+)
 create mode 100644 drivers/gpio/gpio-nct6694.c
 create mode 100644 drivers/hwmon/nct6694-hwmon.c
 create mode 100644 drivers/i2c/busses/i2c-nct6694.c
 create mode 100644 drivers/mfd/nct6694.c
 create mode 100644 drivers/net/can/usb/nct6694_canfd.c
 create mode 100644 drivers/rtc/rtc-nct6694.c
 create mode 100644 drivers/watchdog/nct6694_wdt.c
 create mode 100644 include/linux/mfd/nct6694.h

-- 
2.34.1
Re: [PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers
Posted by Lee Jones 3 weeks ago
On Thu, 04 Sep 2025, a0282524688@gmail.com wrote:

> From: Ming Yu <a0282524688@gmail.com>
> 
> This patch series introduces support for Nuvoton NCT6694, a peripheral
> expander based on USB interface. It models the chip as an MFD driver
> (1/7), GPIO driver(2/7), I2C Adapter driver(3/7), CANfd driver(4/7),
> WDT driver(5/7), HWMON driver(6/7), and RTC driver(7/7).
> 
> The MFD driver implements USB device functionality to issue
> custom-define USB bulk pipe packets for NCT6694. Each child device can
> use the USB functions nct6694_read_msg() and nct6694_write_msg() to issue
> a command. They can also request interrupt that will be called when the
> USB device receives its interrupt pipe.
> 
> The following introduces the custom-define USB transactions:
>         nct6694_read_msg - Send bulk-out pipe to write request packet
>                            Receive bulk-in pipe to read response packet
>                            Receive bulk-in pipe to read data packet
> 
>         nct6694_write_msg - Send bulk-out pipe to write request packet
>                             Send bulk-out pipe to write data packet
>                             Receive bulk-in pipe to read response packet
>                             Receive bulk-in pipe to read data packet
> 
> Changes since version 13:
> - Update to guard(spinlock_irqsave)() in nct6694.c
> - Add struct i2c_adapter_quirks in i2c-nct6694.c
> - Rebased on top of v6.17-rc1 as requested

I thought you were going to rebase this onto v6.17-rc1?

It still does not apply.

> Changes since version 12:
> - Implement IDA in MFD driver to handle per-device IDs
> - Use spinlock to replace irq mutex lock
> - Use same email address in the signature
> 
> Changes since version 11:
> - Use platform_device's id to replace IDA
> - Modify the irq_domain_add_simple() to irq_domain_create_simple() in
>   nct6694.c
> - Update struct data_bittiming_params related part in nct6694_canfd.c
> - Fix the typo in the header in nct6694-hwmon.c
> 
> Changes since version 10:
> - Add change log for each patch
> - Fix mfd_cell to MFD_CELL_NAME() in nct6694.c
> - Implement IDA to allocate id in gpio-nct6694.c, i2c-nct6694.c,
>   nct6694_canfd.c and nct6694_wdt.c
> - Add header <linux/bitfield.h> in nct6694_canfd.c
> - Add support to config tdc in nct6694_canfd.c
> - Add module parameters to configure WDT's timeout and pretimeout value
>   in nct6694_wdt.c
> 
> Changes since version 9:
> - Add devm_add_action_or_reset() to dispose irq mapping
> - Add KernelDoc to exported functions in nct6694.c
> 
> Changes since version 8:
> - Modify the signed-off-by with my work address
> - Rename all MFD cell names to "nct6694-xxx"
> - Add irq_dispose_mapping() in the error handling path and in the remove
>   function
> - Fix some comments in nct6694.c and in nct6694.h
> - Add module parameters to configure I2C's baudrate in i2c-nct6694.c
> - Rename all function names nct6694_can_xxx to nct6694_canfd_xxx in
>   nct6694_canfd.c
> - Fix nct6694_canfd_handle_state_change() in nct6694_canfd.c
> - Fix nct6694_canfd_start() to configure NBTP and DBTP in nct6694_canfd.c
> - Add can_set_static_ctrlmode() in nct6694_canfd.c
> 
> Changes since version 7:
> - Add error handling for devm_mutex_init()
> - Modify the name of the child devices CAN1 and CAN2 to CAN0 and CAN1.
> - Fix multiline comments to net-dev style in nct6694_canfd.c
> 
> Changes since version 6:
> - Fix nct6694_can_handle_state_change() in nct6694_canfd.c
> - Fix warnings in nct6694_canfd.c
> - Move the nct6694_can_priv's bec to the end in nct6694_canfd.c
> - Fix warning in nct6694_wdt.c
> - Fix temp_hyst's data type to signed variable in nct6694-hwmon.c
> 
> Changes since version 5:
> - Modify the module name and the driver name consistently
> - Fix mfd_cell to MFD_CELL_NAME() and MFD_CELL_BASIC()
> - Drop unnecessary macros in nct6694.c
> - Update private data and drop mutex in nct6694_canfd.c
> - Fix nct6694_can_handle_state_change() in nct6694_canfd.c
> 
> Changes since version 4:
> - Modify arguments in read/write function to a pointer to cmd_header
> - Modify all callers that call the read/write function
> - Move the nct6694_canfd.c to drivers/net/can/usb/
> - Fix the missing rx offload function in nct6694_canfd.c
> - Fix warngings in nct6694-hwmon.c
> 
> Changes since version 3:
> - Modify array buffer to structure for each drivers
> - Fix defines and comments for each drivers
> - Add header <linux/bits.h> and use BIT macro in nct6694.c and
>   gpio-nct6694.c
> - Modify mutex_init() to devm_mutex_init()
> - Add rx-offload helper in nct6694_canfd.c
> - Drop watchdog_init_timeout() in nct6694_wdt.c
> - Modify the division method to DIV_ROUND_CLOSEST() in nct6694-hwmon.c
> - Drop private mutex and use rtc core lock in rtc-nct6694.c
> - Modify device_set_wakeup_capable() to device_init_wakeup() in
>   rtc-nct6694.c
> 
> Changes since version 2:
> - Add MODULE_ALIAS() for each child driver
> - Modify gpio line names be a local variable in gpio-nct6694.c
> - Drop unnecessary platform_get_drvdata() in gpio-nct6694.c
> - Rename each command in nct6694_canfd.c
> - Modify each function name consistently in nct6694_canfd.c
> - Modify the pretimeout validation procedure in nct6694_wdt.c
> - Fix warnings in nct6694-hwmon.c
> 
> Changes since version 1:
> - Implement IRQ domain to handle IRQ demux in nct6694.c
> - Modify USB_DEVICE to USB_DEVICE_AND_INTERFACE_INFO API in nct6694.c
> - Add each driver's command structure
> - Fix USB functions in nct6694.c
> - Fix platform driver registration in each child driver
> - Sort each driver's header files alphabetically
> - Drop unnecessary header in gpio-nct6694.c
> - Add gpio line names in gpio-nct6694.c
> - Fix errors and warnings in nct6694_canfd.c
> - Fix TX-flow control in nct6694_canfd.c
> - Fix warnings in nct6694_wdt.c
> - Drop unnecessary logs in nct6694_wdt.c
> - Modify start() function to setup device in nct6694_wdt.c
> - Add voltage sensors functionality in nct6694-hwmon.c
> - Add temperature sensors functionality in nct6694-hwmon.c
> - Fix overwrite error return values in nct6694-hwmon.c
> - Add write value limitation for each write() function in nct6694-hwmon.c
> - Drop unnecessary logs in rtc-nct6694.c
> - Fix overwrite error return values in rtc-nct6694.c
> - Modify to use dev_err_probe API in rtc-nct6694.c
> 
> 
> Ming Yu (7):
>   mfd: Add core driver for Nuvoton NCT6694
>   gpio: Add Nuvoton NCT6694 GPIO support
>   i2c: Add Nuvoton NCT6694 I2C support
>   can: Add Nuvoton NCT6694 CANFD support
>   watchdog: Add Nuvoton NCT6694 WDT support
>   hwmon: Add Nuvoton NCT6694 HWMON support
>   rtc: Add Nuvoton NCT6694 RTC support
> 
>  MAINTAINERS                         |  12 +
>  drivers/gpio/Kconfig                |  12 +
>  drivers/gpio/Makefile               |   1 +
>  drivers/gpio/gpio-nct6694.c         | 499 +++++++++++++++
>  drivers/hwmon/Kconfig               |  10 +
>  drivers/hwmon/Makefile              |   1 +
>  drivers/hwmon/nct6694-hwmon.c       | 949 ++++++++++++++++++++++++++++
>  drivers/i2c/busses/Kconfig          |  10 +
>  drivers/i2c/busses/Makefile         |   1 +
>  drivers/i2c/busses/i2c-nct6694.c    | 196 ++++++
>  drivers/mfd/Kconfig                 |  15 +
>  drivers/mfd/Makefile                |   2 +
>  drivers/mfd/nct6694.c               | 388 ++++++++++++
>  drivers/net/can/usb/Kconfig         |  11 +
>  drivers/net/can/usb/Makefile        |   1 +
>  drivers/net/can/usb/nct6694_canfd.c | 832 ++++++++++++++++++++++++
>  drivers/rtc/Kconfig                 |  10 +
>  drivers/rtc/Makefile                |   1 +
>  drivers/rtc/rtc-nct6694.c           | 297 +++++++++
>  drivers/watchdog/Kconfig            |  11 +
>  drivers/watchdog/Makefile           |   1 +
>  drivers/watchdog/nct6694_wdt.c      | 307 +++++++++
>  include/linux/mfd/nct6694.h         | 102 +++
>  23 files changed, 3669 insertions(+)
>  create mode 100644 drivers/gpio/gpio-nct6694.c
>  create mode 100644 drivers/hwmon/nct6694-hwmon.c
>  create mode 100644 drivers/i2c/busses/i2c-nct6694.c
>  create mode 100644 drivers/mfd/nct6694.c
>  create mode 100644 drivers/net/can/usb/nct6694_canfd.c
>  create mode 100644 drivers/rtc/rtc-nct6694.c
>  create mode 100644 drivers/watchdog/nct6694_wdt.c
>  create mode 100644 include/linux/mfd/nct6694.h
> 
> -- 
> 2.34.1
> 

-- 
Lee Jones [李琼斯]
Re: [PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers
Posted by Ming Yu 3 weeks ago
Dear Lee,

Thanks for your feedback.

The series applies and builds cleanly on my local tree based on commit
8f5ae30d69d7 (v6.17-rc1).
My branch currently looks like this:

1ba54e97c6fe (HEAD -> mfd_v14_v6.17-rc1) rtc: Add Nuvoton NCT6694 RTC support
6a71b8c05f1f hwmon: Add Nuvoton NCT6694 HWMON support
bf0b59ad47d3 watchdog: Add Nuvoton NCT6694 WDT support
36a8e58f7368 can: Add Nuvoton NCT6694 CANFD support
8cf61471f368 i2c: Add Nuvoton NCT6694 I2C support
f0d3b273fd93 gpio: Add Nuvoton NCT6694 GPIO support
e86e2fb37ed7 mfd: Add core driver for Nuvoton NCT6694
8f5ae30d69d7 (tag: v6.17-rc1) Linux 6.17-rc1


To be absolutely sure there is no mismatch, I will rebase onto the
same tag once more, rebuild, re-test the kernel, and then RESEND the
series.

Please let me know if you are applying on a different base tree or if
there are other prerequisites I might have missed.

Thanks again for your review and your time.


Best regards,
Ming

Lee Jones <lee@kernel.org> 於 2025年9月11日 週四 下午6:00寫道:
>
> On Thu, 04 Sep 2025, a0282524688@gmail.com wrote:
>
> > From: Ming Yu <a0282524688@gmail.com>
> >
> > This patch series introduces support for Nuvoton NCT6694, a peripheral
> > expander based on USB interface. It models the chip as an MFD driver
> > (1/7), GPIO driver(2/7), I2C Adapter driver(3/7), CANfd driver(4/7),
> > WDT driver(5/7), HWMON driver(6/7), and RTC driver(7/7).
> >
> > The MFD driver implements USB device functionality to issue
> > custom-define USB bulk pipe packets for NCT6694. Each child device can
> > use the USB functions nct6694_read_msg() and nct6694_write_msg() to issue
> > a command. They can also request interrupt that will be called when the
> > USB device receives its interrupt pipe.
> >
> > The following introduces the custom-define USB transactions:
> >         nct6694_read_msg - Send bulk-out pipe to write request packet
> >                            Receive bulk-in pipe to read response packet
> >                            Receive bulk-in pipe to read data packet
> >
> >         nct6694_write_msg - Send bulk-out pipe to write request packet
> >                             Send bulk-out pipe to write data packet
> >                             Receive bulk-in pipe to read response packet
> >                             Receive bulk-in pipe to read data packet
> >
> > Changes since version 13:
> > - Update to guard(spinlock_irqsave)() in nct6694.c
> > - Add struct i2c_adapter_quirks in i2c-nct6694.c
> > - Rebased on top of v6.17-rc1 as requested
>
> I thought you were going to rebase this onto v6.17-rc1?
>
> It still does not apply.
>
> > Changes since version 12:
> > - Implement IDA in MFD driver to handle per-device IDs
> > - Use spinlock to replace irq mutex lock
> > - Use same email address in the signature
> >
> > Changes since version 11:
> > - Use platform_device's id to replace IDA
> > - Modify the irq_domain_add_simple() to irq_domain_create_simple() in
> >   nct6694.c
> > - Update struct data_bittiming_params related part in nct6694_canfd.c
> > - Fix the typo in the header in nct6694-hwmon.c
> >
> > Changes since version 10:
> > - Add change log for each patch
> > - Fix mfd_cell to MFD_CELL_NAME() in nct6694.c
> > - Implement IDA to allocate id in gpio-nct6694.c, i2c-nct6694.c,
> >   nct6694_canfd.c and nct6694_wdt.c
> > - Add header <linux/bitfield.h> in nct6694_canfd.c
> > - Add support to config tdc in nct6694_canfd.c
> > - Add module parameters to configure WDT's timeout and pretimeout value
> >   in nct6694_wdt.c
> >
> > Changes since version 9:
> > - Add devm_add_action_or_reset() to dispose irq mapping
> > - Add KernelDoc to exported functions in nct6694.c
> >
> > Changes since version 8:
> > - Modify the signed-off-by with my work address
> > - Rename all MFD cell names to "nct6694-xxx"
> > - Add irq_dispose_mapping() in the error handling path and in the remove
> >   function
> > - Fix some comments in nct6694.c and in nct6694.h
> > - Add module parameters to configure I2C's baudrate in i2c-nct6694.c
> > - Rename all function names nct6694_can_xxx to nct6694_canfd_xxx in
> >   nct6694_canfd.c
> > - Fix nct6694_canfd_handle_state_change() in nct6694_canfd.c
> > - Fix nct6694_canfd_start() to configure NBTP and DBTP in nct6694_canfd.c
> > - Add can_set_static_ctrlmode() in nct6694_canfd.c
> >
> > Changes since version 7:
> > - Add error handling for devm_mutex_init()
> > - Modify the name of the child devices CAN1 and CAN2 to CAN0 and CAN1.
> > - Fix multiline comments to net-dev style in nct6694_canfd.c
> >
> > Changes since version 6:
> > - Fix nct6694_can_handle_state_change() in nct6694_canfd.c
> > - Fix warnings in nct6694_canfd.c
> > - Move the nct6694_can_priv's bec to the end in nct6694_canfd.c
> > - Fix warning in nct6694_wdt.c
> > - Fix temp_hyst's data type to signed variable in nct6694-hwmon.c
> >
> > Changes since version 5:
> > - Modify the module name and the driver name consistently
> > - Fix mfd_cell to MFD_CELL_NAME() and MFD_CELL_BASIC()
> > - Drop unnecessary macros in nct6694.c
> > - Update private data and drop mutex in nct6694_canfd.c
> > - Fix nct6694_can_handle_state_change() in nct6694_canfd.c
> >
> > Changes since version 4:
> > - Modify arguments in read/write function to a pointer to cmd_header
> > - Modify all callers that call the read/write function
> > - Move the nct6694_canfd.c to drivers/net/can/usb/
> > - Fix the missing rx offload function in nct6694_canfd.c
> > - Fix warngings in nct6694-hwmon.c
> >
> > Changes since version 3:
> > - Modify array buffer to structure for each drivers
> > - Fix defines and comments for each drivers
> > - Add header <linux/bits.h> and use BIT macro in nct6694.c and
> >   gpio-nct6694.c
> > - Modify mutex_init() to devm_mutex_init()
> > - Add rx-offload helper in nct6694_canfd.c
> > - Drop watchdog_init_timeout() in nct6694_wdt.c
> > - Modify the division method to DIV_ROUND_CLOSEST() in nct6694-hwmon.c
> > - Drop private mutex and use rtc core lock in rtc-nct6694.c
> > - Modify device_set_wakeup_capable() to device_init_wakeup() in
> >   rtc-nct6694.c
> >
> > Changes since version 2:
> > - Add MODULE_ALIAS() for each child driver
> > - Modify gpio line names be a local variable in gpio-nct6694.c
> > - Drop unnecessary platform_get_drvdata() in gpio-nct6694.c
> > - Rename each command in nct6694_canfd.c
> > - Modify each function name consistently in nct6694_canfd.c
> > - Modify the pretimeout validation procedure in nct6694_wdt.c
> > - Fix warnings in nct6694-hwmon.c
> >
> > Changes since version 1:
> > - Implement IRQ domain to handle IRQ demux in nct6694.c
> > - Modify USB_DEVICE to USB_DEVICE_AND_INTERFACE_INFO API in nct6694.c
> > - Add each driver's command structure
> > - Fix USB functions in nct6694.c
> > - Fix platform driver registration in each child driver
> > - Sort each driver's header files alphabetically
> > - Drop unnecessary header in gpio-nct6694.c
> > - Add gpio line names in gpio-nct6694.c
> > - Fix errors and warnings in nct6694_canfd.c
> > - Fix TX-flow control in nct6694_canfd.c
> > - Fix warnings in nct6694_wdt.c
> > - Drop unnecessary logs in nct6694_wdt.c
> > - Modify start() function to setup device in nct6694_wdt.c
> > - Add voltage sensors functionality in nct6694-hwmon.c
> > - Add temperature sensors functionality in nct6694-hwmon.c
> > - Fix overwrite error return values in nct6694-hwmon.c
> > - Add write value limitation for each write() function in nct6694-hwmon.c
> > - Drop unnecessary logs in rtc-nct6694.c
> > - Fix overwrite error return values in rtc-nct6694.c
> > - Modify to use dev_err_probe API in rtc-nct6694.c
> >
> >
> > Ming Yu (7):
> >   mfd: Add core driver for Nuvoton NCT6694
> >   gpio: Add Nuvoton NCT6694 GPIO support
> >   i2c: Add Nuvoton NCT6694 I2C support
> >   can: Add Nuvoton NCT6694 CANFD support
> >   watchdog: Add Nuvoton NCT6694 WDT support
> >   hwmon: Add Nuvoton NCT6694 HWMON support
> >   rtc: Add Nuvoton NCT6694 RTC support
> >
> >  MAINTAINERS                         |  12 +
> >  drivers/gpio/Kconfig                |  12 +
> >  drivers/gpio/Makefile               |   1 +
> >  drivers/gpio/gpio-nct6694.c         | 499 +++++++++++++++
> >  drivers/hwmon/Kconfig               |  10 +
> >  drivers/hwmon/Makefile              |   1 +
> >  drivers/hwmon/nct6694-hwmon.c       | 949 ++++++++++++++++++++++++++++
> >  drivers/i2c/busses/Kconfig          |  10 +
> >  drivers/i2c/busses/Makefile         |   1 +
> >  drivers/i2c/busses/i2c-nct6694.c    | 196 ++++++
> >  drivers/mfd/Kconfig                 |  15 +
> >  drivers/mfd/Makefile                |   2 +
> >  drivers/mfd/nct6694.c               | 388 ++++++++++++
> >  drivers/net/can/usb/Kconfig         |  11 +
> >  drivers/net/can/usb/Makefile        |   1 +
> >  drivers/net/can/usb/nct6694_canfd.c | 832 ++++++++++++++++++++++++
> >  drivers/rtc/Kconfig                 |  10 +
> >  drivers/rtc/Makefile                |   1 +
> >  drivers/rtc/rtc-nct6694.c           | 297 +++++++++
> >  drivers/watchdog/Kconfig            |  11 +
> >  drivers/watchdog/Makefile           |   1 +
> >  drivers/watchdog/nct6694_wdt.c      | 307 +++++++++
> >  include/linux/mfd/nct6694.h         | 102 +++
> >  23 files changed, 3669 insertions(+)
> >  create mode 100644 drivers/gpio/gpio-nct6694.c
> >  create mode 100644 drivers/hwmon/nct6694-hwmon.c
> >  create mode 100644 drivers/i2c/busses/i2c-nct6694.c
> >  create mode 100644 drivers/mfd/nct6694.c
> >  create mode 100644 drivers/net/can/usb/nct6694_canfd.c
> >  create mode 100644 drivers/rtc/rtc-nct6694.c
> >  create mode 100644 drivers/watchdog/nct6694_wdt.c
> >  create mode 100644 include/linux/mfd/nct6694.h
> >
> > --
> > 2.34.1
> >
>
> --
> Lee Jones [李琼斯]
Re: [PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers
Posted by Lee Jones 3 weeks ago
On Thu, 04 Sep 2025 09:50:41 +0800, a0282524688@gmail.com wrote:
> From: Ming Yu <a0282524688@gmail.com>
> 
> This patch series introduces support for Nuvoton NCT6694, a peripheral
> expander based on USB interface. It models the chip as an MFD driver
> (1/7), GPIO driver(2/7), I2C Adapter driver(3/7), CANfd driver(4/7),
> WDT driver(5/7), HWMON driver(6/7), and RTC driver(7/7).
> 
> [...]

Applied, thanks!

[1/7] mfd: Add core driver for Nuvoton NCT6694
      commit: 8c13787893fde313190b7dc844a24114dcc172a2
[2/7] gpio: Add Nuvoton NCT6694 GPIO support
      (no commit info)
[3/7] i2c: Add Nuvoton NCT6694 I2C support
      (no commit info)
[4/7] can: Add Nuvoton NCT6694 CANFD support
      (no commit info)
[5/7] watchdog: Add Nuvoton NCT6694 WDT support
      (no commit info)
[6/7] hwmon: Add Nuvoton NCT6694 HWMON support
      (no commit info)
[7/7] rtc: Add Nuvoton NCT6694 RTC support
      (no commit info)

--
Lee Jones [李琼斯]

Re: [PATCH RESEND v14 0/7] Add Nuvoton NCT6694 MFD drivers
Posted by Lee Jones 3 weeks ago
On Thu, 11 Sep 2025, Lee Jones wrote:

> On Thu, 04 Sep 2025 09:50:41 +0800, a0282524688@gmail.com wrote:
> > From: Ming Yu <a0282524688@gmail.com>
> > 
> > This patch series introduces support for Nuvoton NCT6694, a peripheral
> > expander based on USB interface. It models the chip as an MFD driver
> > (1/7), GPIO driver(2/7), I2C Adapter driver(3/7), CANfd driver(4/7),
> > WDT driver(5/7), HWMON driver(6/7), and RTC driver(7/7).
> > 
> > [...]
> 
> Applied, thanks!
> 
> [1/7] mfd: Add core driver for Nuvoton NCT6694
>       commit: 8c13787893fde313190b7dc844a24114dcc172a2
> [2/7] gpio: Add Nuvoton NCT6694 GPIO support
>       (no commit info)
> [3/7] i2c: Add Nuvoton NCT6694 I2C support
>       (no commit info)
> [4/7] can: Add Nuvoton NCT6694 CANFD support
>       (no commit info)
> [5/7] watchdog: Add Nuvoton NCT6694 WDT support
>       (no commit info)
> [6/7] hwmon: Add Nuvoton NCT6694 HWMON support
>       (no commit info)
> [7/7] rtc: Add Nuvoton NCT6694 RTC support
>       (no commit info)

I have no idea what this is about!

Looks like b4 just had some kind of breakdown!

To be clear, none of these have been applied.

-- 
Lee Jones [李琼斯]