Commit graph

2147 commits

Author SHA1 Message Date
Israel Schlesinger
7ee453e97d checkpatch: fix regex for catching mdelay()
upstream prefers this change for checkpatch:
http://lkml.org/lkml/2010/7/27/254

Signed-off-by: Israel Schlesinger <israels@codeaurora.org>
Change-Id: I61f8c1ff622994b37a79fed4b811115da2c108ad
(cherry picked from commit 76cc4ad08fe1d8912ce44ee2cc1f10373c2974d3)
2013-02-20 02:49:51 -08:00
Israel Schlesinger
864c6a2685 checkpatch: Add warning for blank lines in header
Signed-off-by: Israel Schlesinger <israels@codeaurora.org>
Change-Id: Ie0da3c2842b3d1f194f60c277ae9961dcb82cd59
(cherry picked from commit 8212698c653945d0fd0783829822917bf13a5aab)
2013-02-20 02:49:51 -08:00
Israel Schlesinger
eb3ce1b125 checkpatch: Add warnings for use of mdelay()
Signed-off-by: Israel Schlesinger <israels@codeaurora.org>
Change-Id: I9e5510a79d51b8f03e03ad8466246f93bf2c623a
(cherry picked from commit 084af58596758be6e51ef060aefa2cd622dc9205)
2013-02-20 02:49:50 -08:00
Israel Schlesinger
b9fd44f1a5 checkpatch: Add warning for qualcomm email
People should not be using their qualcomm email
when signing off patches or authoring them.

Signed-off-by: Israel Schlesinger <israels@codeaurora.org>
Change-Id: Ic09516564a6b60576d6fac95e3ce4ccc8c706b0d
(cherry picked from commit bde480639313a5de6c2019a93d96767fecceaa78)
2013-02-20 02:49:50 -08:00
Matt Wagantall
2a9af98acd checkpatch: Exceptions for CLK_* macros and some spaces in macros
Add CLK_* macros used in MSM clock drivers to the list of exceptions
for the "Macros with complex values should be enclosed in parenthesis"
test.

Also, allow spaces following open branckets for macros where the
macro is the first token on the line, the space preceds a decimal
number, and the line ends with ")," or ")". Such arrangements can
be useful for aligning numerical columns of tables when the rows
are described by macros.

Change-Id: I7701119ada2ea8fd646e5448eae51786bbf1e8fa
Signed-off-by: Matt Wagantall <mattw@codeaurora.org>
(cherry picked from commit ed6d6ed1c6b8f6016ea5676d075331e31b7ac1f8)

Conflicts:

	scripts/checkpatch.pl
2013-02-20 02:49:49 -08:00
Bryan Huntsman
7324a38d16 scripts/checkpatch.pl: warn on invalid credentials
@quicinc.com identities are not allowed.  Check the "From:" field in the
patch, equivalent to the author in the git commit, and the Signed-off-by
field.

Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
(cherry picked from commit 374146d3656f815f45145861396df4ee35f60cec)
2013-02-20 02:49:48 -08:00
Richard Adams
5bdba0fdc2 checkpatch: warn on subject line not followed by blank line
Fixed case when no warning generated for long subject line that is
wrapped to more than one line, and all lines are less than line limit.

New warning message added:
"non-blank line after summary line"
Now there are two warnings possible for the subject line, the original
line over limit and the new one. Depending on the error(s) any
combination of the two warnings are possible.

Commit text requirements now:
1) Must be less than 75 characters
2) Must be followed by blank line.

Change-Id: If7ee833339c5be947bb1dd2a52d5d1d9ddfe5de6
Signed-off-by: Richard Adams <c_adams@quicinc.com>
(cherry picked from commit 78d0db4aa1212e00696e25b7daa9fc4ecd86f954)

Conflicts:

	scripts/checkpatch.pl
2013-02-20 02:49:48 -08:00
Abhijeet Dharmapurikar
cd04021bce checkpatch: check for #if 0/#if 1
Warn if #if 1 or #if 0 is present.

Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
(cherry picked from commit a81f92c9abe442ad5b00e8df31172f145a14af3f)

Conflicts:

	scripts/checkpatch.pl

Change-Id: Id28c07eaa907351933e0450751b05e2f749d23d0
2013-02-20 02:49:47 -08:00
Abhijeet Dharmapurikar
eeec9b59b5 checkpatch: check for execute permissions on non code files
Make checkpatch.pl check execute permissions on non code files

Signed-off-by: Abhijeet Dharmapurikar <adharmap@quicinc.com>
(cherry picked from commit 315e124e887131124d184f1bf0778ebbb80282fb)
2013-02-20 02:49:47 -08:00
Steve Muckle
1cf404d212 checkpatch: check new files for executable permissions
Look for executable permissions on new files as well as in mode
changes on existing files.

Signed-off-by: Steve Muckle <smuckle@quicinc.com>
(cherry picked from commit 1ec31f0a5471d173b4d2eecb29f3526d77e7cc60)
2013-02-20 02:49:46 -08:00
Steve Muckle
7dab411f3d checkpatch: warn on long summary, commit text lines
Warn on summary or commit text lines greater than 75 characters.
The summary and commit text are indented and may wrap on a terminal
if they are longer than 75 characters.

Signed-off-by: Steve Muckle <smuckle@quicinc.com>
(cherry picked from commit e2638df6005402597085a58e01b6dd1cf2bdb8a4)

Conflicts:

	scripts/checkpatch.pl

Change-Id: I1546ba3b81031051fdbe6319842d6e2d96931416
2013-02-20 02:49:46 -08:00
David Brown
cfdf6912c6 scripts: Include copper pattern in build targets
Change-Id: I68e94f8c000df7cc0a481f49df267258aef952da
Signed-off-by: David Brown <davidb@codeaurora.org>
(cherry picked from commit 2ab0a60d3023a08da712dee9cc5592a216b30ad4)
2013-02-20 02:49:45 -08:00
Stephen Boyd
cb3e910330 build-all.py: Add support for apq defconfigs
There is an apq8064_defconfig. Compile it too.

