Linux maintains a coding-style and its own idiomatic set of terminology. Update the style guidelines to recommend replacements for the terms master/slave and blacklist/whitelist.
Link: http://lore.kernel.org/r/159389297140.2210796.13590142254668787525.st...@dwillia2-desk3.amr.corp.intel.com Cc: Jonathan Corbet <cor...@lwn.net> Acked-by: Randy Dunlap <rdun...@infradead.org> Acked-by: Dave Airlie <airl...@redhat.com> Acked-by: Kees Cook <keesc...@chromium.org> Acked-by: SeongJae Park <sjp...@amazon.de> Signed-off-by: Olof Johansson <o...@lixom.net> Signed-off-by: Chris Mason <c...@fb.clm> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org> Signed-off-by: Dan Williams <dan.j.willi...@intel.com> --- Changes since v1 [1] - Drop inclusive-terminology.rst, it is in the lore archives if the arguments are needed for future debates, but otherwise no pressing need to carry it in the tree (Linus, James) - Update the recommended terms to include replacement for 'master' and 'whitelist' (Kees, Andy) - Add 'target' as a replacement (Andy) - Add 'device' as a replacement (Mark) - Collect acks and signed-off-bys. Yes, the sign-offs are not reflective of a submission chain, but I kept "Signed-off-by" if people offered it. - Non-change: I did not add explicit language as to what to do with existing usages. My personal inclination is to prioritize this coding-style cleanup higher than others, but the coding-style document has typically not indicated policy on how cleanups are handled by subsystems. It will be a case by case effort and consideration. [1]: http://lore.kernel.org/r/159389297140.2210796.13590142254668787525.st...@dwillia2-desk3.amr.corp.intel.com Documentation/process/coding-style.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst index 2657a55c6f12..a5b61e9005ac 100644 --- a/Documentation/process/coding-style.rst +++ b/Documentation/process/coding-style.rst @@ -319,6 +319,19 @@ If you are afraid to mix up your local variable names, you have another problem, which is called the function-growth-hormone-imbalance syndrome. See chapter 6 (Functions). +For symbol names, avoid introducing new usage of 'master/slave' (or +'slave' independent of 'master') and 'blacklist/whitelist'. Recommended +replacements for 'master/slave' are: 'main/{secondary,subordinate}', +'primary/replica', '{initiator,requester}/{target,responder}', +'host/{device,proxy}', or 'leader/{performer,follower}'. Recommended +replacements for 'blacklist/whitelist' are: 'denylist/allowlist' or +'blocklist/passlist'. + +Exceptions for introducing new usage is to maintain a userspace ABI/API, +or when updating code for an existing (as of 2020) hardware or protocol +specification that mandates those terms. For new specifications +translate specification usage of the terminology to the kernel coding +standard where possible. 5) Typedefs -----------