static int smmu_debugfs_stats_show(struct seq_file *s, void *v)
 {
-       struct smmu_debugfs_info *info;
-       struct smmu_device *smmu;
-       struct dentry *dent;
+       struct smmu_debugfs_info *info = s->private;
+       struct smmu_device *smmu = info->smmu;
        int i;
        const char * const stats[] = { "hit", "miss", };
 
-       dent = d_find_alias(s->private);
-       info = dent->d_inode->i_private;
-       smmu = info->smmu;
 
        for (i = 0; i < ARRAY_SIZE(stats); i++) {
                u32 val;
                        stats[i], val, offs);
        }
        seq_printf(s, "\n");
-       dput(dent);
-
        return 0;
 }
 
 static int smmu_debugfs_stats_open(struct inode *inode, struct file *file)
 {
-       return single_open(file, smmu_debugfs_stats_show, inode);
+       return single_open(file, smmu_debugfs_stats_show, inode->i_private);
 }
 
 static const struct file_operations smmu_debugfs_stats_fops = {