> 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. -- Best regards, Michał Kępień -- 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