On Tue, Oct 23, 2012 at 10:53:22AM +0100, Ian Abbott wrote: > On 2012-10-22 20:44, Greg Kroah-Hartman wrote: > >On Mon, Oct 15, 2012 at 01:07:30PM +0100, Ian Abbott wrote: > >>The auto-configuration/auto-attach mechanism in Comedi used by most of > >>the low-level PCI and USB Comedi hardware drivers currently uses > >>separate hooks in `struct comedi_driver` for each bus type - > >>`->attach_usb()` and `->attach_pci()`. I'd like to move away from that > >>and use a single auto-attach hook, `->auto_attach()` and make it easy > >>for an implementation of this hook in a low-level driver to get a > >>pointer to the `struct pci_dev`, `struct usb_interface` or whatever > >>device wrapper is relevant to the device being auto-attached to comedi. > >> > >>Also, the Comedi core exports nice wrapper functions for auto-attaching > >>PCI or USB devices (`comedi_pci_auto_config()` and > >>`comedi_usb_auto_config()`) along with functions for auto-detaching > >>them, but there is currently no way to auto-attach devices on some > >>arbitrary type of bus. Export functions `comedi_auto_config()` > >>(different to the current static function of the same name) and > >>`comedi_auto_unconfig()`) to allow this. > >> > >>Eventually, there will be nice wrapper functions for some more commonly > >>used device types such as PCMCIA, but it should be easy enough to > >>implement those as static inline wrappers around `comedi_auto_config()` > >>and `comedi_auto_unconfig()`. > >> > >>This patch series only changes one PCI driver and one USB driver to use > >>the new `auto_attach()` hook, but it will be easy enough to change the > >>others. Once that is done, the `attach_pci()` and `attach_usb()` hooks > >>can be removed from `struct comedi_driver`. > > > >I took the first two patches here only, care to rework the rest and > >resend them? > > I'm prepared to discuss the patches. One thing I want to allow is > for drivers to call comedi_auto_config() directly using whatever > context value they want (as long as it can be represented by an > unsigned long), and to have the same value passed back in their > auto_attach routine. Ok, as long as nothing else outside that driver is trying to intrepret that value as meaning anything. greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel