kbuild: refactor makefiles

[1] Move driver/core/, driver/input/ and drivers/input/ entries
    from the top Makefile to drivers/Makefile

[2] Remove the conditional by CONFIG_DM in drivers/core/Makefile
    because the whole drivers/core directory is already selected
    by CONFIG_DM in the upper level

[3] Likewise for CONFIG_DM_DEMO in drivers/demo/Makefile

[4] Simplify common/Makefile - both CONFIG_DDR_SPD and
    CONFIG_SPD_EEPROM are boolean macros so they can directly
    select objects

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
linker_lists: fix comment

The section name and the C variable name seem to be opposite.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Marek Vasut <marex@denx.de>
command: trivial coding style fixes

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
mpc8xx: move common linker scripts into the CPU directory

Each CPU of PowerPC has its default linker script under the CPU
directory, except mpc8xx.

Every mpc8xx board has its own linker script under the board
directory, resulting in lots of duplication of linker scripts.

I notice eight mpc8xx boards have the same linker script.
We can decrease the number of linker scripts by putting a single
default linker script, arch/powerpc/cpu/mpc8xx/u-boot.lds.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Wolfgang Denk <wd@denx.de>
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>
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 finding 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 driver loop by 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: remove unnecessary parantheses
dm: coding style fixes
cosmetic: replace MIN, MAX with min, max

The macro MIN, MAX is defined as the aliase of min, max,
respectively.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Series-version: 2
Series-changes: 2
  - Rebase on commit 9170818a4e004

Cover-letter:
Abolish MIN, MAX, MIN3, MAX

END
common.h: remove MIN, MAX, MIN3, MAX3 macros

Now MIN, MAX, MIN3, MAX are not used.
Going forward, use min, max, min3, max3.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
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>