On Mon, Jan 9, 2017 at 9:56 PM, Michał Kępień <kernel@xxxxxxxxxx> wrote: >> On Sat, Jan 16, 2016 at 5:11 AM, Michał Kępień <kernel@xxxxxxxxxx> wrote: >> >> My laptop has one RW data object, one RO data object, and one >> >> totally inaccessible data object. Check for the existence of the >> >> accessor methods and report in sysfs. >> >> >> >> The docs also permit WQxx getters for single-instance objects to >> >> take no parameters. Probe for that as well to avoid ACPICA warnings >> >> about mismatched signatures. >> >> >> >> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> >> >> --- >> >> drivers/platform/x86/wmi.c | 94 ++++++++++++++++++++++++++++++++++++++++++++-- >> >> include/linux/wmi.h | 6 +++ >> >> 2 files changed, 96 insertions(+), 4 deletions(-) >> >> >> >> diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c >> >> index 5571ae7354a1..49be61207c4a 100644 >> >> --- a/drivers/platform/x86/wmi.c >> >> +++ b/drivers/platform/x86/wmi.c >> >> @@ -66,6 +66,8 @@ struct wmi_block { >> >> struct acpi_device *acpi_device; >> >> wmi_notify_handler handler; >> >> void *handler_data; >> >> + >> >> + bool read_takes_no_args; /* only defined if readable */ >> >> }; >> >> >> >> >> >> @@ -216,6 +218,25 @@ static bool find_guid(const char *guid_string, struct wmi_block **out) >> >> return false; >> >> } >> >> >> >> +static int get_subobj_info(acpi_handle handle, const char *pathname, >> >> + struct acpi_device_info *info) >> >> +{ >> >> + acpi_handle subobj_handle; >> >> + acpi_status status; >> >> + >> >> + status = acpi_get_handle(handle, (char *)pathname, &subobj_handle); >> >> + if (status == AE_NOT_FOUND) >> >> + return -ENOENT; >> >> + else if (ACPI_FAILURE(status)) >> >> + return -EIO; >> >> + >> >> + status = acpi_get_object_info(subobj_handle, &info); >> > >> > acpi_get_object_info() allocates the returned buffer itself. The latter >> > should then subsequently be freed by the caller. One solution is to >> > change get_subobj_info() so that it takes a struct acpi_device_info ** >> > as an argument, which should then be passed to acpi_get_object_info(). >> > See also below. >> >> I have an updated version of this patch in my queue. I'll try to send >> it early next week. > > Hi Andy, > > Are you planning any further work on this patch series (originally > posted in December 2015)? It seems to be a valuable cleanup. I have a tree in which the patches are sitting and I've kept them rebased, but I haven't had a chance to go through all the review comments and send them out. Want to do it? --Andy -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html