@@ -511,33 +511,39 @@ struct proc_dir_entry *proc_create_mount_point(const char *name)
511
511
}
512
512
EXPORT_SYMBOL (proc_create_mount_point );
513
513
514
- struct proc_dir_entry * proc_create_data (const char * name , umode_t mode ,
515
- struct proc_dir_entry * parent ,
516
- const struct file_operations * proc_fops ,
517
- void * data )
514
+ struct proc_dir_entry * proc_create_reg (const char * name , umode_t mode ,
515
+ struct proc_dir_entry * * parent , void * data )
518
516
{
519
- struct proc_dir_entry * pde ;
517
+ struct proc_dir_entry * p ;
518
+
520
519
if ((mode & S_IFMT ) == 0 )
521
520
mode |= S_IFREG ;
522
-
523
- if (! S_ISREG ( mode )) {
524
- WARN_ON ( 1 ); /* use proc_mkdir() */
521
+ if (( mode & S_IALLUGO ) == 0 )
522
+ mode |= S_IRUGO ;
523
+ if ( WARN_ON_ONCE (! S_ISREG ( mode )))
525
524
return NULL ;
525
+
526
+ p = __proc_create (parent , name , mode , 1 );
527
+ if (p ) {
528
+ p -> proc_iops = & proc_file_inode_operations ;
529
+ p -> data = data ;
526
530
}
531
+ return p ;
532
+ }
533
+
534
+ struct proc_dir_entry * proc_create_data (const char * name , umode_t mode ,
535
+ struct proc_dir_entry * parent ,
536
+ const struct file_operations * proc_fops , void * data )
537
+ {
538
+ struct proc_dir_entry * p ;
527
539
528
540
BUG_ON (proc_fops == NULL );
529
541
530
- if ((mode & S_IALLUGO ) == 0 )
531
- mode |= S_IRUGO ;
532
- pde = __proc_create (& parent , name , mode , 1 );
533
- if (!pde )
534
- goto out ;
535
- pde -> proc_fops = proc_fops ;
536
- pde -> data = data ;
537
- pde -> proc_iops = & proc_file_inode_operations ;
538
- return proc_register (parent , pde );
539
- out :
540
- return NULL ;
542
+ p = proc_create_reg (name , mode , & parent , data );
543
+ if (!p )
544
+ return NULL ;
545
+ p -> proc_fops = proc_fops ;
546
+ return proc_register (parent , p );
541
547
}
542
548
EXPORT_SYMBOL (proc_create_data );
543
549
0 commit comments