Merge branch 'linus' into timers/core
[linux-2.6.git] / Documentation / feature-removal-schedule.txt
index 8862b03..b93b781 100644 (file)
@@ -6,6 +6,35 @@ be removed from this file.
 
 ---------------------------
 
+What:  PRISM54
+When:  2.6.34
+
+Why:   prism54 FullMAC PCI / Cardbus devices used to be supported only by the
+       prism54 wireless driver. After Intersil stopped selling these
+       devices in preference for the newer more flexible SoftMAC devices
+       a SoftMAC device driver was required and prism54 did not support
+       them. The p54pci driver now exists and has been present in the kernel for
+       a while. This driver supports both SoftMAC devices and FullMAC devices.
+       The main difference between these devices was the amount of memory which
+       could be used for the firmware. The SoftMAC devices support a smaller
+       amount of memory. Because of this the SoftMAC firmware fits into FullMAC
+       devices's memory. p54pci supports not only PCI / Cardbus but also USB
+       and SPI. Since p54pci supports all devices prism54 supports
+       you will have a conflict. I'm not quite sure how distributions are
+       handling this conflict right now. prism54 was kept around due to
+       claims users may experience issues when using the SoftMAC driver.
+       Time has passed users have not reported issues. If you use prism54
+       and for whatever reason you cannot use p54pci please let us know!
+       E-mail us at: linux-wireless@vger.kernel.org
+
+       For more information see the p54 wiki page:
+
+       http://wireless.kernel.org/en/users/Drivers/p54
+
+Who:   Luis R. Rodriguez <lrodriguez@atheros.com>
+
+---------------------------
+
 What:  IRQF_SAMPLE_RANDOM
 Check: IRQF_SAMPLE_RANDOM
 When:  July 2009
@@ -20,6 +49,17 @@ Who: Robin Getz <rgetz@blackfin.uclinux.org> & Matt Mackall <mpm@selenic.com>
 
 ---------------------------
 
+What:  Deprecated snapshot ioctls
+When:  2.6.36
+
+Why:   The ioctls in kernel/power/user.c were marked as deprecated long time
+       ago. Now they notify users about that so that they need to replace
+       their userspace. After some more time, remove them completely.
+
+Who:   Jiri Slaby <jirislaby@gmail.com>
+
+---------------------------
+
 What:  The ieee80211_regdom module parameter
 When:  March 2010 / desktop catchup
 
@@ -44,27 +84,6 @@ Who: Luis R. Rodriguez <lrodriguez@atheros.com>
 
 ---------------------------
 
-What:  CONFIG_WIRELESS_OLD_REGULATORY - old static regulatory information
-When:  March 2010 / desktop catchup
-
-Why:   The old regulatory infrastructure has been replaced with a new one
-       which does not require statically defined regulatory domains. We do
-       not want to keep static regulatory domains in the kernel due to the
-       the dynamic nature of regulatory law and localization. We kept around
-       the old static definitions for the regulatory domains of:
-
-               * US
-               * JP
-               * EU
-
-       and used by default the US when CONFIG_WIRELESS_OLD_REGULATORY was
-       set. We will remove this option once the standard Linux desktop catches
-       up with the new userspace APIs we have implemented.
-
-Who:   Luis R. Rodriguez <lrodriguez@atheros.com>
-
----------------------------
-
 What:  dev->power.power_state
 When:  July 2007
 Why:   Broken design for runtime control over driver power states, confusing
@@ -98,19 +117,25 @@ Who:       Mauro Carvalho Chehab <mchehab@infradead.org>
 ---------------------------
 
 What:  PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
-When:  November 2005
+When:  2.6.35/2.6.36
 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
+       unnecessary and potentially harmful (it does not provide for
+       proper locking), 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>
+
+       For all architectures except ARM, the associated config symbol
+       has been removed from kernel 2.6.34; for ARM, it will be likely
+       be removed from kernel 2.6.35. The actual code will then likely
+       be removed from kernel 2.6.36.
+Who:   Dominik Brodowski <linux@dominikbrodowski.net>
 
 ---------------------------
 
@@ -206,24 +231,6 @@ Who:       Len Brown <len.brown@intel.com>
 
 ---------------------------
 
-What: libata spindown skipping and warning
-When: Dec 2008
-Why:  Some halt(8) implementations synchronize caches for and spin
-      down libata disks because libata didn't use to spin down disk on
-      system halt (only synchronized caches).
-      Spin down on system halt is now implemented.  sysfs node
-      /sys/class/scsi_disk/h:c:i:l/manage_start_stop is present if
-      spin down support is available.
-      Because issuing spin down command to an already spun down disk
-      makes some disks spin up just to spin down again, libata tracks
-      device spindown status to skip the extra spindown command and
-      warn about it.
-      This is to give userspace tools the time to get updated and will
-      be removed after userspace is reasonably updated.
-Who:  Tejun Heo <htejun@gmail.com>
-
----------------------------
-
 What:  i386/x86_64 bzImage symlinks
 When:  April 2010
 
