]> git.pld-linux.org Git - packages/kernel.git/blame - 2.6-pnp.patch
- ported from linux-2.4.25-atmdd.patch
[packages/kernel.git] / 2.6-pnp.patch
CommitLineData
c7515dba 1
2 25-akpm/drivers/pnp/pnpbios/bioscalls.c | 4 ++--
3 1 files changed, 2 insertions(+), 2 deletions(-)
4
5diff -puN drivers/pnp/pnpbios/bioscalls.c~pnp-bios-fix drivers/pnp/pnpbios/bioscalls.c
6--- 25/drivers/pnp/pnpbios/bioscalls.c~pnp-bios-fix Tue Dec 23 15:52:55 2003
7+++ 25-akpm/drivers/pnp/pnpbios/bioscalls.c Tue Dec 23 15:52:55 2003
8@@ -493,7 +493,7 @@ static int __pnp_bios_read_escd(char *da
9 if (!pnp_bios_present())
10 return ESCD_FUNCTION_NOT_SUPPORTED;
11 status = call_pnp_bios(PNP_READ_ESCD, 0, PNP_TS1, PNP_TS2, PNP_DS, 0, 0, 0,
12- data, 65536, (void *)nvram_base, 65536);
13+ data, 65536, __va((void *)nvram_base), 65536);
14 return status;
15 }
16
17@@ -516,7 +516,7 @@ static int pnp_bios_write_escd(char *dat
18 if (!pnp_bios_present())
19 return ESCD_FUNCTION_NOT_SUPPORTED;
20 status = call_pnp_bios(PNP_WRITE_ESCD, 0, PNP_TS1, PNP_TS2, PNP_DS, 0, 0, 0,
21- data, 65536, nvram_base, 65536);
22+ data, 65536, __va((void *)nvram_base), 65536);
23 return status;
24 }
25 #endif
26
27 drivers/pnp/Kconfig | 28 ++--------------------------
28 drivers/pnp/isapnp/Kconfig | 11 +++++++++++
29 drivers/pnp/pnpbios/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++
30 drivers/pnp/pnpbios/Makefile | 2 +-
31 drivers/pnp/pnpbios/pnpbios.h | 4 ++--
32 5 files changed, 57 insertions(+), 29 deletions(-)
33
34diff -puN /dev/null drivers/pnp/isapnp/Kconfig
35--- /dev/null 2002-08-30 16:31:37.000000000 -0700
36+++ 25-akpm/drivers/pnp/isapnp/Kconfig 2003-11-15 23:03:06.000000000 -0800
37@@ -0,0 +1,11 @@
38+#
39+# ISA Plug and Play configuration
40+#
41+config ISAPNP
42+ bool "ISA Plug and Play support (EXPERIMENTAL)"
43+ depends on PNP && EXPERIMENTAL
44+ help
45+ Say Y here if you would like support for ISA Plug and Play devices.
46+ Some information is in <file:Documentation/isapnp.txt>.
47+
48+ If unsure, say Y.
49diff -puN drivers/pnp/Kconfig~pnp-fix-2 drivers/pnp/Kconfig
50--- 25/drivers/pnp/Kconfig~pnp-fix-2 2003-11-15 23:03:06.000000000 -0800
51+++ 25-akpm/drivers/pnp/Kconfig 2003-11-15 23:03:06.000000000 -0800
52@@ -30,33 +30,9 @@ config PNP_DEBUG
53 comment "Protocols"
54 depends on PNP
55
56-config ISAPNP
57- bool "ISA Plug and Play support (EXPERIMENTAL)"
58- depends on PNP && EXPERIMENTAL
59- help
60- Say Y here if you would like support for ISA Plug and Play devices.
61- Some information is in <file:Documentation/isapnp.txt>.
62+source "drivers/pnp/isapnp/Kconfig"
63
64- If unsure, say Y.
65-
66-config PNPBIOS
67- bool "Plug and Play BIOS support (EXPERIMENTAL)"
68- depends on PNP && EXPERIMENTAL
69- ---help---
70- Linux uses the PNPBIOS as defined in "Plug and Play BIOS
71- Specification Version 1.0A May 5, 1994" to autodetect built-in
72- mainboard resources (e.g. parallel port resources).
73-
74- Some features (e.g. event notification, docking station information,
75- ISAPNP services) are not used.
76-
77- Note: ACPI is expected to supersede PNPBIOS some day, currently it
78- co-exists nicely.
79-
80- See latest pcmcia-cs (stand-alone package) for a nice "lspnp" tools,
81- or have a look at /proc/bus/pnp.
82-
83- If unsure, say Y.
84+source "drivers/pnp/pnpbios/Kconfig"
85
86 endmenu
87
88diff -puN /dev/null drivers/pnp/pnpbios/Kconfig
89--- /dev/null 2002-08-30 16:31:37.000000000 -0700
90+++ 25-akpm/drivers/pnp/pnpbios/Kconfig 2003-11-15 23:03:06.000000000 -0800
91@@ -0,0 +1,41 @@
92+#
93+# Plug and Play BIOS configuration
94+#
95+config PNPBIOS
96+ bool "Plug and Play BIOS support (EXPERIMENTAL)"
97+ depends on PNP && EXPERIMENTAL
98+ ---help---
99+ Linux uses the PNPBIOS as defined in "Plug and Play BIOS
100+ Specification Version 1.0A May 5, 1994" to autodetect built-in
101+ mainboard resources (e.g. parallel port resources).
102+
103+ Some features (e.g. event notification, docking station information,
104+ ISAPNP services) are not currently implemented.
105+
106+ If you would like the kernel to detect and allocate resources to
107+ your mainboard devices (on some systems they are disabled by the
108+ BIOS) say Y here. Also the PNPBIOS can help prevent resource
109+ conflicts between mainboard devices and other bus devices.
110+
111+ Note: ACPI is expected to supersede PNPBIOS some day, currently it
112+ co-exists nicely. If you have a non-ISA system that supports ACPI,
113+ you probably don't need PNPBIOS support.
114+
115+config PNPBIOS_PROC_FS
116+ bool "Plug and Play BIOS /proc interface"
117+ depends on PNPBIOS && PROC_FS
118+ ---help---
119+ If you say Y here and to "/proc file system support", you will be
120+ able to directly access the PNPBIOS. This includes resource
121+ allocation, ESCD, and other PNPBIOS services. Using this
122+ interface is potentially dangerous because the PNPBIOS driver will
123+ not be notified of any resource changes made by writting directly.
124+ Also some buggy systems will fault when accessing certain features
125+ in the PNPBIOS /proc interface (e.g. ESCD).
126+
127+ See the latest pcmcia-cs (stand-alone package) for a nice set of
128+ PNPBIOS /proc interface tools (lspnp and setpnp).
129+
130+ Unless you are debugging or have other specific reasons, it is
131+ recommended that you say N here.
132+
133diff -puN drivers/pnp/pnpbios/Makefile~pnp-fix-2 drivers/pnp/pnpbios/Makefile
134--- 25/drivers/pnp/pnpbios/Makefile~pnp-fix-2 2003-11-15 23:03:06.000000000 -0800
135+++ 25-akpm/drivers/pnp/pnpbios/Makefile 2003-11-15 23:03:06.000000000 -0800
136@@ -2,6 +2,6 @@
137 # Makefile for the kernel PNPBIOS driver.
138 #
139
140-pnpbios-proc-$(CONFIG_PROC_FS) = proc.o
141+pnpbios-proc-$(CONFIG_PNPBIOS_PROC_FS) = proc.o
142
143 obj-y := core.o bioscalls.o rsparser.o $(pnpbios-proc-y)
144diff -puN drivers/pnp/pnpbios/pnpbios.h~pnp-fix-2 drivers/pnp/pnpbios/pnpbios.h
145--- 25/drivers/pnp/pnpbios/pnpbios.h~pnp-fix-2 2003-11-15 23:03:06.000000000 -0800
146+++ 25-akpm/drivers/pnp/pnpbios/pnpbios.h 2003-11-15 23:03:06.000000000 -0800
147@@ -36,7 +36,7 @@ extern void pnpid32_to_pnpid(u32 id, cha
148 extern void pnpbios_print_status(const char * module, u16 status);
149 extern void pnpbios_calls_init(union pnp_bios_install_struct * header);
150
151-#ifdef CONFIG_PROC_FS
152+#ifdef CONFIG_PNPBIOS_PROC_FS
153 extern int pnpbios_interface_attach_device(struct pnp_bios_node * node);
154 extern int pnpbios_proc_init (void);
155 extern void pnpbios_proc_exit (void);
156@@ -44,4 +44,4 @@ extern void pnpbios_proc_exit (void);
157 static inline int pnpbios_interface_attach_device(struct pnp_bios_node * node) { return 0; }
158 static inline int pnpbios_proc_init (void) { return 0; }
159 static inline void pnpbios_proc_exit (void) { ; }
160-#endif /* CONFIG_PROC */
161+#endif /* CONFIG_PNPBIOS_PROC_FS */
162 drivers/pnp/isapnp/core.c | 8 +++-----
163 1 files changed, 3 insertions(+), 5 deletions(-)
164
165diff -puN drivers/pnp/isapnp/core.c~pnp-fix-3 drivers/pnp/isapnp/core.c
166--- 25/drivers/pnp/isapnp/core.c~pnp-fix-3 2003-11-15 23:03:07.000000000 -0800
167+++ 25-akpm/drivers/pnp/isapnp/core.c 2003-11-15 23:03:07.000000000 -0800
168@@ -890,11 +890,9 @@ static int __init isapnp_build_device_li
169 header[4], header[5], header[6], header[7], header[8]);
170 printk(KERN_DEBUG "checksum = 0x%x\n", checksum);
171 #endif
172- /* Don't be strict on the checksum, here !
173- e.g. 'SCM SwapBox Plug and Play' has header[8]==0 (should be: b7)*/
174- if (header[8] == 0)
175- ;
176- else if (checksum == 0x00 || checksum != header[8]) /* not valid CSN */
177+ /* Per Section 6.1 of the Plug and Play ISA Specification (Version 1.0a), */
178+ /* Bit[7] of Vendor ID Byte 0 must be 0 */
179+ if (header[0] & 0x80) /* not valid CSN */
180 continue;
181 if ((card = isapnp_alloc(sizeof(struct pnp_card))) == NULL)
182 continue;
This page took 0.176433 seconds and 4 git commands to generate.