Hi Xiang, On Tue, Mar 14, 2023 at 04:03:26PM +0800, Ye, Xiang wrote: > > Please don't use the MFD API outside of drivers/mfd. > > > > If you wish to use the API, please do. > > > > Strip out (only) the MFD parts and move them into drivers/mfd. > I have no idea about how to split MFD parts out from this driver > currently. The MFD part just have mfd cells filling and the call > mfd_add_hotplug_devices to register mfd devices. How to module them > as an independent driver? > Would you give some hints or recommendations? > > And I am a little comfused about where this USB device driver should > be put to (drivers/mfd or drivers/usb). > > As far as I know, where a driver should be put is based on what > it provides. This driver just do some urb package transfer to provides > multi-functions, such as GPIO function, I2C function, SPI function. > so it should be under drivers/mfd folder. Please correct me, if > something is wrong. Thanks You don't really seem to get any benefit from MFD. Perhaps it would be more appropriate and clear if you just registered auxiliary devices in this driver. Check drivers/base/auxiliary.c. thanks, -- heikki