]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
platform/wmi: Convert drivers to use wmidev_invoke_procedure()
authorArmin Wolf <W_Armin@gmx.de>
Mon, 6 Apr 2026 20:32:33 +0000 (22:32 +0200)
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Mon, 13 Apr 2026 11:11:20 +0000 (14:11 +0300)
Convert users of wmidev_invoke_method() to wmidev_invoke_procedure()
where applicable to prepare for future changes.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20260406203237.2970-3-W_Armin@gmx.de
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
drivers/platform/x86/bitland-mifs-wmi.c
drivers/platform/x86/intel/wmi/thunderbolt.c

index 54380708b7b0283408900b4c08c808baca5a289f..cd3cdd0875119007aa160b8dcaef0a2898405fd6 100644 (file)
@@ -167,23 +167,24 @@ static int bitland_mifs_wmi_call(struct bitland_mifs_wmi_data *data,
                                 struct bitland_mifs_output *output)
 {
        struct wmi_buffer in_buf = { .length = sizeof(*input), .data = (void *)input };
+       void *out_data __free(kfree) = NULL;
        struct wmi_buffer out_buf = { 0 };
        int ret;
 
        guard(mutex)(&data->lock);
 
-       ret = wmidev_invoke_method(data->wdev, 0, 1, &in_buf, output ? &out_buf : NULL);
+       if (!output)
+               return wmidev_invoke_procedure(data->wdev, 0, 1, &in_buf);
+
+       ret = wmidev_invoke_method(data->wdev, 0, 1, &in_buf, &out_buf);
        if (ret)
                return ret;
 
-       if (output) {
-               void *out_data __free(kfree) = out_buf.data;
-
-               if (out_buf.length < sizeof(*output))
-                       return -EIO;
+       out_data = out_buf.data;
+       if (out_buf.length < sizeof(*output))
+               return -EIO;
 
-               memcpy(output, out_data, sizeof(*output));
-       }
+       memcpy(output, out_data, sizeof(*output));
 
        return 0;
 }
index 47017f2d759707f81fd572422d97abdf2534c2f7..9b1920d6167483abbf9f1ec54c2ce2e4a6080dec 100644 (file)
@@ -34,7 +34,7 @@ static ssize_t force_power_store(struct device *dev,
        if (mode > 1)
                return -EINVAL;
 
-       ret = wmidev_invoke_method(to_wmi_device(dev), 0, 1, &buffer, NULL);
+       ret = wmidev_invoke_procedure(to_wmi_device(dev), 0, 1, &buffer);
        if (ret < 0)
                return ret;