103
93
inputs. This framework was never widely used, and most attempts to
104
94
use it were broken. Drivers should instead be exposing domain-specific
105
95
interfaces either to kernel or to userspace.
106
Who: Pavel Machek <pavel@suse.cz>
108
---------------------------
110
What: Video4Linux API 1 ioctls and from Video devices.
112
Files: include/linux/videodev.h
113
Check: include/linux/videodev.h
114
Why: V4L1 AP1 was replaced by V4L2 API during migration from 2.4 to 2.6
115
series. The old API have lots of drawbacks and don't provide enough
116
means to work with all video and audio standards. The newer API is
117
already available on the main drivers and should be used instead.
118
Newer drivers should use v4l_compat_translate_ioctl function to handle
119
old calls, replacing to newer ones.
120
Decoder iocts are using internally to allow video drivers to
121
communicate with video decoders. This should also be improved to allow
122
V4L2 calls being translated into compatible internal ioctls.
123
Compatibility ioctls will be provided, for a while, via
125
Who: Mauro Carvalho Chehab <mchehab@infradead.org>
127
---------------------------
129
What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
131
Files: drivers/pcmcia/: pcmcia_ioctl.c
132
Why: With the 16-bit PCMCIA subsystem now behaving (almost) like a
133
normal hotpluggable bus, and with it using the default kernel
134
infrastructure (hotplug, driver core, sysfs) keeping the PCMCIA
135
control ioctl needed by cardmgr and cardctl from pcmcia-cs is
136
unnecessary, and makes further cleanups and integration of the
137
PCMCIA subsystem into the Linux kernel device driver model more
138
difficult. The features provided by cardmgr and cardctl are either
139
handled by the kernel itself now or are available in the new
140
pcmciautils package available at
141
http://kernel.org/pub/linux/utils/kernel/pcmcia/
142
Who: Dominik Brodowski <linux@brodo.de>
96
Who: Pavel Machek <pavel@ucw.cz>
98
---------------------------
100
What: Video4Linux obsolete drivers using V4L1 API
102
Files: drivers/staging/se401/* drivers/staging/usbvideo/*
103
Check: drivers/staging/se401/se401.c drivers/staging/usbvideo/usbvideo.c
104
Why: There are some drivers still using V4L1 API, despite all efforts we've done
105
to migrate. Those drivers are for obsolete hardware that the old maintainer
106
didn't care (or not have the hardware anymore), and that no other developer
107
could find any hardware to buy. They probably have no practical usage today,
108
and people with such old hardware could probably keep using an older version
109
of the kernel. Those drivers will be moved to staging on 2.6.38 and, if nobody
110
cares enough to port and test them with V4L2 API, they'll be removed on 2.6.39.
111
Who: Mauro Carvalho Chehab <mchehab@infradead.org>
113
---------------------------
115
What: Video4Linux: Remove obsolete ioctl's
117
Files: include/media/videodev2.h
118
Why: Some ioctl's were defined wrong on 2.6.2 and 2.6.6, using the wrong
119
type of R/W arguments. They were fixed, but the old ioctl names are
120
still there, maintained to avoid breaking binary compatibility:
121
#define VIDIOC_OVERLAY_OLD _IOWR('V', 14, int)
122
#define VIDIOC_S_PARM_OLD _IOW('V', 22, struct v4l2_streamparm)
123
#define VIDIOC_S_CTRL_OLD _IOW('V', 28, struct v4l2_control)
124
#define VIDIOC_G_AUDIO_OLD _IOWR('V', 33, struct v4l2_audio)
125
#define VIDIOC_G_AUDOUT_OLD _IOWR('V', 49, struct v4l2_audioout)
126
#define VIDIOC_CROPCAP_OLD _IOR('V', 58, struct v4l2_cropcap)
127
There's no sense on preserving those forever, as it is very doubtful
128
that someone would try to use a such old binary with a modern kernel.
129
Removing them will allow us to remove some magic done at the V4L ioctl
132
Who: Mauro Carvalho Chehab <mchehab@infradead.org>
144
134
---------------------------
179
169
---------------------------
171
What: /proc/<pid>/oom_adj
173
Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
174
badness heuristic used to determine which task to kill when the kernel
177
The badness heuristic has since been rewritten since the introduction of
178
this tunable such that its meaning is deprecated. The value was
179
implemented as a bitshift on a score generated by the badness()
180
function that did not have any precise units of measure. With the
181
rewrite, the score is given as a proportion of available memory to the
182
task allocating pages, so using a bitshift which grows the score
183
exponentially is, thus, impossible to tune with fine granularity.
185
A much more powerful interface, /proc/<pid>/oom_score_adj, was
186
introduced with the oom killer rewrite that allows users to increase or
187
decrease the badness() score linearly. This interface will replace
190
A warning will be emitted to the kernel log if an application uses this
191
deprecated interface. After it is printed once, future warnings will be
192
suppressed until the kernel is rebooted.
194
---------------------------
196
What: CS5535/CS5536 obsolete GPIO driver
198
Files: drivers/staging/cs5535_gpio/*
199
Check: drivers/staging/cs5535_gpio/cs5535_gpio.c
200
Why: A newer driver replaces this; it is drivers/gpio/cs5535-gpio.c, and
201
integrates with the Linux GPIO subsystem. The old driver has been
202
moved to staging, and will be removed altogether around 2.6.40.
203
Please test the new driver, and ensure that the functionality you
204
need and any bugfixes from the old driver are available in the new
206
Who: Andres Salomon <dilinger@queued.net>
208
--------------------------
181
210
What: remove EXPORT_SYMBOL(kernel_thread)
182
211
When: August 2006
183
212
Files: arch/*/kernel/*_ksyms.c
463
421
----------------------------
465
What: Support for VMware's guest paravirtuliazation technique [VMI] will be
467
When: 2.6.37 or earlier.
468
Why: With the recent innovations in CPU hardware acceleration technologies
469
from Intel and AMD, VMware ran a few experiments to compare these
470
techniques to guest paravirtualization technique on VMware's platform.
471
These hardware assisted virtualization techniques have outperformed the
472
performance benefits provided by VMI in most of the workloads. VMware
473
expects that these hardware features will be ubiquitous in a couple of
474
years, as a result, VMware has started a phased retirement of this
475
feature from the hypervisor. We will be removing this feature from the
476
Kernel too. Right now we are targeting 2.6.37 but can retire earlier if
477
technical reasons (read opportunity to remove major chunk of pvops)
480
Please note that VMI has always been an optimization and non-VMI kernels
481
still work fine on VMware's platform.
482
Latest versions of VMware's product which support VMI are,
483
Workstation 7.0 and VSphere 4.0 on ESX side, future maintainence
484
releases for these products will continue supporting VMI.
486
For more details about VMI retirement take a look at this,
487
http://blogs.vmware.com/guestosguide/2009/09/vmi-retirement.html
489
Who: Alok N Kataria <akataria@vmware.com>
423
What: Support for lcd_switch and display_get in asus-laptop driver
425
Why: These two features use non-standard interfaces. There are the
426
only features that really need multiple path to guess what's
427
the right method name on a specific laptop.
429
Removing them will allow to remove a lot of code an significantly
432
This will affect the backlight code which won't be able to know
433
if the backlight is on or off. The platform display file will also be
434
write only (like the one in eeepc-laptop).
436
This should'nt affect a lot of user because they usually know
437
when their display is on or off.
439
Who: Corentin Chary <corentin.chary@gmail.com>
441
----------------------------
443
What: sysfs-class-rfkill state file
445
Files: net/rfkill/core.c
446
Why: Documented as obsolete since Feb 2010. This file is limited to 3
447
states while the rfkill drivers can have 4 states.
448
Who: anybody or Florian Mickler <florian@mickler.org>
450
----------------------------
452
What: sysfs-class-rfkill claim file
454
Files: net/rfkill/core.c
455
Why: It is not possible to claim an rfkill driver since 2007. This is
456
Documented as obsolete since Feb 2010.
457
Who: anybody or Florian Mickler <florian@mickler.org>
459
----------------------------
463
Files: drivers/isdn/capi/capifs.*
464
Why: udev fully replaces this special file system that only contains CAPI
465
NCCI TTY device nodes. User space (pppdcapiplugin) works without
466
noticing the difference.
467
Who: Jan Kiszka <jan.kiszka@web.de>
469
----------------------------
471
What: KVM paravirt mmu host support
473
Why: The paravirt mmu host support is slower than non-paravirt mmu, both
474
on newer and older hardware. It is already not exposed to the guest,
475
and kept only for live migration purposes.
476
Who: Avi Kivity <avi@redhat.com>
478
----------------------------
480
What: iwlwifi 50XX module parameters
482
Why: The "..50" modules parameters were used to configure 5000 series and
483
up devices; different set of module parameters also available for 4965
484
with same functionalities. Consolidate both set into single place
485
in drivers/net/wireless/iwlwifi/iwl-agn.c
487
Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
489
----------------------------
491
What: iwl4965 alias support
493
Why: Internal alias support has been present in module-init-tools for some
494
time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
497
Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
499
---------------------------
502
Files: net/netfilter/xt_NOTRACK.c
504
Why: Superseded by xt_CT
505
Who: Netfilter developer team <netfilter-devel@vger.kernel.org>
507
----------------------------
511
Why: The flag is a NOOP as we run interrupt handlers with interrupts disabled
512
Who: Thomas Gleixner <tglx@linutronix.de>
514
----------------------------
516
What: The acpi_sleep=s4_nonvs command line option
518
Files: arch/x86/kernel/acpi/sleep.c
519
Why: superseded by acpi_sleep=nonvs
520
Who: Rafael J. Wysocki <rjw@sisk.pl>
522
----------------------------
524
What: PCI DMA unmap state API
526
Why: PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
527
with DMA unmap state API (DMA unmap state API can be used for
529
Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
531
----------------------------
533
What: DMA_xxBIT_MASK macros
535
Why: DMA_xxBIT_MASK macros were replaced with DMA_BIT_MASK() macros.
536
Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
538
----------------------------
540
What: namespace cgroup (ns_cgroup)
542
Why: The ns_cgroup leads to some problems:
543
* cgroup creation is out-of-control
544
* cgroup name can conflict when pids are looping
545
* it is not possible to have a single process handling
546
a lot of namespaces without falling in a exponential creation time
547
* we may want to create a namespace without creating a cgroup
549
The ns_cgroup is replaced by a compatibility flag 'clone_children',
550
where a newly created cgroup will copy the parent cgroup values.
551
The userspace has to manually create a cgroup and add a task to
553
Who: Daniel Lezcano <daniel.lezcano@free.fr>
555
----------------------------
557
What: iwlwifi disable_hw_scan module parameters
559
Why: Hareware scan is the prefer method for iwlwifi devices for
560
scanning operation. Remove software scan support for all the
563
Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
565
----------------------------
567
What: access to nfsd auth cache through sys_nfsservctl or '.' files
568
in the 'nfsd' filesystem.
570
Why: This is a legacy interface which have been replaced by a more
571
dynamic cache. Continuing to maintain this interface is an
573
Who: NeilBrown <neilb@suse.de>
575
----------------------------
579
Why: This field is deprecated. I2C device drivers shouldn't change their
580
behavior based on the underlying I2C adapter. Instead, the I2C
581
adapter driver should instantiate the I2C devices and provide the
582
needed platform-specific information.
583
Who: Jean Delvare <khali@linux-fr.org>
585
----------------------------
587
What: cancel_rearming_delayed_work[queue]()
590
Why: The functions have been superceded by cancel_delayed_work_sync()
591
quite some time ago. The conversion is trivial and there is no
593
Who: Tejun Heo <tj@kernel.org>
595
----------------------------
597
What: Legacy, non-standard chassis intrusion detection interface.
599
Why: The adm9240, w83792d and w83793 hardware monitoring drivers have
600
legacy interfaces for chassis intrusion detection. A standard
601
interface has been added to each driver, so the legacy interface
603
Who: Jean Delvare <khali@linux-fr.org>
605
----------------------------
607
What: noswapaccount kernel command line parameter
609
Why: The original implementation of memsw feature enabled by
610
CONFIG_CGROUP_MEM_RES_CTLR_SWAP could be disabled by the noswapaccount
611
kernel parameter (introduced in 2.6.29-rc1). Later on, this decision
612
turned out to be not ideal because we cannot have the feature compiled
613
in and disabled by default and let only interested to enable it
614
(e.g. general distribution kernels might need it). Therefore we have
615
added swapaccount[=0|1] parameter (introduced in 2.6.37) which provides
616
the both possibilities. If we remove noswapaccount we will have
617
less command line parameters with the same functionality and we
618
can also cleanup the parameter handling a bit ().
619
Who: Michal Hocko <mhocko@suse.cz>
491
621
----------------------------