Re: [PATCH v2 resend 07/18] ASoC: soc-core: move snd_soc_lookup_component()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




+struct snd_soc_component *snd_soc_lookup_component(struct device *dev,
+						   const char *driver_name)
+{
+	struct snd_soc_component *component;
+	struct snd_soc_component *ret;
+
+	ret = NULL;
+	mutex_lock(&client_mutex);
+	for_each_component(component) {
+		if (dev != component->dev)
+			continue;
+
+		if (driver_name &&
+		    (driver_name != component->driver->name) &&
+		    (strcmp(component->driver->name, driver_name) != 0))
+			continue;
+
+		ret = component;
+		break;

The mix of continue and break in the same loop is odd.

can this be done with break only, e.g. (check the logic)

for_each_component(component) {
	if (dev == component->dev &&
	   (!driver_name ||
	    (driver_name == component->driver->name) ||
	    (strcmp(component->driver->name, driver_name) == 0))
		ret = component;
		break;
}

+	mutex_unlock(&client_mutex);
+
+	return ret;

usually 'return ret' is for an error code. It's odd to use it for a pointer.

+}
+EXPORT_SYMBOL_GPL(snd_soc_lookup_component);
+
  struct snd_pcm_substream *snd_soc_get_dai_substream(struct snd_soc_card *card,
  		const char *dai_link, int stream)
  {
@@ -2889,32 +2915,6 @@ void snd_soc_unregister_component(struct device *dev)
  }
  EXPORT_SYMBOL_GPL(snd_soc_unregister_component);
-struct snd_soc_component *snd_soc_lookup_component(struct device *dev,
-						   const char *driver_name)
-{
-	struct snd_soc_component *component;
-	struct snd_soc_component *ret;
-
-	ret = NULL;
-	mutex_lock(&client_mutex);
-	for_each_component(component) {
-		if (dev != component->dev)
-			continue;
-
-		if (driver_name &&
-		    (driver_name != component->driver->name) &&
-		    (strcmp(component->driver->name, driver_name) != 0))
-			continue;
-
-		ret = component;
-		break;
-	}
-	mutex_unlock(&client_mutex);
-
-	return ret;
-}
-EXPORT_SYMBOL_GPL(snd_soc_lookup_component);
-
  /* Retrieve a card's name from device tree */
  int snd_soc_of_parse_card_name(struct snd_soc_card *card,
  			       const char *propname)

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux