Documentation: riscv: add patch acceptance guidelines

Formalize, in kernel documentation, the patch acceptance policy for
arch/riscv. In summary, it states that as maintainers, we plan to
only accept patches for new modules or extensions that have been
frozen or ratified by the RISC-V Foundation.

We've been following these guidelines for the past few months. In the
meantime, we've received quite a bit of feedback that it would be
helpful to have these guidelines formally documented.

Based on a suggestion from Matthew Wilcox, we also add a link to this
file to Documentation/process/index.rst, to make this document easier
to find. The format of this document has also been changed to align
to the format outlined in the maintainer entry profiles, in accordance
with comments from Jon Corbet and Dan Williams.

Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Krste Asanovic <krste@berkeley.edu>
Cc: Andrew Waterman <waterman@eecs.berkeley.edu>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Jonathan Corbet <corbet@lwn.net>

Changed files
+38
Documentation
+1
Documentation/process/index.rst
··· 60 60 volatile-considered-harmful 61 61 botching-up-ioctls 62 62 clang-format 63 + ../riscv/patch-acceptance 63 64 64 65 .. only:: subproject and html 65 66
+1
Documentation/riscv/index.rst
··· 7 7 8 8 boot-image-header 9 9 pmu 10 + patch-acceptance 10 11 11 12 .. only:: subproject and html 12 13
+35
Documentation/riscv/patch-acceptance.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + arch/riscv maintenance guidelines for developers 4 + ================================================ 5 + 6 + Overview 7 + -------- 8 + The RISC-V instruction set architecture is developed in the open: 9 + in-progress drafts are available for all to review and to experiment 10 + with implementations. New module or extension drafts can change 11 + during the development process - sometimes in ways that are 12 + incompatible with previous drafts. This flexibility can present a 13 + challenge for RISC-V Linux maintenance. Linux maintainers disapprove 14 + of churn, and the Linux development process prefers well-reviewed and 15 + tested code over experimental code. We wish to extend these same 16 + principles to the RISC-V-related code that will be accepted for 17 + inclusion in the kernel. 18 + 19 + Submit Checklist Addendum 20 + ------------------------- 21 + We'll only accept patches for new modules or extensions if the 22 + specifications for those modules or extensions are listed as being 23 + "Frozen" or "Ratified" by the RISC-V Foundation. (Developers may, of 24 + course, maintain their own Linux kernel trees that contain code for 25 + any draft extensions that they wish.) 26 + 27 + Additionally, the RISC-V specification allows implementors to create 28 + their own custom extensions. These custom extensions aren't required 29 + to go through any review or ratification process by the RISC-V 30 + Foundation. To avoid the maintenance complexity and potential 31 + performance impact of adding kernel code for implementor-specific 32 + RISC-V extensions, we'll only to accept patches for extensions that 33 + have been officially frozen or ratified by the RISC-V Foundation. 34 + (Implementors, may, of course, maintain their own Linux kernel trees 35 + containing code for any custom extensions that they wish.)
+1
MAINTAINERS
··· 14119 14119 M: Palmer Dabbelt <palmer@dabbelt.com> 14120 14120 M: Albert Ou <aou@eecs.berkeley.edu> 14121 14121 L: linux-riscv@lists.infradead.org 14122 + P: Documentation/riscv/patch-acceptance.rst 14122 14123 T: git git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git 14123 14124 S: Supported 14124 14125 F: arch/riscv/