On Sun, Jun 25, 2017 at 05:39:34PM +0200, Hannes Reinecke wrote: > Hi all, > > here's a thing which came up recently on the SCSI ml: > > How should we handle devices with _several_ possible drivers? > > Case in point are some HBAs, for which the plan is to have distinct > drivers for either target or initiator mode. > > There are several options how this could be handled: > - Have a default driver, and manually rebind the 'real' driver once the > configuration could be read and acted upon. > That would have the drawback that we do an initialisation in the 'wrong' > mode, and later have to switch configuration. Which at best will 'just' > induce some pointless initialisation, at worst confuse attached devices > to no end. Not to mention introducing lots of interesting races with > udev and systemd > - Inhibit default binding, and load the correct drivers after the > configuration has been read. > Would be a deviation from the original scenario (where the driver are > bound/loaded as soon as the device becomes available). Has the drawback > that one would need to inhibit automatic bindings on the _bus_ level (ie > PCI), which will be even more interesting. > - Add some bus-specific (or even general?) device configuration syntax, > which would allow to pass in the required configuration from the > command-line (or reasonably early, anyway). For which we need a syntax > first, anyway. And need to figure out if we can have an abstract syntax > or would need to have a bus- (or even driver-) specific configuration. It sounds very similar to devlink, despite that tool was originally introduced to net and intended for switches, it works on PCI level with BUS_NAME/BUS_ADDRESS as an handle. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bfcd3a46617209454cfc0947ab093e37fd1e84ef > > So no easy way out here, and it might be worth having input from other > parties. And some might have similar problems (just thinking of > usb-modeswitch ...), so there might be some synergies to be had. > > Cheers, > > Hannes > -- > Dr. Hannes Reinecke Teamlead Storage & Networking > hare@suse.com +49 911 74053 688 > SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg > GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton > HRB 21284 (AG Nürnberg) > _______________________________________________ > Ksummit-discuss mailing list > Ksummit-discuss@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/ksummit-discuss