ANDROID: GKI: ALSA: core: modify, rename and export create_subdir API

Modify create_subdir API, so that it can create a subdir
under a given parent directory and then register the info
entry. Also rename and export the API so that it can be
used to expose ID and version related information.

Test: build
Bug: 151372815
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Meng Wang <mwang@codeaurora.org>
(cherry picked from commit 454c5b5c34)
Signed-off-by: Hridya Valsaraju <hridya@google.com>
Change-Id: I8876b7ab22594766c9ec08c7289d8f38de7f00fa
This commit is contained in:
Meng Wang 2017-09-07 14:03:23 +08:00 committed by Hridya Valsaraju
parent f7fbc946c2
commit b224f6a82f
2 changed files with 24 additions and 9 deletions

View file

@ -161,7 +161,9 @@ static inline void snd_info_set_text_ops(struct snd_info_entry *entry,
} }
int snd_info_check_reserved_words(const char *str); int snd_info_check_reserved_words(const char *str);
struct snd_info_entry *snd_info_create_subdir(struct module *mod,
const char *name,
struct snd_info_entry *parent);
#else #else
#define snd_seq_root NULL #define snd_seq_root NULL
@ -190,7 +192,9 @@ static inline void snd_info_set_text_ops(struct snd_info_entry *entry __attribut
void *private_data, void *private_data,
void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) {} void (*read)(struct snd_info_entry *, struct snd_info_buffer *)) {}
static inline int snd_info_check_reserved_words(const char *str) { return 1; } static inline int snd_info_check_reserved_words(const char *str) { return 1; }
static inline struct snd_info_entry *snd_info_create_subdir(
struct module *mod, const char *name,
struct snd_info_entry *parent) { return NULL; }
#endif #endif
/* /*

View file

@ -446,12 +446,23 @@ static const struct file_operations snd_info_text_entry_ops =
.read = seq_read, .read = seq_read,
}; };
static struct snd_info_entry *create_subdir(struct module *mod, /*
const char *name) * snd_info_create_subdir - create and register a subdir for a given parent
* @mod: the module pointer
* @name: the module name
* @parent: the parent directory
*
* Creates and registers new subdir entry inside a given parent.
*
* Return: The pointer of the new instance, or NULL on failure.
*/
struct snd_info_entry *snd_info_create_subdir(struct module *mod,
const char *name,
struct snd_info_entry *parent)
{ {
struct snd_info_entry *entry; struct snd_info_entry *entry;
entry = snd_info_create_module_entry(mod, name, NULL); entry = snd_info_create_module_entry(mod, name, parent);
if (!entry) if (!entry)
return NULL; return NULL;
entry->mode = S_IFDIR | 0555; entry->mode = S_IFDIR | 0555;
@ -461,6 +472,7 @@ static struct snd_info_entry *create_subdir(struct module *mod,
} }
return entry; return entry;
} }
EXPORT_SYMBOL(snd_info_create_subdir);
static struct snd_info_entry * static struct snd_info_entry *
snd_info_create_entry(const char *name, struct snd_info_entry *parent); snd_info_create_entry(const char *name, struct snd_info_entry *parent);
@ -475,12 +487,12 @@ int __init snd_info_init(void)
if (!snd_proc_root->p) if (!snd_proc_root->p)
goto error; goto error;
#ifdef CONFIG_SND_OSSEMUL #ifdef CONFIG_SND_OSSEMUL
snd_oss_root = create_subdir(THIS_MODULE, "oss"); snd_oss_root = snd_info_create_subdir(THIS_MODULE, "oss", NULL);
if (!snd_oss_root) if (!snd_oss_root)
goto error; goto error;
#endif #endif
#if IS_ENABLED(CONFIG_SND_SEQUENCER) #if IS_ENABLED(CONFIG_SND_SEQUENCER)
snd_seq_root = create_subdir(THIS_MODULE, "seq"); snd_seq_root = snd_info_create_subdir(THIS_MODULE, "seq", NULL);
if (!snd_seq_root) if (!snd_seq_root)
goto error; goto error;
#endif #endif
@ -516,7 +528,7 @@ int snd_info_card_create(struct snd_card *card)
return -ENXIO; return -ENXIO;
sprintf(str, "card%i", card->number); sprintf(str, "card%i", card->number);
entry = create_subdir(card->module, str); entry = snd_info_create_subdir(card->module, str, NULL);
if (!entry) if (!entry)
return -ENOMEM; return -ENOMEM;
card->proc_root = entry; card->proc_root = entry;
@ -619,7 +631,6 @@ int snd_info_card_free(struct snd_card *card)
return 0; return 0;
} }
/** /**
* snd_info_get_line - read one line from the procfs buffer * snd_info_get_line - read one line from the procfs buffer
* @buffer: the procfs buffer * @buffer: the procfs buffer