+++ /dev/null
-.. _submittingdrivers:
-
-Submitting Drivers For The Linux Kernel
-=======================================
-
-This document is intended to explain how to submit device drivers to the
-various kernel trees. Note that if you are interested in video card drivers
-you should probably talk to XFree86 (https://www.xfree86.org/) and/or X.Org
-(https://x.org/) instead.
-
-.. note::
-
-   This document is old and has seen little maintenance in recent years; it
-   should probably be updated or, perhaps better, just deleted.  Most of
-   what is here can be found in the other development documents anyway.
-
-   Oh, and we don't really recommend submitting changes to XFree86 :)
-
-Also read the :ref:`Documentation/process/submitting-patches.rst <submittingpatches>`
-document.
-
-
-Allocating Device Numbers
--------------------------
-
-Major and minor numbers for block and character devices are allocated
-by the Linux assigned name and number authority (currently this is
-Torben Mathiasen). The site is https://www.lanana.org/. This
-also deals with allocating numbers for devices that are not going to
-be submitted to the mainstream kernel.
-See :ref:`Documentation/admin-guide/devices.rst <admin_devices>`
-for more information on this.
-
-If you don't use assigned numbers then when your device is submitted it will
-be given an assigned number even if that is different from values you may
-have shipped to customers before.
-
-Who To Submit Drivers To
-------------------------
-
-Linux 2.0:
-       No new drivers are accepted for this kernel tree.
-
-Linux 2.2:
-       No new drivers are accepted for this kernel tree.
-
-Linux 2.4:
-       If the code area has a general maintainer then please submit it to
-       the maintainer listed in MAINTAINERS in the kernel file. If the
-       maintainer does not respond or you cannot find the appropriate
-       maintainer then please contact Willy Tarreau <w@1wt.eu>.
-
-Linux 2.6 and upper:
-       The same rules apply as 2.4 except that you should follow linux-kernel
-       to track changes in API's. The final contact point for Linux 2.6+
-       submissions is Andrew Morton.
-
-What Criteria Determine Acceptance
-----------------------------------
-
-Licensing:
-               The code must be released to us under the
-               GNU General Public License. If you wish the driver to be
-               useful to other communities such as BSD you may release
-               under multiple licenses. If you choose to release under
-               licenses other than the GPL, you should include your
-               rationale for your license choices in your cover letter.
-               See accepted licenses at include/linux/module.h
-
-Copyright:
-               The copyright owner must agree to use of GPL.
-               It's best if the submitter and copyright owner
-               are the same person/entity. If not, the name of
-               the person/entity authorizing use of GPL should be
-               listed in case it's necessary to verify the will of
-               the copyright owner.
-
-Interfaces:
-               If your driver uses existing interfaces and behaves like
-               other drivers in the same class it will be much more likely
-               to be accepted than if it invents gratuitous new ones.
-               If you need to implement a common API over Linux and NT
-               drivers do it in userspace.
-
-Code:
-               Please use the Linux style of code formatting as documented
-               in :ref:`Documentation/process/coding-style.rst <codingStyle>`.
-               If you have sections of code
-               that need to be in other formats, for example because they
-               are shared with a windows driver kit and you want to
-               maintain them just once separate them out nicely and note
-               this fact.
-
-Portability:
-               Pointers are not always 32bits, not all computers are little
-               endian, people do not all have floating point and you
-               shouldn't use inline x86 assembler in your driver without
-               careful thought. Pure x86 drivers generally are not popular.
-               If you only have x86 hardware it is hard to test portability
-               but it is easy to make sure the code can easily be made
-               portable.
-
-Clarity:
-               It helps if anyone can see how to fix the driver. It helps
-               you because you get patches not bug reports. If you submit a
-               driver that intentionally obfuscates how the hardware works
-               it will go in the bitbucket.
-
-PM support:
-               Since Linux is used on many portable and desktop systems, your
-               driver is likely to be used on such a system and therefore it
-               should support basic power management by implementing, if
-               necessary, the .suspend and .resume methods used during the
-               system-wide suspend and resume transitions.  You should verify
-               that your driver correctly handles the suspend and resume, but
-               if you are unable to ensure that, please at least define the
-               .suspend method returning the -ENOSYS ("Function not
-               implemented") error.  You should also try to make sure that your
-               driver uses as little power as possible when it's not doing
-               anything.  For the driver testing instructions see
-               Documentation/power/drivers-testing.rst and for a relatively
-               complete overview of the power management issues related to
-               drivers see :ref:`Documentation/driver-api/pm/devices.rst <driverapi_pm_devices>`.
-
-Control:
-               In general if there is active maintenance of a driver by
-               the author then patches will be redirected to them unless
-               they are totally obvious and without need of checking.
-               If you want to be the contact and update point for the
-               driver it is a good idea to state this in the comments,
-               and include an entry in MAINTAINERS for your driver.
-
-What Criteria Do Not Determine Acceptance
------------------------------------------
-
-Vendor:
-               Being the hardware vendor and maintaining the driver is
-               often a good thing. If there is a stable working driver from
-               other people already in the tree don't expect 'we are the
-               vendor' to get your driver chosen. Ideally work with the
-               existing driver author to build a single perfect driver.
-
-Author:
-               It doesn't matter if a large Linux company wrote the driver,
-               or you did. Nobody has any special access to the kernel
-               tree. Anyone who tells you otherwise isn't telling the
-               whole story.
-
-
-Resources
----------
-
-Linux kernel master tree:
-       ftp.\ *country_code*\ .kernel.org:/pub/linux/kernel/...
-
-       where *country_code* == your country code, such as
-       **us**, **uk**, **fr**, etc.
-
-       https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git
-
-Linux kernel mailing list:
-       linux-kernel@vger.kernel.org
-       [mail majordomo@vger.kernel.org to subscribe]
-
-Linux Device Drivers, Third Edition (covers 2.6.10):
-       https://lwn.net/Kernel/LDD3/  (free version)
-
-LWN.net:
-       Weekly summary of kernel development activity - https://lwn.net/
-
-       2.6 API changes:
-
-               https://lwn.net/Articles/2.6-kernel-api/
-
-       Porting drivers from prior kernels to 2.6:
-
-               https://lwn.net/Articles/driver-porting/
-
-KernelNewbies:
-       Documentation and assistance for new kernel programmers
-
-               https://kernelnewbies.org/
-
-Linux USB project:
-       http://www.linux-usb.org/
-
-How to NOT write kernel driver by Arjan van de Ven:
-       https://landley.net/kdocs/ols/2002/ols2002-pages-545-555.pdf
-
-Kernel Janitor:
-       https://kernelnewbies.org/KernelJanitors
-
-GIT, Fast Version Control System:
-       https://git-scm.com/