Exclude USB drivers from main kernel image?

Robert Millan rmh at freebsd.org
Sat Feb 18 13:37:42 UTC 2012


Hi,

If I recall correctly from the /etc/devd/usb.conf discussion, decision
was taken not to exclude USB drivers from main kernel image (and leave
it to devd to auto-load them) because of timing in the 9.0 release
cycle.

Now that 9.0 is released, would it make sense to do this change in
HEAD and make the kernel image about ~290 kiBs smaller? Attached patch
does this for all USB drivers that can be handled by devd (except ukbd
and umass for obvious reasons).

Note that a very similar change has already been tested for several
months in Debian GNU/kFreeBSD kernels, with no observable ill effects.
-------------- next part --------------
Index: sys/amd64/conf/GENERIC
===================================================================
--- sys/amd64/conf/GENERIC	(revision 230971)
+++ sys/amd64/conf/GENERIC	(working copy)
@@ -303,22 +303,22 @@
 device		xhci		# XHCI PCI->USB interface (USB 3.0)
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices (needs netgraph)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -350,7 +350,7 @@
 device		snd_es137x	# Ensoniq AudioPCI ES137x
 device		snd_hda		# Intel High Definition Audio
 device		snd_ich		# Intel, NVidia and other ICH AC'97 Audio
-device		snd_uaudio	# USB Audio
+#device		snd_uaudio	# USB Audio
 device		snd_via8233	# VIA VT8233x Audio
 
 # MMC/SD
Index: sys/arm/conf/KB920X
===================================================================
--- sys/arm/conf/KB920X	(revision 230971)
+++ sys/arm/conf/KB920X	(working copy)
@@ -100,19 +100,19 @@
 device		ohci		# OHCI localbus->USB interface
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices
-device		uhid		# "Human Interface Devices"
-device		ulpt		# Printer
+#device		uhid		# "Human Interface Devices"
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		urio		# Diamond Rio 500 MP3 player
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		miibus
 device		aue		# ADMtek USB Ethernet
Index: sys/arm/conf/QILA9G20
===================================================================
--- sys/arm/conf/QILA9G20	(revision 230971)
+++ sys/arm/conf/QILA9G20	(working copy)
@@ -124,7 +124,7 @@
 device		ohci		# OHCI localbus->USB interface
 device		usb		# USB Bus (required)
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 #device		ulpt		# Printer
 #device		udbp		# USB Double Bulk Pipe devices
 
Index: sys/arm/conf/HL200
===================================================================
--- sys/arm/conf/HL200	(revision 230971)
+++ sys/arm/conf/HL200	(working copy)
@@ -99,20 +99,20 @@
 device		ohci		# OHCI localbus->USB interface
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices
-device		uhid		# "Human Interface Devices"
-device		ulpt		# Printer
+#device		uhid		# "Human Interface Devices"
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		urio		# Diamond Rio 500 MP3 player
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
 #device		ubser		# not yet converted.
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		miibus
 device		aue		# ADMtek USB Ethernet
Index: sys/arm/conf/HL201
===================================================================
--- sys/arm/conf/HL201	(revision 230971)
+++ sys/arm/conf/HL201	(working copy)
@@ -100,7 +100,7 @@
 #device		ohci		# OHCI localbus->USB interface
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 #device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
 
Index: sys/arm/conf/SAM9G20EK
===================================================================
--- sys/arm/conf/SAM9G20EK	(revision 230971)
+++ sys/arm/conf/SAM9G20EK	(working copy)
@@ -124,7 +124,7 @@
 device		ohci		# OHCI localbus->USB interface
 device		usb		# USB Bus (required)
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 #device		ulpt		# Printer
 #device		udbp		# USB Double Bulk Pipe devices
 
Index: sys/i386/conf/XBOX
===================================================================
--- sys/i386/conf/XBOX	(revision 230971)
+++ sys/i386/conf/XBOX	(working copy)
@@ -80,12 +80,12 @@
 #device		uhci		# UHCI PCI->USB interface
 device		ohci		# OHCI PCI->USB interface
 device		usb		# USB Bus (required)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 
 device		miibus
 device		aue		# ADMtek USB Ethernet
Index: sys/i386/conf/GENERIC
===================================================================
--- sys/i386/conf/GENERIC	(revision 230971)
+++ sys/i386/conf/GENERIC	(working copy)
@@ -316,22 +316,22 @@
 device		xhci		# XHCI PCI->USB interface (USB 3.0)
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices (needs netgraph)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -363,7 +363,7 @@
 device		snd_es137x	# Ensoniq AudioPCI ES137x
 device		snd_hda		# Intel High Definition Audio
 device		snd_ich		# Intel, NVidia and other ICH AC'97 Audio
-device		snd_uaudio	# USB Audio
+#device		snd_uaudio	# USB Audio
 device		snd_via8233	# VIA VT8233x Audio
 
 # MMC/SD
