RE: [PATCH v4 11/14] platform/x86: dell-smbios-wmi: Add new WMI dispatcher driver

From: Mario.Limonciello
Date: Thu Oct 05 2017 - 15:47:46 EST


> -----Original Message-----
> From: Darren Hart [mailto:dvhart@xxxxxxxxxxxxx]
> Sent: Thursday, October 5, 2017 12:58 PM
> To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> Cc: andy.shevchenko@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; platform-
> driver-x86@xxxxxxxxxxxxxxx; luto@xxxxxxxxxx; quasisec@xxxxxxxxxx;
> pali.rohar@xxxxxxxxx; rjw@xxxxxxxxxxxxx; mjg59@xxxxxxxxxx; hch@xxxxxx;
> greg@xxxxxxxxx
> Subject: Re: [PATCH v4 11/14] platform/x86: dell-smbios-wmi: Add new WMI
> dispatcher driver
>
> On Thu, Oct 05, 2017 at 03:12:46PM +0000, Mario.Limonciello@xxxxxxxx wrote:
>
> > > > 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?
>
> Right. It shouldn't have a prompt.
>
> >
> > 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?
>
> No, I mean eliminate the menu entry by eliminating the prompt.
Do you have an example of a driver that does it this way?
When I tried, CONFIG_DELL_WMI_DESCRIPTOR doesn't get saved to .config
and then doesn't compile into a module anymore.

>
> >
> > > > 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*...
>
> I was thinking 32b vs 64b x86 which have a different definition of word size.
>
I'll make this clearer.