tegra: don't wank with d_find_alias()
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 31 Jan 2013 02:17:57 +0000 (21:17 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 26 Feb 2013 07:46:05 +0000 (02:46 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
drivers/iommu/tegra-smmu.c

index 7db150ca163e2798a9105f12fe4c0292c9c3fd95..9a09274d15a7e21f323d1b4cc125adddbff07047 100644 (file)
@@ -1026,15 +1026,11 @@ static ssize_t smmu_debugfs_stats_write(struct file *file,
 
 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;
@@ -1048,14 +1044,12 @@ static int smmu_debugfs_stats_show(struct seq_file *s, void *v)
                        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 = {