snd_info_register: switch to proc_create_data/proc_mkdir_mode

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2013-03-28 23:01:34 -04:00
parent 4d8e8d21de
commit aee0c612b1
1 changed files with 14 additions and 8 deletions

View File

@ -959,15 +959,21 @@ int snd_info_register(struct snd_info_entry * entry)
return -ENXIO;
root = entry->parent == NULL ? snd_proc_root : entry->parent->p;
mutex_lock(&info_mutex);
p = create_proc_entry(entry->name, entry->mode, root);
if (!p) {
mutex_unlock(&info_mutex);
return -ENOMEM;
if (S_ISDIR(entry->mode)) {
p = proc_mkdir_mode(entry->name, entry->mode, root);
if (!p) {
mutex_unlock(&info_mutex);
return -ENOMEM;
}
} else {
p = proc_create_data(entry->name, entry->mode, root,
&snd_info_entry_operations, entry);
if (!p) {
mutex_unlock(&info_mutex);
return -ENOMEM;
}
p->size = entry->size;
}
if (!S_ISDIR(entry->mode))
p->proc_fops = &snd_info_entry_operations;
p->size = entry->size;
p->data = entry;
entry->p = p;
if (entry->parent)
list_add_tail(&entry->list, &entry->parent->children);