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 | ||
9e402102 JS |
9 | What: MXSER |
10 | When: December 2007 | |
11 | Why: Old mxser driver is obsoleted by the mxser_new. Give it some time yet | |
12 | and remove it. | |
13 | Who: Jiri Slaby <jirislaby@gmail.com> | |
14 | ||
15 | --------------------------- | |
16 | ||
3f3f6a59 HV |
17 | What: V4L2 VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP |
18 | When: October 2007 | |
19 | Why: Broken attempt to set MPEG compression parameters. These ioctls are | |
20 | not able to implement the wide variety of parameters that can be set | |
21 | by hardware MPEG encoders. A new MPEG control mechanism was created | |
22 | in kernel 2.6.18 that replaces these ioctls. See the V4L2 specification | |
23 | (section 1.9: Extended controls) for more information on this topic. | |
24 | Who: Hans Verkuil <hverkuil@xs4all.nl> and | |
25 | Mauro Carvalho Chehab <mchehab@infradead.org> | |
26 | ||
27 | --------------------------- | |
28 | ||
471d0558 | 29 | What: dev->power.power_state |
1ebfd79e PM |
30 | When: July 2007 |
31 | Why: Broken design for runtime control over driver power states, confusing | |
32 | driver-internal runtime power management with: mechanisms to support | |
33 | system-wide sleep state transitions; event codes that distinguish | |
34 | different phases of swsusp "sleep" transitions; and userspace policy | |
35 | inputs. This framework was never widely used, and most attempts to | |
36 | use it were broken. Drivers should instead be exposing domain-specific | |
37 | interfaces either to kernel or to userspace. | |
38 | Who: Pavel Machek <pavel@suse.cz> | |
39 | ||
40 | --------------------------- | |
41 | ||
a6bcbc2f CH |
42 | What: old NCR53C9x driver |
43 | When: October 2007 | |
44 | Why: Replaced by the much better esp_scsi driver. Actual low-level | |
ed56047a | 45 | driver can be ported over almost trivially. |
a6bcbc2f CH |
46 | Who: David Miller <davem@davemloft.net> |
47 | Christoph Hellwig <hch@lst.de> | |
48 | ||
49 | --------------------------- | |
50 | ||
875c296b | 51 | What: Video4Linux API 1 ioctls and video_decoder.h from Video devices. |
48c06d5e | 52 | When: December 2006 |
0a920b5b | 53 | Files: include/linux/video_decoder.h |
875c296b MCC |
54 | Why: V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6 |
55 | series. The old API have lots of drawbacks and don't provide enough | |
56 | means to work with all video and audio standards. The newer API is | |
57 | already available on the main drivers and should be used instead. | |
58 | Newer drivers should use v4l_compat_translate_ioctl function to handle | |
59 | old calls, replacing to newer ones. | |
60 | Decoder iocts are using internally to allow video drivers to | |
61 | communicate with video decoders. This should also be improved to allow | |
62 | V4L2 calls being translated into compatible internal ioctls. | |
63 | Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br> | |
64 | ||
65 | --------------------------- | |
66 | ||
bf45d9b0 DB |
67 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
68 | When: November 2005 | |
69 | Files: drivers/pcmcia/: pcmcia_ioctl.c | |
70 | Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a | |
71 | normal hotpluggable bus, and with it using the default kernel | |
72 | infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA | |
73 | control ioctl needed by cardmgr and cardctl from pcmcia-cs is | |
74 | unnecessary, and makes further cleanups and integration of the | |
75 | PCMCIA subsystem into the Linux kernel device driver model more | |
76 | difficult. The features provided by cardmgr and cardctl are either | |
77 | handled by the kernel itself now or are available in the new | |
78 | pcmciautils package available at | |
79 | http://kernel.org/pub/linux/utils/kernel/pcmcia/ | |
80 | Who: Dominik Brodowski <linux@brodo.de> | |
7af4cc3f HW |
81 | |
82 | --------------------------- | |
83 | ||
ac515898 CH |
84 | What: remove EXPORT_SYMBOL(kernel_thread) |
85 | When: August 2006 | |
86 | Files: arch/*/kernel/*_ksyms.c | |
9739ed1c | 87 | Funcs: kernel_thread |
ac515898 CH |
88 | Why: kernel_thread is a low-level implementation detail. Drivers should |
89 | use the <linux/kthread.h> API instead which shields them from | |
90 | implementation details and provides a higherlevel interface that | |
91 | prevents bugs and code duplication | |
92 | Who: Christoph Hellwig <hch@lst.de> | |
93 | ||
94 | --------------------------- | |
95 | ||
a9df3d0f IM |
96 | What: CONFIG_FORCED_INLINING |
97 | When: June 2006 | |
98 | Why: Config option is there to see if gcc is good enough. (in january | |
99 | 2006). If it is, the behavior should just be the default. If it's not, | |
100 | the option should just go away entirely. | |
101 | Who: Arjan van de Ven | |
102 | ||
103 | --------------------------- | |
104 | ||
c0d3c0c0 B |
105 | What: eepro100 network driver |
106 | When: January 2007 | |
107 | Why: replaced by the e100 driver | |
108 | Who: Adrian Bunk <bunk@stusta.de> | |
3c9b3a85 JG |
109 | |
110 | --------------------------- | |
111 | ||
f71d20e9 AV |
112 | What: Unused EXPORT_SYMBOL/EXPORT_SYMBOL_GPL exports |
113 | (temporary transition config option provided until then) | |
114 | The transition config option will also be removed at the same time. | |
115 | When: before 2.6.19 | |
116 | Why: Unused symbols are both increasing the size of the kernel binary | |
117 | and are often a sign of "wrong API" | |
118 | Who: Arjan van de Ven <arjan@linux.intel.com> | |
119 | ||
120 | --------------------------- | |
121 | ||
b87ba0a3 | 122 | What: USB driver API moves to EXPORT_SYMBOL_GPL |
a2ffd275 | 123 | When: February 2008 |
b87ba0a3 GKH |
124 | Files: include/linux/usb.h, drivers/usb/core/driver.c |
125 | Why: The USB subsystem has changed a lot over time, and it has been | |
126 | possible to create userspace USB drivers using usbfs/libusb/gadgetfs | |
127 | that operate as fast as the USB bus allows. Because of this, the USB | |
128 | subsystem will not be allowing closed source kernel drivers to | |
129 | register with it, after this grace period is over. If anyone needs | |
130 | any help in converting their closed source drivers over to use the | |
131 | userspace filesystems, please contact the | |
132 | linux-usb-devel@lists.sourceforge.net mailing list, and the developers | |
133 | there will be glad to help you out. | |
134 | Who: Greg Kroah-Hartman <gregkh@suse.de> | |
93fac704 NP |
135 | |
136 | --------------------------- | |
127fe6af | 137 | |
54cb8821 | 138 | What: vm_ops.nopage |
d0217ac0 | 139 | When: Soon, provided in-kernel callers have been converted |
54cb8821 NP |
140 | Why: This interface is replaced by vm_ops.fault, but it has been around |
141 | forever, is used by a lot of drivers, and doesn't cost much to | |
142 | maintain. | |
143 | Who: Nick Piggin <npiggin@suse.de> | |
144 | ||
145 | --------------------------- | |
146 | ||
6e213616 | 147 | What: Interrupt only SA_* flags |
0e8638e2 | 148 | When: September 2007 |
6e213616 TG |
149 | Why: The interrupt related SA_* flags are replaced by IRQF_* to move them |
150 | out of the signal namespace. | |
151 | ||
152 | Who: Thomas Gleixner <tglx@linutronix.de> | |
153 | ||
154 | --------------------------- | |
5a017483 | 155 | |
d81d9d6b | 156 | What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment |
acbd39fb | 157 | When: October 2008 |
d81d9d6b KS |
158 | Why: The stacking of class devices makes these values misleading and |
159 | inconsistent. | |
160 | Class devices should not carry any of these properties, and bus | |
161 | devices have SUBSYTEM and DRIVER as a replacement. | |
162 | Who: Kay Sievers <kay.sievers@suse.de> | |
163 | ||
164 | --------------------------- | |
6c805d2c JD |
165 | |
166 | What: i2c-isa | |
167 | When: December 2006 | |
168 | Why: i2c-isa is a non-sense and doesn't fit in the device driver | |
169 | model. Drivers relying on it are better implemented as platform | |
170 | drivers. | |
171 | Who: Jean Delvare <khali@linux-fr.org> | |
172 | ||
173 | --------------------------- | |
31e7e1a8 | 174 | |
fccb56e4 | 175 | What: i2c_adapter.list |
b119dc3f | 176 | When: July 2007 |
fccb56e4 JD |
177 | Why: Superfluous, this list duplicates the one maintained by the driver |
178 | core. | |
b119dc3f DB |
179 | Who: Jean Delvare <khali@linux-fr.org>, |
180 | David Brownell <dbrownell@users.sourceforge.net> | |
181 | ||
182 | --------------------------- | |
183 | ||
5aab0ad5 AB |
184 | What: drivers depending on OBSOLETE_OSS |
185 | When: options in 2.6.22, code in 2.6.24 | |
186 | Why: OSS drivers with ALSA replacements | |
187 | Who: Adrian Bunk <bunk@stusta.de> | |
188 | ||
189 | --------------------------- | |
190 | ||
1bb67c25 LB |
191 | What: /sys/firmware/acpi/namespace |
192 | When: 2.6.21 | |
193 | Why: The ACPI namespace is effectively the symbol list for | |
194 | the BIOS. The device names are completely arbitrary | |
195 | and have no place being exposed to user-space. | |
196 | ||
197 | For those interested in the BIOS ACPI namespace, | |
198 | the BIOS can be extracted and disassembled with acpidump | |
199 | and iasl as documented in the pmtools package here: | |
200 | http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/utils | |
1bb67c25 LB |
201 | Who: Len Brown <len.brown@intel.com> |
202 | ||
203 | --------------------------- | |
204 | ||
b981c591 ZR |
205 | What: ACPI procfs interface |
206 | When: July 2007 | |
207 | Why: After ACPI sysfs conversion, ACPI attributes will be duplicated | |
208 | in sysfs and the ACPI procfs interface should be removed. | |
209 | Who: Zhang Rui <rui.zhang@intel.com> | |
210 | ||
211 | --------------------------- | |
212 | ||
1bb67c25 LB |
213 | What: /proc/acpi/button |
214 | When: August 2007 | |
215 | Why: /proc/acpi/button has been replaced by events to the input layer | |
216 | since 2.6.20. | |
217 | Who: Len Brown <len.brown@intel.com> | |
218 | ||
219 | --------------------------- | |
54b290a2 | 220 | |
ff141a03 RP |
221 | What: Compaq touchscreen device emulation |
222 | When: Oct 2007 | |
223 | Files: drivers/input/tsdev.c | |
224 | Why: The code says it was obsolete when it was written in 2001. | |
225 | tslib is a userspace library which does anything tsdev can do and | |
226 | much more besides in userspace where this code belongs. There is no | |
227 | longer any need for tsdev and applications should have converted to | |
228 | use tslib by now. | |
229 | The name "tsdev" is also extremely confusing and lots of people have | |
230 | it loaded when they don't need/use it. | |
231 | Who: Richard Purdie <rpurdie@rpsys.net> | |
232 | ||
233 | --------------------------- | |
cc2cccae | 234 | |
52706ec9 CH |
235 | What: read_dev_chars(), read_conf_data{,_lpm}() (s390 common I/O layer) |
236 | When: December 2007 | |
237 | Why: These functions are a leftover from 2.4 times. They have several | |
238 | problems: | |
239 | - Duplication of checks that are done in the device driver's | |
240 | interrupt handler | |
241 | - common I/O layer can't do device specific error recovery | |
242 | - device driver can't be notified for conditions happening during | |
243 | execution of the function | |
244 | Device drivers should issue the read device characteristics and read | |
245 | configuration data ccws and do the appropriate error handling | |
246 | themselves. | |
247 | Who: Cornelia Huck <cornelia.huck@de.ibm.com> | |
248 | ||
249 | --------------------------- | |
250 | ||
11de70bd JD |
251 | What: i2c-ixp2000, i2c-ixp4xx and scx200_i2c drivers |
252 | When: September 2007 | |
253 | Why: Obsolete. The new i2c-gpio driver replaces all hardware-specific | |
254 | I2C-over-GPIO drivers. | |
255 | Who: Jean Delvare <khali@linux-fr.org> | |
256 | ||
257 | --------------------------- | |
274ee1cd | 258 | |
e84845c4 RD |
259 | What: 'time' kernel boot parameter |
260 | When: January 2008 | |
261 | Why: replaced by 'printk.time=<value>' so that printk timestamps can be | |
262 | enabled or disabled as needed | |
263 | Who: Randy Dunlap <randy.dunlap@oracle.com> | |
264 | ||
265 | --------------------------- | |
266 | ||
274ee1cd AB |
267 | What: drivers depending on OSS_OBSOLETE |
268 | When: options in 2.6.23, code in 2.6.25 | |
269 | Why: obsolete OSS drivers | |
270 | Who: Adrian Bunk <bunk@stusta.de> | |
271 | ||
272 | --------------------------- | |
273 | ||
d9aca22c | 274 | What: libata spindown skipping and warning |
920a4b10 | 275 | When: Dec 2008 |
d9aca22c TH |
276 | Why: Some halt(8) implementations synchronize caches for and spin |
277 | down libata disks because libata didn't use to spin down disk on | |
278 | system halt (only synchronized caches). | |
279 | Spin down on system halt is now implemented. sysfs node | |
280 | /sys/class/scsi_disk/h:c:i:l/manage_start_stop is present if | |
281 | spin down support is available. | |
920a4b10 | 282 | Because issuing spin down command to an already spun down disk |
d9aca22c TH |
283 | makes some disks spin up just to spin down again, libata tracks |
284 | device spindown status to skip the extra spindown command and | |
285 | warn about it. | |
286 | This is to give userspace tools the time to get updated and will | |
287 | be removed after userspace is reasonably updated. | |
920a4b10 TH |
288 | Who: Tejun Heo <htejun@gmail.com> |
289 | ||
290 | --------------------------- | |
291 | ||
ba7fbb72 JD |
292 | What: Legacy RTC drivers (under drivers/i2c/chips) |
293 | When: November 2007 | |
294 | Why: Obsolete. We have a RTC subsystem with better drivers. | |
295 | Who: Jean Delvare <khali@linux-fr.org> | |
296 | ||
297 | --------------------------- | |
298 | ||
3569b621 PM |
299 | What: iptables SAME target |
300 | When: 1.1. 2008 | |
301 | Files: net/ipv4/netfilter/ipt_SAME.c, include/linux/netfilter_ipv4/ipt_SAME.h | |
302 | Why: Obsolete for multiple years now, NAT core provides the same behaviour. | |
303 | Unfixable broken wrt. 32/64 bit cleanness. | |
304 | Who: Patrick McHardy <kaber@trash.net> | |
305 | ||
306 | --------------------------- | |
489de302 | 307 | |
0b7dbfbf JB |
308 | What: The arch/ppc and include/asm-ppc directories |
309 | When: Jun 2008 | |
310 | Why: The arch/powerpc tree is the merged architecture for ppc32 and ppc64 | |
311 | platforms. Currently there are efforts underway to port the remaining | |
312 | arch/ppc platforms to the merged tree. New submissions to the arch/ppc | |
313 | tree have been frozen with the 2.6.22 kernel release and that tree will | |
314 | remain in bug-fix only mode until its scheduled removal. Platforms | |
315 | that are not ported by June 2008 will be removed due to the lack of an | |
316 | interested maintainer. | |
317 | Who: linuxppc-dev@ozlabs.org | |
318 | ||
319 | --------------------------- | |
f6be6fbe RD |
320 | |
321 | What: mthca driver's MSI support | |
322 | When: January 2008 | |
323 | Files: drivers/infiniband/hw/mthca/*.[ch] | |
324 | Why: All mthca hardware also supports MSI-X, which provides | |
325 | strictly more functionality than MSI. So there is no point in | |
326 | having both MSI-X and MSI support in the driver. | |
327 | Who: Roland Dreier <rolandd@cisco.com> | |
328 | ||
329 | --------------------------- |