diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 23:16:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-26 23:16:07 -0500 |
commit | d895cb1af15c04c522a25c79cc429076987c089b (patch) | |
tree | 895dc9157e28f603d937a58be664e4e440d5530c /drivers/iommu | |
parent | 9626357371b519f2b955fef399647181034a77fe (diff) | |
parent | d3d009cb965eae7e002ea5badf603ea8f4c34915 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs pile (part one) from Al Viro:
"Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
locking violations, etc.
The most visible changes here are death of FS_REVAL_DOT (replaced with
"has ->d_weak_revalidate()") and a new helper getting from struct file
to inode. Some bits of preparation to xattr method interface changes.
Misc patches by various people sent this cycle *and* ocfs2 fixes from
several cycles ago that should've been upstream right then.
PS: the next vfs pile will be xattr stuff."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
saner proc_get_inode() calling conventions
proc: avoid extra pde_put() in proc_fill_super()
fs: change return values from -EACCES to -EPERM
fs/exec.c: make bprm_mm_init() static
ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
ocfs2: fix possible use-after-free with AIO
ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
target: writev() on single-element vector is pointless
export kernel_write(), convert open-coded instances
fs: encode_fh: return FILEID_INVALID if invalid fid_type
kill f_vfsmnt
vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
nfsd: handle vfs_getattr errors in acl protocol
switch vfs_getattr() to struct path
default SET_PERSONALITY() in linux/elf.h
ceph: prepopulate inodes only when request is aborted
d_hash_and_lookup(): export, switch open-coded instances
9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
9p: split dropping the acls from v9fs_set_create_acl()
...
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/tegra-smmu.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c index eb0109f98946..b34e5fd7fd9e 100644 --- a/drivers/iommu/tegra-smmu.c +++ b/drivers/iommu/tegra-smmu.c | |||
@@ -968,7 +968,6 @@ static ssize_t smmu_debugfs_stats_write(struct file *file, | |||
968 | { | 968 | { |
969 | struct smmu_debugfs_info *info; | 969 | struct smmu_debugfs_info *info; |
970 | struct smmu_device *smmu; | 970 | struct smmu_device *smmu; |
971 | struct dentry *dent; | ||
972 | int i; | 971 | int i; |
973 | enum { | 972 | enum { |
974 | _OFF = 0, | 973 | _OFF = 0, |
@@ -996,8 +995,7 @@ static ssize_t smmu_debugfs_stats_write(struct file *file, | |||
996 | if (i == ARRAY_SIZE(command)) | 995 | if (i == ARRAY_SIZE(command)) |
997 | return -EINVAL; | 996 | return -EINVAL; |
998 | 997 | ||
999 | dent = file->f_dentry; | 998 | info = file_inode(file)->i_private; |
1000 | info = dent->d_inode->i_private; | ||
1001 | smmu = info->smmu; | 999 | smmu = info->smmu; |
1002 | 1000 | ||
1003 | offs = SMMU_CACHE_CONFIG(info->cache); | 1001 | offs = SMMU_CACHE_CONFIG(info->cache); |
@@ -1032,15 +1030,11 @@ static ssize_t smmu_debugfs_stats_write(struct file *file, | |||
1032 | 1030 | ||
1033 | static int smmu_debugfs_stats_show(struct seq_file *s, void *v) | 1031 | static int smmu_debugfs_stats_show(struct seq_file *s, void *v) |
1034 | { | 1032 | { |
1035 | struct smmu_debugfs_info *info; | 1033 | struct smmu_debugfs_info *info = s->private; |
1036 | struct smmu_device *smmu; | 1034 | struct smmu_device *smmu = info->smmu; |
1037 | struct dentry *dent; | ||
1038 | int i; | 1035 | int i; |
1039 | const char * const stats[] = { "hit", "miss", }; | 1036 | const char * const stats[] = { "hit", "miss", }; |
1040 | 1037 | ||
1041 | dent = d_find_alias(s->private); | ||
1042 | info = dent->d_inode->i_private; | ||
1043 | smmu = info->smmu; | ||
1044 | 1038 | ||
1045 | for (i = 0; i < ARRAY_SIZE(stats); i++) { | 1039 | for (i = 0; i < ARRAY_SIZE(stats); i++) { |
1046 | u32 val; | 1040 | u32 val; |
@@ -1054,14 +1048,12 @@ static int smmu_debugfs_stats_show(struct seq_file *s, void *v) | |||
1054 | stats[i], val, offs); | 1048 | stats[i], val, offs); |
1055 | } | 1049 | } |
1056 | seq_printf(s, "\n"); | 1050 | seq_printf(s, "\n"); |
1057 | dput(dent); | ||
1058 | |||
1059 | return 0; | 1051 | return 0; |
1060 | } | 1052 | } |
1061 | 1053 | ||
1062 | static int smmu_debugfs_stats_open(struct inode *inode, struct file *file) | 1054 | static int smmu_debugfs_stats_open(struct inode *inode, struct file *file) |
1063 | { | 1055 | { |
1064 | return single_open(file, smmu_debugfs_stats_show, inode); | 1056 | return single_open(file, smmu_debugfs_stats_show, inode->i_private); |
1065 | } | 1057 | } |
1066 | 1058 | ||
1067 | static const struct file_operations smmu_debugfs_stats_fops = { | 1059 | static const struct file_operations smmu_debugfs_stats_fops = { |