78 Commits
Author SHA1 Message Date
Masahiro Yamada 4218affdf5 kbuild: remove warning about "make depend"
Enough time has passed since "make depend" was deprecated.
Nobody would be in trouble without this hint.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-03-24 17:37:53 +01:00
Masahiro Yamada 4980bdf021 kconfig: fix a misspelling in scripts/kconfig/merge_config.sh
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-02-25 14:59:14 +01:00
Masahiro Yamada d79ee72b8a mtd: denali: remove unnecessary stubs
This driver uses NAND_ECC_HW_SYNDROME mode.  The nand_scan_tail()
function would not complain about missing ecc->calculate,
ecc->correct, ecc->hwctl handlers.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2015-02-05 20:01:09 -08:00
Masahiro Yamada 7a06192834 ARM: 8291/1: replace magic number with PAGE_SHIFT macro in fixup_pv code
This line converts PHYS_OFFSET into PHYS_PFN_OFFSET.
It is better to use PAGE_SHIFT rather than the magic number 12.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Nicolas Pitre <[email protected]>
Signed-off-by: Russell King <[email protected]>
2015-01-21 15:59:57 +00:00
Masahiro Yamada 7d57909bf6 ARM: 8290/1: decompressor: fix a wrong comment
This comment does not correspond to the actual code.

When zImage is loaded at a lower *OR* higher address of
the destination of Image, it won't overwrite itself.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Nicolas Pitre <[email protected]>
Signed-off-by: Russell King <[email protected]>
2015-01-21 15:59:34 +00:00
Masahiro Yamada 909ba297be ARM: 8292/1: mm: fix size rounding-down of arm_add_memory() function
The current rounding of "size" is wrong:

 - If "start" is sufficiently near the next page boundary, "size"
   is decremented by more than enough and the last page is lost.

 - If "size" is sufficiently small, it is wrapped around and gets
   a bogus value.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Acked-by: Ard Biesheuvel <[email protected]>
Signed-off-by: Russell King <[email protected]>
2015-01-21 15:52:40 +00:00
Masahiro Yamada 74981fb81d Documentation: gpio: fix bindings document
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Laurent Pinchart <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2015-01-19 11:33:35 +01:00
Masahiro Yamada a75f8b8dab kbuild,gcov: simplify kernel/gcov/Makefile more
CONFIG_GCOV_FORMAT_3_4 / _4_7 / _AUTODETECT are exclusive.
Compare the CC version only when _AUTODETECT is enabled.

This change should have no impact.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Peter Oberparleiter <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:25:44 +01:00
Masahiro Yamada 6dcb4e5edf kbuild: allow cc-ifversion to have the argument for false condition
The macro "try-run" can have an argument for each of true and false
cases.  Having an argument for the false case of cc-ifversion (and
ld-ifversion) would be useful too.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:25:44 +01:00
Masahiro Yamada 3df8094727 kbuild,gcov: simplify kernel/gcov/Makefile
Kbuild descends into kernel/gcov/ directory only when
CONFIG_GCOV_KERNEL is enabled. (See kernel/Makefile)

CONFIG_GCOV_KERNEL check can be omitted in kernel/gcov/Makefile.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Peter Oberparleiter <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:25:44 +01:00
Masahiro Yamada 842857dedc kbuild,gcov: remove unnecessary workaround
Since commit 371fdc77af (kbuild: collect shorthands into
scripts/Kbuild.include), scripts/Makefile.clean includes
scripts/Kbuild.include.

The workaround and the comment block in kernel/gcov/Makefile
are no longer necessary.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Peter Oberparleiter <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:25:44 +01:00
Masahiro Yamada 665d92e38f kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
The macros cc-version, cc-fullversion and ld-version take no argument.
It is not necessary to add $(call ...) to invoke them.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Helge Deller <[email protected]> [parisc]
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:25:44 +01:00
Masahiro Yamada dd33c03b18 kbuild: fix cc-ifversion macro
The macro "cc-version" takes no argument.  Drop $(CC) from the
"cc-ifversion" definition.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-09 17:11:43 +01:00
Masahiro Yamada c22bd32c66 kbuild: drop $(version_h) from MRPROPER_FILES
Now $(version_h) is include/generated/uapi/linux/version.h.

