]> git.pld-linux.org Git - packages/kernel.git/blob - 2.6-pnp.patch
- minor fix. it builds but linking needs fix.
[packages/kernel.git] / 2.6-pnp.patch
1
2  25-akpm/drivers/pnp/pnpbios/bioscalls.c |    4 ++--
3  1 files changed, 2 insertions(+), 2 deletions(-)
4
5 diff -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, __va(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, __va(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
34 diff -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.
49 diff -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  
88 diff -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 +
133 diff -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)
144 diff -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
165 diff -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.03531 seconds and 3 git commands to generate.