Linux 2.6.13-rc4
[linux-2.6/next.git] / Documentation / feature-removal-schedule.txt
blob8b1430b4665571d613dd1f85c6a4e4e22d387755
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.
7 ---------------------------
9 What:   devfs
10 When:   July 2005
11 Files:  fs/devfs/*, include/linux/devfs_fs*.h and assorted devfs
12         function calls throughout the kernel tree
13 Why:    It has been unmaintained for a number of years, has unfixable
14         races, contains a naming policy within the kernel that is
15         against the LSB, and can be replaced by using udev.
16 Who:    Greg Kroah-Hartman <greg@kroah.com>
18 ---------------------------
20 What:   ACPI S4bios support
21 When:   May 2005
22 Why:    Noone uses it, and it probably does not work, anyway. swsusp is
23         faster, more reliable, and people are actually using it.
24 Who:    Pavel Machek <pavel@suse.cz>
26 ---------------------------
28 What:   PCI Name Database (CONFIG_PCI_NAMES)
29 When:   July 2005
30 Why:    It bloats the kernel unnecessarily, and is handled by userspace better
31         (pciutils supports it.)  Will eliminate the need to try to keep the
32         pci.ids file in sync with the sf.net database all of the time.
33 Who:    Greg Kroah-Hartman <gregkh@suse.de>
35 ---------------------------
37 What:   io_remap_page_range() (macro or function)
38 When:   September 2005
39 Why:    Replaced by io_remap_pfn_range() which allows more memory space
40         addressabilty (by using a pfn) and supports sparc & sparc64
41         iospace as part of the pfn.
42 Who:    Randy Dunlap <rddunlap@osdl.org>
44 ---------------------------
46 What:   RAW driver (CONFIG_RAW_DRIVER)
47 When:   December 2005
48 Why:    declared obsolete since kernel 2.6.3
49         O_DIRECT can be used instead
50 Who:    Adrian Bunk <bunk@stusta.de>
52 ---------------------------
54 What:   register_ioctl32_conversion() / unregister_ioctl32_conversion()
55 When:   April 2005
56 Why:    Replaced by ->compat_ioctl in file_operations and other method
57         vecors.
58 Who:    Andi Kleen <ak@muc.de>, Christoph Hellwig <hch@lst.de>
60 ---------------------------
62 What:   RCU API moves to EXPORT_SYMBOL_GPL
63 When:   April 2006
64 Files:  include/linux/rcupdate.h, kernel/rcupdate.c
65 Why:    Outside of Linux, the only implementations of anything even
66         vaguely resembling RCU that I am aware of are in DYNIX/ptx,
67         VM/XA, Tornado, and K42.  I do not expect anyone to port binary
68         drivers or kernel modules from any of these, since the first two
69         are owned by IBM and the last two are open-source research OSes.
70         So these will move to GPL after a grace period to allow
71         people, who might be using implementations that I am not aware
72         of, to adjust to this upcoming change.
73 Who:    Paul E. McKenney <paulmck@us.ibm.com>
75 ---------------------------
77 What:   remove verify_area()
78 When:   July 2006
79 Files:  Various uaccess.h headers.
80 Why:    Deprecated and redundant. access_ok() should be used instead.
81 Who:    Jesper Juhl <juhl-lkml@dif.dk>
83 ---------------------------
85 What:   IEEE1394 Audio and Music Data Transmission Protocol driver,
86         Connection Management Procedures driver
87 When:   November 2005
88 Files:  drivers/ieee1394/{amdtp,cmp}*
89 Why:    These are incomplete, have never worked, and are better implemented
90         in userland via raw1394 (see http://freebob.sourceforge.net/ for
91         example.)
92 Who:    Jody McIntyre <scjody@steamballoon.com>
94 ---------------------------
96 What:   raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN
97 When:   November 2005
98 Why:    Deprecated in favour of the new ioctl-based rawiso interface, which is
99         more efficient.  You should really be using libraw1394 for raw1394
100         access anyway.
101 Who:    Jody McIntyre <scjody@steamballoon.com>
103 ---------------------------
105 What:   register_serial/unregister_serial
106 When:   September 2005
107 Why:    This interface does not allow serial ports to be registered against
108         a struct device, and as such does not allow correct power management
109         of such ports.  8250-based ports should use serial8250_register_port
110         and serial8250_unregister_port, or platform devices instead.
111 Who:    Russell King <rmk@arm.linux.org.uk>
113 ---------------------------
115 What:   i2c sysfs name change: in1_ref, vid deprecated in favour of cpu0_vid
116 When:   November 2005
117 Files:  drivers/i2c/chips/adm1025.c, drivers/i2c/chips/adm1026.c
118 Why:    Match the other drivers' name for the same function, duplicate names
119         will be available until removal of old names.
120 Who:    Grant Coady <gcoady@gmail.com>
122 ---------------------------
124 What:   PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
125 When:   November 2005
126 Files:  drivers/pcmcia/: pcmcia_ioctl.c
127 Why:    With the 16-bit PCMCIA subsystem now behaving (almost) like a
128         normal hotpluggable bus, and with it using the default kernel
129         infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
130         control ioctl needed by cardmgr and cardctl from pcmcia-cs is
131         unnecessary, and makes further cleanups and integration of the
132         PCMCIA subsystem into the Linux kernel device driver model more
133         difficult. The features provided by cardmgr and cardctl are either
134         handled by the kernel itself now or are available in the new
135         pcmciautils package available at
136         http://kernel.org/pub/linux/utils/kernel/pcmcia/
137 Who:    Dominik Brodowski <linux@brodo.de>