@@ -235,12 +242,6 @@ Who:       Thomas Gleixner <tglx@linutronix.de>
 ---------------------------
 
 What (Why):
-       - "forwarding" header files like ipt_mac.h in
-         include/linux/netfilter_ipv4/ and include/linux/netfilter_ipv6/
-
-       - xt_mark match revision 0
-         (superseded by xt_mark match revision 1)
-
        - xt_recent: the old ipt_recent proc dir
          (superseded by /proc/net/xt_recent)
 
@@ -271,22 +272,6 @@ Who:       Michael Buesch <mb@bu3sch.de>
 
 ---------------------------
 
-What:  usedac i386 kernel parameter
-When:  2.6.27
-Why:   replaced by allowdac and no dac combination
-Who:   Glauber Costa <gcosta@redhat.com>
-
----------------------------
-
-What: print_fn_descriptor_symbol()
-When: October 2009
-Why:  The %pF vsprintf format provides the same functionality in a
-      simpler way.  print_fn_descriptor_symbol() is deprecated but
-      still present to give out-of-tree modules time to change.
-Who:  Bjorn Helgaas <bjorn.helgaas@hp.com>
-
----------------------------
-
 What:  /sys/o2cb symlink
 When:  January 2010
 Why:   /sys/fs/o2cb is the proper location for this information - /sys/o2cb
@@ -297,18 +282,6 @@ Who:       ocfs2-devel@oss.oracle.com
 
 ---------------------------
 
-What:  SCTP_GET_PEER_ADDRS_NUM_OLD, SCTP_GET_PEER_ADDRS_OLD,
-       SCTP_GET_LOCAL_ADDRS_NUM_OLD, SCTP_GET_LOCAL_ADDRS_OLD
-When:  June 2009
-Why:    A newer version of the options have been introduced in 2005 that
-       removes the limitions of the old API.  The sctp library has been
-        converted to use these new options at the same time.  Any user
-       space app that directly uses the old options should convert to using
-       the new options.
-Who:   Vlad Yasevich <vladislav.yasevich@hp.com>
-
----------------------------
-
 What:  Ability for non root users to shm_get hugetlb pages based on mlock
        resource limits
 When:  2.6.31
@@ -349,14 +322,6 @@ Who:  Krzysztof Piotr Oledzki <ole@ans.pl>
 
 ---------------------------
 
-What:  fscher and fscpos drivers
-When:  June 2009
-Why:   Deprecated by the new fschmd driver.
-Who:   Hans de Goede <hdegoede@redhat.com>
-       Jean Delvare <khali@linux-fr.org>
-
----------------------------
-
 What:  sysfs ui for changing p4-clockmod parameters
 When:  September 2009
 Why:   See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
@@ -375,15 +340,6 @@ Who:       Thomas Gleixner <tglx@linutronix.de>
 
 -----------------------------
 
-What:  obsolete generic irq defines and typedefs
-When:  2.6.30
-Why:   The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t)
-       have been kept around for migration reasons. After more than two years
-       it's time to remove them finally
-Who:   Thomas Gleixner <tglx@linutronix.de>
-
----------------------------
-
 What:  fakephp and associated sysfs files in /sys/bus/pci/slots/
 When:  2011
 Why:   In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
@@ -416,26 +372,253 @@ Who:     Alex Chiang <achiang@hp.com>
 
 ---------------------------
 
-What:  i2c-voodoo3 driver
-When:  October 2009
-Why:   Superseded by tdfxfb. I2C/DDC support used to live in a separate
-       driver but this caused driver conflicts.
-Who:   Jean Delvare <khali@linux-fr.org>
-       Krzysztof Helt <krzysztof.h1@wp.pl>
-
----------------------------
-
 What:  CONFIG_RFKILL_INPUT
 When:  2.6.33
 Why:   Should be implemented in userspace, policy daemon.
 Who:   Johannes Berg <johannes@sipsolutions.net>
 
+---------------------------
+
+What:  CONFIG_INOTIFY
+When:  2.6.33
+Why:   last user (audit) will be converted to the newer more generic
+       and more easily maintained fsnotify subsystem
+Who:   Eric Paris <eparis@redhat.com>
+
 ----------------------------
 
