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:	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
