5 Nov
2019
5 Nov
'19
5:10 a.m.
Hi Pierre-Louis
+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; }
Indeed !! Will post follow-up patch
- mutex_unlock(&client_mutex);
- return ret;
usually 'return ret' is for an error code. It's odd to use it for a pointer.
Will fix.
Thank you for your help !! Best regards --- Kuninori Morimoto