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:	boards with xxx_config targets in top level Makefile
When:	Release v2012.03

Why:	We have a boards.cfg file which the vast majority of boards have
	converted over to.  Boards that still manually run mkconfig in the
	top level Makefile are either dead, or the maintainer doesn't care,
	or they are doing something weird/wrong that should be fixed in a
	different way, or they need to extend boards.cfg syntax (unlikely).

	In any case, if no one cares about these boards to figure out how
	to make boards.cfg work, then we'll just punt them.

Who:	Mike Frysinger <vapier@gentoo.org>

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

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
