Commit Graph

26 Commits

Author SHA1 Message Date
thorpej 2ac210b6e3 Call device_register() if __alpha__ || hp300 1996-12-17 08:59:15 +00:00
cgd 66764a1a2f Check for a new definition, __BROKEN_INDIRECT_CONFIG, and if it is _not_
defined:
	define match functions to take a struct cfdata * as their second
	argument, config_search() to take a struct cfdata * as its second
	argument, and config_{root,}search() to return struct cfdata *.

	remove 'cd_indirect' cfdriver element.

	remove config_scan().

	remove config_make_softc() as a seperate function, reintegrating
	its functionality into config_attach().

Ports will define __BROKEN_INDIRECT_CONFIG until their drivers prototypes
are updated to work with the new definitions, and until it is sure that
their indirect-config drivers do not assume that they have a softc
in their match routine.
1996-12-05 00:09:10 +00:00
christos f443b89c92 backout previous kprintf change 1996-10-13 02:32:29 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
cgd 1e2b610d5a #ifdef __alpha__, call a machine-dependent function with new device
structure and 'aux', right before ca_attach is called for the
newly-attached device.  This allows the alpha port to do root device
autodetection without modifying every bus and device driver which could
be in the 'boot path.'  In the long run, it may make sense to make
this machine-independent.
1996-06-13 04:50:29 +00:00
cgd fbce6d4468 Make config_found_sm() (and therefore config_found()) and config_rootfound()
return a struct device * of attached device, or NULL if device attach failed,
rather than 1/0 for success/failure, so that code that bus code which needs
to know what the child device is doesn't have to open-code a hacked variant
of config_found().  Make config_attach() return struct device *, rather than
void, to facilitate that.
1996-04-04 06:06:18 +00:00
cgd 8c248b98cc change 'struct device' and 'struct evcnt' lists (alldevs and allevents) to
be TAILQ's.  TAILQ_HEAD's of those structs are now 'struct devicelist' and
'struct evcntlist', respectively.
1996-04-04 00:25:44 +00:00
thorpej 532e997971 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:57:14 +00:00
cgd c6a9e56518 Replace config_found() with config_found_sm(), which adds a cfmatch_t to the
argument list.  This allows easy 'submatching', which will eliminate a fair
bit of slightly tricky duplicated code from various busses.  config_found()
is now a #define in sys/device.h, which invokes config_found_sm().
1996-02-27 21:45:46 +00:00
christos 8a5b1b92e2 First pass at prototyping 1996-02-04 02:15:01 +00:00
mycroft 1948fcb3fa Add a new function config_scan(), which just calls a particular function
with each plausibly cfdata, ignoring the priority mechanism completely.
1994-11-04 06:40:11 +00:00
mycroft 9fdc2ecb99 Export struct matchinfo and mapply(). 1994-11-04 03:12:20 +00:00
mycroft 52a27c59d6 Calculate indirectness earlier, and stor it in the struct matchinfo. 1994-11-04 03:07:17 +00:00
mycroft 893b0e1f83 config_make_softc() needs pointer to parent; and fix a couple of other bogons. 1994-11-04 00:14:04 +00:00
mycroft 4afbef1f16 If cd_indirect is set in the parent, create a softc early and pass it to the
probe routine.
1994-11-03 22:01:09 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
mycroft 878839c40d Simplify the code to expand the dev array slightly, and make sure the size is
a power of 2.
1994-10-07 09:07:56 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
cgd 7424fd59cf reorg derivations, slightly. 1994-05-20 04:31:22 +00:00
glass 7e3eb8ad92 update to 4.4-lite + local changes 1994-05-20 04:15:04 +00:00
glass bb8fd0a2ac slightly more optimal fix from torek himself 1994-05-12 14:15:03 +00:00
glass 82809ca415 fix chopps, et al discovered bug in allocating cd_devs array 1994-05-12 05:21:45 +00:00
mycroft 21edb9924e Canonicalize all #includes. 1993-12-18 03:59:02 +00:00
glass 8ff8fa8046 runs up to and including configure().
todo: exceptions, interrupt support, make isrs affect vector table
kernel/user stacks
1993-08-15 23:01:58 +00:00
glass 7ffaf186bb baseline revision 1993-08-13 22:00:55 +00:00
glass 7318599b7c snapshot of intergration of torek's config 1993-08-13 13:19:41 +00:00