
Pull compiler attribute updates from Miguel Ojeda: "This is an effort to disentangle the include/linux/compiler*.h headers and bring them up to date. The main idea behind the series is to use feature checking macros (i.e. __has_attribute) instead of compiler version checks (e.g. GCC_VERSION), which are compiler-agnostic (so they can be shared, reducing the size of compiler-specific headers) and version-agnostic. Other related improvements have been performed in the headers as well, which on top of the use of __has_attribute it has amounted to a significant simplification of these headers (e.g. GCC_VERSION is now only guarding a few non-attribute macros). This series should also help the efforts to support compiling the kernel with clang and icc. A fair amount of documentation and comments have also been added, clarified or removed; and the headers are now more readable, which should help kernel developers in general. The series was triggered due to the move to gcc >= 4.6. In turn, this series has also triggered Sparse to gain the ability to recognize __has_attribute on its own. Finally, the __nonstring variable attribute series has been also applied on top; plus two related patches from Nick Desaulniers for unreachable() that came a bit afterwards" * tag 'compiler-attributes-for-linus-4.20-rc1' of https://github.com/ojeda/linux: compiler-gcc: remove comment about gcc 4.5 from unreachable() compiler.h: update definition of unreachable() Compiler Attributes: ext4: remove local __nonstring definition Compiler Attributes: auxdisplay: panel: use __nonstring Compiler Attributes: enable -Wstringop-truncation on W=1 (gcc >= 8) Compiler Attributes: add support for __nonstring (gcc >= 8) Compiler Attributes: add MAINTAINERS entry Compiler Attributes: add Doc/process/programming-language.rst Compiler Attributes: remove uses of __attribute__ from compiler.h Compiler Attributes: KENTRY used twice the "used" attribute Compiler Attributes: use feature checks instead of version checks Compiler Attributes: add missing SPDX ID in compiler_types.h Compiler Attributes: remove unneeded sparse (__CHECKER__) tests Compiler Attributes: homogenize __must_be_array Compiler Attributes: remove unneeded tests Compiler Attributes: always use the extra-underscores syntax Compiler Attributes: remove unused attributes
67 lines
1.4 KiB
ReStructuredText
67 lines
1.4 KiB
ReStructuredText
.. raw:: latex
|
|
|
|
\renewcommand\thesection*
|
|
\renewcommand\thesubsection*
|
|
|
|
.. _process_index:
|
|
|
|
Working with the kernel development community
|
|
=============================================
|
|
|
|
So you want to be a Linux kernel developer? Welcome! While there is a lot
|
|
to be learned about the kernel in a technical sense, it is also important
|
|
to learn about how our community works. Reading these documents will make
|
|
it much easier for you to get your changes merged with a minimum of
|
|
trouble.
|
|
|
|
Below are the essential guides that every developer should read.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
license-rules
|
|
howto
|
|
code-of-conduct
|
|
code-of-conduct-interpretation
|
|
development-process
|
|
submitting-patches
|
|
programming-language
|
|
coding-style
|
|
maintainer-pgp-guide
|
|
email-clients
|
|
kernel-enforcement-statement
|
|
kernel-driver-statement
|
|
|
|
Other guides to the community that are of interest to most developers are:
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
changes
|
|
submitting-drivers
|
|
stable-api-nonsense
|
|
management-style
|
|
stable-kernel-rules
|
|
submit-checklist
|
|
kernel-docs
|
|
deprecated
|
|
|
|
These are some overall technical guides that have been put here for now for
|
|
lack of a better place.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
applying-patches
|
|
adding-syscalls
|
|
magic-number
|
|
volatile-considered-harmful
|
|
clang-format
|
|
|
|
.. only:: subproject and html
|
|
|
|
Indices
|
|
=======
|
|
|
|
* :ref:`genindex`
|