On Fri, Jul 07, 2017 at 11:53:29AM +0200, Anatolij Gustschin wrote: > On Fri, 07 Jul 2017 09:48:48 +0200 > Bjørn Mork bjorn@xxxxxxx wrote: > > >[adding Johan on the CC list] > > > >Anatolij Gustschin <agust@xxxxxxx> writes: > > > >> +static struct usb_device_id ftdi_mfd_table[] = { > >> + { USB_DEVICE(0x0403, 0x6014) }, > >> + {} > >> +}; > >> +MODULE_DEVICE_TABLE(usb, ftdi_mfd_table); > > > >This device ID is currently handled by the ftdi_sio driver, so I believe > >you at least have to explain how you intend these two drivers to > >cooperate... > > these drivers cannot cooperate, the different ftdi function modes > use same device pins as in UART mode. So, you either can use the > device in UART interface mode or in some different mode. I do not > load the ftdi_sio module or do unbind the USB device from the > ftdio_sio driver and bind it to the mfd driver, e.g.: > > sh -c "echo -n "3-2:1.0" > /sys/bus/usb/drivers/ftdi_sio/unbind" > sh -c "echo -n "3-2:1.0" > /sys/bus/usb/drivers/ftdi-mfd/bind" I'm afraid that's not good enough. If we're going to support a non-UART mode through a separate driver, we need to have all drivers for these devices be able to retrieve the current mode during probe and only bind when the mode matches. Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html