media: ov5640: change 1080p resolution to 1088p
[linux-2.6.git] / Documentation / SubmittingDrivers
index c3cca92..36d16bb 100644 (file)
@@ -27,23 +27,21 @@ Who To Submit Drivers To
 ------------------------
 
 Linux 2.0:
-       No new drivers are accepted for this kernel tree
+       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 the 2.2 kernel maintainer:
-       Marc-Christian Petersen <m.c.p@wolk-project.de>.
-
-Linux 2.4:
-       The same rules apply as 2.2. The final contact point for Linux 2.4
-       submissions is Marcelo Tosatti <marcelo.tosatti@cyclades.com>.
+       maintainer then please contact Willy Tarreau <w@1wt.eu>.
 
 Linux 2.6:
        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 <akpm@osdl.org>.
+       submissions is Andrew Morton.
 
 What Criteria Determine Acceptance
 ----------------------------------
@@ -53,17 +51,18 @@ Licensing:  The code must be released to us under the
                of exclusive GPL licensing, and if you wish the driver
                to be useful to other communities such as BSD you may well
                wish to release under multiple licenses.
+               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 copright owner.
+               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. 
+               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.
 
@@ -87,8 +86,23 @@ Clarity:     It helps if anyone can see how to fix the driver. It helps
                driver that intentionally obfuscates how the hardware works
                it will go in the bitbucket.
 
-Control:       In general if there is active maintainance of a driver by
-               the author then patches will be redirected to them unless 
+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.txt and for a relatively
+               complete overview of the power management issues related to
+               drivers see Documentation/power/devices.txt .
+
+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,
@@ -100,7 +114,7 @@ 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 
+               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,
@@ -116,17 +130,15 @@ Linux kernel master tree:
        ftp.??.kernel.org:/pub/linux/kernel/...
        ?? == your country code, such as "us", "uk", "fr", etc.
 
-Linux kernel mailing list:             
+       http://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):
        http://lwn.net/Kernel/LDD3/  (free version)
 
-Kernel traffic:
-       Weekly summary of kernel list activity (much easier to read)
-       http://www.kerneltraffic.org/kernel-traffic/
-
 LWN.net:
        Weekly summary of kernel development activity - http://lwn.net/
        2.6 API changes:
@@ -143,5 +155,13 @@ KernelNewbies:
        http://kernelnewbies.org/
 
 Linux USB project:
-       http://sourceforge.net/projects/linux-usb/
+       http://www.linux-usb.org/
+
+How to NOT write kernel driver by Arjan van de Ven:
+       http://www.fenrus.org/how-to-not-write-a-device-driver-paper.pdf
+
+Kernel Janitor:
+       http://kernelnewbies.org/KernelJanitors
 
+GIT, Fast Version Control System:
+       http://git-scm.com/