There are currently no rules on the placement of "const" and "volatile", but a recent code submission revealed that there is clearly a preference for spaces around them. checkpatch.pl has no check at all for this; though it does sometimes complain, but only because it erroneously thinks that the "*" (on local variables) is an unary dereference operator, not a pointer type. Current coding style for const pointers-to-pointers: "*const*": 2 occurrences "* const*": 3 "*const *": 182 "* const *": 681 Just const pointers: "*const": 2833 occurrences "* const": 16615 Link: https://lore.kernel.org/r/264fa39d-aed6-4a54-a085-107997078f8d@xxxxxxxxxxxx/ Link: https://lore.kernel.org/r/f511170fe61d7e7214a3a062661cf4103980dad6.camel@xxxxxxxxxxx/ Signed-off-by: Max Kellermann <max.kellermann@xxxxxxxxx> --- Documentation/process/coding-style.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst index 6db37a46d305..b40830517938 100644 --- a/Documentation/process/coding-style.rst +++ b/Documentation/process/coding-style.rst @@ -271,6 +271,18 @@ adjacent to the type name. Examples: unsigned long long memparse(char *ptr, char **retptr); char *match_strdup(substring_t *s); +Use space around the keywords ``const`` and ``volatile`` (except when +adjacent to parentheses). Example: + +.. code-block:: c + + const void *a; + void * const b; + void ** const c; + void * const * const d; + void * volatile e; + int strcmp(const char *a, const char *b); + Use one space around (on each side of) most binary and ternary operators, such as any of these:: -- 2.39.2