]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: soc-dapm: remove snd_soc_dapm_weak_routes()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 1 Jul 2025 00:10:39 +0000 (00:10 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 7 Jul 2025 15:13:02 +0000 (16:13 +0100)
No one is using snd_soc_dapm_weak_routes(), let's remove it.
Because snd_soc_dapm_weak_routes() was removed, path->weak is not
needed either. Remove it, too.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://patch.msgid.link/87sejghitd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/sound/soc-dapm.h
sound/soc/soc-dapm.c

index 2a0250fff9ba6fadc002a8a05b8d4f8f006f5866..6d854c727bca8b5c1863b87b21039084e8dee0b5 100644 (file)
@@ -473,8 +473,6 @@ int snd_soc_dapm_add_routes(struct snd_soc_dapm_context *dapm,
                            const struct snd_soc_dapm_route *route, int num);
 int snd_soc_dapm_del_routes(struct snd_soc_dapm_context *dapm,
                            const struct snd_soc_dapm_route *route, int num);
-int snd_soc_dapm_weak_routes(struct snd_soc_dapm_context *dapm,
-                            const struct snd_soc_dapm_route *route, int num);
 void snd_soc_dapm_free_widget(struct snd_soc_dapm_widget *w);
 
 /* dapm events */
@@ -611,7 +609,6 @@ struct snd_soc_dapm_path {
        /* status */
        u32 connect:1;          /* source and sink widgets are connected */
        u32 walking:1;          /* path is in the process of being walked */
-       u32 weak:1;             /* path ignored for power management */
        u32 is_supply:1;        /* At least one of the connected widgets is a supply */
 
        int (*connected)(struct snd_soc_dapm_widget *source,
index e4c2feec6e39fd37d4b7d20d9afcf4c59cf66e84..79cd3c93a4fd3c5426b079567cdfd322021ccd43 100644 (file)
@@ -214,7 +214,7 @@ static __always_inline void dapm_widget_invalidate_paths(
 
        list_for_each_entry(w, &list, work_list) {
                snd_soc_dapm_widget_for_each_path(w, dir, p) {
-                       if (p->is_supply || p->weak || !p->connect)
+                       if (p->is_supply || !p->connect)
                                continue;
                        node = p->node[rdir];
                        if (node->endpoints[dir] != -1) {
@@ -276,7 +276,7 @@ static void dapm_path_invalidate(struct snd_soc_dapm_path *p)
         * Weak paths or supply paths do not influence the number of input or
         * output paths of their neighbors.
         */
-       if (p->weak || p->is_supply)
+       if (p->is_supply)
                return;
 
        /*
@@ -1162,7 +1162,7 @@ static void invalidate_paths_ep(struct snd_soc_dapm_widget *widget,
        widget->endpoints[dir] = -1;
 
        snd_soc_dapm_widget_for_each_path(widget, rdir, path) {
-               if (path->weak || path->is_supply)
+               if (path->is_supply)
                        continue;
 
                if (path->walking)
@@ -1217,7 +1217,7 @@ static __always_inline int is_connected_ep(struct snd_soc_dapm_widget *widget,
        snd_soc_dapm_widget_for_each_path(widget, rdir, path) {
                DAPM_UPDATE_STAT(widget, neighbour_checks);
 
-               if (path->weak || path->is_supply)
+               if (path->is_supply)
                        continue;
 
                if (path->walking)
@@ -1454,9 +1454,6 @@ static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
        snd_soc_dapm_widget_for_each_sink_path(w, path) {
                DAPM_UPDATE_STAT(w, neighbour_checks);
 
-               if (path->weak)
-                       continue;
-
                if (path->connected &&
                    !path->connected(path->source, path->sink))
                        continue;
@@ -3202,86 +3199,6 @@ int snd_soc_dapm_del_routes(struct snd_soc_dapm_context *dapm,
 }
 EXPORT_SYMBOL_GPL(snd_soc_dapm_del_routes);
 
-static int snd_soc_dapm_weak_route(struct snd_soc_dapm_context *dapm,
-                                  const struct snd_soc_dapm_route *route)
-{
-       struct snd_soc_dapm_widget *source = dapm_find_widget(dapm,
-                                                             route->source,
-                                                             true);
-       struct snd_soc_dapm_widget *sink = dapm_find_widget(dapm,
-                                                           route->sink,
-                                                           true);
-       struct snd_soc_dapm_path *path;
-       int count = 0;
-
-       if (!source) {
-               dev_err(dapm->dev, "ASoC: Unable to find source %s for weak route\n",
-                       route->source);
-               return -ENODEV;
-       }
-
-       if (!sink) {
-               dev_err(dapm->dev, "ASoC: Unable to find sink %s for weak route\n",
-                       route->sink);
-               return -ENODEV;
-       }
-
-       if (route->control || route->connected)
-               dev_warn(dapm->dev, "ASoC: Ignoring control for weak route %s->%s\n",
-                        route->source, route->sink);
-
-       snd_soc_dapm_widget_for_each_sink_path(source, path) {
-               if (path->sink == sink) {
-                       path->weak = 1;
-                       count++;
-               }
-       }
-
-       if (count == 0)
-               dev_err(dapm->dev, "ASoC: No path found for weak route %s->%s\n",
-                       route->source, route->sink);
-       if (count > 1)
-               dev_warn(dapm->dev, "ASoC: %d paths found for weak route %s->%s\n",
-                        count, route->source, route->sink);
-
-       return 0;
-}
-
-/**
- * snd_soc_dapm_weak_routes - Mark routes between DAPM widgets as weak
- * @dapm: DAPM context
- * @route: audio routes
- * @num: number of routes
- *
- * Mark existing routes matching those specified in the passed array
- * as being weak, meaning that they are ignored for the purpose of
- * power decisions.  The main intended use case is for sidetone paths
- * which couple audio between other independent paths if they are both
- * active in order to make the combination work better at the user
- * level but which aren't intended to be "used".
- *
- * Note that CODEC drivers should not use this as sidetone type paths
- * can frequently also be used as bypass paths.
- */
-int snd_soc_dapm_weak_routes(struct snd_soc_dapm_context *dapm,
-                            const struct snd_soc_dapm_route *route, int num)
-{
-       int i;
-       int ret = 0;
-
-       snd_soc_dapm_mutex_lock_root(dapm);
-       for (i = 0; i < num; i++) {
-               int err = snd_soc_dapm_weak_route(dapm, route);
-               if (err)
-                       ret = err;
-               route++;
-       }
-       snd_soc_dapm_mutex_unlock(dapm);
-
-       return ret;
-}
-EXPORT_SYMBOL_GPL(snd_soc_dapm_weak_routes);
-
 /**
  * snd_soc_dapm_new_widgets - add new dapm widgets
  * @card: card to be checked for new dapm widgets