@@ -137,6 +137,18 @@ static int nubus_proc_rsrc_show(struct seq_file *m, void *v)
137137 return 0 ;
138138}
139139
140+ static int nubus_rsrc_proc_open (struct inode * inode , struct file * file )
141+ {
142+ return single_open (file , nubus_proc_rsrc_show , inode );
143+ }
144+
145+ static const struct proc_ops nubus_rsrc_proc_ops = {
146+ .proc_open = nubus_rsrc_proc_open ,
147+ .proc_read = seq_read ,
148+ .proc_lseek = seq_lseek ,
149+ .proc_release = single_release ,
150+ };
151+
140152void nubus_proc_add_rsrc_mem (struct proc_dir_entry * procdir ,
141153 const struct nubus_dirent * ent ,
142154 unsigned int size )
@@ -152,8 +164,8 @@ void nubus_proc_add_rsrc_mem(struct proc_dir_entry *procdir,
152164 pde_data = nubus_proc_alloc_pde_data (nubus_dirptr (ent ), size );
153165 else
154166 pde_data = NULL ;
155- proc_create_single_data (name , S_IFREG | 0444 , procdir ,
156- nubus_proc_rsrc_show , pde_data );
167+ proc_create_data (name , S_IFREG | 0444 , procdir ,
168+ & nubus_rsrc_proc_ops , pde_data );
157169}
158170
159171void nubus_proc_add_rsrc (struct proc_dir_entry * procdir ,
@@ -166,9 +178,9 @@ void nubus_proc_add_rsrc(struct proc_dir_entry *procdir,
166178 return ;
167179
168180 snprintf (name , sizeof (name ), "%x" , ent -> type );
169- proc_create_single_data (name , S_IFREG | 0444 , procdir ,
170- nubus_proc_rsrc_show ,
171- nubus_proc_alloc_pde_data (data , 0 ));
181+ proc_create_data (name , S_IFREG | 0444 , procdir ,
182+ & nubus_rsrc_proc_ops ,
183+ nubus_proc_alloc_pde_data (data , 0 ));
172184}
173185
174186/*
0 commit comments