From: Adam Belay <ambx1@neo.rr.com>

# --------------------------------------------
# 03/11/15	ambx1@neo.rr.com	1.1449
# [PnPBIOS] make /proc interface an optional feature
# 
# The PnPBIOS /proc interface provides direct access to PnPBIOS calls.
# These calls can be potentially dangerous, especially on buggy systems.
# Therefore, this patch provides an option for PnPBIOS calls to be
# managed by the PnPBIOS driver exclusively.  This patch also updates
# the KConfig documentation accordingly.
# --------------------------------------------
#



 drivers/pnp/Kconfig           |   28 ++--------------------------
 drivers/pnp/isapnp/Kconfig    |   11 +++++++++++
 drivers/pnp/pnpbios/Kconfig   |   41 +++++++++++++++++++++++++++++++++++++++++
 drivers/pnp/pnpbios/Makefile  |    2 +-
 drivers/pnp/pnpbios/pnpbios.h |    4 ++--
 5 files changed, 57 insertions(+), 29 deletions(-)

diff -puN /dev/null drivers/pnp/isapnp/Kconfig
--- /dev/null	2002-08-30 16:31:37.000000000 -0700
+++ 25-akpm/drivers/pnp/isapnp/Kconfig	2003-11-15 23:03:06.000000000 -0800
@@ -0,0 +1,11 @@
+#
+# ISA Plug and Play configuration
+#
+config ISAPNP
+	bool "ISA Plug and Play support (EXPERIMENTAL)"
+	depends on PNP && EXPERIMENTAL
+	help
+	  Say Y here if you would like support for ISA Plug and Play devices.
+	  Some information is in <file:Documentation/isapnp.txt>.
+
+	  If unsure, say Y.
diff -puN drivers/pnp/Kconfig~pnp-fix-2 drivers/pnp/Kconfig
--- 25/drivers/pnp/Kconfig~pnp-fix-2	2003-11-15 23:03:06.000000000 -0800
+++ 25-akpm/drivers/pnp/Kconfig	2003-11-15 23:03:06.000000000 -0800
@@ -30,33 +30,9 @@ config PNP_DEBUG
 comment "Protocols"
 	depends on PNP
 
-config ISAPNP
-	bool "ISA Plug and Play support (EXPERIMENTAL)"
-	depends on PNP && EXPERIMENTAL
-	help
-	  Say Y here if you would like support for ISA Plug and Play devices.
-	  Some information is in <file:Documentation/isapnp.txt>.
+source "drivers/pnp/isapnp/Kconfig"
 
-	  If unsure, say Y.
-
-config PNPBIOS
-	bool "Plug and Play BIOS support (EXPERIMENTAL)"
-	depends on PNP && EXPERIMENTAL
-	---help---
-	  Linux uses the PNPBIOS as defined in "Plug and Play BIOS
-	  Specification Version 1.0A May 5, 1994" to autodetect built-in
-	  mainboard resources (e.g. parallel port resources).
-
-	  Some features (e.g. event notification, docking station information,
-	  ISAPNP services) are not used.
-
-	  Note: ACPI is expected to supersede PNPBIOS some day, currently it
-	  co-exists nicely.
-
-	  See latest pcmcia-cs (stand-alone package) for a nice "lspnp" tools,
-	  or have a look at /proc/bus/pnp.
-
-	  If unsure, say Y.
+source "drivers/pnp/pnpbios/Kconfig"
 
 endmenu
 
