title: What is EXPORT_SYMBOL_GPL in Linux kernel code?
body: <p>What is EXPORT_SYMBOL_GPL in Linux kernel code?</p>
  
  <p>Below is a piece of code, which contains EXPORT_SYMBOL_GPL</p>
  
  <pre><code>62 struct resource *platform_get_resource(struct platform_device *dev,
   63                                        unsigned int type, unsigned int num)
   64 {
   65         int i;
   66 
   67         for (i = 0; i &lt; dev-&gt;num_resources; i++) {
   68                 struct resource *r = &amp;dev-&gt;resource[i];
   69 
   70                 if (type == resource_type(r) &amp;&amp; num-- == 0)
   71                         return r;
   72         }
   73         return NULL;
   74 }
   75 EXPORT_SYMBOL_GPL(platform_get_resource);
  </code></pre>
  
  <p>That macro appears many a times in kernel code...</p>