Alan Cox wrote: > >Is it worth the effort. Why not just let the old isa stuff live out its >life in peace ? There is certainly no reason we couldnt make it more >driver model like by splitting probe and activity > >ie ne2000 probing would do > > poke around for ISA device > Found one ? > Alloc isadevice > Fill in ports/range/irq > Fill in vendor/product with invented idents > Announce it > >Then have ne2000 driver model code do the actual setup > > > Attached is the rough beginings of a patch that does this. Basically it adds isa bus support and uses it ne.c. ISA Bus Support -- The bus uses ioaddr as the bus_id because I don't think we have anything else unique to use. Drivers are responsible for adding devices to the bus, through isa_device_register(). Once added, devices stay around forever, even after driver unload. Right now I use the device id's stolen from eisa, but I can't see any reason not to just make ids up as necessary. ne.c --- ne_probe (the function called by Space.c) will autoprobe for ne2000 devices and then as it finds them it calls isa_register_device. It always returns -ENODEV. (eventually if all the net drivers get moved to this model, some of this stuff could be moved into Space.c) Later on, during module init the driver registers itself with with isa bus and then ne_isa_probe is called appropriately. Moving to doing things this way, should make it possible to merge pci support back in and get rid of ne2k-pci.c, because all buses will use the same model. Eventually ne2k_cbus.c could probably be added merged as well. Any comments or suggestions? -Jeff