From: Adam Belay # -------------------------------------------- # 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 . + + 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 . +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 */ _