@@ -54,37 +54,11 @@ static char *dmabuffs_dname(struct dentry *dentry, char *buffer, int buflen)
54
54
dentry -> d_name .name , ret > 0 ? name : "" );
55
55
}
56
56
57
- static const struct dentry_operations dma_buf_dentry_ops = {
58
- .d_dname = dmabuffs_dname ,
59
- };
60
-
61
- static struct vfsmount * dma_buf_mnt ;
62
-
63
- static int dma_buf_fs_init_context (struct fs_context * fc )
64
- {
65
- struct pseudo_fs_context * ctx ;
66
-
67
- ctx = init_pseudo (fc , DMA_BUF_MAGIC );
68
- if (!ctx )
69
- return - ENOMEM ;
70
- ctx -> dops = & dma_buf_dentry_ops ;
71
- return 0 ;
72
- }
73
-
74
- static struct file_system_type dma_buf_fs_type = {
75
- .name = "dmabuf" ,
76
- .init_fs_context = dma_buf_fs_init_context ,
77
- .kill_sb = kill_anon_super ,
78
- };
79
-
80
- static int dma_buf_release (struct inode * inode , struct file * file )
57
+ static void dma_buf_release (struct dentry * dentry )
81
58
{
82
59
struct dma_buf * dmabuf ;
83
60
84
- if (!is_dma_buf_file (file ))
85
- return - EINVAL ;
86
-
87
- dmabuf = file -> private_data ;
61
+ dmabuf = dentry -> d_fsdata ;
88
62
89
63
BUG_ON (dmabuf -> vmapping_counter );
90
64
@@ -110,9 +84,32 @@ static int dma_buf_release(struct inode *inode, struct file *file)
110
84
module_put (dmabuf -> owner );
111
85
kfree (dmabuf -> name );
112
86
kfree (dmabuf );
87
+ }
88
+
89
+ static const struct dentry_operations dma_buf_dentry_ops = {
90
+ .d_dname = dmabuffs_dname ,
91
+ .d_release = dma_buf_release ,
92
+ };
93
+
94
+ static struct vfsmount * dma_buf_mnt ;
95
+
96
+ static int dma_buf_fs_init_context (struct fs_context * fc )
97
+ {
98
+ struct pseudo_fs_context * ctx ;
99
+
100
+ ctx = init_pseudo (fc , DMA_BUF_MAGIC );
101
+ if (!ctx )
102
+ return - ENOMEM ;
103
+ ctx -> dops = & dma_buf_dentry_ops ;
113
104
return 0 ;
114
105
}
115
106
107
+ static struct file_system_type dma_buf_fs_type = {
108
+ .name = "dmabuf" ,
109
+ .init_fs_context = dma_buf_fs_init_context ,
110
+ .kill_sb = kill_anon_super ,
111
+ };
112
+
116
113
static int dma_buf_mmap_internal (struct file * file , struct vm_area_struct * vma )
117
114
{
118
115
struct dma_buf * dmabuf ;
@@ -412,7 +409,6 @@ static void dma_buf_show_fdinfo(struct seq_file *m, struct file *file)
412
409
}
413
410
414
411
static const struct file_operations dma_buf_fops = {
415
- .release = dma_buf_release ,
416
412
.mmap = dma_buf_mmap_internal ,
417
413
.llseek = dma_buf_llseek ,
418
414
.poll = dma_buf_poll ,
0 commit comments