summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Don't staticize again (twice).bde1995-11-291-4/+5
| | | | Cleaned up includes.
* Removed builtin list of port addresses. The address for sio3bde1995-11-291-10/+5
| | | | | | | | | | conflicted with S3 graphics cards. Now users should put sio[2-3] in the config file if the hardware exisst, even if the probe is certain to fail due to an interrupt conflict. Otherwise, ports sharing the interrupt may fail the probe if the system is warm booted while sio[2-3] are active (perhaps under another OS). The same problem for nonstandard ports is now handled better than before.
* If you're going to mechanically replicate something in 50 filesjulian1995-11-2913-22/+22
| | | | it's best to not have a (compiles cleanly) typo in it! (sigh)
* 'see" -> "see" (in the comment).asami1995-11-291-2/+2
| | | | Noticed by: hilit19.el (stop laughing! ;)
* OK, that's it..julian1995-11-2913-155/+379
| | | | | | | | | | | | | | | | | | | | | | | | That's EVERY SINGLE driver that has an entry in conf.c.. my next trick will be to define cdevsw[] and bdevsw[] as empty arrays and remove all those DAMNED defines as well.. Each of these drivers has a SYSINIT linker set entry that comes in very early.. and asks teh driver to add it's own entry to the two devsw[] tables. some slight reworking of the commits from yesterday (added the SYSINIT stuff and some usually wrong but token DEVFS entries to all these devices. BTW does anyone know where the 'ata' entries in conf.c actually reside? seems we don't actually have a 'ataopen() etc... If you want to add a new device in conf.c please make sure I know so I can keep it up to date too.. as before, this is all dependent on #if defined(JREMOD) (and #ifdef DEVFS in parts)
* Staticize again.phk1995-11-291-2/+2
|
* A batch of Jim Lowe's patches:jkh1995-11-291-1/+2
| | | | | | | | | | o Add signed/unsigned functionality to the matrox meteor device driver. o Apply a few fixes to the sound driver. o Add a ``SPIGOT_UNSECURE'' compile time definition so, if one defines SPIGOT_UNSECURE in their conf file, then they can use the spigot w/o root. There is a warning that this allows users access to the IO page which is probably not secure. Submitted by: james
* Device driver for Intel Pro/100 PCI Fast Ethernet controller.dg1995-11-282-0/+1313
|
* the second set of changes in a move towards getting devices to bejulian1995-11-2811-11/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | totally dynamic. this is only the devices in i386/isa I'll do more tomorrow. they're completely masked by #ifdef JREMOD at this stage... the eventual aim is that every driver will do a SYSINIT at startup BEFORE the probes, which will effectively link it into the devsw tables etc. If I'd thought about it more I'd have put that in in this set (damn) The ioconf lines generated by config will also end up in the device's own scope as well, so ioconf.c will eventually be gutted the SYSINIT call to the driver will include a phase where the driver links it's ioconf line into a chain of such. when this phase is done then the user can modify them with the boot: -c config menu if he wants, just like now.. config will put the config lines out in the .h file (e.g. in aha.h will be the addresses for the aha driver to look.) as I said this is a very small first step.. the aim of THIS set of edits is to not have to edit conf.c at all when adding a new device.. the tabe will be a simple skeleton.. when this is done, it will allow other changes to be made, all teh time still having a fully working kernel tree, but the logical outcome is the complete REMOVAL of the devsw tables. By the end of this, linked in drivers will be exactly the same as run-time loaded drivers, except they JUST HAPPEN to already be linked and present at startup.. the SYSINIT calls will be the equivalent of the "init" call made to a newly loaded driver in every respect. For this edit, each of the files has the following code inserted into it: obviously, tailored to suit.. ----------------------somewhere at the top: #ifdef JREMOD #include <sys/conf.h> #define CDEV_MAJOR 13 #define BDEV_MAJOR 4 static void sd_devsw_install(); #endif /*JREMOD */ ---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT #ifdef JREMOD sd_devsw_install(); #endif /*JREMOD*/ -----------------------at the bottom: #ifdef JREMOD struct bdevsw sd_bdevsw = { sdopen, sdclose, sdstrategy, sdioctl, /*4*/ sddump, sdsize, 0 }; struct cdevsw sd_cdevsw = { sdopen, sdclose, rawread, rawwrite, /*13*/ sdioctl, nostop, nullreset, nodevtotty,/* sd */ seltrue, nommap, sdstrategy }; static sd_devsw_installed = 0; static void sd_devsw_install() { dev_t descript; if( ! sd_devsw_installed ) { descript = makedev(CDEV_MAJOR,0); cdevsw_add(&descript,&sd_cdevsw,NULL); #if defined(BDEV_MAJOR) descript = makedev(BDEV_MAJOR,0); bdevsw_add(&descript,&sd_bdevsw,NULL); #endif /*BDEV_MAJOR*/ sd_devsw_installed = 1; } } #endif /* JREMOD */
* Removed all #includes of the unused file <sys/device.h>.bde1995-11-281-2/+1
|
* Mainly cosmetic cleanups... It now uses more consistant message reportingpeter1995-11-283-27/+29
| | | | | on the console, and no longer uses "SLXOS" which I suspect may be a trademark... (I'm not sure, but this is not really a SLXOS driver anyway)
* Separate colors & attributes as Terry pointsache1995-11-282-74/+148
| | | | Reviewed by: soren
* Fixed setting of speed B0 - don't output a bogus divisor of 0 and abde1995-11-262-10/+18
| | | | | random prescaler, just hang up. This may fix hangup problems with mgetty.
* Fixed a comment.bde1995-11-241-2/+2
|
* Made pci.c compile again. It unfortunately depends on the isa interruptbde1995-11-211-1/+3
| | | | interface. Adding prototypes just made the dependency explicit.
* Completed function declarations and/or added prototypes.bde1995-11-212-4/+8
|
* Restored static variable `nsio_tty' which is used only by pstat(8). Madebde1995-11-211-1/+3
| | | | | | | it `const' to inhibit compiler warnings. Added #include of <pccard/driver.h> to get prototypes. <pccard/slot.h> is still necessary for its side effect of exporting non-slot things.
* This driver supports the Arnet SYNC/570i ISA cards that is based on thepeter1995-11-214-0/+3417
| | | | | | | | | | | | | | | | | HD64570 chip. Both the 2 and 4 port cards is supported and auto detected. Line speeds of up to 2Mbps is possible. At this speed about 85% of the bandwidth is usable with 486DX processors. The standard FreeBSD sppp code is used for the link level layer. The default protocol used is PPP. The Cisco HDLC protocol can be used by adding "link2" to the ifconfig line in /etc/sysconfig or where ever ifconfig is run. At the moment only the V.35 and X.21 interfaces is supported. The others may need tweaks to the clock selection code. Submitted by: John Hay <jhay@mikom.csir.co.za>
* Mega commit for sysctl.phk1995-11-204-44/+21
| | | | | | 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.
* Fix compiler warnings.phk1995-11-202-29/+28
|
* Fix a printf.phk1995-11-201-1/+1
|
* Kill setting of b_pfcent - it's unused.dg1995-11-191-1/+0
|
* Fixed the type of a timeout function.bde1995-11-181-2/+8
| | | | Added prototypes.
* Fixed staticization - use `static' in function headers, not just inbde1995-11-181-19/+19
| | | | prototypes.
* Staticized an inline function. All inlines in kernel headers should bebde1995-11-181-2/+2
| | | | | static. The function shouldn't be here anyway. It is driver dependent, while `ic' files are supposed to only depend on the IC.
* Fixed (nonexistent) initialization of bp->b_pblkno. disksort() forbde1995-11-181-14/+2
| | | | | | | | | | | | | floppies must have been random in 2.x since we reintroduced sorting on b_pblkno on 1995/03/18. Drivers still initialize b_cylin/b_resid although this is no longer used. Removed unused, wrong function fdsize(). (Returning 0 means that the device exists and has size 0, not that the device doesn't exist. swaponvp() allows for size 0 by stupidly calling the d_psize function twice if the size isn't 0. setdumpdev() doesn't allow for it.) Continued removing /* ARGSUSED */ from drivers.
* Set flag to stop backoff counter from counting when carrier activity isdg1995-11-171-8/+14
| | | | | | | detected. This dramatically reduces the collision rate (about 1/10th of what is was previously). Submitted by: Matt Thomas <matt@lkg.dec.com>
* Included <sys/conf.h>. It used to be included as a side effect ofbde1995-11-161-1/+2
| | | | including <sys/devconf.h>.
* Correct the bogus probe for 8216/8416 cards...it was broken.dg1995-11-151-19/+17
| | | | Submitted by: Steve Piette <steve@simon.chi.il.US>
* statizice some internal magic.phk1995-11-141-2/+2
|
* Changed the first (name) arg of MOD_DEV(), MOD_EXEC() and MOD_MISC()bde1995-11-145-21/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | from a string to an identifier so that it can be used to generate declarations and strings. It's much easier to stringize an identifier than to identifize a string. A uniform naming scheme must be used for the automatically generated things to apply. This is a feature. Used the module identifer to generate prototypes for the module load, unload and stat functions. Removed the few prototypes for these that already existed. Used the module identifier to generate a unique struct tag in MOD_DEV(). This should probably be done for all the MOD_*() macros. Moved the trailing semicolon from the MOD_*() macro definitions to the macro invocations that didn't already (bogusly) have it. Staticized the module load and unload functions. Added function return types for the module load, unload and stat functions. lkm/ibcs2/ibcs2.c: Included <sys/sysproto.h> to get everything prototyped. Cleaned up #includes. lkm/ibcs2/ipfw.c: Cleaned up #includes. lkm/linux/linux.c: The module name had to change from "linux_emulator" to "linux_mod" to be automatically generated. Cleaned up #includes. lkm/syscons/*/*_saver.c: Completed delcarations of function pointers. sys/i386/isa/atapi.c: The module name had to change from "atapi" to "atapi_mod" to be automatically generated. sys/i386/isa/wcd.c: Used the fixed MOD_DEV(). This module has two devices and expanded the macro in the source instead of fixing it. The module names had to change from "wcd" and "rwcd" to "wcd_mod" and "rwcd_mod" to be automatically generated. sys/pccard/pcic.c: The module name had to change from "pcic" to "pcic_mod" to be automatically generated.
* Replaced nosys() by lkm_nullcmd(). Always call lkm load/unload/statbde1995-11-135-10/+15
| | | | | functions instead of skipping the call if the function is nosys(). nosys() returned the wrong value as well as having the wrong type.
* Modify the kdc_description for eisa0 to include the system board ID.gibbs1995-11-101-9/+25
| | | | | Add the mainboard_drv into the eisa driver linker set so that you can compile eisa0 into your kernel without any other eisa devices.
* Convert Adaptec 1742 driver to new eisaconf interface.gibbs1995-11-091-3/+3
|
* Sync the public source with what I'm currently running.peter1995-11-092-148/+208
| | | | | | Most of this is cleaning up, but there are some functional changes, doc/comment improvements, error checking, gcc -Wall cleanups. Input buffer flushing is enabled now, although I'm still not quite certain it's right.
* Second pass on this. Sentinal device node was an uneeded complication.gibbs1995-11-091-303/+286
| | | | | | | | | | Handle kdc registration correctly. Catch ISA devices that use eisa registration and output probe information accordingly. lsdev will have to be updated to handle EISA devices correctly. aic7770.c: Set kdc_isa0 as the parent for 284X cards since its a VL card.
* Fix the long dreaded Wide bug and enable WIDEODD for reads.gibbs1995-11-071-3/+4
|
* Probe all slots even if an EISA main board isn't found. This catchesgibbs1995-11-062-83/+115
| | | | | | | | | 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.
* This is a totally new implementation of eisaconf. It will hopefullygibbs1995-11-052-199/+509
| | | | | | | | | | | | 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.
* Move aic7xxx register definitions from i386/scsi/aic7xxx.c to this file.gibbs1995-11-051-0/+514
| | | | | The hope is to make the sequencer and kernel code share this file, but some work on our sequencer assembler will be needed first.
* Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up thebde1995-11-0411-25/+13
| | | | | | | | | | misplaced extern declarations (mostly prototypes of interrupt handlers) that this exposed. The prototypes should be moved back to the driver sources when the functions are staticalized. Added idempotency guards to <machine/conf.h>. "ioconf.h" can't be included when building LKMs so define a wart in bsd.kmod.mk to help guard against including it.
* Remove the #ifdev DEVRANDOM's, as promised.markm1995-11-041-3/+1
| | | | | | /dev/random is now a part of the kernel! you will need to make the device in /dev: sh MAKEDEV random and take a look at some test code in src/tools/test/random.
* Moved prototypes for devswitch functions from conf.c and driver sourcesbde1995-11-0410-76/+14
| | | | | | | to <machine/conf.h>. conf.h was mechanically generated by `grep ^d_ conf.c >conf.h'. This accounts for part of its ugliness. The prototypes should be moved back to the driver sources when the functions are staticalized.
* Cleanup, make things static.phk1995-10-314-67/+71
|
* Second batch of cleanup changes.phk1995-10-291-2/+1
| | | | | This time mostly making a lot of things static and some unused variables here and there.
* Only or in CLRCHN in SXFRCTL0. All other bits in this register aregibbs1995-10-291-5/+3
| | | | initialized by the kernel driver now.
* Close out kern/46.pst1995-10-281-6/+1
| | | | | | Remove confusing backwards compatibility code that allowed driver to be used in pre-4.4 releases. The 3COM card's use -link2 to switch tranceivers. (no functional changes here)
* Theodore Ts'po's random number gernerator for Linux, ported by me.markm1995-10-281-1/+6
| | | | | | This code will only be included in your kernel if you have 'options DEVRANDOM', but that will fall away in a couple of days. Obtained from: Theodore Ts'o, Linux
* Remove unused functions and variables, make things static, and other cleanups.phk1995-10-287-49/+26
|
* Do a pass over the broken LKM's and update them to use the "new"peter1995-10-285-25/+25
| | | | | | | | | | | | | | | convention of having their entry point named "<modname>_mod"". Symorder is enforcing this when the current bsd.kmod.mk is installed. I've not tested all these, but at least they all compile now. Reattach them to the makefile. Note that the change that I made to symorder needs to be compiled and installed before any LKM's will work - the last version was corrupting the relocation tables. A "make world" will to this, but if you manually run a make on the lkm's you'll need to take care of it by hand.
OpenPOWER on IntegriCloud