title: uint8_t is recognized as a data-type but u8 isn't. Why?
body: <p>I'm learning to create kernel modules on Raspbian Jessie based on <a href="http://www.tldp.org/LDP/lkmpg/2.6/html/index.html" rel="nofollow noreferrer">The Linux Kernel Module Programming Guide</a></p>
  
  <p>Currently I'm on <a href="http://www.tldp.org/LDP/lkmpg/2.6/html/x323.html#AEN345" rel="nofollow noreferrer">hello-5.c</a> part. I tried to add <code>static u8 myByte = 'X';</code> but <code>u8</code> is not recognized. Then I changed <code>u8</code> with <code>uint8_t</code> which is the same thing AFAIK and <code>uint8_t</code> is recognized as a data-type. </p>
  
  <p>The older version of the tutorial <a href="http://www.tldp.org/LDP/lkmpg/2.4/html/x354.htm" rel="nofollow noreferrer">here</a> stated <code>static u8 myByte = 'X';</code>, so I want to reuse it with the newer tutorial.</p>
  
  <p>The older tutorial included these:</p>
  
  <pre><code>#define MODULE
  #define LINUX
  #define __KERNEL__
  
  #include &lt;linux/module.h&gt;
  #include &lt;linux/kernel.h&gt;
  #include &lt;linux/init.h&gt;
  </code></pre>
  
  <p>While the newer tutorial included these;</p>
  
  <pre><code>#include &lt;linux/module.h&gt;
  #include &lt;linux/moduleparam.h&gt;
  #include &lt;linux/kernel.h&gt;
  #include &lt;linux/init.h&gt;
  #include &lt;linux/stat.h&gt;
  </code></pre>
  
  <p>I've tried using the old one, but the <code>define</code> part generates errors, so I used the newer tutorial.</p>
  
  <p>So, why <code>uint8_t</code> can be recognized while <code>u8</code> cannot in the newer version?</p>