Change-Id: I9ca96ab56640c8f3726d052ad43d1624a4ece0a5
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit d14a37b998dcabb5783f69cc77c66722afdc7567)
2013-02-20 02:49:44 -08:00
Rohit Vaswani
59b6660305 scripts: Add fsm targets to build-all.py
Acked-by: Kaushik Sikdar <ksikdar@qualcomm.com>
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
(cherry picked from commit d5b438ad986952a7b4596a9794724da83582eff8)
2013-02-20 02:49:44 -08:00
Stephen Boyd
45bc44dc22 build-all.py: Update defconfigs with savedefconfig
Copy the savedefconfig (or minimal defconfig) instead of the
.config when updating defconfigs.

Change-Id: I0ba0b7a774dd3de0dc090420bd5c118eb6199eb6
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 6575c0b29f060a5ebdeec0ff9bcfe0f1af9f0bc8)
2013-02-20 02:49:43 -08:00
Gregory Bean
2ebef7c7e9 LOCAL: build_all.py: allow alternate build targets.
Allow make targets to be given to build-all.py, which
in turn allows the build-all preverification step to be used to
generate all kernel artifacts for later preverification steps.
This moves us closer to eliminating the need to build the kernel
twice for each commit to be tested by the PV framework.

Change-Id: Ifacdbb161604f06f85f4248f21998dda282e6fd0
Signed-off-by: Gregory Bean <gbean@codeaurora.org>
(cherry picked from commit 81a73760834ee3c0b3b1ab3010fd6530d5b82313)
2013-02-20 02:49:42 -08:00
Patrick Pannuto
c95d227f7a build-all: some convenience fixes
* mkdir -p build_dir instead of just failing
* Add perf / noperf targets since building "all" is often unnecessary

Change-Id: I3216f59338ca37e87b464cccbb9c1cc766356a6c
Signed-off-by: Patrick Pannuto <ppannuto@codeaurora.org>
(cherry picked from commit b4f13cfa5a53633c0246b2136decc5d210cfcd70)
2013-02-20 02:49:42 -08:00
Patrick Pannuto
440d6ed608 build-all: Don't mix tabs / spaces
Guido says no to tabs in python (however much I may disagree
with him). Regardless of tabs or spaces, you definitely cannot
mix them; future versions of the python interpereter plan to
simply reject files that mix them outright, so we should follow
good style guidelines

Change-Id: I32a30ac3ef430916c534738a7349482d3f151fd5
Signed-off-by: Patrick Pannuto <ppannuto@codeaurora.org>
(cherry picked from commit cbebac12150f62ec6f9810f09366d5cf66d60875)
2013-02-20 02:49:41 -08:00
Stephen Boyd
5ae12f4ce9 scripts: build-all: Add a keep-going option
Sometimes I want to build all the targets and see what errors
come out while I'm out at lunch. Currently I can't do that so
introduce a new option -k/--keep-going in the spirit of make's
keep going option to build the rest of the targets even if
another target fails. This way after I eat lunch I can go through
the logs and see what files are failing.

It was suggested that the failing targets could be summarized at
the end of the build run. So when we're building many targets
keep a list of failing targets to output at the end of the run.
This way it's easy to determine which targets need fixing without
scouring the logs or the screen buffer.

While we're here fixup the above usage message.

Change-Id: Ief30ac65eb946e055051bdfdd7ba5788e5a8e426
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 3fb23529a8c959042d3efb68888bc18d8fbce0ce)
2013-02-20 02:49:41 -08:00
David Brown
7799e8d349 Allow Limit load average on builds.
Accept the -l make argument as well as -j.  Neither of these
arguments now have a default, other than what make uses, allowing
the user to specify whatever value they wish.

Signed-off-by: David Brown <davidb@quicinc.com>
(cherry picked from commit 0b2e450e1478711a0d19f15a7e66dec742468d7b)
2013-02-20 02:49:40 -08:00
Stephen Boyd
009d29cb12 scripts: build-all: add jobs option
It's annoying that the number of make jobs is hardcoded at 6.
Allow users to define the number of jobs they want with a new
option in the spirit of '-j' from make.

Change-Id: I27881eb604e27a995d5d70bdeabacd6f690aa5b0
Signed-off-by: Stephen Boyd <sboyd@quicinc.com>
(cherry picked from commit 604baf789feb66fee36ea68487d21ea94d8fb374)
2013-02-20 02:49:40 -08:00
David Brown
3eec139820 Update build-all.py to use codesourcery compiler.
Signed-off-by: David Brown <davidb@quicinc.com>
(cherry picked from commit 52e2e56187371d40f1b2163085956a96296fcdd6)
2013-02-20 02:49:39 -08:00
David Brown
8376f3f32e Kernel building utility.
A small script to make it easier to build and test all target
configurations.  Assumes the cross compiler is in the path, and
builds all defconfigs matching certain patterns.

Signed-off-by: David Brown <davidb@quicinc.com>
(cherry picked from commit 6d7b7dc07271ab50e63d43b550c8484db0da8139)
2013-02-20 02:49:38 -08:00
Sridhar Parasuram
9de992efc8 scripts: gcc-wrapper: Add an allowed warning for alignment.c
| kernel/arch/arm/mm/alignment.c:327:15: warning: 'offset.un' may be used
 uninitialized in this function [-Wuninitialized]
 | error, forbidden warning: alignment.c:327
 | make[2]: *** [arch/arm/mm/alignment.o] Error 1

Change-Id: Iadba4720a38997682036527a89b5adeb52ea6119
Signed-off-by: Sridhar Parasuram <sridhar@codeaurora.org>
(cherry picked from commit 32cd2e999c18bf7fa2c5722c90c9bdf6dea60aba)

Conflicts:

	scripts/gcc-wrapper.py
2013-02-20 02:49:38 -08:00
Seungwon Jeon
b4ada1fe5a scripts/gcc-wrapper: Squash mmc changes to gcc-wrapper in 1 commit
Change-Id: I147e19fa51c215cba1f5c508df5d2f68d2ae5046
2013-02-20 02:49:37 -08:00
Rohit Vaswani
acc85df03a scripts: gcc-wrapper: Add an allowed warning for block.c
Commit f2b3f49ede3be96e11b60880c22a768328ce4d2f added a warning
from Open Emdedded's gcc-4.6.3 compiler.

