summaryrefslogtreecommitdiffstats
path: root/sound/core/seq
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2023-06-12 10:10:51 +0200
committerTakashi Iwai <tiwai@suse.de>2023-06-12 18:22:32 +0200
commit174a6dfbc17ee9defed4daeeea6061ef34644f02 (patch)
treeb06d47f2e15b78f7162444da0cbd9feecf9c9f48 /sound/core/seq
parent4a16a3af05712e7fd5a205f34e2908055bd9fb5e (diff)
downloadlinux-174a6dfbc17ee9defed4daeeea6061ef34644f02.tar.gz
linux-174a6dfbc17ee9defed4daeeea6061ef34644f02.tar.bz2
linux-174a6dfbc17ee9defed4daeeea6061ef34644f02.zip
ALSA: seq: ump: Notify port changes to system port
For allowing applications to track the FB active changes, this patch adds the notification from the system port at each time a FB change is handled and the active flag or re-grouping happens. Link: https://lore.kernel.org/r/20230612081054.17200-8-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/core/seq')
-rw-r--r--sound/core/seq/seq_system.c1
-rw-r--r--sound/core/seq/seq_ump_client.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/sound/core/seq/seq_system.c b/sound/core/seq/seq_system.c
index 32c2d9b57751..80267290190d 100644
--- a/sound/core/seq/seq_system.c
+++ b/sound/core/seq/seq_system.c
@@ -85,6 +85,7 @@ void snd_seq_system_broadcast(int client, int port, int type)
ev.type = type;
snd_seq_kernel_client_dispatch(sysclient, &ev, 0, 0);
}
+EXPORT_SYMBOL_GPL(snd_seq_system_broadcast);
/* entry points for broadcasting system events */
int snd_seq_system_notify(int client, int port, struct snd_seq_event *ev)
diff --git a/sound/core/seq/seq_ump_client.c b/sound/core/seq/seq_ump_client.c
index 2f93d76b05ce..901a670dcb36 100644
--- a/sound/core/seq/seq_ump_client.c
+++ b/sound/core/seq/seq_ump_client.c
@@ -13,6 +13,7 @@
#include <sound/seq_kernel.h>
#include <sound/seq_device.h>
#include "seq_clientmgr.h"
+#include "seq_system.h"
struct seq_ump_client;
struct seq_ump_group;
@@ -273,6 +274,8 @@ static void update_port_infos(struct seq_ump_client *client)
new);
if (err < 0)
goto error;
+ /* notify to system port */
+ snd_seq_system_client_ev_port_change(client->seq_client, i);
}
error:
kfree(new);