[alsa-devel] [PATCH 2/4] ALSA: info: Minor optimization

Takashi Iwai tiwai at suse.de
Tue Feb 5 20:27:12 CET 2019


On Tue, 05 Feb 2019 18:55:50 +0100,
Jaroslav Kysela wrote:
> 
> Dne 5.2.2019 v 17:07 Takashi Iwai napsal(a):
> > Just a minor code optimization to reduce the source code size
> > slightly.  No functional changes.
> > 
> > Signed-off-by: Takashi Iwai <tiwai at suse.de>
> > ---
> >  sound/core/info.c | 23 ++++++++---------------
> >  1 file changed, 8 insertions(+), 15 deletions(-)
> > 
> > diff --git a/sound/core/info.c b/sound/core/info.c
> > index 76800326ac56..12b80e6d9ee4 100644
> > --- a/sound/core/info.c
> > +++ b/sound/core/info.c
> > @@ -463,11 +463,12 @@ static struct snd_info_entry *create_subdir(struct module *mod,
> >  }
> >  
> >  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,
> > +		      struct module *module);
> >  
> >  int __init snd_info_init(void)
> >  {
> > -	snd_proc_root = snd_info_create_entry("asound", NULL);
> > +	snd_proc_root = snd_info_create_entry("asound", NULL, THIS_MODULE);
> >  	if (!snd_proc_root)
> >  		return -ENOMEM;
> >  	snd_proc_root->mode = S_IFDIR | 0555;
> > @@ -684,7 +685,8 @@ EXPORT_SYMBOL(snd_info_get_str);
> >   * Return: The pointer of the new instance, or %NULL on failure.
> >   */
> >  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,
> > +		      struct module *module)
> >  {
> >  	struct snd_info_entry *entry;
> >  	entry = kzalloc(sizeof(*entry), GFP_KERNEL);
> > @@ -701,6 +703,7 @@ snd_info_create_entry(const char *name, struct snd_info_entry *parent)
> >  	INIT_LIST_HEAD(&entry->children);
> >  	INIT_LIST_HEAD(&entry->list);
> >  	entry->parent = parent;
> > +	entry->module = module;
> >  	if (parent)
> >  		list_add_tail(&entry->list, &parent->children);
> >  	return entry;
> > @@ -720,14 +723,9 @@ struct snd_info_entry *snd_info_create_module_entry(struct module * module,
> >  					       const char *name,
> >  					       struct snd_info_entry *parent)
> >  {
> > -	struct snd_info_entry *entry;
> > -
> >  	if (!parent)
> >  		parent = snd_proc_root;
> > -	entry = snd_info_create_entry(name, parent);
> > -	if (entry)
> > -		entry->module = module;
> > -	return entry;
> > +	return snd_info_create_entry(name, parent, module);
> >  }
> >  EXPORT_SYMBOL(snd_info_create_module_entry);
> >  
> > @@ -745,14 +743,9 @@ struct snd_info_entry *snd_info_create_card_entry(struct snd_card *card,
> >  					     const char *name,
> >  					     struct snd_info_entry * parent)
> >  {
> > -	struct snd_info_entry *entry;
> > -
> >  	if (!parent)
> >  		parent = card->proc_root;
> > -	entry = snd_info_create_entry(name, parent);
> > -	if (entry)
> > -		entry->module = card->module;
> > -	return entry;
> > +	return snd_info_create_entry(name, parent, card->module);
> >  }
> >  EXPORT_SYMBOL(snd_info_create_card_entry);
> 
> Won't be better to define those two above functions as inline now?

That's possible, but then we'd need to export snd_proc_root.  Also
snd_info_create_entry() is a local function right now, so we'll need
to export this one, too.  Overall, there won't be any big gain, I
guess.


thanks,

Takashi

> 
> For rest: Reviewed-by: Jaroslav Kysela <perex at perex.cz>
> 
> Thanks,
> 	Jaroslav
> 
> -- 
> Jaroslav Kysela <perex at perex.cz>
> Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
> 


More information about the Alsa-devel mailing list