All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.