From: Armin Wolf <W_Armin@gmx.de>
To: "Kurt Borja" <kuurtb@gmail.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Hans de Goede" <hansg@kernel.org>
Cc: platform-driver-x86@vger.kernel.org, Dell.Client.Kernel@dell.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] platform/x86: alienware-wmi-base: Transition to new WMI API
Date: Mon, 13 Apr 2026 08:25:59 +0200 [thread overview]
Message-ID: <eb4b7361-128e-4e1d-853b-667deb52603a@gmx.de> (raw)
In-Reply-To: <20260331-aw-new-api-v3-1-ef03b94529d8@gmail.com>
Am 31.03.26 um 18:20 schrieb Kurt Borja:
> Transition to the new wmi_buffer based WMI API.
Hi,
i think you will have to adapt this patch to the changes i made to
wmidev_invoke_method(). Said function now takes an additional parameter
specifying the minimum size of the output data.
In your case this would replace the size check when output data is
expected, otherwise you should call wmidev_invoke_procedure.
Thanks,
Armin Wolf
>
> Signed-off-by: Kurt Borja <kuurtb@gmail.com>
> ---
> v3:
> - Use __free() instead of manual cleanup.
> - Include <linux/types.h>
>
> v2: https://patch.msgid.link/20260331-aw-new-api-v2-1-3b0d33bf8d22@gmail.com
> - Cast wmi_buffer data to __le32 and then use le32_to_cpu() before
> returning
>
> v1: https://patch.msgid.link/20260330-aw-new-api-v1-1-95910bfa1b38@gmail.com
> ---
> drivers/platform/x86/dell/alienware-wmi-base.c | 34 ++++++++++++++++----------
> 1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/platform/x86/dell/alienware-wmi-base.c b/drivers/platform/x86/dell/alienware-wmi-base.c
> index 64562b92314f..38a903734fa3 100644
> --- a/drivers/platform/x86/dell/alienware-wmi-base.c
> +++ b/drivers/platform/x86/dell/alienware-wmi-base.c
> @@ -12,8 +12,13 @@
> #include <linux/cleanup.h>
> #include <linux/module.h>
> #include <linux/platform_device.h>
> +#include <linux/slab.h>
> +#include <linux/types.h>
> #include <linux/dmi.h>
> #include <linux/leds.h>
> +
> +#include <asm/byteorder.h>
> +
> #include "alienware-wmi.h"
>
> MODULE_AUTHOR("Mario Limonciello <mario.limonciello@outlook.com>");
> @@ -150,22 +155,25 @@ u8 alienware_interface;
> int alienware_wmi_command(struct wmi_device *wdev, u32 method_id,
> void *in_args, size_t in_size, u32 *out_data)
> {
> - struct acpi_buffer out = {ACPI_ALLOCATE_BUFFER, NULL};
> - struct acpi_buffer in = {in_size, in_args};
> - acpi_status ret;
> + struct wmi_buffer out, in = {
> + .data = in_args,
> + .length = in_size,
> + };
> + int ret;
>
> - ret = wmidev_evaluate_method(wdev, 0, method_id, &in, out_data ? &out : NULL);
> - if (ACPI_FAILURE(ret))
> - return -EIO;
> + ret = wmidev_invoke_method(wdev, 0, method_id, &in, out_data ? &out : NULL);
> + if (ret)
> + return ret;
>
> - union acpi_object *obj __free(kfree) = out.pointer;
> + if (!out_data)
> + return 0;
>
> - if (out_data) {
> - if (obj && obj->type == ACPI_TYPE_INTEGER)
> - *out_data = (u32)obj->integer.value;
> - else
> - return -ENOMSG;
> - }
> + __le32 *data __free(kfree) = out.data;
> +
> + if (out.length < sizeof(*out_data))
> + return -ENOMSG;
> +
> + *out_data = le32_to_cpu(*data);
>
> return 0;
> }
>
> ---
> base-commit: fab7c51693e95aa874d6d9db22bfae7bd0b23c66
> change-id: 20260123-aw-new-api-1c18f1011f35
>
next prev parent reply other threads:[~2026-04-13 6:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-31 16:20 Kurt Borja
2026-04-13 6:25 ` Armin Wolf [this message]
2026-04-20 16:29 ` Kurt Borja
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=eb4b7361-128e-4e1d-853b-667deb52603a@gmx.de \
--to=w_armin@gmx.de \
--cc=Dell.Client.Kernel@dell.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=kuurtb@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome