]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - Documentation/SubmittingDrivers
hwmon: (it87) Add support for old automatic fan speed control
[linux-2.6.git] / Documentation / SubmittingDrivers
index 6bd30fdd0786b9a7c64aa4c34f5a732b4c7096e0..99e72a81fa2fac5570708ed419e7a89b19040f1c 100644 (file)
@@ -36,13 +36,12 @@ 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 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
 ----------------------------------
@@ -59,11 +58,11 @@ Copyright:  The copyright owner must agree to use of GPL.
                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.
 
+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 maintainance of a driver by
-               the author then patches will be redirected to them unless 
+               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,13 @@ Linux kernel master tree:
        ftp.??.kernel.org:/pub/linux/kernel/...
        ?? == your country code, such as "us", "uk", "fr", etc.
 
-Linux kernel mailing list:             
+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:
@@ -145,11 +155,8 @@ KernelNewbies:
 Linux USB project:
        http://www.linux-usb.org/
 
-How to NOT write kernel driver by arjanv@redhat.com
-       http://people.redhat.com/arjanv/olspaper.pdf
+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://janitor.kernelnewbies.org/
-
---
-Last updated on 17 Nov 2005.