freebsd-dev/sys/modules
Gleb Smirnoff 547d34736b Major overhaul.
List of functional changes:
   - Make a single device per single node with a single hook.
     This gives us parrallelizm, which can't be achieved on a single
     node with many devices/hooks. This also gives us flexibility - we
     can play with a particular device node, not affecting others.
   - Remove read queue as it is. Use struct ifqueue instead. This change
     removes a lot of extra memcpy()ing, m_devget()ting and m_copymem()ming.
     In ng_device_receivedata() we enqueue an mbuf and wake readers.
     In ngdread() we take one mbuf from qeueue and uiomove() it to
     userspace. If no mbuf is present we optionally block. [1]
   - In ngdwrite() we create an mbuf from uio using m_uiotombuf().
     This is faster then uiomove() into buffer, and then m_copydata(),
     and this is much better than huge m_pullup().
   - Perform locking of device
   - Perform locking of connection list.
   - Clear out _rcvmsg method, since it does nothing good yet.
   - Implement NGM_DEVICE_GET_DEVNAME message.
   - #if 0 ioctl method, while nothing is done here yet.
   - Return immediately from ngdwrite() if uio_resid == 0.

 List of tidyness changes:
   - Introduce device2priv(), to remove cut'n'paste.
   - Use MALLOC/FREE, instead of malloc/free.
   - Use unit2minor().
   - Use UID_ROOT/GID_WHEEL instead of 0/0.
   - Define NGD_DEVICE_DEVNAME, use it.
   - Use more nice macros for debugging. [2]
   - Return Exxx, not -1.

 style(9) changes:
   - No "#endif" after short block.
   - Break long lines.
   - Remove extra spaces, add needed spaces.

