all of the interface between the driver and the bus. This will enable
us to stop special casing eisa bus attachments in modules and treat them
like we treat all other busses.
In the longer run, we need to eliminate much (all?) of these interfaces
and switch to using the standard bus_alloc_resource(), but that's not
done right now.
# I've not updated the modules to include eisa, etc, just yet
Tested on: Compaq Proliant 3000/333 purchased for eisa work
eisa_add_intr() which now takes an additional arguement (one of
EISA_TRIGGER_LEVEL or EISA_TRIGGER_EDGE).
The flag RR_SHAREABLE has no effect when passed to
bus_alloc_resource(dev, SYS_RES_IRQ, ...) in an EISA device context as
the eisa_alloc_resource() call (bus_alloc_resource method) now deals
with this flag directly, depending on the device ivars.
This change does nothing more than move all the 'shared = inb(foo + iobsse)'
nonesense to the device probe methods rather than the device attach.
Also, print out 'edge' or 'level' in the IRQ announcement message.
Reviewed by: dfr
had a quirk that made a shim rather hard to implement properly and it was
just easier to convert the drivers in one go. The changes to the
buslogic driver go beyond just this - the whole driver was new-bus'ed
including pci and isa. I have only tested the EISA part of this so far.
Submitted by: Doug Rabson <dfr@nlsystems.com>
. properly declare the variable in in a .h file, as opposed to
using a private extern declaration in userconfig.c;
. move the definition of EISA_SLOTS and therefore the inclusion of
opt_eisa.h into eisaconf.c.
probing anytime soon, make EISA_SLOTS a fully supported option. It's
required for the HP NetServer LC series machines.
Next stop: make dset(8) aware of it as well.
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
Convert the remaining sysctl stuff to the new way of doing things.
the devconf stuff is the reason for the large number of files.
Cleaned up some compiler warnings while I were there.
cards like the Adaptec 284x that use EISA ID registers for identification
even when in stalled in non-EISA systems.
Use one format throught the files.
-Wall fixes.
be the beginning of our move to a more dynamic (configuration manager)
based setup for all drivers. Everything seems to work except for
some devconf problems. Only the aic7xxx driver will be using this
interface until it is reviewed, revised and accepted as a good configuration
interface.
Adapt aic7770.c to use new eisaconf.
eisadevs.c is replaced by a linker set.
don't expect this to work yet.. but at least they're here..
(hey this cvs stuff is fun!)
activate with a line exactly like the isa line in the config file,
(but specifying eisa :)
patches to come..