int drm_release (struct inode * inode, struct file * filp);
\param inode device inode \param filp file pointer. \return zero on success or a negative number on failure.
If the hardware lock is held then free it, and take it again for the kernel context since it's necessary to reclaim buffers. Unlink the file private data from its list and free it. Decreases the open count and if it reaches zero calls takedown.