aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/SubmittingDrivers
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2016-09-19 07:07:52 -0400
committerJonathan Corbet <corbet@lwn.net>2016-09-20 20:39:07 -0400
commitceeb1a541556dc4aacd8f51d2000a55b079fa3da (patch)
treecab09f57024981734325d186a6dabe50059c3d8c /Documentation/SubmittingDrivers
parent5fe270a47ebf594a3c538a3c44e9a20a96015b19 (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/SubmittingDrivers45
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 @@
1Submitting Drivers For The Linux Kernel 1Submitting Drivers For The Linux Kernel
2--------------------------------------- 2=======================================
3 3
4This document is intended to explain how to submit device drivers to the 4This document is intended to explain how to submit device drivers to the
5various kernel trees. Note that if you are interested in video card drivers 5various kernel trees. Note that if you are interested in video card drivers
@@ -46,34 +46,39 @@ Linux 2.6:
46What Criteria Determine Acceptance 46What Criteria Determine Acceptance
47---------------------------------- 47----------------------------------
48 48
49Licensing: The code must be released to us under the 49Licensing:
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
56Copyright: The copyright owner must agree to use of GPL. 57Copyright:
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
63Interfaces: If your driver uses existing interfaces and behaves like 65Interfaces:
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
69Code: Please use the Linux style of code formatting as documented 72Code:
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
76Portability: Pointers are not always 32bits, not all computers are little 80Portability:
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
84Clarity: It helps if anyone can see how to fix the driver. It helps 89Clarity:
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
89PM support: Since Linux is used on many portable and desktop systems, your 95PM 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
104Control: In general if there is active maintenance of a driver by 111Control:
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
111What Criteria Do Not Determine Acceptance 119What Criteria Do Not Determine Acceptance
112----------------------------------------- 120-----------------------------------------
113 121
114Vendor: Being the hardware vendor and maintaining the driver is 122Vendor:
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
120Author: It doesn't matter if a large Linux company wrote the driver, 129Author:
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
129Linux kernel master tree: 139Linux 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
142LWN.net: 154LWN.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
149KernelNewbies: 165KernelNewbies:
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
153Linux USB project: 170Linux USB project:
154 http://www.linux-usb.org/ 171 http://www.linux-usb.org/