[lkml]   [2010]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: [PATCH 2/6] Coccinelle: Update documentation
 - Add information about use of the C={1,2} make flag
- Add a description of the new chain mode mechanism
- Add a link to the wiki

Signed-off-by: Nicolas Palix <>
Signed-off-by: Julia Lawall <>
This is a resubmission that fixes trailing whitespaces and a typo.

Documentation/coccinelle.txt | 42 +++++++++++++++++++++++++++++++++++-------
1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
index cd2b028..de51a3e 100644
--- a/Documentation/coccinelle.txt
+++ b/Documentation/coccinelle.txt
@@ -24,6 +24,9 @@ of many distributions, e.g. :
You can get the latest version released from the Coccinelle homepage at

+Information and tips about Coccinelle are also provided on the wiki
+pages at
Once you have it, run the following command:

@@ -41,20 +44,22 @@ A Coccinelle-specific target is defined in the top level
Makefile. This target is named 'coccicheck' and calls the 'coccicheck'
front-end in the 'scripts' directory.

-Four modes are defined: report, patch, context, and org. The mode to
+Four modes are defined: patch, report, context, and org. The mode to
use is specified by setting the MODE variable with 'MODE=<mode>'.

+'patch' proposes a fix, when possible.
'report' generates a list in the following format:
file:line:column-column: message

-'patch' proposes a fix, when possible.
'context' highlights lines of interest and their context in a
diff-like style.Lines of interest are indicated with '-'.

'org' generates a report in the Org mode format of Emacs.

-Note that not all semantic patches implement all modes.
+Note that not all semantic patches implement all modes. For easy use
+of Coccinelle, the default mode is "chain" which tries the previous
+modes in the order above until one succeeds.

To make a report for every semantic patch, run the following command:

@@ -68,9 +73,9 @@ To produce patches, run:

The coccicheck target applies every semantic patch available in the
-subdirectories of 'scripts/coccinelle' to the entire Linux kernel.
+sub-directories of 'scripts/coccinelle' to the entire Linux kernel.

-For each semantic patch, a changelog message is proposed. It gives a
+For each semantic patch, a commit message is proposed. It gives a
description of the problem being checked by the semantic patch, and
includes a reference to Coccinelle.

@@ -93,12 +98,35 @@ or
make coccicheck COCCI=<my_SP.cocci> MODE=report

+ Using Coccinelle on (modified) files
+To apply Coccinelle on a file basis, instead of a directory basis, the
+following command may be used:
+ make C=1 CHECK="scripts/coccicheck"
+To check only newly edited code, use the value 2 for the C flag, i.e.
+ make C=2 CHECK="scripts/coccicheck"
+This runs every semantic patch in scripts/coccinelle by default. The
+COCCI variable may additionally be used to only apply a single
+semantic patch as shown in the previous section.
+The "chain" mode is the default. You can select another one with the
+MODE variable explained above.
+In this mode, there is no information about semantic patches
+displayed, and no commit message proposed.
Proposing new semantic patches

New semantic patches can be proposed and submitted by kernel
developers. For sake of clarity, they should be organized in the
-subdirectories of 'scripts/coccinelle/'.
+sub-directories of 'scripts/coccinelle/'.

Detailed description of the 'report' mode

 \ /
  Last update: 2010-10-13 00:51    [W:0.053 / U:40.668 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site