linux/Documentation/feature-removal-schedule.txt
<<
>>
Prefs
   1The following is a list of files and features that are going to be
   2removed in the kernel source tree.  Every entry should contain what
   3exactly is going away, why it is happening, and who is going to be doing
   4the work.  When the feature is removed from the kernel, it should also
   5be removed from this file.  The suggested deprecation period is 3 releases.
   6
   7---------------------------
   8
   9What:   ddebug_query="query" boot cmdline param
  10When:   v3.8
  11Why:    obsoleted by dyndbg="query" and module.dyndbg="query"
  12Who:    Jim Cromie <jim.cromie@gmail.com>, Jason Baron <jbaron@redhat.com>
  13
  14---------------------------
  15
  16What: /proc/sys/vm/nr_pdflush_threads
  17When: 2012
  18Why: Since pdflush is deprecated, the interface exported in /proc/sys/vm/
  19     should be removed.
  20Who: Wanpeng Li <liwp@linux.vnet.ibm.com>
  21
  22---------------------------
  23
  24What:   CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
  25When:   2012
  26Why:    This optional sub-feature of APM is of dubious reliability,
  27        and ancient APM laptops are likely better served by calling HLT.
  28        Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting
  29        the pm_idle function pointer to modules.
  30Who:    Len Brown <len.brown@intel.com>
  31
  32----------------------------
  33
  34What:   x86_32 "no-hlt" cmdline param
  35When:   2012
  36Why:    remove a branch from idle path, simplify code used by everybody.
  37        This option disabled the use of HLT in idle and machine_halt()
  38        for hardware that was flakey 15-years ago.  Today we have
  39        "idle=poll" that removed HLT from idle, and so if such a machine
  40        is still running the upstream kernel, "idle=poll" is likely sufficient.
  41Who:    Len Brown <len.brown@intel.com>
  42
  43----------------------------
  44
  45What:   x86 "idle=mwait" cmdline param
  46When:   2012
  47Why:    simplify x86 idle code
  48Who:    Len Brown <len.brown@intel.com>
  49
  50----------------------------
  51
  52What:   PRISM54
  53When:   2.6.34
  54
  55Why:    prism54 FullMAC PCI / Cardbus devices used to be supported only by the
  56        prism54 wireless driver. After Intersil stopped selling these
  57        devices in preference for the newer more flexible SoftMAC devices
  58        a SoftMAC device driver was required and prism54 did not support
  59        them. The p54pci driver now exists and has been present in the kernel for
  60        a while. This driver supports both SoftMAC devices and FullMAC devices.
  61        The main difference between these devices was the amount of memory which
  62        could be used for the firmware. The SoftMAC devices support a smaller
  63        amount of memory. Because of this the SoftMAC firmware fits into FullMAC
  64        devices's memory. p54pci supports not only PCI / Cardbus but also USB
  65        and SPI. Since p54pci supports all devices prism54 supports
  66        you will have a conflict. I'm not quite sure how distributions are
  67        handling this conflict right now. prism54 was kept around due to
  68        claims users may experience issues when using the SoftMAC driver.
  69        Time has passed users have not reported issues. If you use prism54
  70        and for whatever reason you cannot use p54pci please let us know!
  71        E-mail us at: linux-wireless@vger.kernel.org
  72
  73        For more information see the p54 wiki page:
  74
  75        http://wireless.kernel.org/en/users/Drivers/p54
  76
  77Who:    Luis R. Rodriguez <lrodriguez@atheros.com>
  78
  79---------------------------
  80
  81What:   The ieee80211_regdom module parameter
  82When:   March 2010 / desktop catchup
  83
  84Why:    This was inherited by the CONFIG_WIRELESS_OLD_REGULATORY code,
  85        and currently serves as an option for users to define an
  86        ISO / IEC 3166 alpha2 code for the country they are currently
  87        present in. Although there are userspace API replacements for this
  88        through nl80211 distributions haven't yet caught up with implementing
  89        decent alternatives through standard GUIs. Although available as an
  90        option through iw or wpa_supplicant its just a matter of time before
  91        distributions pick up good GUI options for this. The ideal solution
  92        would actually consist of intelligent designs which would do this for
  93        the user automatically even when travelling through different countries.
  94        Until then we leave this module parameter as a compromise.
  95
  96        When userspace improves with reasonable widely-available alternatives for
  97        this we will no longer need this module parameter. This entry hopes that
  98        by the super-futuristically looking date of "March 2010" we will have
  99        such replacements widely available.
 100
 101Who:    Luis R. Rodriguez <lrodriguez@atheros.com>
 102
 103---------------------------
 104
 105What:   dev->power.power_state
 106When:   July 2007
 107Why:    Broken design for runtime control over driver power states, confusing
 108        driver-internal runtime power management with:  mechanisms to support
 109        system-wide sleep state transitions; event codes that distinguish
 110        different phases of swsusp "sleep" transitions; and userspace policy
 111        inputs.  This framework was never widely used, and most attempts to
 112        use it were broken.  Drivers should instead be exposing domain-specific
 113        interfaces either to kernel or to userspace.
 114Who:    Pavel Machek <pavel@ucw.cz>
 115
 116---------------------------
 117
 118What:   /proc/<pid>/oom_adj
 119When:   August 2012
 120Why:    /proc/<pid>/oom_adj allows userspace to influence the oom killer's
 121        badness heuristic used to determine which task to kill when the kernel
 122        is out of memory.
 123
 124        The badness heuristic has since been rewritten since the introduction of
 125        this tunable such that its meaning is deprecated.  The value was
 126        implemented as a bitshift on a score generated by the badness()
 127        function that did not have any precise units of measure.  With the
 128        rewrite, the score is given as a proportion of available memory to the
 129        task allocating pages, so using a bitshift which grows the score
 130        exponentially is, thus, impossible to tune with fine granularity.
 131
 132        A much more powerful interface, /proc/<pid>/oom_score_adj, was
 133        introduced with the oom killer rewrite that allows users to increase or
 134        decrease the badness score linearly.  This interface will replace
 135        /proc/<pid>/oom_adj.
 136
 137        A warning will be emitted to the kernel log if an application uses this
 138        deprecated interface.  After it is printed once, future warnings will be
 139        suppressed until the kernel is rebooted.
 140
 141---------------------------
 142
 143What:   remove EXPORT_SYMBOL(kernel_thread)
 144When:   August 2006
 145Files:  arch/*/kernel/*_ksyms.c
 146Check:  kernel_thread
 147Why:    kernel_thread is a low-level implementation detail.  Drivers should
 148        use the <linux/kthread.h> API instead which shields them from
 149        implementation details and provides a higherlevel interface that
 150        prevents bugs and code duplication
 151Who:    Christoph Hellwig <hch@lst.de>
 152
 153---------------------------
 154
 155What:   Unused EXPORT_SYMBOL/EXPORT_SYMBOL_GPL exports
 156        (temporary transition config option provided until then)
 157        The transition config option will also be removed at the same time.
 158When:   before 2.6.19
 159Why:    Unused symbols are both increasing the size of the kernel binary
 160        and are often a sign of "wrong API"
 161Who:    Arjan van de Ven <arjan@linux.intel.com>
 162
 163---------------------------
 164
 165What:   PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment
 166When:   October 2008
 167Why:    The stacking of class devices makes these values misleading and
 168        inconsistent.
 169        Class devices should not carry any of these properties, and bus
 170        devices have SUBSYTEM and DRIVER as a replacement.
 171Who:    Kay Sievers <kay.sievers@suse.de>
 172
 173---------------------------
 174
 175What:   ACPI procfs interface
 176When:   July 2008
 177Why:    ACPI sysfs conversion should be finished by January 2008.
 178        ACPI procfs interface will be removed in July 2008 so that
 179        there is enough time for the user space to catch up.
 180Who:    Zhang Rui <rui.zhang@intel.com>
 181
 182---------------------------
 183
 184What:   CONFIG_ACPI_PROCFS_POWER
 185When:   2.6.39
 186Why:    sysfs I/F for ACPI power devices, including AC and Battery,
 187        has been working in upstream kernel since 2.6.24, Sep 2007.
 188        In 2.6.37, we make the sysfs I/F always built in and this option
 189        disabled by default.
 190        Remove this option and the ACPI power procfs interface in 2.6.39.
 191Who:    Zhang Rui <rui.zhang@intel.com>
 192
 193---------------------------
 194
 195What:   /proc/acpi/event
 196When:   February 2008
 197Why:    /proc/acpi/event has been replaced by events via the input layer
 198        and netlink since 2.6.23.
 199Who:    Len Brown <len.brown@intel.com>
 200
 201---------------------------
 202
 203What:   i386/x86_64 bzImage symlinks
 204When:   April 2010
 205
 206Why:    The i386/x86_64 merge provides a symlink to the old bzImage
 207        location so not yet updated user space tools, e.g. package
 208        scripts, do not break.
 209Who:    Thomas Gleixner <tglx@linutronix.de>
 210
 211---------------------------
 212
 213What:   GPIO autorequest on gpio_direction_{input,output}() in gpiolib
 214When:   February 2010
 215Why:    All callers should use explicit gpio_request()/gpio_free().
 216        The autorequest mechanism in gpiolib was provided mostly as a
 217        migration aid for legacy GPIO interfaces (for SOC based GPIOs).
 218        Those users have now largely migrated.  Platforms implementing
 219        the GPIO interfaces without using gpiolib will see no changes.
 220Who:    David Brownell <dbrownell@users.sourceforge.net>
 221---------------------------
 222
 223What:   b43 support for firmware revision < 410
 224When:   The schedule was July 2008, but it was decided that we are going to keep the
 225        code as long as there are no major maintanance headaches.
 226        So it _could_ be removed _any_ time now, if it conflicts with something new.
 227Why:    The support code for the old firmware hurts code readability/maintainability
 228        and slightly hurts runtime performance. Bugfixes for the old firmware
 229        are not provided by Broadcom anymore.
 230Who:    Michael Buesch <m@bues.ch>
 231
 232---------------------------
 233
 234What:   Ability for non root users to shm_get hugetlb pages based on mlock
 235        resource limits
 236When:   2.6.31
 237Why:    Non root users need to be part of /proc/sys/vm/hugetlb_shm_group or
 238        have CAP_IPC_LOCK to be able to allocate shm segments backed by
 239        huge pages.  The mlock based rlimit check to allow shm hugetlb is
 240        inconsistent with mmap based allocations.  Hence it is being
 241        deprecated.
 242Who:    Ravikiran Thirumalai <kiran@scalex86.org>
 243
 244---------------------------
 245
 246What:   sysfs ui for changing p4-clockmod parameters
 247When:   September 2009
 248Why:    See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
 249        e088e4c9cdb618675874becb91b2fd581ee707e6.
 250        Removal is subject to fixing any remaining bugs in ACPI which may
 251        cause the thermal throttling not to happen at the right time.
 252Who:    Dave Jones <davej@redhat.com>, Matthew Garrett <mjg@redhat.com>
 253
 254-----------------------------
 255
 256What:   fakephp and associated sysfs files in /sys/bus/pci/slots/
 257When:   2011
 258Why:    In 2.6.27, the semantics of /sys/bus/pci/slots was redefined to
 259        represent a machine's physical PCI slots. The change in semantics
 260        had userspace implications, as the hotplug core no longer allowed
 261        drivers to create multiple sysfs files per physical slot (required
 262        for multi-function devices, e.g.). fakephp was seen as a developer's
 263        tool only, and its interface changed. Too late, we learned that
 264        there were some users of the fakephp interface.
 265
 266        In 2.6.30, the original fakephp interface was restored. At the same
 267        time, the PCI core gained the ability that fakephp provided, namely
 268        function-level hot-remove and hot-add.
 269
 270        Since the PCI core now provides the same functionality, exposed in:
 271
 272                /sys/bus/pci/rescan
 273                /sys/bus/pci/devices/.../remove
 274                /sys/bus/pci/devices/.../rescan
 275
 276        there is no functional reason to maintain fakephp as well.
 277
 278        We will keep the existing module so that 'modprobe fakephp' will
 279        present the old /sys/bus/pci/slots/... interface for compatibility,
 280        but users are urged to migrate their applications to the API above.
 281
 282        After a reasonable transition period, we will remove the legacy
 283        fakephp interface.
 284Who:    Alex Chiang <achiang@hp.com>
 285
 286---------------------------
 287
 288What:   CONFIG_RFKILL_INPUT
 289When:   2.6.33
 290Why:    Should be implemented in userspace, policy daemon.
 291Who:    Johannes Berg <johannes@sipsolutions.net>
 292
 293----------------------------
 294
 295What:   sound-slot/service-* module aliases and related clutters in
 296        sound/sound_core.c
 297When:   August 2010
 298Why:    OSS sound_core grabs all legacy minors (0-255) of SOUND_MAJOR
 299        (14) and requests modules using custom sound-slot/service-*
 300        module aliases.  The only benefit of doing this is allowing
 301        use of custom module aliases which might as well be considered
 302        a bug at this point.  This preemptive claiming prevents
 303        alternative OSS implementations.
 304
 305        Till the feature is removed, the kernel will be requesting
 306        both sound-slot/service-* and the standard char-major-* module
 307        aliases and allow turning off the pre-claiming selectively via
 308        CONFIG_SOUND_OSS_CORE_PRECLAIM and soundcore.preclaim_oss
 309        kernel parameter.
 310
 311        After the transition phase is complete, both the custom module
 312        aliases and switches to disable it will go away.  This removal
 313        will also allow making ALSA OSS emulation independent of
 314        sound_core.  The dependency will be broken then too.
 315Who:    Tejun Heo <tj@kernel.org>
 316
 317----------------------------
 318
 319What:   sysfs-class-rfkill state file
 320When:   Feb 2014
 321Files:  net/rfkill/core.c
 322Why:    Documented as obsolete since Feb 2010. This file is limited to 3
 323        states while the rfkill drivers can have 4 states.
 324Who:    anybody or Florian Mickler <florian@mickler.org>
 325
 326----------------------------
 327
 328What:   sysfs-class-rfkill claim file
 329When:   Feb 2012
 330Files:  net/rfkill/core.c
 331Why:    It is not possible to claim an rfkill driver since 2007. This is
 332        Documented as obsolete since Feb 2010.
 333Who:    anybody or Florian Mickler <florian@mickler.org>
 334
 335----------------------------
 336
 337What:   iwlwifi 50XX module parameters
 338When:   3.0
 339Why:    The "..50" modules parameters were used to configure 5000 series and
 340        up devices; different set of module parameters also available for 4965
 341        with same functionalities. Consolidate both set into single place
 342        in drivers/net/wireless/iwlwifi/iwl-agn.c
 343
 344Who:    Wey-Yi Guy <wey-yi.w.guy@intel.com>
 345
 346----------------------------
 347
 348What:   iwl4965 alias support
 349When:   3.0
 350Why:    Internal alias support has been present in module-init-tools for some
 351        time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
 352        with no impact.
 353
 354Who:    Wey-Yi Guy <wey-yi.w.guy@intel.com>
 355
 356---------------------------
 357
 358What:   xt_NOTRACK
 359Files:  net/netfilter/xt_NOTRACK.c
 360When:   April 2011
 361Why:    Superseded by xt_CT
 362Who:    Netfilter developer team <netfilter-devel@vger.kernel.org>
 363
 364----------------------------
 365
 366What:   IRQF_DISABLED
 367When:   2.6.36
 368Why:    The flag is a NOOP as we run interrupt handlers with interrupts disabled
 369Who:    Thomas Gleixner <tglx@linutronix.de>
 370
 371----------------------------
 372
 373What:   PCI DMA unmap state API
 374When:   August 2012
 375Why:    PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
 376        with DMA unmap state API (DMA unmap state API can be used for
 377        any bus).
 378Who:    FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
 379
 380----------------------------
 381
 382What:   iwlwifi disable_hw_scan module parameters
 383When:   3.0
 384Why:    Hareware scan is the prefer method for iwlwifi devices for
 385        scanning operation. Remove software scan support for all the
 386        iwlwifi devices.
 387
 388Who:    Wey-Yi Guy <wey-yi.w.guy@intel.com>
 389
 390----------------------------
 391
 392What:   Legacy, non-standard chassis intrusion detection interface.
 393When:   June 2011
 394Why:    The adm9240, w83792d and w83793 hardware monitoring drivers have
 395        legacy interfaces for chassis intrusion detection. A standard
 396        interface has been added to each driver, so the legacy interface
 397        can be removed.
 398Who:    Jean Delvare <khali@linux-fr.org>
 399
 400----------------------------
 401
 402What:   i2c_driver.attach_adapter
 403        i2c_driver.detach_adapter
 404When:   September 2011
 405Why:    These legacy callbacks should no longer be used as i2c-core offers
 406        a variety of preferable alternative ways to instantiate I2C devices.
 407Who:    Jean Delvare <khali@linux-fr.org>
 408
 409----------------------------
 410
 411What:   Opening a radio device node will no longer automatically switch the
 412        tuner mode from tv to radio.
 413When:   3.3
 414Why:    Just opening a V4L device should not change the state of the hardware
 415        like that. It's very unexpected and against the V4L spec. Instead, you
 416        switch to radio mode by calling VIDIOC_S_FREQUENCY. This is the second
 417        and last step of the move to consistent handling of tv and radio tuners.
 418Who:    Hans Verkuil <hans.verkuil@cisco.com>
 419
 420----------------------------
 421
 422What:   CONFIG_CFG80211_WEXT
 423When:   as soon as distributions ship new wireless tools, ie. wpa_supplicant 1.0
 424        and NetworkManager/connman/etc. that are able to use nl80211
 425Why:    Wireless extensions are deprecated, and userland tools are moving to
 426        using nl80211. New drivers are no longer using wireless extensions,
 427        and while there might still be old drivers, both new drivers and new
 428        userland no longer needs them and they can't be used for an feature
 429        developed in the past couple of years. As such, compatibility with
 430        wireless extensions in new drivers will be removed.
 431Who:    Johannes Berg <johannes@sipsolutions.net>
 432
 433----------------------------
 434
 435What:   g_file_storage driver
 436When:   3.8
 437Why:    This driver has been superseded by g_mass_storage.
 438Who:    Alan Stern <stern@rowland.harvard.edu>
 439
 440----------------------------
 441
 442What:   threeg and interface sysfs files in /sys/devices/platform/acer-wmi
 443When:   2012
 444Why:    In 3.0, we can now autodetect internal 3G device and already have
 445        the threeg rfkill device. So, we plan to remove threeg sysfs support
 446        for it's no longer necessary.
 447
 448        We also plan to remove interface sysfs file that exposed which ACPI-WMI
 449        interface that was used by acer-wmi driver. It will replaced by
 450        information log when acer-wmi initial.
 451Who:    Lee, Chun-Yi <jlee@novell.com>
 452
 453---------------------------
 454
 455What:   /sys/devices/platform/_UDC_/udc/_UDC_/is_dualspeed file and
 456        is_dualspeed line in /sys/devices/platform/ci13xxx_*/udc/device file.
 457When:   3.8
 458Why:    The is_dualspeed file is superseded by maximum_speed in the same
 459        directory and is_dualspeed line in device file is superseded by
 460        max_speed line in the same file.
 461
 462        The maximum_speed/max_speed specifies maximum speed supported by UDC.
 463        To check if dualspeeed is supported, check if the value is >= 3.
 464        Various possible speeds are defined in <linux/usb/ch9.h>.
 465Who:    Michal Nazarewicz <mina86@mina86.com>
 466
 467----------------------------
 468
 469What:   The XFS nodelaylog mount option
 470When:   3.3
 471Why:    The delaylog mode that has been the default since 2.6.39 has proven
 472        stable, and the old code is in the way of additional improvements in
 473        the log code.
 474Who:    Christoph Hellwig <hch@lst.de>
 475
 476----------------------------
 477
 478What:   iwlagn alias support
 479When:   3.5
 480Why:    The iwlagn module has been renamed iwlwifi.  The alias will be around
 481        for backward compatibility for several cycles and then dropped.
 482Who:    Don Fry <donald.h.fry@intel.com>
 483
 484----------------------------
 485
 486What:   pci_scan_bus_parented()
 487When:   3.5
 488Why:    The pci_scan_bus_parented() interface creates a new root bus.  The
 489        bus is created with default resources (ioport_resource and
 490        iomem_resource) that are always wrong, so we rely on arch code to
 491        correct them later.  Callers of pci_scan_bus_parented() should
 492        convert to using pci_scan_root_bus() so they can supply a list of
 493        bus resources when the bus is created.
 494Who:    Bjorn Helgaas <bhelgaas@google.com>
 495
 496----------------------------
 497
 498What:   Low Performance USB Block driver ("CONFIG_BLK_DEV_UB")
 499When:   3.6
 500Why:    This driver provides support for USB storage devices like "USB
 501        sticks". As of now, it is deactivated in Debian, Fedora and
 502        Ubuntu. All current users can switch over to usb-storage
 503        (CONFIG_USB_STORAGE) which only drawback is the additional SCSI
 504        stack.
 505Who:    Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
 506
 507----------------------------
 508
 509What:   get_robust_list syscall
 510When:   2013
 511Why:    There appear to be no production users of the get_robust_list syscall,
 512        and it runs the risk of leaking address locations, allowing the bypass
 513        of ASLR. It was only ever intended for debugging, so it should be
 514        removed.
 515Who:    Kees Cook <keescook@chromium.org>
 516
 517----------------------------
 518
 519What:   Removing the pn544 raw driver.
 520When:   3.6
 521Why:    With the introduction of the NFC HCI and SHDL kernel layers, pn544.c
 522        is being replaced by pn544_hci.c which is accessible through the netlink
 523        and socket NFC APIs. Moreover, pn544.c is outdated and does not seem to
 524        work properly with the latest Android stacks.
 525        Having 2 drivers for the same hardware is confusing and as such we
 526        should only keep the one following the kernel NFC APIs.
 527Who:    Samuel Ortiz <sameo@linux.intel.com>
 528
 529----------------------------
 530
 531What:   setitimer accepts user NULL pointer (value)
 532When:   3.6
 533Why:    setitimer is not returning -EFAULT if user pointer is NULL. This
 534        violates the spec.
 535Who:    Sasikantha Babu <sasikanth.v19@gmail.com>
 536
 537----------------------------
 538
 539What:   remove bogus DV presets V4L2_DV_1080I29_97, V4L2_DV_1080I30 and
 540        V4L2_DV_1080I25
 541When:   3.6
 542Why:    These HDTV formats do not exist and were added by a confused mind
 543        (that was me, to be precise...)
 544Who:    Hans Verkuil <hans.verkuil@cisco.com>
 545
 546----------------------------
 547
 548What:   V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls
 549When:   3.7
 550Why:    The V4L2_CID_VCENTER, V4L2_CID_HCENTER controls have been deprecated
 551        for about 4 years and they are not used by any mainline driver.
 552        There are newer controls (V4L2_CID_PAN*, V4L2_CID_TILT*) that provide
 553        similar functionality.
 554Who:    Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
 555
 556----------------------------
 557
 558What:   cgroup option updates via remount
 559When:   March 2013
 560Why:    Remount currently allows changing bound subsystems and
 561        release_agent.  Rebinding is hardly useful as it only works
 562        when the hierarchy is empty and release_agent itself should be
 563        replaced with conventional fsnotify.
 564
 565----------------------------
 566
 567What:  xt_recent rev 0
 568When:  2013
 569Who:   Pablo Neira Ayuso <pablo@netfilter.org>
 570Files: net/netfilter/xt_recent.c
 571
 572----------------------------
 573
 574What:   KVM debugfs statistics
 575When:   2013
 576Why:    KVM tracepoints provide mostly equivalent information in a much more
 577        flexible fashion.
 578
 579----------------------------
 580
 581What:   at91-mci driver ("CONFIG_MMC_AT91")
 582When:   3.8
 583Why:    There are two mci drivers: at91-mci and atmel-mci. The PDC support
 584        was added to atmel-mci as a first step to support more chips.
 585        Then at91-mci was kept only for old IP versions (on at91rm9200 and
 586        at91sam9261). The support of these IP versions has just been added
 587        to atmel-mci, so atmel-mci can be used for all chips.
 588Who:    Ludovic Desroches <ludovic.desroches@atmel.com>
 589
 590----------------------------
 591
 592What:   net/wanrouter/
 593When:   June 2013
 594Why:    Unsupported/unmaintained/unused since 2.6
 595
 596----------------------------
 597
 598What:   V4L2 selections API target rectangle and flags unification, the
 599        following definitions will be removed: V4L2_SEL_TGT_CROP_ACTIVE,
 600        V4L2_SEL_TGT_COMPOSE_ACTIVE, V4L2_SUBDEV_SEL_*, V4L2_SUBDEV_SEL_FLAG_*
 601        in favor of common V4L2_SEL_TGT_* and V4L2_SEL_FLAG_* definitions.
 602        For more details see include/linux/v4l2-common.h.
 603When:   3.8
 604Why:    The regular V4L2 selections and the subdev selection API originally
 605        defined distinct names for the target rectangles and flags - V4L2_SEL_*
 606        and V4L2_SUBDEV_SEL_*. Although, it turned out that the meaning of these
 607        target rectangles is virtually identical and the APIs were consolidated
 608        to use single set of names - V4L2_SEL_*. This didn't involve any ABI
 609        changes. Alias definitions were created for the original ones to avoid
 610        any instabilities in the user space interface. After few cycles these
 611        backward compatibility definitions will be removed.
 612Who:    Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
 613
 614----------------------------
 615
 616What:   Using V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags
 617        to indicate a V4L2 memory-to-memory device capability
 618When:   3.8
 619Why:    New drivers should use new V4L2_CAP_VIDEO_M2M capability flag
 620        to indicate a V4L2 video memory-to-memory (M2M) device and
 621        applications can now identify a M2M video device by checking
 622        for V4L2_CAP_VIDEO_M2M, with VIDIOC_QUERYCAP ioctl. Using ORed
 623        V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags for M2M
 624        devices is ambiguous and may lead, for example, to identifying
 625        a M2M device as a video capture or output device.
 626Who:    Sylwester Nawrocki <s.nawrocki@samsung.com>
 627
 628----------------------------
 629
 630What:   OMAP private DMA implementation
 631When:   2013
 632Why:    We have a DMA engine implementation; all users should be updated
 633        to use this rather than persisting with the old APIs.  The old APIs
 634        block merging the old DMA engine implementation into the DMA
 635        engine driver.
 636Who:    Russell King <linux@arm.linux.org.uk>,
 637        Santosh Shilimkar <santosh.shilimkar@ti.com>
 638
 639----------------------------
 640
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.