The following is a list of files and features that are going to be
removed from the U-Boot source tree.  Every entry should contain what
exactly is going away, when it will be gone, why it is being removed,
and who is going to be doing the work.  When the feature is removed
from U-Boot, its corresponding entry should also be removed from this
file.

---------------------------

What:	CONFIG_NET_MULTI option
When:	Release 2009-11

Why:	U-boot currently implements two network driver APIs.  New drivers with
	the older-style implementation have not been accepted for a while, and
	this parallel system makes the code confusing and hard to augment.

	All existing in-tree boards will be converted to use CONFIG_NET_MULTI
	over the span of two releases (2009-07 and 2009-09).
	In the 2009-11 release, all code that is compiled when CONFIG_NET_MULTI
	is not set will be removed, and all references to CONFIG_NET_MULTI
	will be removed, effectively making it the only API.  This should
	provide ample time for out-of-tree users to adjust, and for tools on
	all architectures to be made to work with weak functions.

Who:	Ben Warren <biggerbadderben@gmail.com>

---------------------------

What:	"autoscr" command
When:	Release 2009-09

Why:	"autosrc" is an ugly and completely non-standard name.
	The "autoscr" command is deprecated and will be replaced by

	the "source" command as used by other shells such as bash.

	Starting with March 2009, both commands will be supported for
	a transition period of 6 months after which "autoscr" will be
	removed. During the transition period existing scripts and
	environment variable names remain untouched for maximum
	compatibiltiy; thse will be changed when support for the
	"autoscr" command get's finally dropped.

Who:	Peter Tyser <ptyser@xes-inc.com>

---------------------------

What:	GPL cleanup
When:	August 2009
Why:	Over time, a couple of files have sneaked in into the U-Boot
	source code that are either missing a valid GPL license
	header or that carry a license that is incompatible with the
	GPL.
	Such files shall be removed from the U-Boot source tree.
	See http://www.denx.de/wiki/pub/U-Boot/TaskGplCleanup/u-boot-1.1.2-files
	for an old and probably incomplete list of such files.

Who:	Wolfgang Denk <wd@denx.de> and board maintainers
