Index: head/sys/arm/conf/DB-78XXX
===================================================================
--- head/sys/arm/conf/DB-78XXX
+++ head/sys/arm/conf/DB-78XXX
@@ -90,6 +90,9 @@
 # NAND
 device		nand
 
+# GPIO
+device		gpio
+
 # Flattened Device Tree
 options 	FDT
 options 	FDT_DTB_STATIC
Index: head/sys/arm/conf/DB-88F5XXX
===================================================================
--- head/sys/arm/conf/DB-88F5XXX
+++ head/sys/arm/conf/DB-88F5XXX
@@ -88,6 +88,9 @@
 # SATA
 device		mvs
 
+# GPIO
+device		gpio
+
 # Flattened Device Tree
 options 	FDT
 makeoptions	FDT_DTS_FILE=db88f5281.dts
Index: head/sys/arm/conf/DB-88F6XXX
===================================================================
--- head/sys/arm/conf/DB-88F6XXX
+++ head/sys/arm/conf/DB-88F6XXX
@@ -94,6 +94,9 @@
 # NAND
 device		nand
 
+# GPIO
+device		gpio
+
 # Flattened Device Tree
 options 	FDT			# Configure using FDT/DTB data
 options 	FDT_DTB_STATIC
Index: head/sys/arm/conf/DOCKSTAR
===================================================================
--- head/sys/arm/conf/DOCKSTAR
+++ head/sys/arm/conf/DOCKSTAR
@@ -148,6 +148,9 @@
 device		pflog
 device		pfsync
 
+# GPIO
+device		gpio
+
 # ALTQ, required for PF
 options 	ALTQ			# Basic ALTQ support
 options 	ALTQ_CBQ		# Class Based Queueing
Index: head/sys/arm/conf/DREAMPLUG-1001
===================================================================
--- head/sys/arm/conf/DREAMPLUG-1001
+++ head/sys/arm/conf/DREAMPLUG-1001
@@ -122,6 +122,9 @@
 device		iic
 device		iicbus
 
+# GPIO
+device		gpio
+
 # SATA
 device		mvs
 device		ahci
Index: head/sys/arm/conf/SHEEVAPLUG
===================================================================
--- head/sys/arm/conf/SHEEVAPLUG
+++ head/sys/arm/conf/SHEEVAPLUG
@@ -82,6 +82,9 @@
 # NAND
 device		nand
 
+# GPIO
+device		gpio
+
 # Flattened Device Tree
 options 	FDT			# Configure using FDT/DTB data
 options 	FDT_DTB_STATIC
Index: head/sys/arm/conf/TS7800
===================================================================
--- head/sys/arm/conf/TS7800
+++ head/sys/arm/conf/TS7800
@@ -76,6 +76,9 @@
 # SATA
 device		ata
 
+# GPIO
+device		gpio
+
 # Flattened Device Tree
 options 	FDT
 options 	FDT_DTB_STATIC
Index: head/sys/arm/mv/armadaxp/armadaxp.c
===================================================================
--- head/sys/arm/mv/armadaxp/armadaxp.c
+++ head/sys/arm/mv/armadaxp/armadaxp.c
@@ -86,13 +86,6 @@
 #define COHER_FABRIC_CFU		0x28
 #define COHER_FABRIC_CIB_CTRL		0x80
 
-/* XXX Make gpio driver optional and remove it */
-struct resource_spec mv_gpio_res[] = {
-	{ SYS_RES_MEMORY,	0,	RF_ACTIVE },
-	{ SYS_RES_IRQ,		0,	RF_ACTIVE },
-	{ -1, 0 }
-};
-
 struct vco_freq_ratio {
 	uint8_t	vco_cpu;	/* VCO to CLK0(CPU) clock ratio */
 	uint8_t	vco_l2c;	/* VCO to NB(L2 cache) clock ratio */
Index: head/sys/arm/mv/files.mv
===================================================================
--- head/sys/arm/mv/files.mv
+++ head/sys/arm/mv/files.mv
@@ -12,7 +12,7 @@
 # - JTAG/ICE
 # - Vector Floating Point (VFP) unit
 #
-arm/mv/gpio.c			standard
+arm/mv/gpio.c			optional	gpio
 arm/mv/mv_common.c		standard
 arm/mv/mv_localbus.c		standard
 arm/mv/mv_machdep.c		standard