$(version_h) in MRPROPER_FILES is redundant because it is covered
by include/generated in MRPROPER_DIRS.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-08 16:25:54 +01:00
Masahiro Yamada d0d38cd9e8 kbuild: use mixed-targets when two or more config targets are given
"make kvmconfig" expects that the .config has already been created,
but some people might want to create the .config and run kvmconfig
in one shot command, like this:

  $ make defconfig kvmconfig

To make sure this command works correctly even if -j* option is set,
we must handle them one by one.
This commit turns on mixed-targets when $(MAKECMDGOALS) includes
at least one config target and also includes another target.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-08 15:05:28 +01:00
Masahiro Yamada 31a4af7f7d kbuild: trivial - fix the help doc of CONFIG_CC_OPTIMIZE_FOR_SIZE
Other than GCC, we have another choice, Clang for building the kernel
these days.  It seems better to say "compiler" rather than "gcc".

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-08 14:53:50 +01:00
Masahiro Yamada 343d3e6cc8 kbuild: remove redundant line from bounds.h/asm-offsets.h
This line produces an extra comment line for bounds.h and
asm-offsets.h.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-05 10:40:09 +01:00
Masahiro Yamada 39664e2f3c kbuild: merge bounds.h and asm-offsets.h rules
The rules "cmd_bounds" and "cmd_offsets" are almost the same.
(The difference is only the include guards.)  They can be merged.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2015-01-05 10:40:09 +01:00
Masahiro Yamada 4fc11e61f4 uapi: fix to export linux/vm_sockets.h
A typo "header=y" was introduced by commit 7071cf7fc4
(uapi: add missing network related headers to kbuild).

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Stephen Hemminger <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
2014-12-05 21:35:48 -08:00
Masahiro Yamada d0747f10ed uapi: fix to export linux/vm_sockets.h
A typo "header=y" was introduced by commit 7071cf7fc4 ("uapi: add
missing network related headers to kbuild").

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Stephen Hemminger <[email protected]>
Cc: David Miller <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2014-12-04 15:28:40 -08:00
Masahiro Yamada 1846dfbde3 kbuild: remove redundant -rR flag of hdr-inst
Passing -rR for "make headers_install" is redundant because
the top Makefile has already set -rR to MAKEFLAGS.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-12-03 14:14:07 +01:00
Masahiro Yamada 371fdc77af kbuild: collect shorthands into scripts/Kbuild.include
The shorthand "clean" is defined in both the top Makefile and
scripts/Makefile.clean.  Likewise, the "hdr-inst" is defined in
both the top Makefile and scripts/Makefile.headersinst.

To reduce code duplication, this commit collects them into
scripts/Kbuild.include like the "build" and "modbuiltin" shorthands.
It requires scripts/Makefile.clean to include scripts/Kbuild.include,
but its impact on the performance of "make clean" should be
negligible.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-11-26 14:36:52 +01:00
Masahiro Yamada 8b21d9ca17 list: include linux/kernel.h
linux/list.h uses container_of, therefore it depends on linux/kernel.h.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2014-10-14 02:18:13 +02:00
Masahiro Yamada 5b2389b45d kbuild: simplify build, clean, modbuiltin shorthands
$(if $(KBUILD_SRC),$(srctree)/) was a useful strategy
to omit a long absolute path for in-source-tree build
prior to commit 890676c65d
(kbuild: Use relative path when building in the source tree).

Now $(srctree) is "." when building in the source tree.
It would not be annoying to add "$(srctree)/" all the time.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-02 15:12:41 +02:00
Masahiro Yamada 226422d08c kbuild: arm: Do not define "comma" twice
The definition of "comma" exists in scripts/Kbuild.include.
We should not double it.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: [email protected]
Signed-off-by: Michal Marek <[email protected]>
2014-10-02 15:09:47 +02:00
Masahiro Yamada a4954fd772 kbuild: remove obj-n and lib-n handling
Kconfig never defines CONFIG_* as 'n'.
Now obj-n is only used in firmware/Makefile and it can be
replaced with obj-.  No makefile uses lib-n.

Let's rip off obj-n and lib-n.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-02 13:55:02 +02:00
Masahiro Yamada ac84eb47cc kbuild: remove unnecessary variable initializaions
Clearing obj-y, obj-m, obj-n, obj- in each Makefile is
a useless habit.

They are non-exported variables; therefore they are always empty
whenever descending into each subdirectory.
(Moreorver, obj-y and obj-m are also set to empty at the beginning
of scripts/Makefile.build)

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
Acked-by: Peter Foley <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-02 13:55:02 +02:00
Masahiro Yamada 895ed4e895 kbuild: remove unnecessary "obj- := dummy.o" trick
In these Makefiles, at least one of "obj-y" and "obj-" is non-empty,
hence built-in.o is always created without such a trick.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Acked-by: Mike Turquette <[email protected]>
Acked-by: Simon Horman <[email protected]> [shmobile]
Acked-by: David S. Miller <[email protected]> [networking]
Signed-off-by: Michal Marek <[email protected]>
2014-10-02 13:55:02 +02:00
Masahiro Yamada aa55c8e2f7 kbuild: handle C=... and M=... after entering into build directory
This commit avoids processing C=... and M=... twice
when O=... is also given.

Besides, we can also remove KBUILD_EXTMOD="$(KBUILD_EXTMOD)"
in the sub-make target.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-01 22:44:21 +02:00
Masahiro Yamada 745a254322 kbuild: use $(Q) for sub-make target
Since commit 066b7ed955
(kbuild: Do not print the build directory with make -s),
"Q" is defined above the sub-make target.

This commit takes advantage of that and replaces
"$(if $(KBUILD_VERBOSE:1=),@)" with "$(Q)".

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-01 22:44:21 +02:00
Masahiro Yamada 7ff525712a kbuild: fake the "Entering directory ..." message more simply
Commit c2e28dc975
(kbuild: Print the name of the build directory)
added a gimmick to show the "Entering directory ...".

Instead of echoing the hard-coded message (that is, we need to know
the exact message), moving --no-print-directory would be easier.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-10-01 22:44:21 +02:00
Masahiro Yamada 8125450cd8 mtd: denali: fix indents and other trivial things
- Fix indents
- Do not break a line unless it is longer than 80 columns
- Do not insert a whitespace before ';'
- Use whitespaces around operators
- Use braces for a "else" block where the "if" block uses ones.

Besides, eliminate all the warnings reported by checkpatch.pl:
- WARNING: quoted string split across lines
- WARNING: else is not generally useful after a break or return
- WARNING: Missing a blank line after declarations
- WARNING: Avoid line continuations in quoted strings

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-19 09:39:27 -07:00
Masahiro Yamada 7d14ecd050 mtd: denali: remove unnecessary parentheses
We should use parentheses only when they are necessary
or they really improve the readability.

Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-19 09:39:26 -07:00
Masahiro Yamada a81b470883 mtd: denali: fix include guard and license block of denali.h
It looks like this header file is a concatenation of two headers.
Anyway, the include guard should be renamed and placed at the correct
postion and the license block in the middle should be deleted.

Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-17 23:32:30 -07:00
Masahiro Yamada 55ab9ec99b mtd: denali: remove a set-but-unused variable
The variable "retry" in wait_for_irq() is set, but not used.

Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-15 16:31:24 -07:00
Masahiro Yamada 93e3c8adf6 mtd: denali: change the type of iterators to int
We should rathar use "int" type for loop iterators.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-15 16:31:19 -07:00
Masahiro Yamada 3157d1ed23 mtd: denali: remove unnecessary casts
Useless casts result in unreadable source code.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-15 16:31:16 -07:00
Masahiro Yamada 5637b69d1c mtd: denali: remove unnecessary variable initializations
All of these variables are initialized to zero and then
set to a different value below.
Zero-initializing is redundant.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-15 16:31:03 -07:00
Masahiro Yamada 43914a2dcc mtd: denali: fix the format of comment blocks
We should use
/*
 * Blah Blah ...
 * ...
 */

for multi-line comment blocks.

In addition, refactor some comments where it seems reasonable and
remove some comments where the code is clear enough such as:

    /* clear interrupts */
    clear_interrupts(denali);

Signed-off-by: Masahiro Yamada <[email protected]>
Reviewed-by: Josh Triplett <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-09-15 16:30:57 -07:00
Masahiro Yamada 2902330e7a mtd: denali: avoid using a magic number
MAP10 command with '0x2000' data sets up a read-ahead/write access.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-08-19 11:53:07 -07:00
Masahiro Yamada 221ecca6ca kbuild: remove redundant clean-files from scripts/kconfig/Makefile
Now mconf, qconf, gconf, nconf are always added to hostprogs-y.
Files added to hostprogs-y are removed by "make clean".

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-08-19 10:26:20 +02:00
Masahiro Yamada 022af62d01 kbuild: refactor script/kconfig/Makefile
Now it is harmless to add all host programs to hostprogs-y.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-08-19 10:26:20 +02:00
Masahiro Yamada 97e3226e6e kbuild: handle the dependency of multi-objs hostprogs appropriately
Assume we have a Makefile like:

hostprogs-y := foo bar
foo-objs := foo1.o foo2.o
bar-objs := bar1.o bar2.o

Without this commit, the host program foo depends on all of
foo1.o foo2.o bar1.o bar2.o.

This commit allows to handle the dependency of each host program
separately.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-08-19 10:26:20 +02:00
Masahiro Yamada c8589d1e9e kbuild: handle multi-objs dependency appropriately
The comment in scripts/Makefile.build says as follows:

  We would rather have a list of rules like
        foo.o: $(foo-objs)
  but that's not so easy, so we rather make all composite objects depend
  on the set of all their parts

This commit makes it possible!

For example, assume a Makefile like this

  obj-m = foo.o bar.o
  foo-objs := foo1.o foo2.o
  bar-objs := bar1.o bar2.o

Without this patch, foo.o depends on all of
foo1.o foo2.o bar1.o bar2.o.
It looks funny that foo.o is regenerated when bar1.c is updated.

Now we can handle the dependency of foo.o and bar.o separately.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-08-19 10:26:19 +02:00
Masahiro Yamada 011bf12547 kbuild: allow to override Python command name
The specification of Python 3 is largely different from that of
Python 2.

For example, arch/ia64/scripts/unwcheck.py seems to be written
in Python 2, not compatible with Python 3.

It is not a good idea to invoke python scripts with the hard-coded
command name 'python'. The command 'python' could possibly be
Python 3 on some systems.
For that case, it is reasonable to allow to override the command name
by giving 'PYTHON=python2' from the command line.

The 'python' in arch/ia64/Makefile should be replaced with '$(PYTHON)'.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: [email protected]
Signed-off-by: Michal Marek <[email protected]>
2014-07-18 10:17:58 +02:00
Masahiro Yamada 1791ff7179 kbuild: clean-up and bug fix of scripts/Makefile.host
Assume we have a Makefile like this:

  hostprogs-y := foo
  foo-cxxobjs := bar/baz.o
  foo-objs := qux/quux.o

In this case, Kbuild creates bar/ directory,
but fails to create qux/ directory.

This commit re-writes directory creation more simply,
fixing that bug.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-16 17:15:26 +02:00
Masahiro Yamada 6639355939 kbuild: clean up scripts/Makefile.host
The directory creation can be more simplified by two levels.

[1] Drop $(dir ...)

 $(dir $(f)) always returns non-empty string.

So, $(if $(dir $(f)),$(dir $(f)) is equivalent to $(dir $(f)).

[2] Unroll $(foreach ...) loop

$(dir ...) can take one or more arguments and returns a list of
directories of them.

$(foreach f, $(progs), $(dir $(f))) can be unrolled as $(dir $(progs)).

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-16 17:15:26 +02:00
Masahiro Yamada 62e2210798 kbuild: drop shared library support from Makefile.host
The shared library feature in Makefile.host is no longer used.
Rip it off to keep the build infrastucture simple.

Update Documentation/kbuild/makefiles.txt too.
The section "4.3 Definition shared libraries" should be removed
and the following sections should be re-numbered.

Signed-off-by: Masahiro Yamada <[email protected]>
Suggested-by: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-16 17:15:26 +02:00
Masahiro Yamada edb950c17d kbuild: fix a bug of C++ host program handling
The comment claims:
  C++ executables compiled from at least one .cc file
  and zero or more .c files

But C++ executables with zero .c file fail in build.

For example, assume we have a Makefile like this:

  hostprogs-y := foo
  foo-cxxobjs := bar.o

In this case, foo is treated as host-csingle
and Kbuild tries to search non-existing foo.c source.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-16 17:15:25 +02:00
Masahiro Yamada d8d9efe227 kbuild: fix a typo in scripts/Makefile.host
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-16 17:15:25 +02:00
Masahiro Yamada 9d5db8949f scripts/Makefile.clean: clean also $(extra-m) and $(extra-)
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-07-03 22:54:57 +02:00
Masahiro Yamada c14105628b kbuild: fix a typo in a kbuild document
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-18 21:38:18 +02:00
Masahiro Yamada aa65506f19 selinux, kbuild: remove unnecessary $(hostprogs-y) from clean-files
Files added to hostprogs-y are cleaned. (See scripts/Makefile.clean)
Adding them to clean-files is redundant.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Paul Moore <[email protected]>
Signed-off-by: Paul Moore <[email protected]>
2014-06-17 17:31:40 -04:00
Masahiro Yamada 7fa0e6db3c scripts: objdiff: support directories for the augument of record command
For example,

  $ scripts/objdiff record init drivers/usb

disassembles all the objects under init and drivers/usb directories.

This feature would be useful when we change various files under the
specific directory.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada 8ac28bee76 scripts: objdiff: fix a comment
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada 8b5d0f20d6 scripts: objdiff: change the extension of disassembly from .o to .dis
Prior to this commit, the command "scripts/objdiff record path/to/*.o"
disassembled the given object into ".tmp_objdiff/path/to/*.o" file.

The problem here is that recorded disassemblies are lost if we run
"make clean" because it removes all the *.o files.
Disassembled code should be dumped into *.dis instead of *.o files.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada 18165efa82 scripts: objdiff: improve path flexibility for record command
Prior to this commit, scripts/objdiff expected to be run at the top
directory and only the relative path of objects.

This commit provides more flexibility in terms of object path:

[1] scripts/objdiff can be run in any directory

For example,

  $ scripts/objdiff record init/main.o

and

  $ cd init; ../scripts/objdiff record main.o

produce the same result.

[2] Support absolute path for objects

  $ scripts/objdiff record /home/foo/bar/linux/init/main.o

work as well.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada 1ecc8e489a scripts: objdiff: remove unnecessary code
The directories for objdump is created by the code
a few lines below:

  [ ! -d "$OBJDIFFD/$dn" ] && mkdir -p "$OBJDIFFD/$dn"

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada 5ab370e91a scripts: objdiff: direct error messages to stderr
Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada fd6e124233 scripts: objdiff: get the path to .tmp_objdiff more simply
This commit is a minor refactoring.

Temporary files for objdiff are stored in .tmp_objdiff directory
which is located at the top directory.

To get the path to this directory,

  SRCTREE=`git rev-parse --show-toplevel`
  TMPD=$SRCTREE/.tmp_objdiff

seems easier to understand than

  GIT_DIR=`git rev-parse --git-dir`
  TMPD=${GIT_DIR%git}tmp_objdiff

Besides, it is not always necessary to create .tmp_objdiff dicrectory.
It should be created only for "record" command.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Jason Cooper <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:59:33 +02:00
Masahiro Yamada bb66fc6719 kbuild: trivial - use tabs for code indent where possible
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 14:00:53 +02:00
Masahiro Yamada 9815594a78 kbuild: create include/config directory in scripts/kconfig/Makefile
The directory include/config is used only for
silentoldconfig, localmodconfig, localyesconfig.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 00:20:20 +02:00
Masahiro Yamada 356db564fb kbuild: do not create include/linux directory
There are no generated files under include/linux directory.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-10 00:20:12 +02:00
Masahiro Yamada 7eb6e34052 kbuild: trivial - remove trailing empty lines
Signed-off-by: Masahiro Yamada <[email protected]>
2014-06-10 00:04:06 +02:00
Masahiro Yamada c43cecadb0 kbuild: do not add "selinux" to subdir- twice
scripts/Makefile adds "selinux" to subdir-y or subdir- twice.

  subdir-$(CONFIG_MODVERSIONS) += genksyms
  subdir-y                     += mod
  subdir-$(CONFIG_SECURITY_SELINUX) += selinux    <--- here
  subdir-$(CONFIG_DTC)         += dtc

  # Let clean descend into subdirs
  subdir- += basic kconfig package selinux        <--- again

The latter is redundant.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-06-09 23:24:59 +02:00
Masahiro Yamada 3fbb43df98 kbuild: trivial - fix comment block indent
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-04-30 17:34:35 +02:00
Masahiro Yamada 38385f8f01 kbuild: trivial - remove trailing spaces
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-04-30 17:34:32 +02:00
Masahiro Yamada 9319f4539c kbuild: support simultaneous "make %config" and "make all"
Kbuild is supposed to support mixed targets. (%config and build targets)

But "make all" did nothing if it was run with configuration targets.
For example,

  $ LANG=C make defconfig all
    HOSTCC  scripts/basic/fixdep
    HOSTCC  scripts/kconfig/conf.o
    SHIPPED scripts/kconfig/zconf.tab.c
    SHIPPED scripts/kconfig/zconf.lex.c
    SHIPPED scripts/kconfig/zconf.hash.c
    HOSTCC  scripts/kconfig/zconf.tab.o
    HOSTLD  scripts/kconfig/conf
  *** Default configuration is based on 'x86_64_defconfig'
  #
  # configuration written to .config
  #
  make: Nothing to be done for `all'.

This commits allows "make %config all" and makes sure
mixed targets are built one by one in the given order.

Signed-off-by: Masahiro Yamada <[email protected]>
Cc: Michal Marek <[email protected]>
CC: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-04-30 16:45:16 +02:00
Masahiro Yamada 35fc51956b mtd: nand: fix a typo in a comment line
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
2014-04-29 12:12:21 -07:00
Masahiro Yamada a86fe35373 kbuild: move extra gcc checks to scripts/Makefile.extrawarn
W=... provides extra gcc checks.

Having such code in scripts/Makefile.build results in the same flags
being added to KBUILD_CFLAGS multiple times becuase
scripts/Makefile.build is invoked every time Kbuild descends into
the subdirectories.

Since the top Makefile is already too cluttered, this commit moves
all of extra gcc check stuff to a new file scripts/Makefile.extrawarn,
which is included from the top Makefile.

Signed-off-by: Masahiro Yamada <[email protected]>
CC: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-04-16 23:28:41 +02:00
Masahiro Yamada e6bcd1a897 x86/build: Supress "Nothing to be done for ..." messages
When we build an already built kernel again, arch/x86/syscalls/Makefile
and arch/x86/tools/Makefile emits "Nothing to be done for ..."
messages.

Here is the command log:

  $ make defconfig
     [ snip ]
  $ make
     [ snip ]
  $ make
  make[1]: Nothing to be done for `all'.            <-----
  make[1]: Nothing to be done for `relocs'.         <-----
    CHK     include/config/kernel.release
    CHK     include/generated/uapi/linux/version.h

Besides not emitting those, "all" and "relocs" should be added to PHONY as well.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Peter Foley <[email protected]>
Acked-by: Michal Marek <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
2014-04-14 11:44:36 +02:00
Masahiro Yamada 1c9e70a55b kbuild: create a build directory automatically for out-of-tree build
Kbuild supports saving output files in a separate directory.
But the build directory must be created beforehand. For example,

  $ mkdir -p dir/to/store/output/files
  $ make O=dir/to/store/output/files defconfig

Creating a build directory automatically would be useful.

Signed-off-by: Masahiro Yamada <[email protected]>
Acked-by: Sam Ravnborg <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-31 22:47:16 +02:00
Masahiro Yamada a03fcb50e8 kbuild: remove redundant '.*.cmd' pattern from make distclean
'.*.cmd' files are cleaned-up by "make clean".
The same pattern in "make distclean" is unnecessary.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-31 22:36:11 +02:00
Masahiro Yamada 13338935f1 kbuild: move "quote" to Kbuild.include to be consistent
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-29 22:03:55 +01:00
Masahiro Yamada ec3fadd64b kbuild: docbook: use $(obj) and $(src) rather than specific path
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-29 21:30:17 +01:00
Masahiro Yamada 100da4c015 kbuild: docbook: specify KERNELDOC dependency correctly
It is not a good idea to describe

  %.xml: %.tmpl FORCE
    ...

and

  $(BOOKS): $(KERNELDOC)

separately. This cannot detect missing template files.

For example, add something to DOCBOOKS variable:
  DOCBOOKS += foobar.xml
and run
  make xmldocs

It will succeed even if Documention/DocBook/foobar.tmpl
does not exist.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-14 18:06:47 +01:00
Masahiro Yamada 6f89b9c1d6 kbuild: docbook: include cmd files more simply
Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-14 18:06:47 +01:00
Masahiro Yamada bfdfaeae50 kbuild: specify build_docproc as a phony target
PHONY target is more suitable for "build_docproc" target.

Because PHONY targets are always executed, they do not
have to take FORCE as a prerequisite.

Signed-off-by: Masahiro Yamada <[email protected]>
Signed-off-by: Michal Marek <[email protected]>
2014-03-14 17:44:17 +01:00