| kernel/drivers/mmc/card/block.c: In function 'mmc_blk_issue_rq':
| kernel/drivers/mmc/card/block.c:836:18:
| warning: 'arg' may be used uninitialized in this function
| [-Wuninitialized] error, forbidden warning: block.c:836
| kernel/drivers/mmc/card/block.c:835:6: warning: 'nr' may be used
| uninitialized in this function [-Wuninitialized]
| error, forbidden warning: block.c:835

Change-Id: I05a45033e5dae8b126cbbba89188d84244485afd
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
(cherry picked from commit 3d2c28943e880d6a0e7619c4234d8a52ccf8f9e1)
2013-02-20 02:49:37 -08:00
Rohit Vaswani
c681eac5e0 scripts: gcc-wrapper: Add exceptions for netfilter failures with gcc-4.6.3
Compiling the kernel with gcc-4.6.3 generates multiple forbidden
warnings for netfilter. Adding them to the allowed warnings list.

Change-Id: I7214d8c1bb59c99e2422eaac2a820fb43cf62b1e
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
(cherry picked from commit 660d3ffb16a8ee7c5693d745a8588c991035c8e7)
2013-02-20 02:49:36 -08:00
Rohit Vaswani
6e3b72fa13 scripts: gcc-wrapper: Add exceptions for failures with gcc-4.6.3
Compiling the kernel with gcc-4.6.3 generates two new forbidden
warnings. Adding them to the allowed warnings list.

Warning 1:
kernel/arch/arm/mm/alignment.c:298:15: warning: 'offset.un' may be
used uninitialized in this function [-Wuninitialized]

Warning 2:
kernel/net/sched/sch_generic.c:678:2: warning: the comparison will always
evaluate as 'true' for the address of 'noop_qdisc' will never be NULL
[-Waddress]

Change-Id: Ib559420337ac4c2d25b55eb80e8da3c2221b2f75
Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org>
(cherry picked from commit 116bcf08bd2c078e809a2d1e53fe901cf6f65502)

Conflicts:

	scripts/gcc-wrapper.py
2013-02-20 02:49:36 -08:00
Gregory Bean
74b9ffc4bc gcc-wrapper: print friendlier errors.
Print something friendlier than a stack trace for OSErrors,
and something helpful for 'file not found' errors.  This prevents
flummoxing people who build the kernel without the compiler in their path,
which is far and away the most common error.

Change-Id: If1a3dfdd0868abc8531a06a61f2f374b54c64cd0
Signed-off-by: Gregory Bean <gbean@codeaurora.org>
(cherry picked from commit e1f91f8e6b38594caa30bf82c586674b83e9c0b4)
2013-02-20 02:49:35 -08:00
Michael Bohan
b5b907b61f gcc-wrapper: Add warning for dir.c:43
Change bde4ec0140fadc028d22c8959347fb8d0f501b84 consolidated
warnings generated from several toolchains, but forgot this one.

Change-Id: I4ab67610962572371cefedace30bb2e89b818c12
Signed-off-by: Michael Bohan <mbohan@codeaurora.org>
(cherry picked from commit c630d473862bfaad8e3a1ab7e7a5f454d49087a7)
2013-02-20 02:49:34 -08:00
Gregory Bean
10309a5a2e gcc-wrapper: fix forbidden-errors list.
Change-Id: I161afde698155db38d2b35f8fdf5b7f9e5eb5276
Signed-off-by: Gregory Bean <gbean@codeaurora.org>
(cherry picked from commit bde4ec0140fadc028d22c8959347fb8d0f501b84)

Conflicts:

	scripts/gcc-wrapper.py
2013-02-20 02:49:34 -08:00
David Brown
1d0c978ed3 scripts: Use wrapper to check compiler warnings
Rather than telling gcc to make warnings as errors, and then hunting
down make rules to disable this, leave them as warnings, but invoke
gcc through a wrapper that checks the warnings against a whitelist.

The initial whitelist comes from the warnings in the current build,
all of which have been allowed through Make overrides.

Change-Id: Ifc9952e03d1a5dbcd90819dc7aa0ec7e50328e20
Signed-off-by: David Brown <davidb@codeaurora.org>
(cherry picked from commit d21ced2f0dda815cac69c693cd81e2e75d8f0007)
2013-02-20 02:49:33 -08:00
Stephen Boyd
0e7e93da37 setlocalversion: Fix version when built/synced on a tag
If building on a tag we check to make sure the version in the
Makefile matches the tag we're building at. That would be a
string comparison and not an integer comparison. Change the test
accordingly. Right now we'll just see 3.0.8 or 3.0.8-dirty if the
kernel is built on a tag.

Similarly if we're synced to a tag we may have two references to
the same object, 1 in the local repo and one in the remote. Force
the show-ref to only look at tags so we only ever describe on
ref instead of two.

Change-Id: I694947b434db8f95d4c0b9f6e68702c65a1ee281
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit cf76837260758073496ce6325bcb20e657eb2066)
2013-02-20 02:49:33 -08:00
Stephen Boyd
aade712394 setlocalversion: Prevent tags from overflowing version string
Some post Linus tags are very long and they exceed the character
limit on the version string. This leads to compile errors like

 3.0.8-insert-your-reallllly-long-tag-name-here-13-g4b4e960-dirty
 exceeds 64 characters

Instead of putting the pretty printed name of the closest post
Linus tag, place the tag's object hash in the version string.
This should allow developers to easily run a git show on the
first hash to see what tag the build is based on. The version
will look like:

	3.0.8-gb080168-00006-g41f3bb3-dirty

meaning the kernel is based on v3.0.8 at the tag b080168 with 6
patches applied on top of that tag resulting in a commit with the
hash 41f3bb3 plus a dirty tree. Running "git show b080168"
should show the closest tag the tree was based on.

Change-Id: I8a26532f76aadf31654cb420ab789e90bd2fe828
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit cd7c0ee4d018b96fa540a29aa31452c3455f6e20)

Conflicts:

	scripts/setlocalversion
2013-02-20 02:49:32 -08:00
Laura Abbott
890bcc7532 modpost: Make verbose mismatches errors
When compiling with CONFIG_DEBUG_SECTION_MISMATCHES, compilation
will still currently succeed even though there is still a mismatch.
Fix this by putting the check in a different place.

