| The following is a list of files and features that are going to be | 
 | removed in the kernel source tree.  Every entry should contain what | 
 | exactly is going away, why it is happening, and who is going to be doing | 
 | the work.  When the feature is removed from the kernel, it should also | 
 | be removed from this file. | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	devfs | 
 | When:	July 2005 | 
 | Files:	fs/devfs/*, include/linux/devfs_fs*.h and assorted devfs | 
 | 	function calls throughout the kernel tree | 
 | Why:	It has been unmaintained for a number of years, has unfixable | 
 | 	races, contains a naming policy within the kernel that is | 
 | 	against the LSB, and can be replaced by using udev. | 
 | Who:	Greg Kroah-Hartman <greg@kroah.com> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	RAW driver (CONFIG_RAW_DRIVER) | 
 | When:	December 2005 | 
 | Why:	declared obsolete since kernel 2.6.3 | 
 | 	O_DIRECT can be used instead | 
 | Who:	Adrian Bunk <bunk@stusta.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	drivers depending on OBSOLETE_OSS_DRIVER | 
 | When:	January 2006 | 
 | Why:	OSS drivers with ALSA replacements | 
 | Who:	Adrian Bunk <bunk@stusta.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	RCU API moves to EXPORT_SYMBOL_GPL | 
 | When:	April 2006 | 
 | Files:	include/linux/rcupdate.h, kernel/rcupdate.c | 
 | Why:	Outside of Linux, the only implementations of anything even | 
 | 	vaguely resembling RCU that I am aware of are in DYNIX/ptx, | 
 | 	VM/XA, Tornado, and K42.  I do not expect anyone to port binary | 
 | 	drivers or kernel modules from any of these, since the first two | 
 | 	are owned by IBM and the last two are open-source research OSes. | 
 | 	So these will move to GPL after a grace period to allow | 
 | 	people, who might be using implementations that I am not aware | 
 | 	of, to adjust to this upcoming change. | 
 | Who:	Paul E. McKenney <paulmck@us.ibm.com> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	raw1394: requests of type RAW1394_REQ_ISO_SEND, RAW1394_REQ_ISO_LISTEN | 
 | When:	November 2005 | 
 | Why:	Deprecated in favour of the new ioctl-based rawiso interface, which is | 
 | 	more efficient.  You should really be using libraw1394 for raw1394 | 
 | 	access anyway. | 
 | Who:	Jody McIntyre <scjody@steamballoon.com> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	Video4Linux API 1 ioctls and video_decoder.h from Video devices. | 
 | When:	July 2006 | 
 | Why:	V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6 | 
 | 	series. The old API have lots of drawbacks and don't provide enough | 
 | 	means to work with all video and audio standards. The newer API is | 
 | 	already available on the main drivers and should be used instead. | 
 | 	Newer drivers should use v4l_compat_translate_ioctl function to handle | 
 | 	old calls, replacing to newer ones. | 
 | 	Decoder iocts are using internally to allow video drivers to | 
 | 	communicate with video decoders. This should also be improved to allow | 
 | 	V4L2 calls being translated into compatible internal ioctls. | 
 | Who:	Mauro Carvalho Chehab <mchehab@brturbo.com.br> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	remove EXPORT_SYMBOL(panic_timeout) | 
 | When:	April 2006 | 
 | Files:	kernel/panic.c | 
 | Why:	No modular usage in the kernel. | 
 | Who:	Adrian Bunk <bunk@stusta.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	remove EXPORT_SYMBOL(insert_resource) | 
 | When:	April 2006 | 
 | Files:	kernel/resource.c | 
 | Why:	No modular usage in the kernel. | 
 | Who:	Adrian Bunk <bunk@stusta.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 
 | When:	November 2005 | 
 | Files:	drivers/pcmcia/: pcmcia_ioctl.c | 
 | Why:	With the 16-bit PCMCIA subsystem now behaving (almost) like a | 
 | 	normal hotpluggable bus, and with it using the default kernel | 
 | 	infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA | 
 | 	control ioctl needed by cardmgr and cardctl from pcmcia-cs is | 
 | 	unnecessary, and makes further cleanups and integration of the | 
 | 	PCMCIA subsystem into the Linux kernel device driver model more | 
 | 	difficult. The features provided by cardmgr and cardctl are either | 
 | 	handled by the kernel itself now or are available in the new | 
 | 	pcmciautils package available at | 
 | 	http://kernel.org/pub/linux/utils/kernel/pcmcia/ | 
 | Who:	Dominik Brodowski <linux@brodo.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	ip_queue and ip6_queue (old ipv4-only and ipv6-only netfilter queue) | 
 | When:	December 2005 | 
 | Why:	This interface has been obsoleted by the new layer3-independent | 
 | 	"nfnetlink_queue".  The Kernel interface is compatible, so the old | 
 | 	ip[6]tables "QUEUE" targets still work and will transparently handle | 
 | 	all packets into nfnetlink queue number 0.  Userspace users will have | 
 | 	to link against API-compatible library on top of libnfnetlink_queue  | 
 | 	instead of the current 'libipq'. | 
 | Who:	Harald Welte <laforge@netfilter.org> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	remove EXPORT_SYMBOL(kernel_thread) | 
 | When:	August 2006 | 
 | Files:	arch/*/kernel/*_ksyms.c | 
 | Why:	kernel_thread is a low-level implementation detail.  Drivers should | 
 |         use the <linux/kthread.h> API instead which shields them from | 
 | 	implementation details and provides a higherlevel interface that | 
 | 	prevents bugs and code duplication | 
 | Who:	Christoph Hellwig <hch@lst.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	EXPORT_SYMBOL(lookup_hash) | 
 | When:	January 2006 | 
 | Why:	Too low-level interface.  Use lookup_one_len or lookup_create instead. | 
 | Who:	Christoph Hellwig <hch@lst.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	CONFIG_FORCED_INLINING | 
 | When:	June 2006 | 
 | Why:	Config option is there to see if gcc is good enough. (in january | 
 |         2006). If it is, the behavior should just be the default. If it's not, | 
 | 	the option should just go away entirely. | 
 | Who:    Arjan van de Ven | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	START_ARRAY ioctl for md | 
 | When:	July 2006 | 
 | Files:	drivers/md/md.c | 
 | Why:	Not reliable by design - can fail when most needed. | 
 | 	Alternatives exist | 
 | Who:	NeilBrown <neilb@suse.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	au1x00_uart driver | 
 | When:	January 2006 | 
 | Why:	The 8250 serial driver now has the ability to deal with the differences | 
 | 	between the standard 8250 family of UARTs and their slightly strange | 
 | 	brother on Alchemy SOCs.  The loss of features is not considered an | 
 | 	issue. | 
 | Who:	Ralf Baechle <ralf@linux-mips.org> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:   eepro100 network driver | 
 | When:   January 2007 | 
 | Why:    replaced by the e100 driver | 
 | Who:    Adrian Bunk <bunk@stusta.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	pci_module_init(driver) | 
 | When:	January 2007 | 
 | Why:	Is replaced by pci_register_driver(pci_driver). | 
 | Who:	Richard Knutsson <ricknu-0@student.ltu.se> and Greg Kroah-Hartman <gregkh@suse.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	I2C interface of the it87 driver | 
 | When:	January 2007 | 
 | Why:	The ISA interface is faster and should be always available. The I2C | 
 | 	probing is also known to cause trouble in at least one case (see | 
 | 	bug #5889.) | 
 | Who:	Jean Delvare <khali@linux-fr.org> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	remove EXPORT_SYMBOL(tasklist_lock) | 
 | When:	August 2006 | 
 | Files:	kernel/fork.c | 
 | Why:	tasklist_lock protects the kernel internal task list.  Modules have | 
 | 	no business looking at it, and all instances in drivers have been due | 
 | 	to use of too-lowlevel APIs.  Having this symbol exported prevents | 
 | 	moving to more scalable locking schemes for the task list. | 
 | Who:	Christoph Hellwig <hch@lst.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	mount/umount uevents | 
 | When:	February 2007 | 
 | Why:	These events are not correct, and do not properly let userspace know | 
 | 	when a file system has been mounted or unmounted.  Userspace should | 
 | 	poll the /proc/mounts file instead to detect this properly. | 
 | Who:	Greg Kroah-Hartman <gregkh@suse.de> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	Support for NEC DDB5074 and DDB5476 evaluation boards. | 
 | When:	June 2006 | 
 | Why:	Board specific code doesn't build anymore since ~2.6.0 and no | 
 | 	users have complained indicating there is no more need for these | 
 | 	boards.  This should really be considered a last call. | 
 | Who:	Ralf Baechle <ralf@linux-mips.org> | 
 |  | 
 | --------------------------- | 
 |  | 
 | What:	USB driver API moves to EXPORT_SYMBOL_GPL | 
 | When:	Febuary 2008 | 
 | Files:	include/linux/usb.h, drivers/usb/core/driver.c | 
 | Why:	The USB subsystem has changed a lot over time, and it has been | 
 | 	possible to create userspace USB drivers using usbfs/libusb/gadgetfs | 
 | 	that operate as fast as the USB bus allows.  Because of this, the USB | 
 | 	subsystem will not be allowing closed source kernel drivers to | 
 | 	register with it, after this grace period is over.  If anyone needs | 
 | 	any help in converting their closed source drivers over to use the | 
 | 	userspace filesystems, please contact the | 
 | 	linux-usb-devel@lists.sourceforge.net mailing list, and the developers | 
 | 	there will be glad to help you out. | 
 | Who:	Greg Kroah-Hartman <gregkh@suse.de> | 
 |  | 
 | --------------------------- |