mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
cdx: Use mutex guard to simplify error handling
Mutex guard allows to drop one goto/break in error handling and the less expected code of assigning -EINVAL to unsigned size_t count variable. Suggested-by: Jonathan Cameron <jonathan.cameron@huawei.com> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com> Link: https://patch.msgid.link/20260109-of-for-each-compatible-scoped-v3-7-c22fa2c0749a@oss.qualcomm.com Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
parent
2ff81fe310
commit
3bf312f30b
1 changed files with 3 additions and 8 deletions
|
|
@ -616,7 +616,7 @@ static ssize_t rescan_store(const struct bus_type *bus,
|
|||
if (!val)
|
||||
return -EINVAL;
|
||||
|
||||
mutex_lock(&cdx_controller_lock);
|
||||
guard(mutex)(&cdx_controller_lock);
|
||||
|
||||
/* Unregister all the devices on the bus */
|
||||
cdx_unregister_devices(&cdx_bus_type);
|
||||
|
|
@ -624,10 +624,8 @@ static ssize_t rescan_store(const struct bus_type *bus,
|
|||
/* Rescan all the devices */
|
||||
for_each_compatible_node_scoped(np, NULL, compat_node_name) {
|
||||
pd = of_find_device_by_node(np);
|
||||
if (!pd) {
|
||||
count = -EINVAL;
|
||||
goto unlock;
|
||||
}
|
||||
if (!pd)
|
||||
return -EINVAL;
|
||||
|
||||
cdx = platform_get_drvdata(pd);
|
||||
if (cdx && cdx->controller_registered && cdx->ops->scan)
|
||||
|
|
@ -636,9 +634,6 @@ static ssize_t rescan_store(const struct bus_type *bus,
|
|||
put_device(&pd->dev);
|
||||
}
|
||||
|
||||
unlock:
|
||||
mutex_unlock(&cdx_controller_lock);
|
||||
|
||||
return count;
|
||||
}
|
||||
static BUS_ATTR_WO(rescan);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue