> -----Original Message----- > From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx] > Sent: Wednesday, October 4, 2017 9:15 PM > To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx> > Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>; LKML <linux- > kernel@xxxxxxxxxxxxxxx>; platform-driver-x86@xxxxxxxxxxxxxxx; Andy Lutomirski > <luto@xxxxxxxxxx>; quasisec@xxxxxxxxxx; pali.rohar@xxxxxxxxx; > rjw@xxxxxxxxxxxxx; mjg59@xxxxxxxxxx; hch@xxxxxx; Greg KH > <greg@xxxxxxxxx> > Subject: Re: [PATCH v4 11/14] platform/x86: dell-smbios-wmi: Add new WMI > dispatcher driver > > On Wed, Oct 04, 2017 at 05:48:37PM -0500, Mario Limonciello wrote: > > The dell-smbios stack only currently uses an SMI interface which grants > > direct access to physical memory to the firmware SMM methods via a pointer. > > > > This dispatcher driver adds a WMI-ACPI interface that is detected by WMI > > probe and preferred over the SMI interface in dell-smbios. > > > > Changing this to operate over WMI-ACPI will use an ACPI OperationRegion > > for a buffer of data storage when SMM calls are performed. > > > > This is a safer approach to use in kernel drivers as the SMM will > > only have access to that OperationRegion. > > > > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxxx> > > --- > > MAINTAINERS | 6 + > > drivers/platform/x86/Kconfig | 16 ++- > > drivers/platform/x86/Makefile | 1 + > > drivers/platform/x86/dell-smbios-wmi.c | 215 > +++++++++++++++++++++++++++++++++ > > drivers/platform/x86/dell-smbios-wmi.h | 28 +++++ > > 5 files changed, 265 insertions(+), 1 deletion(-) > > create mode 100644 drivers/platform/x86/dell-smbios-wmi.c > > create mode 100644 drivers/platform/x86/dell-smbios-wmi.h > > > ... > > diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig > > index f0b97cb8e449..ef597f440d2e 100644 > > --- a/drivers/platform/x86/Kconfig > > +++ b/drivers/platform/x86/Kconfig > > @@ -93,13 +93,27 @@ config ASUS_LAPTOP > > > > config DELL_SMBIOS > > tristate "Dell SMBIOS calling interface" > > - depends on DELL_SMBIOS_SMM > > + depends on DELL_SMBIOS_WMI || DELL_SMBIOS_SMM > > ---help--- > > This module provides common functions for kernel modules using > > Dell SMBIOS. > > You use select DELL_SMBIOS below, which implies this modules should be > invisible. Indeed, there is no need for the user to see the DELL_SMBIOS > option at all now, they can select DELL_SMBIOS_WMI and or > DELL_SMBIOS_SMM, no need to keep the DELL_SMBIOS option. > So when you say make invisible, does that mean that it should never show up in make menuconfig and just be implicitly selected? When I was adjusting Kconfig for your other feedback I noticed setting something to "select $DRIVER" that invisible driver does show up just can't be turned off. Is that what you mean? > > diff --git a/drivers/platform/x86/dell-smbios-wmi.c > b/drivers/platform/x86/dell-smbios-wmi.c > > +static void __init parse_b1_table(const struct dmi_header *dm) > > +{ > > + struct misc_bios_flags_structure *flags = > > + container_of(dm, struct misc_bios_flags_structure, header); > > + > > + /* 4 bytes header, and one word of flags */ > > Assuming specifically 8 bytes of flags, independent of arch? Well platform/drivers/*x86*...