* [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices()
@ 2025-08-13 20:55 Thorsten Blum
2025-08-13 21:00 ` [PATCH 2/2] ALSA: hda: Improve local variable data type in print_device_list() Thorsten Blum
2025-08-14 6:40 ` [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Takashi Iwai
0 siblings, 2 replies; 3+ messages in thread
From: Thorsten Blum @ 2025-08-13 20:55 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai, Thorsten Blum,
Dr. David Alan Gilbert, Julia Lawall, Wentao Liang
Cc: Takashi Iwai, linux-sound, linux-kernel
Use min() to simplify snd_hda_get_devices() and improve its readability.
Change the function parameter 'max_devices' from 'int' to 'unsigned int'
to avoid a min() signedness error. Update all related local variables
and the function's return type to 'unsigned int' accordingly.
No functional changes intended.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
include/sound/hda_codec.h | 4 ++--
sound/hda/common/codec.c | 11 +++++------
2 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/include/sound/hda_codec.h b/include/sound/hda_codec.h
index ddc9c392f93f..006d4e4a8195 100644
--- a/include/sound/hda_codec.h
+++ b/include/sound/hda_codec.h
@@ -360,8 +360,8 @@ int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
hda_nid_t nid, int recursive);
unsigned int snd_hda_get_num_devices(struct hda_codec *codec, hda_nid_t nid);
-int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
- u8 *dev_list, int max_devices);
+unsigned int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
+ u8 *dev_list, unsigned int max_devices);
int snd_hda_get_dev_select(struct hda_codec *codec, hda_nid_t nid);
int snd_hda_set_dev_select(struct hda_codec *codec, hda_nid_t nid, int dev_id);
diff --git a/sound/hda/common/codec.c b/sound/hda/common/codec.c
index eb268d442201..ce25608beff5 100644
--- a/sound/hda/common/codec.c
+++ b/sound/hda/common/codec.c
@@ -8,6 +8,7 @@
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/slab.h>
+#include <linux/minmax.h>
#include <linux/mutex.h>
#include <linux/module.h>
#include <linux/pm.h>
@@ -323,18 +324,16 @@ EXPORT_SYMBOL_GPL(snd_hda_get_num_devices);
* Copy the device list. This info is dynamic and so not cached.
* Currently called only from hda_proc.c, so not exported.
*/
-int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
- u8 *dev_list, int max_devices)
+unsigned int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
+ u8 *dev_list, unsigned int max_devices)
{
- unsigned int parm;
- int i, dev_len, devices;
+ unsigned int parm, i, dev_len, devices;
parm = snd_hda_get_num_devices(codec, nid);
if (!parm) /* not multi-stream capable */
return 0;
- dev_len = parm + 1;
- dev_len = dev_len < max_devices ? dev_len : max_devices;
+ dev_len = min(parm + 1, max_devices);
devices = 0;
while (devices < dev_len) {
--
2.50.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH 2/2] ALSA: hda: Improve local variable data type in print_device_list()
2025-08-13 20:55 [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Thorsten Blum
@ 2025-08-13 21:00 ` Thorsten Blum
2025-08-14 6:40 ` [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Takashi Iwai
1 sibling, 0 replies; 3+ messages in thread
From: Thorsten Blum @ 2025-08-13 21:00 UTC (permalink / raw)
To: Jaroslav Kysela, Takashi Iwai
Cc: Thorsten Blum, Takashi Iwai, linux-sound, linux-kernel
Use 'unsigned int' instead of 'int' for the local variable 'devlist_len'
because snd_hda_get_devices() returns an 'unsigned int' and the length
cannot be negative. Update the print format specifier and the if
condition accordingly.
Reformat calling snd_hda_codec_read() to fit in a single line while
we're at it.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
sound/hda/common/proc.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/sound/hda/common/proc.c b/sound/hda/common/proc.c
index 00c2eeb2c472..d36195f73d45 100644
--- a/sound/hda/common/proc.c
+++ b/sound/hda/common/proc.c
@@ -716,16 +716,15 @@ static void print_device_list(struct snd_info_buffer *buffer,
{
int i, curr = -1;
u8 dev_list[AC_MAX_DEV_LIST_LEN];
- int devlist_len;
+ unsigned int devlist_len;
devlist_len = snd_hda_get_devices(codec, nid, dev_list,
AC_MAX_DEV_LIST_LEN);
- snd_iprintf(buffer, " Devices: %d\n", devlist_len);
- if (devlist_len <= 0)
+ snd_iprintf(buffer, " Devices: %u\n", devlist_len);
+ if (devlist_len == 0)
return;
- curr = snd_hda_codec_read(codec, nid, 0,
- AC_VERB_GET_DEVICE_SEL, 0);
+ curr = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_DEVICE_SEL, 0);
for (i = 0; i < devlist_len; i++) {
if (i == curr)
--
2.50.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices()
2025-08-13 20:55 [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Thorsten Blum
2025-08-13 21:00 ` [PATCH 2/2] ALSA: hda: Improve local variable data type in print_device_list() Thorsten Blum
@ 2025-08-14 6:40 ` Takashi Iwai
1 sibling, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2025-08-14 6:40 UTC (permalink / raw)
To: Thorsten Blum
Cc: Jaroslav Kysela, Takashi Iwai, Dr. David Alan Gilbert,
Julia Lawall, Wentao Liang, Takashi Iwai, linux-sound,
linux-kernel
On Wed, 13 Aug 2025 22:55:02 +0200,
Thorsten Blum wrote:
>
> Use min() to simplify snd_hda_get_devices() and improve its readability.
>
> Change the function parameter 'max_devices' from 'int' to 'unsigned int'
> to avoid a min() signedness error. Update all related local variables
> and the function's return type to 'unsigned int' accordingly.
>
> No functional changes intended.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Applied both patches now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-08-14 6:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-13 20:55 [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Thorsten Blum
2025-08-13 21:00 ` [PATCH 2/2] ALSA: hda: Improve local variable data type in print_device_list() Thorsten Blum
2025-08-14 6:40 ` [PATCH 1/2] ALSA: hda: Use min() to simplify snd_hda_get_devices() Takashi Iwai
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.