Message ID | 20240125223522.1122765-1-ivan.orlov0322@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f7c4cb4a3f77867612b45c6327f80eac58a8ce65 |
Headers | show |
Series | [1/3] ALSA: pcm: Add missing formats to formats list | expand |
On 1/25/2024 11:35 PM, Ivan Orlov wrote: > Add 4 missing formats to 'snd_pcm_format_names' array in order to be > able to get their names with 'snd_pcm_format_name' function. > > Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> > --- > sound/core/pcm.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/sound/core/pcm.c b/sound/core/pcm.c > index a09f0154e6a7..d0788126cbab 100644 > --- a/sound/core/pcm.c > +++ b/sound/core/pcm.c > @@ -211,6 +211,10 @@ static const char * const snd_pcm_format_names[] = { > FORMAT(DSD_U32_LE), > FORMAT(DSD_U16_BE), > FORMAT(DSD_U32_BE), > + FORMAT(S20_LE), > + FORMAT(S20_BE), > + FORMAT(U20_LE), > + FORMAT(U20_BE), > }; > > /** Maybe we can also add some kind of static_assert to check at compile time that all formats are handled, something like: static_assert(ARRAY_SIZE(snd_pcm_format_names) == SNDRV_PCM_FORMAT_LAST + 1); Although looking at definitions there is a hole between SNDRV_PCM_FORMAT_U20_BE & SNDRV_PCM_FORMAT_SPECIAL, which will cause this idea to fail. Perhaps with comment: static_assert(ARRAY_SIZE(snd_pcm_format_names) == SNDRV_PCM_FORMAT_LAST + 1 - 2); /* -2 for formats reserved for future use */ ?
On Thu, 25 Jan 2024 23:35:19 +0100, Ivan Orlov wrote: > > Add 4 missing formats to 'snd_pcm_format_names' array in order to be > able to get their names with 'snd_pcm_format_name' function. > > Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> Now applied all three patches. This first one is to for-linus, while the rest two are to for-next for 6.9 kernel. For further improvements (e.g. Amadeusz suggested), let's apply on top of that. thanks, Takashi
On 1/26/24 09:01, Amadeusz Sławiński wrote: > On 1/25/2024 11:35 PM, Ivan Orlov wrote: >> Add 4 missing formats to 'snd_pcm_format_names' array in order to be >> able to get their names with 'snd_pcm_format_name' function. >> >> Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> >> --- >> sound/core/pcm.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/sound/core/pcm.c b/sound/core/pcm.c >> index a09f0154e6a7..d0788126cbab 100644 >> --- a/sound/core/pcm.c >> +++ b/sound/core/pcm.c >> @@ -211,6 +211,10 @@ static const char * const snd_pcm_format_names[] = { >> FORMAT(DSD_U32_LE), >> FORMAT(DSD_U16_BE), >> FORMAT(DSD_U32_BE), >> + FORMAT(S20_LE), >> + FORMAT(S20_BE), >> + FORMAT(U20_LE), >> + FORMAT(U20_BE), >> }; >> /** > > Maybe we can also add some kind of static_assert to check at compile > time that all formats are handled, something like: > static_assert(ARRAY_SIZE(snd_pcm_format_names) == SNDRV_PCM_FORMAT_LAST > + 1); > > Although looking at definitions there is a hole between > SNDRV_PCM_FORMAT_U20_BE & SNDRV_PCM_FORMAT_SPECIAL, which will cause > this idea to fail. > > Perhaps with comment: > static_assert(ARRAY_SIZE(snd_pcm_format_names) == SNDRV_PCM_FORMAT_LAST > + 1 - 2); /* -2 for formats reserved for future use */ > ? Hi Amadeusz, Thank you for the review and sorry for the late answer. Yes, I believe it could be a nice improvement! Could I send a patch and specify you in Suggested-by tag?
On 1/30/24 13:15, Takashi Iwai wrote: > On Thu, 25 Jan 2024 23:35:19 +0100, > Ivan Orlov wrote: >> >> Add 4 missing formats to 'snd_pcm_format_names' array in order to be >> able to get their names with 'snd_pcm_format_name' function. >> >> Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> > > Now applied all three patches. This first one is to for-linus, while > the rest two are to for-next for 6.9 kernel. > > For further improvements (e.g. Amadeusz suggested), let's apply on top > of that. > > > thanks, > > Takashi Hi Takashi, Thank you for applying this changes! I'll send the patch with the improvements suggested by Amadeusz as soon as possible.
On 1/31/2024 6:41 PM, Ivan Orlov wrote: > On 1/26/24 09:01, Amadeusz Sławiński wrote: >> On 1/25/2024 11:35 PM, Ivan Orlov wrote: >>> Add 4 missing formats to 'snd_pcm_format_names' array in order to be >>> able to get their names with 'snd_pcm_format_name' function. >>> >>> Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> >>> --- >>> sound/core/pcm.c | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/sound/core/pcm.c b/sound/core/pcm.c >>> index a09f0154e6a7..d0788126cbab 100644 >>> --- a/sound/core/pcm.c >>> +++ b/sound/core/pcm.c >>> @@ -211,6 +211,10 @@ static const char * const snd_pcm_format_names[] >>> = { >>> FORMAT(DSD_U32_LE), >>> FORMAT(DSD_U16_BE), >>> FORMAT(DSD_U32_BE), >>> + FORMAT(S20_LE), >>> + FORMAT(S20_BE), >>> + FORMAT(U20_LE), >>> + FORMAT(U20_BE), >>> }; >>> /** >> >> Maybe we can also add some kind of static_assert to check at compile >> time that all formats are handled, something like: >> static_assert(ARRAY_SIZE(snd_pcm_format_names) == >> SNDRV_PCM_FORMAT_LAST + 1); >> >> Although looking at definitions there is a hole between >> SNDRV_PCM_FORMAT_U20_BE & SNDRV_PCM_FORMAT_SPECIAL, which will cause >> this idea to fail. >> >> Perhaps with comment: >> static_assert(ARRAY_SIZE(snd_pcm_format_names) == >> SNDRV_PCM_FORMAT_LAST + 1 - 2); /* -2 for formats reserved for future >> use */ >> ? > > Hi Amadeusz, > > Thank you for the review and sorry for the late answer. Yes, I believe > it could be a nice improvement! Could I send a patch and specify you in > Suggested-by tag? > Hi, yes, go for it! Amadeusz
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index a09f0154e6a7..d0788126cbab 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c @@ -211,6 +211,10 @@ static const char * const snd_pcm_format_names[] = { FORMAT(DSD_U32_LE), FORMAT(DSD_U16_BE), FORMAT(DSD_U32_BE), + FORMAT(S20_LE), + FORMAT(S20_BE), + FORMAT(U20_LE), + FORMAT(U20_BE), }; /**
Add 4 missing formats to 'snd_pcm_format_names' array in order to be able to get their names with 'snd_pcm_format_name' function. Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com> --- sound/core/pcm.c | 4 ++++ 1 file changed, 4 insertions(+)