On 12/09/2023 13:42, Takashi Iwai wrote: > On Tue, 12 Sep 2023 12:18:04 +0200, > Arnd Bergmann wrote: >> >> On Tue, Sep 12, 2023, at 10:39, Peter Ujfalusi wrote: >> >>> While the code is correct, we need to silence the compiler somehow. >>> It could be done by limiting the range in sprintf like >>> sprintf(name, "card%d", idx % SNDRV_CARDS); >>> sprintf(name, "card%hhd", idx); >>> etc >>> >>> These are too workaroundish. Increase the name array to 15 instead which >>> looks better and only adds 7 bytes on stack. >> >> It looks like we use the same string for kobject_set_name(), so >> maybe this would work as well: >> >> --- a/sound/core/init.c >> +++ b/sound/core/init.c >> @@ -278,9 +278,6 @@ static int snd_card_init(struct snd_card *card, struct device *parent, >> size_t extra_size) >> { >> int err; >> -#ifdef CONFIG_SND_DEBUG >> - char name[8]; >> -#endif >> >> if (extra_size > 0) >> card->private_data = (char *)card + sizeof(struct snd_card); >> @@ -364,8 +361,8 @@ static int snd_card_init(struct snd_card *card, struct device *parent, >> } >> >> #ifdef CONFIG_SND_DEBUG >> - sprintf(name, "card%d", idx); >> - card->debugfs_root = debugfs_create_dir(name, sound_debugfs_root); >> + card->debugfs_root = debugfs_create_dir(kobject_name(&card->card_dev.kobj), >> + sound_debugfs_root); > > The idea looks neat, but I suppose it's better with > dev_name(&card->card_dev) instead? Yes, this looks better, I will send a new patch in a minute. > > thanks, > > Takashi -- Péter