Change-Id: I631203803ab9d78e9d57afecbe602aaf37d05dc6
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
(cherry picked from commit 54cb83c041bc65d3501e4f5cd94d9cc7f68b950f)
2013-02-20 02:49:31 -08:00
Laura Abbott
1bf41f8a12 modpost: Make section mismatches an error
If any section mismatches are detected the compilation will fail.
Section mismatches can go back to being warnings with
CONFIG_NO_ERROR_ON_MISMATCH=y.

Change-Id: I44f01f348703d2fdda77f2930bc290f6867b5b08
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
(cherry picked from commit d34cd35c3aacb219de789a61a140e7f095794a3f)
2013-02-20 02:49:31 -08:00
Michal Marek
cc7c332b34 kbuild: Do not package /boot and /lib in make tar-pkg
commit fe04ddf7c2 upstream.

There were reports of users destroying their Fedora installs by a kernel
tarball that replaces the /lib -> /usr/lib symlink. Let's remove the
toplevel directories from the tarball to prevent this from happening.

Reported-by: Andi Kleen <andi@firstfloor.org>
Suggested-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
[bwh: Fold in commit 3ce9e53e78 to avoid
 conflicts]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-10 10:59:41 -08:00
Yuta Ando
e878ead689 localmodconfig: Fix localyesconfig to set to 'y' not 'm'
commit 4eae518d4b upstream.

The kbuild target 'localyesconfig' has been same as 'localmodconfig'
since the commit 50bce3e "kconfig/streamline_config.pl: merge
local{mod,yes}config". The commit expects this script generates
different configure depending on target, but it was not yet implemented.

So I added code that sets to 'yes' when target is 'localyesconfig'.

Link: http://lkml.kernel.org/r/1349101470-12243-1-git-send-email-yuta.and@gmail.com

Signed-off-by: Yuta Ando <yuta.and@gmail.com>
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Steven Rostedt <rostedt@rostedt.homelinux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-13 05:38:39 +09:00
Jean Delvare
4893cf612a kbuild: Fix gcc -x syntax
commit b1e0d8b70f upstream.

The correct syntax for gcc -x is "gcc -x assembler", not
"gcc -xassembler". Even though the latter happens to work, the former
is what is documented in the manual page and thus what gcc wrappers
such as icecream do expect.

This isn't a cosmetic change. The missing space prevents icecream from
recognizing compilation tasks it can't handle, leading to silent kernel
miscompilations.

Besides me, credits go to Michael Matz and Dirk Mueller for
investigating the miscompilation issue and tracking it down to this
incorrect -x parameter syntax.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Bernhard Walle <bernhard@bwalle.de>
Cc: Michal Marek <mmarek@suse.cz>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-13 05:38:37 +09:00
Sascha Hauer
f159778835 kbuild: make: fix if_changed when command contains backslashes
commit c353acba28 upstream.

The call if_changed mechanism does not work when the command contains
backslashes.  This basically is an issue with lzo and bzip2 compressed
kernels.  The compressed binaries do not contain the uncompressed image
size, so these use size_append to append the size.  This results in
backslashes in the executed command.  With this if_changed always
detects a change in the command and rebuilds the compressed image even
if nothing has changed.

Fix this by escaping backslashes in make-cmd

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Bernhard Walle <bernhard@bwalle.de>
Cc: Michal Marek <mmarek@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-13 05:38:36 +09:00
H. Peter Anvin
6520fe5564 x86, realmode: 16-bit real-mode code support for relocs tool
A new option is added to the relocs tool called '--realmode'.
This option causes the generation of 16-bit segment relocations
and 32-bit linear relocations for the real-mode code. When
the real-mode code is moved to the low-memory during kernel
initialization, these relocation entries can be used to
relocate the code properly.

In the assembly code 16-bit segment relocations must be relative
to the 'real_mode_seg' absolute symbol. Linear relocations must be
relative to a symbol prefixed with 'pa_'.

16-bit segment relocation is used to load cs:ip in 16-bit code.
Linear relocations are used in the 32-bit code for relocatable
data references. They are declared in the linker script of the
real-mode code.

The relocs tool is moved to arch/x86/tools/relocs.c, and added new
target archscripts that can be used to build scripts needed building
an architecture.  be compiled before building the arch/x86 tree.

[ hpa: accelerating this because it detects invalid absolute
  relocations, a serious bug in binutils 2.22.52.0.x which currently
  produces bad kernels. ]

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/r/1336501366-28617-2-git-send-email-jarkko.sakkinen@intel.com
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Cc: <stable@vger.kernel.org>
2012-05-18 19:49:40 -07:00
Linus Torvalds
4d634ca35a Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull build system failure fix from Michal Marek:
 "This fixes build failure with newer gcc that adds some internal
  symbols that end in "__mod_*_device_table", but are not actually the
  tables themselves."

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  Fix modpost failures in fedora 17
2012-04-23 19:45:19 -07:00
Lasse Collin
0db7bd8ca0 xz: Enable BCJ filters on SPARC and 32-bit x86
The BCJ filters were meant to be enabled already on these
archs, but the xz_wrap.sh script was buggy. Enabling the
filters should give smaller kernel images.

xz_wrap.sh will now use $SRCARCH instead of $ARCH to detect
the architecture. That way it doesn't need to care about the
subarchs (like i386 vs. x86_64) since the BCJ filters don't
care either.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-18 13:13:18 -07:00
David Miller
e88aa7bbbe Fix modpost failures in fedora 17
The symbol table on x86-64 starts to have entries that have names
like:

_GLOBAL__sub_I_65535_0___mod_x86cpu_device_table

They are of type STT_FUNCTION and this one had a length of 18.  This
matched the device ID validation logic and it barfed because the
length did not meet the device type's criteria.

--------------------
FATAL: arch/x86/crypto/aesni-intel: sizeof(struct x86cpu_device_id)=16 is not a modulo of the size of section __mod_x86cpu_device_table=18.
Fix definition of struct x86cpu_device_id in mod_devicetable.h
--------------------

These are some kind of compiler tool internal stuff being emitted and
not something we want to inspect in modpost's device ID table
validation code.

