All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Linux-ALSA <alsa-devel@alsa-project.org>
Subject: Re: Question about card names
Date: Wed, 29 May 2019 07:29:08 +0200	[thread overview]
Message-ID: <s5hpno16d7f.wl-tiwai@suse.de> (raw)
In-Reply-To: <87y32px4vw.wl-kuninori.morimoto.gx@renesas.com>

On Wed, 29 May 2019 06:41:35 +0200,
Kuninori Morimoto wrote:
> 
> 
> Hi ALSA ML
> 
> snd_soc_instantiate_card() setups card->snd_card's
> "shortname", "longname", "driver" names. (= 1,2,3).
> 
> But, it cares only card->snd_card->driver (= 4).
> I think we need to care about all naming, but why only driver ??

Do you mean the normalization of strings, or do you suggest to make
mandatory?  The normalization isn't needed for other name strings.
The driver name is somewhat special, as it's used as a key for
searches in the user-space.

> 	static int snd_soc_instantiate_card(struct snd_soc_card *card)
> 	{
> 		...
> 1=>		snprintf(card->snd_card->shortname, sizeof(card->snd_card->shortname),
> 			 "%s", card->name);
> 2=>		snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
> 			 "%s", card->long_name ? card->long_name : card->name);
> 3=>		snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
> 			 "%s", card->driver_name ? card->driver_name : card->name);
> 		for (i = 0; i < ARRAY_SIZE(card->snd_card->driver); i++) {
> 			switch (card->snd_card->driver[i]) {
> x=>			case '_':
> x=>			case '-':
> 			case '\0':
> 				break;
> 			default:
> 				if (!isalnum(card->snd_card->driver[i]))
> 4=>					card->snd_card->driver[i] = '_';
> 				break;
> 			}
> 		}
> 		...
> 	}
> 
> And, it seems in this loop, it breaks check if it finds "_" or "-" (= x).
> If my understanding was correct,
> the naming "abcd??efg" will be fixed to "abcd__efg",
> but, it do nothing if name was for example "-abcd??efg".

We do replace the two '?' in the latter case, too.  It's a break
statement in a switch block, i.e. just skip the case.


Takashi

  parent reply	other threads:[~2019-05-29  5:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-29  4:41 Question about card names Kuninori Morimoto
2019-05-29  4:56 ` Kuninori Morimoto
2019-05-29  5:29 ` Takashi Iwai [this message]
2019-05-29  6:12   ` Kuninori Morimoto

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hpno16d7f.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.