Index: sys/ia64/conf/GENERIC
===================================================================
--- sys/ia64/conf/GENERIC	(revision 230971)
+++ sys/ia64/conf/GENERIC	(working copy)
@@ -127,11 +127,11 @@
 device		ehci		# EHCI host controller
 device		ohci		# OHCI PCI->USB interface
 device		uhci		# UHCI PCI->USB interface
-device		uhid		# Human Interface Devices
+#device		uhid		# Human Interface Devices
 device		ukbd		# Keyboard
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage (need scbus & da)
-device		ums		# Mouse
+#device		ums		# Mouse
 
 # PCI Ethernet NICs.
 device		de		# DEC/Intel DC21x4x (``Tulip'')
@@ -172,14 +172,14 @@
 device		udav		# Davicom DM9601E USB
 
 # USB Serial
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 
 # Wireless NIC cards.
 # The wlan(4) module assumes this, so just define it so it
Index: sys/mips/conf/OCTEON1
===================================================================
--- sys/mips/conf/OCTEON1	(revision 230971)
+++ sys/mips/conf/OCTEON1	(working copy)
@@ -268,21 +268,21 @@
 device		ehci		# EHCI PCI->USB interface (USB 2.0)
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices
-device		uhid		# "Human Interface Devices"
-device		ulpt		# Printer
+#device		uhid		# "Human Interface Devices"
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		u3g		# USB-based 3G modems (Option, Huawei, Sierra)
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
Index: sys/powerpc/conf/GENERIC64
===================================================================
--- sys/powerpc/conf/GENERIC64	(revision 230971)
+++ sys/powerpc/conf/GENERIC64	(working copy)
@@ -156,13 +156,13 @@
 device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface
 device		usb		# USB Bus (required)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
 options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da0
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Ethernet
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -196,5 +196,5 @@
 # Sound support
 device		sound		# Generic sound driver (required)
 device		snd_ai2s	# Apple I2S audio
-device		snd_uaudio	# USB Audio
+#device		snd_uaudio	# USB Audio
 
Index: sys/powerpc/conf/GENERIC
===================================================================
--- sys/powerpc/conf/GENERIC	(revision 230971)
+++ sys/powerpc/conf/GENERIC	(working copy)
@@ -159,14 +159,14 @@
 device		ohci		# OHCI PCI->USB interface
 device		ehci		# EHCI PCI->USB interface
 device		usb		# USB Bus (required)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
 options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da0
-device		ums		# Mouse
-device		atp		# Apple USB touchpad
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		atp		# Apple USB touchpad
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Ethernet
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -204,5 +204,5 @@
 device		sound		# Generic sound driver (required)
 device		snd_ai2s	# Apple I2S audio
 device		snd_davbus	# Apple DAVBUS audio
-device		snd_uaudio	# USB Audio
+#device		snd_uaudio	# USB Audio
 
Index: sys/sparc64/conf/GENERIC
===================================================================
--- sys/sparc64/conf/GENERIC	(revision 230971)
+++ sys/sparc64/conf/GENERIC	(working copy)
@@ -236,21 +236,21 @@
 device		ehci		# EHCI PCI->USB interface (USB 2.0)
 device		usb		# USB Bus (required)
 #device		udbp		# USB Double Bulk Pipe devices (needs netgraph)
-device		uhid		# "Human Interface Devices"
+#device		uhid		# "Human Interface Devices"
 device		ukbd		# Keyboard
-device		ulpt		# Printer
+#device		ulpt		# Printer
 device		umass		# Disks/Mass storage - Requires scbus and da
-device		ums		# Mouse
-device		urio		# Diamond Rio 500 MP3 player
+#device		ums		# Mouse
+#device		urio		# Diamond Rio 500 MP3 player
 # USB Serial devices
-device		uark		# Technologies ARK3116 based serial adapters
-device		ubsa		# Belkin F5U103 and compatible serial adapters
-device		uftdi		# For FTDI usb serial adapters
-device		uipaq		# Some WinCE based devices
-device		uplcom		# Prolific PL-2303 serial adapters
-device		uslcom		# SI Labs CP2101/CP2102 serial adapters
-device		uvisor		# Visor and Palm devices
-device		uvscom		# USB serial support for DDI pocket's PHS
+#device		uark		# Technologies ARK3116 based serial adapters
+#device		ubsa		# Belkin F5U103 and compatible serial adapters
+#device		uftdi		# For FTDI usb serial adapters
+#device		uipaq		# Some WinCE based devices
+#device		uplcom		# Prolific PL-2303 serial adapters
+#device		uslcom		# SI Labs CP2101/CP2102 serial adapters
+#device		uvisor		# Visor and Palm devices
+#device		uvscom		# USB serial support for DDI pocket's PHS
 # USB Ethernet, requires miibus
 device		aue		# ADMtek USB Ethernet
 device		axe		# ASIX Electronics USB Ethernet
@@ -279,4 +279,4 @@
 device		snd_audiocs	# Crystal Semiconductor CS4231
 device		snd_es137x	# Ensoniq AudioPCI ES137x
 device		snd_t4dwave	# Acer Labs M5451
-device		snd_uaudio	# USB Audio
+#device		snd_uaudio	# USB Audio


More information about the freebsd-usb mailing list