title: Where do you get inode functionality from?
body: <p>I've got some linux drivers I'm trying to port from linux 2.4 to 3.0. During this lengthy span of time, the argument list of ioctl (unlocked_ioctl now) changed a bit:</p>
  
  <pre><code>-static int can_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
  +static long can_ioctl(struct file *file, unsigned int cmd, unsigned long arg) 
  </code></pre>
  
  <p>The code was using the inode to get the minor version and was passing it to some other commands. Now that inode isn't a "free-be" given in the ioctl parameter list, how can I get it? </p>
  
  <p>Is it possible to derive from the file pointer? or should I "save" a global pointer to it when it shows up in the _open() method? I'd rather avoid that if there's a better way.</p>