ALSA: core: Add an API to create and register module
Add an API to create a module under the given parent directory and then register the info entry. This API can be used to expose ID and version related information. Change-Id: I06f8bc1d8f649e6db37eb65303e948bc58eab7da Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
This commit is contained in:
parent
2e4fca555e
commit
3dea4c44db
2 changed files with 36 additions and 2 deletions
|
@ -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);
|
||||
|
||||
struct snd_info_entry *snd_register_module_info(struct module *module,
|
||||
const char *name,
|
||||
struct snd_info_entry *parent);
|
||||
#else
|
||||
|
||||
#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 (*read)(struct snd_info_entry *, struct snd_info_buffer *)) {}
|
||||
static inline int snd_info_check_reserved_words(const char *str) { return 1; }
|
||||
|
||||
static inline struct snd_info_entry *snd_register_module_info(
|
||||
struct module *module, const char *name,
|
||||
struct snd_info_entry *parent) { return NULL; }
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -612,6 +612,36 @@ int snd_info_card_free(struct snd_card *card)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* snd_register_module_info - create and register module
|
||||
* @module: the module pointer
|
||||
* @name: the module name
|
||||
* @parent: the parent directory
|
||||
*
|
||||
* Creates and registers new module entry.
|
||||
*
|
||||
* Return: The pointer of the new instance, or NULL on failure.
|
||||
*/
|
||||
struct snd_info_entry *snd_register_module_info(struct module *module,
|
||||
const char *name,
|
||||
struct snd_info_entry *parent)
|
||||
{
|
||||
struct snd_info_entry *entry;
|
||||
|
||||
entry = snd_info_create_module_entry(module, name, parent);
|
||||
if (!entry)
|
||||
return NULL;
|
||||
|
||||
entry->mode = S_IFDIR | S_IRUGO | S_IXUGO;
|
||||
|
||||
if (snd_info_register(entry) < 0) {
|
||||
snd_info_free_entry(entry);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return entry;
|
||||
}
|
||||
EXPORT_SYMBOL(snd_register_module_info);
|
||||
|
||||
/**
|
||||
* snd_info_get_line - read one line from the procfs buffer
|
||||
|
|
Loading…
Add table
Reference in a new issue