title: Order of preference - printk() vs dev_dbg() vs netdev_dbg()
body: <p>I recently ran a the scripts/checkpatch.pl script within the linux source tree and got this Warning:</p>
  
  <pre><code>WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then pr_debug(...  to printk(KERN_DEBUG ...
  printk(KERN_DEBUG "Hello World! \n");
  </code></pre>
  
  <p>I understand that the dynamic debugging interface offered by pr_debug and dev_dbg has obvious advantages to printk and therefore they are preferred to printk. </p>
  
  <p>Even amongst dev_dbg and pr_debug, we prefer dev_dbg if we have a struct device to standardize device information output along with our debug message. It offers escape from the "edit/rebuild/reboot cycle" and also allows to maintain a neat log through dynamic_debug/control interface.</p>
  
  <p>My question is:
  <strong>Why is netdev_dbg preferred to dev_dbg?</strong></p>