So skip the symbol if it is not of type STT_OBJECT.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-04-18 21:42:07 +02:00
Joe Perches
c06a9ebdb7 checkpatch: revert --strict test for net/ and drivers/net block comment style
Revert the --strict test for the old preferred block
comment style in drivers/net and net/

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-16 12:44:38 -07:00
Paul Gortmaker
e4757cab4c kconfig: delete last traces of __enabled_ from autoconf.h
We've now fixed IS_ENABLED() and friends to not require any special
"__enabled_" prefixed versions of the normal Kconfig options, so delete
the last traces of them being generated.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-12 18:35:58 -07:00
Paul Gortmaker
a959613533 Revert "kconfig: fix __enabled_ macros definition for invisible and un-selected symbols"
This reverts commit 953742c8fe.

Dumping two lines into autoconf.h for all existing Kconfig options
results in a giant file (~16k lines) we have to process each time we
compile something.  We've weaned IS_ENABLED() and similar off of
requiring the __enabled_ definitions so now we can revert the change
which caused all the extra lines.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-12 18:35:58 -07:00
Frank Rowand
258f742635 modpost: Fix modpost license checking of vmlinux.o
Commit f02e8a6596 ("module: Sort exported symbols") sorts symbols
placing each of them in its own elf section.  This sorting and merging
into the canonical sections are done by the linker.

Unfortunately modpost to generate Module.symvers file parses vmlinux.o
(which is not linked yet) and all modules object files (which aren't
linked yet).  These aren't sanitized by the linker yet.  That breaks
modpost that can't detect license properly for modules.

This patch makes modpost aware of the new exported symbols structure.

