Thread (82 messages) 82 messages, 11 authors, 2024-11-22

Re: [PATCH v1 0/9] Add Nuvoton NCT6694 MFD devices

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2024-10-25 08:34:13
Also in: linux-can, linux-gpio, linux-hwmon, linux-i2c, linux-iio, linux-pwm, linux-rtc, linux-watchdog, lkml

On 25.10.2024 16:22:01, Ming Yu wrote:
Marc Kleine-Budde [off-list ref] 於 2024年10月24日 週四 下午7:57寫道:
quoted
On 24.10.2024 16:59:13, Ming Yu wrote:
quoted
This patch series introduces support for Nuvoton NCT6694, a peripheral
expander based on USB interface. It models the chip as an MFD driver
(1/9), GPIO driver(2/9), I2C Adapter driver(3/9), CANfd driver(4/9),
WDT driver(5/9), HWMON driver(6/9), IIO driver(7/9), PWM driver(8/9),
and RTC driver(9/9).

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 register a handler function that will be called
when the USB device receives its interrupt pipe.
What about implementing a proper IRQ demux handler instead?
I think the currently planned IRQ process meets expectations.
Is there anything that needs improvement?
You can register the IRQs of the MFD device with the Linux kernel. This
way the devices can request a threaded IRQ handler directly via the
kernel function, instead of registering the callback.

With a threaded IRQ handler you can directly call the
nct6694_read_msg(), nct6694_write_msg() without the need to start a
workqueue from the callback.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde          |
Embedded Linux                   | https://www.pengutronix.de |
Vertretung Nürnberg              | Phone: +49-5121-206917-129 |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-9   |

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help