This describes how the VFS can manipulate an open file. It then calls the open method for the newly allocated file structure. I think it's done the way it is because it makes filesystems simpler to implement. This describes how a filesystem can overload the standard dentry operations. Dentries and the dcache are the domain of the VFS and the individual filesystem implementations.
Device drivers have no business here.
These methods may be set to NULL, as they are either optional or the VFS uses a default. This is called whenever a name lookup finds a dentry in the dcache. Child dentries are basically like files in a directory. Putting the dentry on the unused list just means that if the system needs some RAM, it goes through the unused list of dentries and deallocates them.