Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | The following is a list of files and features that are going to be |
2 | removed in the kernel source tree. Every entry should contain what | |
3 | exactly is going away, why it is happening, and who is going to be doing | |
4 | the work. When the feature is removed from the kernel, it should also | |
5 | be removed from this file. | |
6 | ||
7 | --------------------------- | |
8 | ||
1ebfd79e PM |
9 | What: /sys/devices/.../power/state |
10 | dev->power.power_state | |
11 | dpm_runtime_{suspend,resume)() | |
12 | When: July 2007 | |
13 | Why: Broken design for runtime control over driver power states, confusing | |
14 | driver-internal runtime power management with: mechanisms to support | |
15 | system-wide sleep state transitions; event codes that distinguish | |
16 | different phases of swsusp "sleep" transitions; and userspace policy | |
17 | inputs. This framework was never widely used, and most attempts to | |
18 | use it were broken. Drivers should instead be exposing domain-specific | |
19 | interfaces either to kernel or to userspace. | |
20 | Who: Pavel Machek <pavel@suse.cz> | |
21 | ||
22 | --------------------------- | |
23 | ||
98e7f294 AB |
24 | What: RAW driver (CONFIG_RAW_DRIVER) |
25 | When: December 2005 | |
26 | Why: declared obsolete since kernel 2.6.3 | |
27 | O_DIRECT can be used instead | |
28 | Who: Adrian Bunk <bunk@stusta.de> | |
29 | ||
30 | --------------------------- | |
31 | ||
a1446c7f | 32 | What: raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN |
9868e0ec SR |
33 | When: June 2007 |
34 | Why: Deprecated in favour of the more efficient and robust rawiso interface. | |
35 | Affected are applications which use the deprecated part of libraw1394 | |
36 | (raw1394_iso_write, raw1394_start_iso_write, raw1394_start_iso_rcv, | |
37 | raw1394_stop_iso_rcv) or bypass libraw1394. | |
38 | Who: Dan Dennedy <dan@dennedy.org>, Stefan Richter <stefanr@s5r6.in-berlin.de> | |
937df8df GC |
39 | |
40 | --------------------------- | |
41 | ||
875c296b | 42 | What: Video4Linux API 1 ioctls and video_decoder.h from Video devices. |
48c06d5e | 43 | When: December 2006 |
875c296b MCC |
44 | Why: V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6 |
45 | series. The old API have lots of drawbacks and don't provide enough | |
46 | means to work with all video and audio standards. The newer API is | |
47 | already available on the main drivers and should be used instead. | |
48 | Newer drivers should use v4l_compat_translate_ioctl function to handle | |
49 | old calls, replacing to newer ones. | |
50 | Decoder iocts are using internally to allow video drivers to | |
51 | communicate with video decoders. This should also be improved to allow | |
52 | V4L2 calls being translated into compatible internal ioctls. | |
53 | Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br> | |
54 | ||
55 | --------------------------- | |
56 | ||
bf45d9b0 DB |
57 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
58 | When: November 2005 | |
59 | Files: drivers/pcmcia/: pcmcia_ioctl.c | |
60 | Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a | |
61 | normal hotpluggable bus, and with it using the default kernel | |
62 | infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA | |
63 | control ioctl needed by cardmgr and cardctl from pcmcia-cs is | |
64 | unnecessary, and makes further cleanups and integration of the | |
65 | PCMCIA subsystem into the Linux kernel device driver model more | |
66 | difficult. The features provided by cardmgr and cardctl are either | |
67 | handled by the kernel itself now or are available in the new | |
68 | pcmciautils package available at | |
69 | http://kernel.org/pub/linux/utils/kernel/pcmcia/ | |
70 | Who: Dominik Brodowski <linux@brodo.de> | |
7af4cc3f HW |
71 | |
72 | --------------------------- | |
73 | ||
ac515898 CH |
74 | What: remove EXPORT_SYMBOL(kernel_thread) |
75 | When: August 2006 | |
76 | Files: arch/*/kernel/*_ksyms.c | |
77 | Why: kernel_thread is a low-level implementation detail. Drivers should | |
78 | use the <linux/kthread.h> API instead which shields them from | |
79 | implementation details and provides a higherlevel interface that | |
80 | prevents bugs and code duplication | |
81 | Who: Christoph Hellwig <hch@lst.de> | |
82 | ||
83 | --------------------------- | |
84 | ||
a9df3d0f IM |
85 | What: CONFIG_FORCED_INLINING |
86 | When: June 2006 | |
87 | Why: Config option is there to see if gcc is good enough. (in january | |
88 | 2006). If it is, the behavior should just be the default. If it's not, | |
89 | the option should just go away entirely. | |
90 | Who: Arjan van de Ven | |
91 | ||
92 | --------------------------- | |
93 | ||
c0d3c0c0 B |
94 | What: eepro100 network driver |
95 | When: January 2007 | |
96 | Why: replaced by the e100 driver | |
97 | Who: Adrian Bunk <bunk@stusta.de> | |
3c9b3a85 JG |
98 | |
99 | --------------------------- | |
100 | ||
1e5f5e5c AB |
101 | What: drivers depending on OSS_OBSOLETE_DRIVER |
102 | When: options in 2.6.20, code in 2.6.22 | |
103 | Why: OSS drivers with ALSA replacements | |
104 | Who: Adrian Bunk <bunk@stusta.de> | |
105 | ||
106 | --------------------------- | |
107 | ||
051d9897 RK |
108 | What: pci_module_init(driver) |
109 | When: January 2007 | |
110 | Why: Is replaced by pci_register_driver(pci_driver). | |
111 | Who: Richard Knutsson <ricknu-0@student.ltu.se> and Greg Kroah-Hartman <gregkh@suse.de> | |
c5e3fbf2 JD |
112 | |
113 | --------------------------- | |
114 | ||
7d99b7d6 TG |
115 | What: Usage of invalid timevals in setitimer |
116 | When: March 2007 | |
117 | Why: POSIX requires to validate timevals in the setitimer call. This | |
118 | was never done by Linux. The invalid (e.g. negative timevals) were | |
119 | silently converted to more or less random timeouts and intervals. | |
120 | Until the removal a per boot limited number of warnings is printed | |
121 | and the timevals are sanitized. | |
122 | ||
123 | Who: Thomas Gleixner <tglx@linutronix.de> | |
124 | ||
125 | --------------------------- | |
126 | ||
f71d20e9 AV |
127 | What: Unused EXPORT_SYMBOL/EXPORT_SYMBOL_GPL exports |
128 | (temporary transition config option provided until then) | |
129 | The transition config option will also be removed at the same time. | |
130 | When: before 2.6.19 | |
131 | Why: Unused symbols are both increasing the size of the kernel binary | |
132 | and are often a sign of "wrong API" | |
133 | Who: Arjan van de Ven <arjan@linux.intel.com> | |
134 | ||
135 | --------------------------- | |
136 | ||
fa675765 GKH |
137 | What: mount/umount uevents |
138 | When: February 2007 | |
139 | Why: These events are not correct, and do not properly let userspace know | |
140 | when a file system has been mounted or unmounted. Userspace should | |
141 | poll the /proc/mounts file instead to detect this properly. | |
142 | Who: Greg Kroah-Hartman <gregkh@suse.de> | |
cf028d17 RB |
143 | |
144 | --------------------------- | |
145 | ||
b87ba0a3 | 146 | What: USB driver API moves to EXPORT_SYMBOL_GPL |
a2ffd275 | 147 | When: February 2008 |
b87ba0a3 GKH |
148 | Files: include/linux/usb.h, drivers/usb/core/driver.c |
149 | Why: The USB subsystem has changed a lot over time, and it has been | |
150 | possible to create userspace USB drivers using usbfs/libusb/gadgetfs | |
151 | that operate as fast as the USB bus allows. Because of this, the USB | |
152 | subsystem will not be allowing closed source kernel drivers to | |
153 | register with it, after this grace period is over. If anyone needs | |
154 | any help in converting their closed source drivers over to use the | |
155 | userspace filesystems, please contact the | |
156 | linux-usb-devel@lists.sourceforge.net mailing list, and the developers | |
157 | there will be glad to help you out. | |
158 | Who: Greg Kroah-Hartman <gregkh@suse.de> | |
93fac704 NP |
159 | |
160 | --------------------------- | |
127fe6af | 161 | |
6e213616 TG |
162 | What: Interrupt only SA_* flags |
163 | When: Januar 2007 | |
164 | Why: The interrupt related SA_* flags are replaced by IRQF_* to move them | |
165 | out of the signal namespace. | |
166 | ||
167 | Who: Thomas Gleixner <tglx@linutronix.de> | |
168 | ||
169 | --------------------------- | |
5a017483 | 170 | |
d81d9d6b | 171 | What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment |
acbd39fb | 172 | When: October 2008 |
d81d9d6b KS |
173 | Why: The stacking of class devices makes these values misleading and |
174 | inconsistent. | |
175 | Class devices should not carry any of these properties, and bus | |
176 | devices have SUBSYTEM and DRIVER as a replacement. | |
177 | Who: Kay Sievers <kay.sievers@suse.de> | |
178 | ||
179 | --------------------------- | |
6c805d2c JD |
180 | |
181 | What: i2c-isa | |
182 | When: December 2006 | |
183 | Why: i2c-isa is a non-sense and doesn't fit in the device driver | |
184 | model. Drivers relying on it are better implemented as platform | |
185 | drivers. | |
186 | Who: Jean Delvare <khali@linux-fr.org> | |
187 | ||
188 | --------------------------- | |
31e7e1a8 | 189 | |
b119dc3f DB |
190 | What: i2c_adapter.dev |
191 | i2c_adapter.list | |
192 | When: July 2007 | |
193 | Why: Superfluous, given i2c_adapter.class_dev: | |
194 | * The "dev" was a stand-in for the physical device node that legacy | |
195 | drivers would not have; but now it's almost always present. Any | |
196 | remaining legacy drivers must upgrade (they now trigger warnings). | |
197 | * The "list" duplicates class device children. | |
198 | The delay in removing this is so upgraded lm_sensors and libsensors | |
199 | can get deployed. (Removal causes minor changes in the sysfs layout, | |
200 | notably the location of the adapter type name and parenting the i2c | |
201 | client hardware directly from their controller.) | |
202 | Who: Jean Delvare <khali@linux-fr.org>, | |
203 | David Brownell <dbrownell@users.sourceforge.net> | |
204 | ||
205 | --------------------------- | |
206 | ||
5aab0ad5 AB |
207 | What: drivers depending on OBSOLETE_OSS |
208 | When: options in 2.6.22, code in 2.6.24 | |
209 | Why: OSS drivers with ALSA replacements | |
210 | Who: Adrian Bunk <bunk@stusta.de> | |
211 | ||
212 | --------------------------- | |
213 | ||
a3c47977 PM |
214 | What: IPv4 only connection tracking/NAT/helpers |
215 | When: 2.6.22 | |
216 | Why: The new layer 3 independant connection tracking replaces the old | |
217 | IPv4 only version. After some stabilization of the new code the | |
218 | old one will be removed. | |
219 | Who: Patrick McHardy <kaber@trash.net> | |
31e7e1a8 JG |
220 | |
221 | --------------------------- | |
83d0515b VP |
222 | |
223 | What: ACPI hooks (X86_SPEEDSTEP_CENTRINO_ACPI) in speedstep-centrino driver | |
224 | When: December 2006 | |
225 | Why: Speedstep-centrino driver with ACPI hooks and acpi-cpufreq driver are | |
226 | functionally very much similar. They talk to ACPI in same way. Only | |
227 | difference between them is the way they do frequency transitions. | |
228 | One uses MSRs and the other one uses IO ports. Functionaliy of | |
229 | speedstep_centrino with ACPI hooks is now merged into acpi-cpufreq. | |
230 | That means one common driver will support all Intel Enhanced Speedstep | |
231 | capable CPUs. That means less confusion over name of | |
232 | speedstep-centrino driver (with that driver supposed to be used on | |
233 | non-centrino platforms). That means less duplication of code and | |
234 | less maintenance effort and no possibility of these two drivers | |
235 | going out of sync. | |
236 | Current users of speedstep_centrino with ACPI hooks are requested to | |
237 | switch over to acpi-cpufreq driver. speedstep-centrino will continue | |
238 | to work using older non-ACPI static table based scheme even after this | |
239 | date. | |
240 | ||
241 | Who: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> | |
242 | ||
243 | --------------------------- | |
1bb67c25 | 244 | |
1bb67c25 LB |
245 | What: /sys/firmware/acpi/namespace |
246 | When: 2.6.21 | |
247 | Why: The ACPI namespace is effectively the symbol list for | |
248 | the BIOS. The device names are completely arbitrary | |
249 | and have no place being exposed to user-space. | |
250 | ||
251 | For those interested in the BIOS ACPI namespace, | |
252 | the BIOS can be extracted and disassembled with acpidump | |
253 | and iasl as documented in the pmtools package here: | |
254 | http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils | |
1bb67c25 LB |
255 | Who: Len Brown <len.brown@intel.com> |
256 | ||
257 | --------------------------- | |
258 | ||
b981c591 ZR |
259 | What: ACPI procfs interface |
260 | When: July 2007 | |
261 | Why: After ACPI sysfs conversion, ACPI attributes will be duplicated | |
262 | in sysfs and the ACPI procfs interface should be removed. | |
263 | Who: Zhang Rui <rui.zhang@intel.com> | |
264 | ||
265 | --------------------------- | |
266 | ||
1bb67c25 LB |
267 | What: /proc/acpi/button |
268 | When: August 2007 | |
269 | Why: /proc/acpi/button has been replaced by events to the input layer | |
270 | since 2.6.20. | |
271 | Who: Len Brown <len.brown@intel.com> | |
272 | ||
273 | --------------------------- | |
54b290a2 | 274 | |
ac38dfc3 SH |
275 | What: sk98lin network driver |
276 | When: July 2007 | |
277 | Why: In kernel tree version of driver is unmaintained. Sk98lin driver | |
278 | replaced by the skge driver. | |
279 | Who: Stephen Hemminger <shemminger@osdl.org> | |
280 | ||
ff141a03 RP |
281 | --------------------------- |
282 | ||
283 | What: Compaq touchscreen device emulation | |
284 | When: Oct 2007 | |
285 | Files: drivers/input/tsdev.c | |
286 | Why: The code says it was obsolete when it was written in 2001. | |
287 | tslib is a userspace library which does anything tsdev can do and | |
288 | much more besides in userspace where this code belongs. There is no | |
289 | longer any need for tsdev and applications should have converted to | |
290 | use tslib by now. | |
291 | The name "tsdev" is also extremely confusing and lots of people have | |
292 | it loaded when they don't need/use it. | |
293 | Who: Richard Purdie <rpurdie@rpsys.net> | |
294 | ||
295 | --------------------------- | |
cc2cccae JB |
296 | |
297 | What: Wireless extensions over netlink (CONFIG_NET_WIRELESS_RTNETLINK) | |
298 | When: with the merge of wireless-dev, 2.6.22 or later | |
299 | Why: The option/code is | |
300 | * not enabled on most kernels | |
301 | * not required by any userspace tools (except an experimental one, | |
302 | and even there only for some parts, others use ioctl) | |
303 | * pointless since wext is no longer evolving and the ioctl | |
304 | interface needs to be kept | |
305 | Who: Johannes Berg <johannes@sipsolutions.net> | |
306 | ||
307 | --------------------------- | |
ab97e6cf WVS |
308 | |
309 | What: i8xx_tco watchdog driver | |
310 | When: in 2.6.22 | |
311 | Why: the i8xx_tco watchdog driver has been replaced by the iTCO_wdt | |
312 | watchdog driver. | |
313 | Who: Wim Van Sebroeck <wim@iguana.be> | |
314 | ||
315 | --------------------------- |