diff options
| author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-09-19 07:07:52 -0400 |
|---|---|---|
| committer | Jonathan Corbet <corbet@lwn.net> | 2016-09-20 20:39:07 -0400 |
| commit | ceeb1a541556dc4aacd8f51d2000a55b079fa3da (patch) | |
| tree | cab09f57024981734325d186a6dabe50059c3d8c /Documentation/SubmittingDrivers | |
| parent | 5fe270a47ebf594a3c538a3c44e9a20a96015b19 (diff) | |
Documentation/SubmittingDrivers: convert it to ReST markup
- Change the document title markup to make it on a higher level;
- Add blank lines as needed, to improve the output;
- use italics for the country-code at kernel.org ftp URL.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/SubmittingDrivers')
| -rw-r--r-- | Documentation/SubmittingDrivers | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/Documentation/SubmittingDrivers b/Documentation/SubmittingDrivers index 31d372609ac0..a2f30a9e28d1 100644 --- a/Documentation/SubmittingDrivers +++ b/Documentation/SubmittingDrivers | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | Submitting Drivers For The Linux Kernel | 1 | Submitting Drivers For The Linux Kernel |
| 2 | --------------------------------------- | 2 | ======================================= |
| 3 | 3 | ||
| 4 | This document is intended to explain how to submit device drivers to the | 4 | This document is intended to explain how to submit device drivers to the |
| 5 | various kernel trees. Note that if you are interested in video card drivers | 5 | various kernel trees. Note that if you are interested in video card drivers |
| @@ -46,34 +46,39 @@ Linux 2.6: | |||
| 46 | What Criteria Determine Acceptance | 46 | What Criteria Determine Acceptance |
| 47 | ---------------------------------- | 47 | ---------------------------------- |
| 48 | 48 | ||
| 49 | Licensing: The code must be released to us under the | 49 | Licensing: |
| 50 | The code must be released to us under the | ||
| 50 | GNU General Public License. We don't insist on any kind | 51 | GNU General Public License. We don't insist on any kind |
| 51 | of exclusive GPL licensing, and if you wish the driver | 52 | of exclusive GPL licensing, and if you wish the driver |
| 52 | to be useful to other communities such as BSD you may well | 53 | to be useful to other communities such as BSD you may well |
| 53 | wish to release under multiple licenses. | 54 | wish to release under multiple licenses. |
| 54 | See accepted licenses at include/linux/module.h | 55 | See accepted licenses at include/linux/module.h |
| 55 | 56 | ||
| 56 | Copyright: The copyright owner must agree to use of GPL. | 57 | Copyright: |
| 58 | The copyright owner must agree to use of GPL. | ||
| 57 | It's best if the submitter and copyright owner | 59 | It's best if the submitter and copyright owner |
| 58 | are the same person/entity. If not, the name of | 60 | are the same person/entity. If not, the name of |
| 59 | the person/entity authorizing use of GPL should be | 61 | the person/entity authorizing use of GPL should be |
| 60 | listed in case it's necessary to verify the will of | 62 | listed in case it's necessary to verify the will of |
| 61 | the copyright owner. | 63 | the copyright owner. |
| 62 | 64 | ||
| 63 | Interfaces: If your driver uses existing interfaces and behaves like | 65 | Interfaces: |
| 66 | If your driver uses existing interfaces and behaves like | ||
| 64 | other drivers in the same class it will be much more likely | 67 | other drivers in the same class it will be much more likely |
| 65 | to be accepted than if it invents gratuitous new ones. | 68 | to be accepted than if it invents gratuitous new ones. |
| 66 | If you need to implement a common API over Linux and NT | 69 | If you need to implement a common API over Linux and NT |
| 67 | drivers do it in userspace. | 70 | drivers do it in userspace. |
| 68 | 71 | ||
| 69 | Code: Please use the Linux style of code formatting as documented | 72 | Code: |
| 73 | Please use the Linux style of code formatting as documented | ||
| 70 | in Documentation/CodingStyle. If you have sections of code | 74 | in Documentation/CodingStyle. If you have sections of code |
| 71 | that need to be in other formats, for example because they | 75 | that need to be in other formats, for example because they |
| 72 | are shared with a windows driver kit and you want to | 76 | are shared with a windows driver kit and you want to |
| 73 | maintain them just once separate them out nicely and note | 77 | maintain them just once separate them out nicely and note |
| 74 | this fact. | 78 | this fact. |
| 75 | 79 | ||
| 76 | Portability: Pointers are not always 32bits, not all computers are little | 80 | Portability: |
| 81 | Pointers are not always 32bits, not all computers are little | ||
| 77 | endian, people do not all have floating point and you | 82 | endian, people do not all have floating point and you |
| 78 | shouldn't use inline x86 assembler in your driver without | 83 | shouldn't use inline x86 assembler in your driver without |
| 79 | careful thought. Pure x86 drivers generally are not popular. | 84 | careful thought. Pure x86 drivers generally are not popular. |
| @@ -81,12 +86,14 @@ Portability: Pointers are not always 32bits, not all computers are little | |||
| 81 | but it is easy to make sure the code can easily be made | 86 | but it is easy to make sure the code can easily be made |
| 82 | portable. | 87 | portable. |
| 83 | 88 | ||
| 84 | Clarity: It helps if anyone can see how to fix the driver. It helps | 89 | Clarity: |
| 90 | It helps if anyone can see how to fix the driver. It helps | ||
| 85 | you because you get patches not bug reports. If you submit a | 91 | you because you get patches not bug reports. If you submit a |
| 86 | driver that intentionally obfuscates how the hardware works | 92 | driver that intentionally obfuscates how the hardware works |
| 87 | it will go in the bitbucket. | 93 | it will go in the bitbucket. |
| 88 | 94 | ||
| 89 | PM support: Since Linux is used on many portable and desktop systems, your | 95 | PM support: |
| 96 | Since Linux is used on many portable and desktop systems, your | ||
| 90 | driver is likely to be used on such a system and therefore it | 97 | driver is likely to be used on such a system and therefore it |
| 91 | should support basic power management by implementing, if | 98 | should support basic power management by implementing, if |
| 92 | necessary, the .suspend and .resume methods used during the | 99 | necessary, the .suspend and .resume methods used during the |
| @@ -101,7 +108,8 @@ PM support: Since Linux is used on many portable and desktop systems, your | |||
| 101 | complete overview of the power management issues related to | 108 | complete overview of the power management issues related to |
| 102 | drivers see Documentation/power/devices.txt . | 109 | drivers see Documentation/power/devices.txt . |
| 103 | 110 | ||
| 104 | Control: In general if there is active maintenance of a driver by | 111 | Control: |
| 112 | In general if there is active maintenance of a driver by | ||
| 105 | the author then patches will be redirected to them unless | 113 | the author then patches will be redirected to them unless |
| 106 | they are totally obvious and without need of checking. | 114 | they are totally obvious and without need of checking. |
| 107 | If you want to be the contact and update point for the | 115 | If you want to be the contact and update point for the |
| @@ -111,13 +119,15 @@ Control: In general if there is active maintenance of a driver by | |||
| 111 | What Criteria Do Not Determine Acceptance | 119 | What Criteria Do Not Determine Acceptance |
| 112 | ----------------------------------------- | 120 | ----------------------------------------- |
| 113 | 121 | ||
| 114 | Vendor: Being the hardware vendor and maintaining the driver is | 122 | Vendor: |
| 123 | Being the hardware vendor and maintaining the driver is | ||
| 115 | often a good thing. If there is a stable working driver from | 124 | often a good thing. If there is a stable working driver from |
| 116 | other people already in the tree don't expect 'we are the | 125 | other people already in the tree don't expect 'we are the |
| 117 | vendor' to get your driver chosen. Ideally work with the | 126 | vendor' to get your driver chosen. Ideally work with the |
| 118 | existing driver author to build a single perfect driver. | 127 | existing driver author to build a single perfect driver. |
| 119 | 128 | ||
| 120 | Author: It doesn't matter if a large Linux company wrote the driver, | 129 | Author: |
| 130 | It doesn't matter if a large Linux company wrote the driver, | ||
| 121 | or you did. Nobody has any special access to the kernel | 131 | or you did. Nobody has any special access to the kernel |
| 122 | tree. Anyone who tells you otherwise isn't telling the | 132 | tree. Anyone who tells you otherwise isn't telling the |
| 123 | whole story. | 133 | whole story. |
| @@ -127,8 +137,10 @@ Resources | |||
| 127 | --------- | 137 | --------- |
| 128 | 138 | ||
| 129 | Linux kernel master tree: | 139 | Linux kernel master tree: |
| 130 | ftp.??.kernel.org:/pub/linux/kernel/... | 140 | ftp.\ *country_code*\ .kernel.org:/pub/linux/kernel/... |
| 131 | ?? == your country code, such as "us", "uk", "fr", etc. | 141 | |
| 142 | where *country_code* == your country code, such as | ||
| 143 | **us**, **uk**, **fr**, etc. | ||
| 132 | 144 | ||
| 133 | http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git | 145 | http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git |
| 134 | 146 | ||
| @@ -141,14 +153,19 @@ Linux Device Drivers, Third Edition (covers 2.6.10): | |||
| 141 | 153 | ||
| 142 | LWN.net: | 154 | LWN.net: |
| 143 | Weekly summary of kernel development activity - http://lwn.net/ | 155 | Weekly summary of kernel development activity - http://lwn.net/ |
| 156 | |||
| 144 | 2.6 API changes: | 157 | 2.6 API changes: |
| 158 | |||
| 145 | http://lwn.net/Articles/2.6-kernel-api/ | 159 | http://lwn.net/Articles/2.6-kernel-api/ |
| 160 | |||
| 146 | Porting drivers from prior kernels to 2.6: | 161 | Porting drivers from prior kernels to 2.6: |
| 162 | |||
| 147 | http://lwn.net/Articles/driver-porting/ | 163 | http://lwn.net/Articles/driver-porting/ |
| 148 | 164 | ||
| 149 | KernelNewbies: | 165 | KernelNewbies: |
| 150 | Documentation and assistance for new kernel programmers | 166 | Documentation and assistance for new kernel programmers |
| 151 | http://kernelnewbies.org/ | 167 | |
| 168 | http://kernelnewbies.org/ | ||
| 152 | 169 | ||
| 153 | Linux USB project: | 170 | Linux USB project: |
| 154 | http://www.linux-usb.org/ | 171 | http://www.linux-usb.org/ |
