generic-board: make compile-time noise for non-generic boards

Commit 0f605c1501f6 (Start the deprecation process for generic board)
added a run-time warning message.  Let's be noisier for non-generic
boards to inform the dead line of the conversion.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Acked-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@ti.com>
Cc: Simon Glass <sjg@chromium.org>
Series-cc: Vagrant Cascadian <vagrant@debian.org>
Series-version: 2
Series-changes: 2
  - Mention to see doc/README.generic-board
dm: fix comments

The struct udevice stands for a device, not a driver.
The driver_info.name is a driver's name, which is referenced
to bind devices.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Series-cc: sjg
Cover-letter:
dm: a collection of minor fixes in Driver-Model

END
dm: do not check the existence of uclass operation

The function uclass_add() checks uc_drv->ops as follows:

        if (uc_drv->ops) {
                dm_warn("No ops for uclass id %d\n", id);
                return -EINVAL;
        }

It seems odd because it warns "No ops" when uc_drv->ops has
non-NULL pointer.  (Looks opposite.)

Anyway, most of UCLASS_DRIVER entries have no .ops member.
This check makes no sense.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
dm: do not check dm_root before searching in uclass_root

The function uclass_find() looks for a uclass in the linked
list of gd->uclass_root; gd->dm_root has nothing to do with
gd->uclass_root.  Remove this confusing code.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
dm: simplify the loop in lists_driver_lookup_name()

        if (strncmp(name, entry->name, len))
                continue;

        /* Full match */
        if (len == strlen(entry->name))
                return entry;

is equivalent to:

        if (!strcmp(name, entry->name))
                return entry;

The latter is simpler.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
dm: minor coding style fixes
dm: move comments from headers to C sources

Move comments from headers to source files for the help of
code reading.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Simon Glass <sjg@chromium.org>
replace DIV_ROUND with DIV_ROUND_CLOSEST

DIV_ROUND_CLOSEST is compatible with DIV_ROUND and
a bit more flexible.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
include/common.h: remove DIV_ROUND definition

DIV_ROUND is not used now and can be covered with DIV_ROUND_CLOSEST.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
include: move various macros to include/linux/kernel.h

U-Boot has imported various utility macros from Linux
scattering them to various places.

Now we are suffering from too cluttered include/common.h.
We have to stop putting everything into it.

In this commit, various macros which come from include/linux/kernel.h
of Linux have been moved their original position.

Note:
This commit simply moves the macros; the macros roundup, min, max,
min2, max3 are different from those of Linux.
They will be synced with Linux in the upcoming commit.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
include: do not include <linux/kernel.h> from include/common.h
include: sync min, max, min3, max3 macros with Linux

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
fix warnings
kconfig: add CONFIG_CROSS_COMPILE

Copy from Linux Kernel (with a few adjustments in comments).
kbuild: Use relative path when possible

Import 3 useful commits by Michal Marek <mmarek@suse.cz>
from Linux 3.16-rc1.

  commit 9da0763bdd82572be243fcf5161734f11568960f
  kbuild: Use relative path when building in a subdir of the source tree

  commit 890676c65d699db3ad82e7dddd0cf8fb449031af
  kbuild: Use relative path when building in the source tree

  commit 7e1c04779efd51154baf652e653ceb24ce68939b
  kbuild: Use relative path for $(objtree)

mkconfig and tools/Makefile must be adjusted to use relative path
for srctree.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
kbuild: collect useful commands into scripts/Makefile.lib
aaaa
move blackfin specific objcopy rules
include/configs: Do not use $(BOARDDIR)
IMX: Rename IMX image "SPL" to something else for Cygwin

I am not sure how much effort we should make
for building U-Boot on Cygwin.

Anyway, other than host programs, I notice file name problem.

Unlike Unix or Linux, on Windows upper/lower cases for file names
are not distinguished.

On Cygwin, for example, we cannot do this:

  $ mkdir abc
  $ mkdir ABC
  mkdir: cannot create directory `ABC': File exists

It causes some problems in U-Boot too.

For example,

  $ make mrproper
    CLEAN   SPL
  rm: cannot remove `SPL': Is a directory
  Makefile:1278: recipe for target 'clobber' failed
  make: *** [clobber] Error 1

  $ make qong_config
  Configuring for qong board...

  $ make clean
    CLEAN   arch/arm/imx-common
  rm: cannot remove `arch/arm/imx-common/../../../SPL': Is a directory
  scripts/Makefile.clean:79: recipe for target '__clean' failed
  make[1]: *** [__clean] Error 1
  Makefile:1256: recipe for target '_clean_arch/arm/imx-common' failed
  make: *** [_clean_arch/arm/imx-common] Error 2

I notice at least one file name conflict at the top directory.

  SPL - image for IMX
  spl - directory where SPL is built

This commit renames the former to a temporary name.

I guess there is few developers testing U-Boot on Cygwin.
If Cygwin support is mandatory, please consider to rename IMX image.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Series-cc: Tom Rini <trini@ti.com>
Series-cc: Vasili Galka <vvv444@gmail.com>
Series-cc: Jeroen Hofstee <dasuboot@myspectrum.nl>
Series-to: uboot
Series-prefix: RFC