-What:  CONFIG_X86_OLD_MCE
-When:  2.6.32
-Why:   Remove the old legacy 32bit machine check code. This has been
-       superseded by the newer machine check code from the 64bit port,
-       but the old version has been kept around for easier testing. Note this
-       doesn't impact the old P5 and WinChip machine check handlers.
-Who:   Andi Kleen <andi@firstfloor.org>
+What:  lock_policy_rwsem_* and unlock_policy_rwsem_* will not be
+       exported interface anymore.
+When:  2.6.33
+Why:   cpu_policy_rwsem has a new cleaner definition making it local to
+       cpufreq core and contained inside cpufreq.c. Other dependent
+       drivers should not use it in order to safely avoid lockdep issues.
+Who:   Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
+
+----------------------------
+
+What:  sound-slot/service-* module aliases and related clutters in
+       sound/sound_core.c
+When:  August 2010
+Why:   OSS sound_core grabs all legacy minors (0-255) of SOUND_MAJOR
+       (14) and requests modules using custom sound-slot/service-*
+       module aliases.  The only benefit of doing this is allowing
+       use of custom module aliases which might as well be considered
+       a bug at this point.  This preemptive claiming prevents
+       alternative OSS implementations.
+
+       Till the feature is removed, the kernel will be requesting
+       both sound-slot/service-* and the standard char-major-* module
+       aliases and allow turning off the pre-claiming selectively via
+       CONFIG_SOUND_OSS_CORE_PRECLAIM and soundcore.preclaim_oss
+       kernel parameter.
+
+       After the transition phase is complete, both the custom module
+       aliases and switches to disable it will go away.  This removal
+       will also allow making ALSA OSS emulation independent of
+       sound_core.  The dependency will be broken then too.
+Who:   Tejun Heo <tj@kernel.org>
+
+----------------------------
+
+What:  Support for VMware's guest paravirtuliazation technique [VMI] will be
+       dropped.
+When:  2.6.37 or earlier.
+Why:   With the recent innovations in CPU hardware acceleration technologies
+       from Intel and AMD, VMware ran a few experiments to compare these
+       techniques to guest paravirtualization technique on VMware's platform.
+       These hardware assisted virtualization techniques have outperformed the
+       performance benefits provided by VMI in most of the workloads. VMware
+       expects that these hardware features will be ubiquitous in a couple of
+       years, as a result, VMware has started a phased retirement of this
+       feature from the hypervisor. We will be removing this feature from the
+       Kernel too. Right now we are targeting 2.6.37 but can retire earlier if
+       technical reasons (read opportunity to remove major chunk of pvops)
+       arise.
+
+       Please note that VMI has always been an optimization and non-VMI kernels
+       still work fine on VMware's platform.
+       Latest versions of VMware's product which support VMI are,
+       Workstation 7.0 and VSphere 4.0 on ESX side, future maintainence
+       releases for these products will continue supporting VMI.
+
+       For more details about VMI retirement take a look at this,
+       http://blogs.vmware.com/guestosguide/2009/09/vmi-retirement.html
+
+Who:   Alok N Kataria <akataria@vmware.com>
+
+----------------------------
+
+What:  Support for lcd_switch and display_get in asus-laptop driver
+When:  March 2010
+Why:   These two features use non-standard interfaces. There are the
+       only features that really need multiple path to guess what's
+       the right method name on a specific laptop.
+
+       Removing them will allow to remove a lot of code an significantly
+       clean the drivers.
+
+       This will affect the backlight code which won't be able to know
+       if the backlight is on or off. The platform display file will also be
+       write only (like the one in eeepc-laptop).
+
+       This should'nt affect a lot of user because they usually know
+       when their display is on or off.
+
+Who:   Corentin Chary <corentin.chary@gmail.com>
+
+----------------------------
+
+What:  usbvideo quickcam_messenger driver
+When:  2.6.35
+Files: drivers/media/video/usbvideo/quickcam_messenger.[ch]
+Why:   obsolete v4l1 driver replaced by gspca_stv06xx
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  ov511 v4l1 driver
+When:  2.6.35
+Files: drivers/media/video/ov511.[ch]
+Why:   obsolete v4l1 driver replaced by gspca_ov519
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  w9968cf v4l1 driver
+When:  2.6.35
+Files: drivers/media/video/w9968cf*.[ch]
+Why:   obsolete v4l1 driver replaced by gspca_ov519
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  ovcamchip sensor framework
+When:  2.6.35
+Files: drivers/media/video/ovcamchip/*
+Why:   Only used by obsoleted v4l1 drivers
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  stv680 v4l1 driver
+When:  2.6.35
+Files: drivers/media/video/stv680.[ch]
+Why:   obsolete v4l1 driver replaced by gspca_stv0680
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  zc0301 v4l driver
+When:  2.6.35
+Files: drivers/media/video/zc0301/*
+Why:   Duplicate functionality with the gspca_zc3xx driver, zc0301 only
+       supports 2 USB-ID's (because it only supports a limited set of
+       sensors) wich are also supported by the gspca_zc3xx driver
+       (which supports 53 USB-ID's in total)
+Who:   Hans de Goede <hdegoede@redhat.com>
+
+----------------------------
+
+What:  corgikbd, spitzkbd, tosakbd driver
+When:  2.6.35
+Files: drivers/input/keyboard/{corgi,spitz,tosa}kbd.c
+Why:   We now have a generic GPIO based matrix keyboard driver that
+       are fully capable of handling all the keys on these devices.
+       The original drivers manipulate the GPIO registers directly
+       and so are difficult to maintain.
+Who:   Eric Miao <eric.y.miao@gmail.com>
+
+----------------------------
+
+What:  corgi_ssp and corgi_ts driver
+When:  2.6.35
+Files: arch/arm/mach-pxa/corgi_ssp.c, drivers/input/touchscreen/corgi_ts.c
+Why:   The corgi touchscreen is now deprecated in favour of the generic
+       ads7846.c driver. The noise reduction technique used in corgi_ts.c,
+       that's to wait till vsync before ADC sampling, is also integrated into
+       ads7846 driver now. Provided that the original driver is not generic
+       and is difficult to maintain, it will be removed later.
+Who:   Eric Miao <eric.y.miao@gmail.com>
+
+----------------------------
+
+What:  capifs
+When:  February 2011
+Files: drivers/isdn/capi/capifs.*
+Why:   udev fully replaces this special file system that only contains CAPI
+       NCCI TTY device nodes. User space (pppdcapiplugin) works without
+       noticing the difference.
+Who:   Jan Kiszka <jan.kiszka@web.de>
+
+----------------------------
+
+What:  KVM memory aliases support
+When:  July 2010
+Why:   Memory aliasing support is used for speeding up guest vga access
+       through the vga windows.
+
+       Modern userspace no longer uses this feature, so it's just bitrotted
+       code and can be removed with no impact.
+Who:   Avi Kivity <avi@redhat.com>
+
+----------------------------
+
+What:  xtime, wall_to_monotonic
+When:  2.6.36+
+Files: kernel/time/timekeeping.c include/linux/time.h
+Why:   Cleaning up timekeeping internal values. Please use
+       existing timekeeping accessor functions to access
+       the equivalent functionality.
+Who:   John Stultz <johnstul@us.ibm.com>
+
+----------------------------
+
+What:  KVM kernel-allocated memory slots
+When:  July 2010
+Why:   Since 2.6.25, kvm supports user-allocated memory slots, which are
+       much more flexible than kernel-allocated slots.  All current userspace
+       supports the newer interface and this code can be removed with no
+       impact.
+Who:   Avi Kivity <avi@redhat.com>
+
+----------------------------
+
+What:  KVM paravirt mmu host support
+When:  January 2011
+Why:   The paravirt mmu host support is slower than non-paravirt mmu, both
+       on newer and older hardware.  It is already not exposed to the guest,
+       and kept only for live migration purposes.
+Who:   Avi Kivity <avi@redhat.com>
+
+----------------------------
+
+What:  "acpi=ht" boot option
+When:  2.6.35
+Why:   Useful in 2003, implementation is a hack.
+       Generally invoked by accident today.
+       Seen as doing more harm than good.
+Who:   Len Brown <len.brown@intel.com>
+
+----------------------------
+
+What:  video4linux /dev/vtx teletext API support
+When:  2.6.35
+Files: drivers/media/video/saa5246a.c drivers/media/video/saa5249.c
+       include/linux/videotext.h
+Why:   The vtx device nodes have been superseded by vbi device nodes
+       for many years. No applications exist that use the vtx support.
+       Of the two i2c drivers that actually support this API the saa5249
+       has been impossible to use for a year now and no known hardware
+       that supports this device exists. The saa5246a is theoretically
+       supported by the old mxb boards, but it never actually worked.
+
+       In summary: there is no hardware that can use this API and there
+       are no applications actually implementing this API.
+
+       The vtx support still reserves minors 192-223 and we would really
+       like to reuse those for upcoming new functionality. In the unlikely
+       event that new hardware appears that wants to use the functionality
+       provided by the vtx API, then that functionality should be build
+       around the sliced VBI API instead.
+Who:   Hans Verkuil <hverkuil@xs4all.nl>