title: Linux module __must_check annotation
body: <p>I am learning about Linux kernel module development. I read articles and tutorials, and I found a site which supplies source code for a simple char device. </p>
  
  <p>In the code a <code>__must_check</code> is used for one function. </p>
  
  <p>Here is the prototype:</p>
  
  <pre><code>__must_check int register_device(void);
  </code></pre>
  
  <p>This is the function:</p>
  
  <pre><code>int register_device(void)
  {
    int result = 0;
  
    printk( KERN_NOTICE "Simple-driver: register_device() is called." );
  
    result = register_chrdev( 0, device_name, &amp;simple_driver_fops );
    if( result &lt; 0 )
    {
       printk( KERN_WARNING "Simple-driver:  can\'t register character device with errorcode = %i", result );
       return result;
    }
  
    device_file_major_number = result;
    printk( KERN_NOTICE "Simple-driver: registered character device with major number = %i and minor numbers 0...255"
                , device_file_major_number );
  
    return 0;
  }
  </code></pre>
  
  <p>What is the utility of <code>__must_check</code>? This is the only code I found that used this.</p>