[ This above is a slightly corrected version of the explanation of the
  problem, copied from commit 62a2635610 ("modpost: Fix modpost's
  license checking V3").  That commit fixed the problem for module
  object files, but not for vmlinux.o.  This patch fixes modpost for
  vmlinux.o. ]

Signed-off-by: Frank Rowand <frank.rowand@am.sony.com>
Signed-off-by: Alessio Igor Bogani <abogani@kernel.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-09 20:52:56 -07:00
Linus Torvalds
5d32c88f0b Merge branch 'akpm' (Andrew's patch-bomb)
Merge batch of fixes from Andrew Morton:
 "The simple_open() cleanup was held back while I wanted for laggards to
  merge things.

  I still need to send a few checkpoint/restore patches.  I've been
  wobbly about merging them because I'm wobbly about the overall
  prospects for success of the project.  But after speaking with Pavel
  at the LSF conference, it sounds like they're further toward
  completion than I feared - apparently davem is at the "has stopped
  complaining" stage regarding the net changes.  So I need to go back
  and re-review those patchs and their (lengthy) discussion."

* emailed from Andrew Morton <akpm@linux-foundation.org>: (16 patches)
  memcg swap: use mem_cgroup_uncharge_swap fix
  backlight: add driver for DA9052/53 PMIC v1
  C6X: use set_current_blocked() and block_sigmask()
  MAINTAINERS: add entry for sparse checker
  MAINTAINERS: fix REMOTEPROC F: typo
  alpha: use set_current_blocked() and block_sigmask()
  simple_open: automatically convert to simple_open()
  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
  libfs: add simple_open()
  hugetlbfs: remove unregister_filesystem() when initializing module
  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
  fs/xattr.c:setxattr(): improve handling of allocation failures
  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
  sysrq: use SEND_SIG_FORCED instead of force_sig()
  proc: fix mount -t proc -o AAA
2012-04-05 15:30:34 -07:00
Julia Lawall
9b3ae64be6 scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
Find instances of an open-coded simple_open() and replace them with
calls to simple_open().

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reported-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-04-05 15:25:50 -07:00
Stephen Boyd
0eb043d0ee Subject: [PATCH] tags.sh: Add missing quotes
When $remove_structs is empty a test for empty string will turn
into test -n with no arguments meaning true. Add quotes so an
empty string is tested and so that make cscope works again.

Reported-and-tested-by: Jike Song <albcamus@gmail.com>
Reported-by: Prarit Bhargava <prarit@redhat.com>
Acked-by: Yang Bai <hamo.by@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-04-02 11:28:17 +02:00
Linus Torvalds
923f79743c Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kbuild changes from Michal Marek:
 - Unification of cmd_uimage among archs that use it
 - make headers_check tries harder before reporting a missing
   <linux/types.h> include
 - kbuild portability fix for shells that do not support echo -e
 - make clean descends into samples/
 - setlocalversion grep fix
 - modpost typo fix
 - dtc warnings fix

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  setlocalversion: Use "grep -q" instead of piping output to "read dummy"
  modpost: fix ALL_INIT_DATA_SECTIONS
  Kbuild: centralize MKIMAGE and cmd_uimage definitions
  headers_check: recursively search for linux/types.h inclusion
  scripts/Kbuild.include: Fix portability problem of "echo -e"
  scripts: dtc: fix compile warnings
  kbuild: clean up samples directory
  kbuild: disable -Wmissing-field-initializers for W=1
2012-03-30 18:15:43 -07:00
Linus Torvalds
a7697b945e Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull non-critical part of kbuild from Michal Marek:
 - New semantic patches, make coccicheck M= fix
 - make gtags speedup
 - make tags/TAGS always removes struct forward declarations
 - make deb-pkg fixes (some patches are still pending, I know)
 - scripts/patch-kernel fix from the last user of this script ;)

* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  scripts/patch-kernel: digest kernel.org hosted .xz patches
  scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err
  scripts: refactor remove structure forward declarations
  kbuild: incremental tags update for GNU Global
  coccinelle: semantic patch for bool issues
  coccinelle: semantic patch to check for PTR_ERR after reassignment
  coccinelle: semantic patch converting 0 test to null test
  coccinelle: semantic patch for missing iounmap
  coccinelle: semantic patch for missing clk_put
  kbuild: Fix out-of-tree build for 'make deb-pkg'
  kbuild: Only build linux-image package for UML
  kbuild: Fix link to headers in 'make deb-pkg'
  coccicheck: change handling of C={1,2} when M= is set
2012-03-30 18:14:05 -07:00
Linus Torvalds
2b17b4382c Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull kconfig bits from Michal Marek:
 "There is one fix for make oldconfig by Arnaud and updates to the
  merge_config.sh tool."

* 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  merge_config.sh: Add option to display redundant configs
  merge_config.sh: Set execute bit
  merge_config.sh: Use the first file as the initial config
  kconfig: fix new choices being skipped upon config update
2012-03-30 18:13:17 -07:00
Shawn Landden
354fa22fce scripts/patch-kernel: digest kernel.org hosted .xz patches
kernel.org is hosting patches and kernel compressed with xz (lzma2+).
Allow scripts/patch-kernel to decompress these files.

Signed-off-by: Shawn Landden <shawnlandden@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-30 15:23:36 +02:00
John Stultz
9875c42d69 merge_config.sh: Add option to display redundant configs
Provide a -r option to display when fragments contain redundant
options. This is really useful when breaking apart a config into
fragments, as well as cleaning up older fragments.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-30 15:14:47 +02:00
John Stultz
55cae3043a merge_config.sh: Set execute bit
Somehow the merge_config.sh script didn't get its execute bit
set when it was merged. Fix this.

Signed-off-by: John Stultz <john.stultz@linaro.org>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Acked-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-30 15:10:48 +02:00
Linus Torvalds
12679a2d7e Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
Pull more ARM updates from Russell King.

This got a fair number of conflicts with the <asm/system.h> split, but
also with some other sparse-irq and header file include cleanups.  They
all looked pretty trivial, though.

* 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (59 commits)
  ARM: fix Kconfig warning for HAVE_BPF_JIT
  ARM: 7361/1: provide XIP_VIRT_ADDR for no-MMU builds
  ARM: 7349/1: integrator: convert to sparse irqs
  ARM: 7259/3: net: JIT compiler for packet filters
  ARM: 7334/1: add jump label support
  ARM: 7333/2: jump label: detect %c support for ARM
  ARM: 7338/1: add support for early console output via semihosting
  ARM: use set_current_blocked() and block_sigmask()
  ARM: exec: remove redundant set_fs(USER_DS)
  ARM: 7332/1: extract out code patch function from kprobes
  ARM: 7331/1: extract out insn generation code from ftrace
  ARM: 7330/1: ftrace: use canonical Thumb-2 wide instruction format
  ARM: 7351/1: ftrace: remove useless memory checks
  ARM: 7316/1: kexec: EOI active and mask all interrupts in kexec crash path
  ARM: Versatile Express: add NO_IOPORT
  ARM: get rid of asm/irq.h in asm/prom.h
  ARM: 7319/1: Print debug info for SIGBUS in user faults
  ARM: 7318/1: gic: refactor irq_start assignment
  ARM: 7317/1: irq: avoid NULL check in for_each_irq_desc loop
  ARM: 7315/1: perf: add support for the Cortex-A7 PMU
  ...
2012-03-29 16:53:48 -07:00
Roland Dreier
7f3bd6c9cb setlocalversion: Use "grep -q" instead of piping output to "read dummy"
In some circumstances (eg when running a build in an emacs shell
buffer), I get a spew of messages like

    grep: writing output: Broken pipe

from setlocalversion, because the "read" subshell apparently exits as
soon as it reads one line and gives EPIPE to grep.  It's not clear to
me why this way of writing the check was used instead of just using
grep -q to suppress output, but unless there is some deep reason I
don't know, this way looks cleaner to me anyway, and gets rid of the
ugly message spew.

(I double checked at http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html
and "grep -q" is specified in POSIX / SuS, so hopefully even people
cross-compiling the kernel on some bizarre host OS can't complain
about this change)

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 22:54:00 +02:00
Julia Lawall
468db96122 scripts/coccinelle/api/ptr_ret.cocci: semantic patch for ptr_err
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 22:51:24 +02:00
Jan Beulich
9aaf440f8f modpost: fix ALL_INIT_DATA_SECTIONS
This was lacking a comma between two supposed to be separate strings.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 22:39:52 +02:00
Yang Bai
66979224c0 scripts: refactor remove structure forward declarations
Since now it has some problems when generate TAGS,
refactor this code. Now it will not show the error
message and will remove declarations using emacs etags.

Signed-off-by: Yang Bai <hamo.by@gmail.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 22:22:15 +02:00
Stephen Warren
e339364514 Kbuild: centralize MKIMAGE and cmd_uimage definitions
All ARCHs have the same definition of MKIMAGE. Move it to Makefile.lib
to avoid duplication.

All ARCHs have similar definitions of cmd_uimage. Place a sufficiently
parameterized version in Makefile.lib to avoid duplication.

Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
Acked-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Mike Frysinger <vapier@gentoo.org> [Blackfin]
Tested-by: Michal Simek <monstr@monstr.eu> [Microblaze]
Tested-by: Guan Xuetao <gxt@mprc.pku.edu.cn> [unicore32]
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 15:49:20 +02:00
Jianbin Kang
98bd462233 kbuild: incremental tags update for GNU Global
GNU gtags support '-i' for updating tag files incrementally.
It runs more quickly than generating new tags after kernel source update.

Signed-off-by:  Jianbin Kang <kjbmail@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 15:29:52 +02:00
Bobby Powers
f75a8df3bd headers_check: recursively search for linux/types.h inclusion
headers_check.pl currently emits some spurious warnings, especially for
the drm headers, about using __[us]{8,16,32,64} types without including
linux/types.h.  Recursively search for types.h inclusion, avoiding
circular references.

Signed-off-by: Bobby Powers <bobbypowers@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Dave Airlie <airlied@linux.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-26 14:54:27 +02:00
Bernhard Walle
875de98623 scripts/Kbuild.include: Fix portability problem of "echo -e"
"echo -e" is a GNU extension. When cross-compiling the kernel on a
BSD-like operating system (Mac OS X in my case), this doesn't work.

One could install a GNU version of echo, put that in the $PATH before
the system echo and use "/usr/bin/env echo", but the solution with
printf is simpler.

Since it is no disadvantage on Linux, I hope that gets accepted even if
cross-compiling the Linux kernel on another Unix operating system is
quite a rare use case.

Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
Andreas Bießmann <andreas@biessmann.de>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-24 23:32:05 +01:00
Josh Boyer
09280615a0 merge_config.sh: Use the first file as the initial config
Take the first config fragment and use it verbatim as the initial config
set.  This avoids running the verification loop for the first file, as
nothing has actually been merged at this point.  This significantly
increases performance for large config fragments.

Signed-off-by: Josh Boyer <jwboyer@redhat.com>
Acked-by: John Stultz <john.stultz@linaro.org>
Acked-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-24 23:25:40 +01:00
Felipe Balbi
db7f4e3d2b scripts: dtc: fix compile warnings
Fix following compile warnings:

scripts/dtc/flattree.c: In function ‘flat_read_mem_reserve’:
scripts/dtc/flattree.c:700:14: warning: variable ‘p’ set but not used
	[-Wunused-but-set-variable]

scripts/dtc/dtc.c: In function ‘main’:
scripts/dtc/dtc.c:104:17: warning: variable ‘check’ set but not used
	[-Wunused-but-set-variable]

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-03-24 23:07:35 +01:00
Rabin Vincent
a9468f30b5 ARM: 7333/2: jump label: detect %c support for ARM
Some versions of ARM GCC which do support asm goto, do not support
the %c specifier.  Since we need the %c to support jump labels
on ARM, detect that too in the asm goto detection script to avoid
build errors with these versions.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48637

Acked-by: Jason Baron <jbaron@redhat.com>
Signed-off-by: Rabin Vincent <rabin@rab.in>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-03-24 09:38:56 +00:00
Josh Triplett
ca56dc098c checkpatch: check for quoted strings broken across lines
checkpatch already makes an exception to the 80-column rule for quoted
strings, and Documentation/CodingStyle recommends not splitting quoted
strings across lines, because it breaks the ability to grep for the
string.  Rather than just permitting this, actively warn about quoted
strings split across lines.

Test case:

void context(void)
{
	struct { unsigned magic; const char *strdata; } foo[] = {
		{ 42, "these strings"
		      "do not produce warnings" },
		{ 256, "though perhaps"
		       "they should" },
	};
	pr_err("this string"
	       " should produce a warning\n");
	pr_err("this multi-line string\n"
	       "should not produce a warning\n");
	asm ("this asm\n\t"
	     "should not produce a warning");
}

Results of checkpatch on that test case:

WARNING: quoted string split across lines
+	       " should produce a warning\n");

