HID: wacom: Make use of the helper function devm_add_action_or_reset()
authorCai Huoqing <caihuoqing@baidu.com>
Fri, 15 Oct 2021 02:28:03 +0000 (10:28 +0800)
committerJiri Kosina <jkosina@suse.cz>
Wed, 27 Oct 2021 08:14:05 +0000 (10:14 +0200)
The helper function devm_add_action_or_reset() will internally
call devm_add_action(), and if devm_add_action() fails then it will
execute the action mentioned and return the error code. So
use devm_add_action_or_reset() instead of devm_add_action()
to simplify the error handling, reduce the code.

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/wacom_sys.c

index 62f50e4..2717d39 100644 (file)
@@ -894,11 +894,9 @@ static int wacom_add_shared_data(struct hid_device *hdev)
 
        wacom_wac->shared = &data->shared;
 
-       retval = devm_add_action(&hdev->dev, wacom_remove_shared_data, wacom);
-       if (retval) {
-               wacom_remove_shared_data(wacom);
+       retval = devm_add_action_or_reset(&hdev->dev, wacom_remove_shared_data, wacom);
+       if (retval)
                return retval;
-       }
 
        if (wacom_wac->features.device_type & WACOM_DEVICETYPE_TOUCH)
                wacom_wac->shared->touch = hdev;