RE: [PATCH 04/12] platform/x86: dell-smbios: Switch to a WMI-ACPI interface
From: Mario.Limonciello
Date: Wed Sep 27 2017 - 17:16:02 EST
> -----Original Message-----
> From: Andy Lutomirski [mailto:luto@xxxxxxxxxx]
> Sent: Wednesday, September 27, 2017 3:48 PM
> To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>; dvhart@xxxxxxxxxxxxx
> Cc: LKML <linux-kernel@xxxxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx;
> quasisec@xxxxxxxxxx; pali.rohar@xxxxxxxxx
> Subject: Re: [PATCH 04/12] platform/x86: dell-smbios: Switch to a WMI-ACPI
> interface
>
> 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.
Great idea. I'll apply that for my next patch revision.
I'm not about to convert all the existing drivers, but once all existing drivers
conceptualize using the bus, storing a wmi_device pointer internally,and
using this the old wmi_evaluate_method can be dropped too.