Move doc/README.coccinelle to doc/develop/coccinelle.rst using the current
linux-next version of the text.
Signed-off-by: Heinrich Schuchardt
---
doc/README.coccinelle | 491
doc/develop/coccinelle.rst | 505 +
doc/develop/index.rst | 1 +
3 files changed, 506 insertions(+), 491 deletions(-)
delete mode 100644 doc/README.coccinelle
create mode 100644 doc/develop/coccinelle.rst
diff --git a/doc/README.coccinelle b/doc/README.coccinelle
deleted file mode 100644
index 4a64b4c69d..00
--- a/doc/README.coccinelle
+++ /dev/null
@@ -1,491 +0,0 @@
-.. Copyright 2010 Nicolas Palix
-.. Copyright 2010 Julia Lawall
-.. Copyright 2010 Gilles Muller
-
-.. highlight:: none
-
-Coccinelle
-==
-
-Coccinelle is a tool for pattern matching and text transformation that has
-many uses in kernel development, including the application of complex,
-tree-wide patches and detection of problematic programming patterns.
-
-Getting Coccinelle
-
-The semantic patches included in the kernel use features and options
-which are provided by Coccinelle version 1.0.0-rc11 and above.
-Using earlier versions will fail as the option names used by
-the Coccinelle files and coccicheck have been updated.
-
-Coccinelle is available through the package manager
-of many distributions, e.g. :
-
- - Debian
- - Fedora
- - Ubuntu
- - OpenSUSE
- - Arch Linux
- - NetBSD
- - FreeBSD
-
-You can get the latest version released from the Coccinelle homepage at
-http://coccinelle.lip6.fr/
-
-Information and tips about Coccinelle are also provided on the wiki
-pages at http://cocci.ekstranet.diku.dk/wiki/doku.php
-
-Once you have it, run the following command::
-
- ./configure
-make
-
-as a regular user, and install it with::
-
-sudo make install
-
-Supplemental documentation
-
-For supplemental documentation refer to the wiki:
-
-https://bottest.wiki.kernel.org/coccicheck
-
-The wiki documentation always refers to the linux-next version of the script.
-
-Using Coccinelle on the Linux kernel
-
-
-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 basic modes are defined: ``patch``, ``report``, ``context``, and
-``org``. The mode to use is specified by setting the MODE variable with
-``MODE=``.
-
-- ``patch`` proposes a fix, when possible.
-
-- ``report`` generates a list in the following format:
- file:line:column-column: message
-
-- ``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. For easy use
-of Coccinelle, the default mode is "report".
-
-Two other modes provide some common combinations of these modes.
-
-- ``chain`` tries the previous modes in the order above until one succeeds.
-
-- ``rep+ctxt`` runs successively the report mode and the context mode.
- It should be used with the C option (described later)
- which checks the code on a file basis.
-
-Examples
-
-
-To make a report for every semantic patch, run the following command::
-
- make coccicheck MODE=report
-
-To produce patches, run::
-
- make coccicheck MODE=patch
-
-
-The coccicheck target applies every semantic patch available in the
-sub-directories of ``scripts/coccinelle`` to the entire Linux kernel.
-
-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.
-
-As any static code analyzer, Coccinelle produces false
-positives. Thus, reports must be carefully checked, and patches
-reviewed.
-
-To enable verbose messages set the V= variable, for example::
-
- make coccicheck MODE=report V=1
-
-Coccinelle parallelization
-
-By default, coccicheck tries to run as parallel as possible. To change
-the parallelism, set the J= variable. For example, to run across 4 CPUs::
-
- make coccicheck MODE=report J=4
-
-As of Coccinelle 1.0.2 Coccinelle uses Ocaml parmap for parallelization,
-if support for this is detected you will benefit from parmap parallelization.
-
-When parmap is enabled coccicheck will enable dynamic load balancing by using
-``--chunksize 1`` argument, this ensures we keep feeding threads with work
-one by one, so that we avoid the situation where most work gets done by only
-a few threads. With dynamic load balancing, if a thread finishes early we keep
-feeding it more work.
-
-When parmap is enabled, if an error occurs in Coccinelle, this error
-value is propagated back, the return value of the ``make coccicheck``
-captures this return value.
-
-Using