[alsa-devel] [PATCH v2 resend 07/18] ASoC: soc-core: move snd_soc_lookup_component()
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Nov 5 03:22:39 CET 2019
> +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)
>
More information about the Alsa-devel
mailing list