On 09/21/2017 06:57 AM, Mario Limonciello wrote:
The driver currently uses an SMI interface which grants direct access to physical memory to the platform via a pointer. Changing this to operate over WMI-ACPI will use an ACPI OperationRegion for a buffer of data storage when platform calls are performed. This is a safer approach to use in kernel drivers as the platform will only have access to that OperationRegion. As a result, this change removes the dependency on this driver on the dcdbas kernel module.
+ status = wmi_evaluate_method(DELL_WMI_SMBIOS_GUID, + 0, 1, &input, &output);
It might be nice to add a wmidev_method_evaluate(struct wmi_device *wdev, ...) function to better aligh with the new world order. The only reason I didn't do it is that I didn't convert any drivers that wanted it.