Documentation: extend use case for EXPORT_SYMBOL_GPL()
authorLuis R. Rodriguez <mcgrof@suse.com>
Thu, 28 May 2015 18:56:01 +0000 (11:56 -0700)
committerJonathan Corbet <corbet@lwn.net>
Thu, 4 Jun 2015 22:39:46 +0000 (07:39 +0900)
Current documentation over use case for EXPORT_SYMBOL_GPL()
only acknowledges functions which are "an internal implementation
issue, and not really an interface". In practice these days
though we have some maintainers taking on preferences to require
all new functionality go in with EXPORT_SYMBOL_GPL().

A maintainer asking developers to use EXPORT_SYMBOL_GPL()
for new functionality tends to be a well accepted and understood
position that maintainers can take and typically requires the
maintainers educating contributing developers on their own
positions and requirements.

Developers who submit code to maintainers not familiar with
these preferences as optional for new functionality need explicit
guidence though as existing documentation does not acknowledge
this as a valid possibility. Without this being documented some
maintainers are reluctant to accept new functionality with
EXPORT_SYMBOL_GPL().

This extends the use case documentation for EXPORT_SYMBOL_GPL()
to acknowledge acceptance for new functionality.

Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com>
[jc: wording tweaked with permission]
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/DocBook/kernel-hacking.tmpl

index e84f094..589b40c 100644 (file)
@@ -954,6 +954,8 @@ printk(KERN_INFO "my ip: %pI4\n", &amp;ipaddress);
     <function>MODULE_LICENSE()</function> that specifies a GPL
     compatible license.  It implies that the function is considered
     an internal implementation issue, and not really an interface.
+    Some maintainers and developers may however
+    require EXPORT_SYMBOL_GPL() when adding any new APIs or functionality.
    </para>
   </sect1>
  </chapter>