On Tue, Jul 11, 2017 at 08:52:37AM +0200, Anatolij Gustschin wrote: > On Mon, 10 Jul 2017 14:34:27 +0200 > Johan Hovold johan@xxxxxxxxxx wrote: > > >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. > > Can we reliably retrieve the current mode? You tell me. ;) > For devices with connected EEPROM some modes (including UART) are > configurable in the EEPROM. For devices without EEPROM the default > mode is always UART, but FIFO-, Bitbang- and MPSSE-mode can be > switched via commands to the the chip. IIRC we should be able read from the EEPROM, and I would at least expect there to be a way to retrieve the current mode as well. 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