diff -puN /dev/null drivers/pnp/pnpbios/Kconfig
--- /dev/null	2002-08-30 16:31:37.000000000 -0700
+++ 25-akpm/drivers/pnp/pnpbios/Kconfig	2003-11-15 23:03:06.000000000 -0800
@@ -0,0 +1,41 @@
+#
+# Plug and Play BIOS configuration
+#
+config PNPBIOS
+	bool "Plug and Play BIOS support (EXPERIMENTAL)"
+	depends on PNP && EXPERIMENTAL
+	---help---
+	  Linux uses the PNPBIOS as defined in "Plug and Play BIOS
+	  Specification Version 1.0A May 5, 1994" to autodetect built-in
+	  mainboard resources (e.g. parallel port resources).
+
+	  Some features (e.g. event notification, docking station information,
+	  ISAPNP services) are not currently implemented.
+
+	  If you would like the kernel to detect and allocate resources to
+	  your mainboard devices (on some systems they are disabled by the
+	  BIOS) say Y here.  Also the PNPBIOS can help prevent resource
+	  conflicts between mainboard devices and other bus devices.
+
+	  Note: ACPI is expected to supersede PNPBIOS some day, currently it
+	  co-exists nicely.  If you have a non-ISA system that supports ACPI,
+	  you probably don't need PNPBIOS support.
+
+config PNPBIOS_PROC_FS
+	bool "Plug and Play BIOS /proc interface"
+	depends on PNPBIOS && PROC_FS
+	---help---
+	  If you say Y here and to "/proc file system support", you will be
+	  able to directly access the PNPBIOS.  This includes resource
+	  allocation, ESCD, and other PNPBIOS services.  Using this
+	  interface is potentially dangerous because the PNPBIOS driver will
+	  not be notified of any resource changes made by writting directly.
+	  Also some buggy systems will fault when accessing certain features
+	  in the PNPBIOS /proc interface (e.g. ESCD).
+
+	  See the latest pcmcia-cs (stand-alone package) for a nice set of
+	  PNPBIOS /proc interface tools (lspnp and setpnp).
+
+	  Unless you are debugging or have other specific reasons, it is
+	  recommended that you say N here.
+
diff -puN drivers/pnp/pnpbios/Makefile~pnp-fix-2 drivers/pnp/pnpbios/Makefile
--- 25/drivers/pnp/pnpbios/Makefile~pnp-fix-2	2003-11-15 23:03:06.000000000 -0800
+++ 25-akpm/drivers/pnp/pnpbios/Makefile	2003-11-15 23:03:06.000000000 -0800
@@ -2,6 +2,6 @@
 # Makefile for the kernel PNPBIOS driver.
 #
 
-pnpbios-proc-$(CONFIG_PROC_FS) = proc.o
+pnpbios-proc-$(CONFIG_PNPBIOS_PROC_FS) = proc.o
 
 obj-y := core.o bioscalls.o rsparser.o $(pnpbios-proc-y)
diff -puN drivers/pnp/pnpbios/pnpbios.h~pnp-fix-2 drivers/pnp/pnpbios/pnpbios.h
--- 25/drivers/pnp/pnpbios/pnpbios.h~pnp-fix-2	2003-11-15 23:03:06.000000000 -0800
+++ 25-akpm/drivers/pnp/pnpbios/pnpbios.h	2003-11-15 23:03:06.000000000 -0800
@@ -36,7 +36,7 @@ extern void pnpid32_to_pnpid(u32 id, cha
 extern void pnpbios_print_status(const char * module, u16 status);
 extern void pnpbios_calls_init(union pnp_bios_install_struct * header);
 
-#ifdef CONFIG_PROC_FS
+#ifdef CONFIG_PNPBIOS_PROC_FS
 extern int pnpbios_interface_attach_device(struct pnp_bios_node * node);
 extern int pnpbios_proc_init (void);
 extern void pnpbios_proc_exit (void);
@@ -44,4 +44,4 @@ extern void pnpbios_proc_exit (void);
 static inline int pnpbios_interface_attach_device(struct pnp_bios_node * node) { return 0; }
 static inline int pnpbios_proc_init (void) { return 0; }
 static inline void pnpbios_proc_exit (void) { ; }
-#endif /* CONFIG_PROC */
+#endif /* CONFIG_PNPBIOS_PROC_FS */

_