[1] Obtained from:      if_tun.c
[2] Obtained from:      ng_pppoe.c
Reviewed by:		marks
Approved by:		julian (mentor)
MFC after:		1 month
2004-10-18 20:13:57 +00:00
..
3dfx
aac Only compile aac_linux.ko for i386 2004-08-30 03:35:17 +00:00
accf_data
accf_http
acpi Bump WARNS to 2 for all other ACPI drivers and minor cleanup. 2004-08-03 21:27:43 +00:00
agp opt_agp.h is not required anymore. 2004-08-22 15:14:44 +00:00
aha
ahb Add the ahb module for old Adaptec 1742 drivers now that eisa bus 2004-06-29 20:50:24 +00:00
aic
aic7xxx Add ISA attachement files for the aic7xxx driver. 2004-08-17 02:32:30 +00:00
aio
amd
amr
an
aout
apm
ar Convert Netgraph to use mbuf tags to pass its meta information around. 2004-06-25 19:22:05 +00:00
arcnet
arl
asr
ath
ath_hal
aue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
autofs sync with private code: 2004-09-08 08:44:14 +00:00
auxio Port NetBSD auxio driver. The driver was modified to use led(4) and can 2004-10-09 07:31:03 +00:00
awi
axe Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
bfe
bge
bios
bktr
bridge opt_pfil_hooks.h is no longer required. 2004-08-27 19:57:33 +00:00
cam Remove the HW_WDOG option; it serves no purpose. 2004-08-29 11:10:09 +00:00
canbepm
canbus
cardbus
cbb And isa_if.h 2004-08-16 15:24:03 +00:00
cd9660
cd9660_iconv
ciss
cm
coda bsd.kmod.mk knows how to clean up opt_*.h files automatically, 2004-09-01 06:51:43 +00:00
coda5 bsd.kmod.mk knows how to clean up opt_*.h files automatically, 2004-09-01 06:51:43 +00:00
coff
cp Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
crypto
cryptodev
cs Sort files alphabetically 2004-09-04 03:32:15 +00:00
ctau Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
cue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
cx Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
dc
dcons Add dcons_os.{c,h}. 2004-10-13 05:41:09 +00:00
dcons_crom Add dcons_os.{c,h}. 2004-10-13 05:41:09 +00:00
de Document compile-time switches here as I'm going to yank them from 2004-07-09 02:38:25 +00:00
digi
dpt
drm
dummynet
ed
el
elink
em style.Makefile(5) 2004-06-09 08:27:05 +00:00
en
ep Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
esp - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
ex
exca
ext2fs
fatm
fdc Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
fdescfs
fe
firewire Add fwip module. 2004-07-12 13:13:17 +00:00
fxp
gem
geom Do not compile in zlib.c. Add a dependency on module instead. 2004-09-08 17:27:31 +00:00
gx
harp
hatm
hfa
hifn
hme Now that hme(4) is MI build its module on all platforms. 2004-08-14 22:40:16 +00:00
hpfs
i2c
ibcs2
ichwd
ida
idt
ie
if_disc
if_ef
if_faith
if_gif
if_gre
if_ndis
if_ppp Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
if_sl
if_stf
if_tap Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
if_tun
if_vlan
iir
io Break out the MI part of the /dev/[k]mem and /dev/io drivers into 2004-08-01 11:40:54 +00:00
ip6fw
ip_mroute_mod Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD 2004-08-14 15:32:40 +00:00
ipfilter
ipfw Document how a standalone module can be built with divert(4) support. 2004-08-26 14:35:05 +00:00
ips
isp - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
ispfw
ixgb style.Makefile(5) 2004-06-09 08:27:05 +00:00
joy
kue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
lge
libiconv
libmbpool
libmchain
linprocfs Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
linux
lnc
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl
mac_seeotheruids
mac_stub
mac_test
mcd
md change the name of the md module, to g_md, introduce a define with the 2004-08-09 06:45:20 +00:00
mem Add the memrange bits to the loadable module. 2004-09-28 07:26:00 +00:00
mii
mlx
mly
mpt
msdosfs Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
msdosfs_iconv
my
ncp
ncv
ndis
netgraph Major overhaul. 2004-10-18 20:13:57 +00:00
nfs4client Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
nfsclient Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
nfsserver
nge
nmdm
nsp
ntfs
ntfs_iconv
nullfs
nwfs
oldcard
oltr
osf1
owi Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
patm
pccard
pcfclock
pcic
pcn
pecoff
pf Removed -Wall from CFLAGS. 2004-09-01 07:39:12 +00:00
plip
pmc
portalfs
ppbus
ppi
pps
procfs
pseudofs
pst
random
ray
rc
rc4
re
rl
rndtest
rp
rue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
s3
safe
sbni
sbsh
scd
scsi_low
sem
sf
sio
sis
sk
smbfs Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
sn
snc
snp
sound Rename the sound device drivers: 2004-07-16 04:00:08 +00:00
speaker
splash Move the source code for these two modules out of src/sys/modules. 2004-08-06 20:37:08 +00:00
sppp
sr Convert Netgraph to use mbuf tags to pass its meta information around. 2004-06-25 19:22:05 +00:00
ste
stg
streams
svr4
sym
syscons
sysvipc
ti
tl
trm
twa
twe
tx
txp
uart - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c 2004-08-14 23:54:27 +00:00
ubsa Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ubsec
ubser Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ucom Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ucycom Device driver for the Cypress CY7C637xx and CY7C640/1xx families of USB 2004-09-05 09:43:47 +00:00
udav Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
udbp Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
udf
udf_iconv
ufm Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ufs
uftdi Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ugen Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
uhid Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ukbd Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ulpt Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
umapfs
umass Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
umct Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
umodem Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ums Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
unionfs
uplcom Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
urio Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
usb Remove stray line with just a tab 2004-07-12 21:59:06 +00:00
uscanner Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
utopia
uvisor Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
uvscom Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
vesa
vge Add device driver support for the VIA Networking Technologies 2004-09-10 20:57:46 +00:00
vinum
vpo
vr
vx Add eisa_if.h 2004-06-09 21:52:12 +00:00
wb
wi
wlan
xe
xl
zlib Give zlib the ability to be a module that can be depended on, 2004-06-20 17:42:35 +00:00
Makefile Port NetBSD auxio driver. The driver was modified to use led(4) and can 2004-10-09 07:31:03 +00:00
Makefile.inc