total: 0 errors, 1 warnings, 15 lines checked

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Acked-by: Joe Perches <joe@perches.com>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:37 -07:00
Joe Perches
6712d85852 checkpatch: whitespace - add/remove blank lines
Add blank lines between a few tests, remove an extraneous one.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:37 -07:00
Joe Perches
2c92488ab2 checkpatch: warn on use of yield()
Using yield() is generally wrong.  Warn on its use.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:37 -07:00
Joe Perches
aad4f61498 checkpatch: add --strict tests for braces, comments and casts
Add some more subjective --strict tests.

Add a test for block comments that start with a blank line followed only
by a line with just the comment block initiator.  Prefer a blank line
followed by /* comment...

Add a test for unnecessary spaces after a cast.

Add a test for symmetric uses of braces in if/else blocks.
If one branch needs braces, then all branches should use braces.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:37 -07:00
Andy Whitcroft
b337d8b82f checkpatch: add [] to type extensions
Add [] to a type extensions.  Fixes false positives on:

    .attrs = (struct attribute *[]) {

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Andy Whitcroft
fd1b57ac73 checkpatch: high precedence operators do not require additional parentheses in #defines
With any very high precedence operator it is not necessary to enforce
additional parentheses around simple negated expressions.  This prevents
us requesting further perentheses around the following:

    #define PMEM_IS_FREE(id, index) !(pmem[id].bitmap[index].allocated)

For now add logical and bitwise not and unary minus.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Andy Whitcroft
e45bab8ebf checkpatch: handle string concatenation in simple #defines
Adjacent strings indicate concatentation, therefore look at identifiers
directly adjacent to literal strings as strings too.  This allows us to
better detect the form below and accept it as a simple constant:

    #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Andy Whitcroft
b9df76ac76 checkpatch: allow simple character constants in #defines
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Andy Whitcroft
daebc534ac checkpatch: catch [ ... ] usage when not at the beginning of definition
Handle the [ A ... B ] form deeper into a definition, for example:

    static const unsigned char pci_irq_swizzle[2][PCI_MAX_DEVICES] = {
	    {0, 0, 0, 0, 0, 0, 0, 27, 27, [9 ... PCI_MAX_DEVICES - 1] = 0 },
	    {0, 0, 0, 0, 0, 0, 0, 29, 29, [9 ... PCI_MAX_DEVICES - 1] = 0 },
    };

Reported-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Artem Bityutskiy
11232688ec checkpatch.pl: be silent when -q and --ignore is given
Fix checkpatch.pl when both -q and --ignore are given and prevents it from
printing a

NOTE: Ignored message types: blah

messages.

E.g., if I use -q --ignore PREFER_PACKED,PREFER_ALIGNED, i see:

NOTE: Ignored message types: PREFER_ALIGNED PREFER_PACKED

It makes no sense to print this when -q is given.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Joe Perches
d1fe9c099c checkpatch: add some --strict coding style checks
Argument alignment across multiple lines should match the open
parenthesis.

Logical continuations should be at the end of the previous line, not the
start of a new line.

These are not required by CodingStyle so make the tests active only when
using --strict.

Improved by some examples from Bruce Allen.

Signed-off-by: Joe Perches <joe@perches.com>
Cc: "Bruce W. Allen" <bruce.w.allan@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Joe Perches
6061d949dd include/ and checkpatch: prefer __scanf to __attribute__((format(scanf,...)
It's equivalent to __printf, so prefer __scanf.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:36 -07:00
Richard Weinberger
728f5a94a1 get_maintainer.pl: add support for moderated lists
Currently get_maintainer.pl reports moderated lists as open, which is just
wrong.

Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:32 -07:00
Joe Perches
0ede274507 get_maintainer: use a default "unknown" S: status/role
When an "S:" status line is unavailable, use a default "unknown" role.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-03-23 16:58:32 -07:00
Greg Kroah-Hartman
263a5c8e16 Merge 3.3-rc6 into driver-core-next
This was done to resolve a conflict in the drivers/base/cpu.c file.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-03-09 12:35:53 -08:00
Andreas Bießmann
dd2a3acaec mod/file2alias: make modpost compile on darwin again
commit e49ce14150 breaks cross compiling
the linux kernel on darwin hosts.
This fix introduce some minimal glue to adopt linker section handling
for darwin hosts.

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
CC: Rusty Russell <rusty@rustcorp.com.au>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: Jochen Friedrich <jochen@scram.de>
CC: Samuel Ortiz <sameo@linux.intel.com>
CC: "K. Y. Srinivasan" <kys@microsoft.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Tested-by: Bernhard Walle <bernhard@bwalle.de>
2012-02-27 10:29:31 +10:30
Linus Torvalds
1e73fde581 Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
three kbuild fixes for 3.3:
 - make deb-pkg symlink race fix.
 - make coccicheck fix.
 - Dropping the check for modutils.  This is not a regression, but
   allows the module-init-tools replacement kmod work with the 3.3
   kernel.

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  coccicheck: change handling of C={1,2} when M= is set
  builddeb: Don't create files in /tmp with predictable names
  kbuild: do not check for ancient modutils tools
2012-02-25 12:11:25 -08:00
Julia Lawall
8991058171 coccinelle: semantic patch for bool issues
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Reviewed-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:07:32 +01:00
Julia Lawall
4a05f06752 coccinelle: semantic patch to check for PTR_ERR after reassignment
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:07:11 +01:00
Julia Lawall
47f67ea902 coccinelle: semantic patch converting 0 test to null test
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:07:11 +01:00
Julia Lawall
cd0207a7bf coccinelle: semantic patch for missing iounmap
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:07:11 +01:00
Julia Lawall
53302c1dfa coccinelle: semantic patch for missing clk_put
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:07:11 +01:00
Joerg Roedel
dddcbb7ce3 kbuild: Fix out-of-tree build for 'make deb-pkg'
The out-of-tree build is broken in 'make deb-pkg'. The
header checks and the header install works on the source and
not on the object tree.
While fixing this also replace the direct 'make' invocations
with the $MAKE variable to be consistent within the script.

Cc: maximilian attems <max@stro.at>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-25 00:01:28 +01:00
Joerg Roedel
d7d357bc27 kbuild: Only build linux-image package for UML
For user-mode Linux the other packages are not required. So
only build the package with the linux-image in it.

Cc: maximilian attems <max@stro.at>
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Tested-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24 23:55:23 +01:00
Joerg Roedel
a47b6c61f5 kbuild: Fix link to headers in 'make deb-pkg'
The Link to the kernel header files in the debian packages
point to the original build directory. This is a bad choice
if the packages were installed on a different machine. Fix
this in by manually re-creating the link in the builddeb
script.

Cc: maximilian attems <max@stro.at>
Cc: debian-kernel@lists.debian.org
Cc: linux-kbuild@vger.kernel.org
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Reviewed-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24 23:54:29 +01:00
Greg Dietsche
42f1c01b79 coccicheck: change handling of C={1,2} when M= is set
This patch reverts a portion of d0bc1fb4 so that coccicheck will
work properly when C=1 or C=2.

Reported-and-tested-by: Brice Goglin <Brice.Goglin@inria.fr>
Signed-off-by: Greg Dietsche <Gregory.Dietsche@cuw.edu>
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24 23:50:19 +01:00
Ben Hutchings
6c63522460 builddeb: Don't create files in /tmp with predictable names
The current use of /tmp for file lists is insecure.  Put them under
$objtree/debian instead.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org  # 2.6.39+
Acked-by: maximilian attems <max@stro.at>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-18 22:33:26 +01:00
Tony Lindgren
6e2e340b59 ARM: 7324/1: modpost: Fix section warnings for ARM for many compilers
It turns out that many compilers don't show section warnings on ARM
currently because handling for ARM_CALL relocs are missing from
modpost.c.

Based on commit c2e26114 ([ARM] 3205/1: Handle new EABI relocations when
loading kernel modules) it seems that R_ARM_PC24, R_ARM_CALL and
R_ARM_JUMP24 can be handled the same way.

Note that at least Debian libc6-dev is missing defines for both
R_ARM_CALL and R_ARM_JUMP24 in /usr/include/elf.h. So for now
we need to define them in modpost.c if not defined.

Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Anders Kaseorg <andersk@ksplice.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-02-15 11:04:36 +00:00
Ondrej Zary
0d86f65ed0 module: fix broken isapnp handling in file2alias
Handling of isapnp module aliases was broken by commit
626596e295 by changing "isapnp" string to "isa".
The code was then modified by commit
e49ce14150 but this bug remained.

Change the string back to "isapnp".

Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-02-14 11:02:15 +10:30
Ben Hutchings
5467bdda4a x86/cpu: Clean up modalias feature matching
We currently include commas on both sides of the feature ID in a
modalias, but this prevents the lowest numbered feature of a CPU from
being matched.  Since all feature IDs have the same length, we do not
need to worry about substring matches, so omit commas from the
modalias entirely.

Avoid generating multiple adjacent wildcards when there is no
feature ID to match.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Acked-by: Thomas Renninger <trenn@suse.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-02-13 15:24:26 -08:00
Joe Perches
8eef05dd3e checkpatch: Warn on code with 6+ tab indentation
Overly indented code should be refactored.

Suggest refactoring excessive indentation of of
if/else/for/do/while/switch statements.

For example:

$ cat t.c
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{

	if (1)
		if (2)
			if (3)
				if (4)
					if (5)
						if (6)
							if (7)
								if (8)
									;
	return 0;
}

$ ./scripts/checkpatch.pl -f t.c
WARNING: Too many leading tabs - consider code refactoring
#12: FILE: t.c:12:
+						if (6)

WARNING: Too many leading tabs - consider code refactoring
#13: FILE: t.c:13:
+							if (7)

WARNING: Too many leading tabs - consider code refactoring
#14: FILE: t.c:14:
+								if (8)

total: 0 errors, 3 warnings, 17 lines checked

t.c has style problems, please review.

If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2012-02-07 15:53:08 -08:00