Re: [PATCH 15/16] platform/x86: wmi-mof: New driver to expose embedded WMI MOF metadata

From: Pali RohÃr
Date: Wed Jun 07 2017 - 16:50:40 EST


On Wednesday 07 June 2017 22:23:08 Mario.Limonciello@xxxxxxxx wrote:
> > -----Original Message-----
> > From: Pali RohÃr [mailto:pali.rohar@xxxxxxxxx]
> > Sent: Wednesday, June 7, 2017 12:39 PM
> > To: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> > Cc: luto@xxxxxxxxxxxxxx; dvhart@xxxxxxxxxxxxx; platform-driver-
> > x86@xxxxxxxxxxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx;
> > luto@xxxxxxxxxx; rjw@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > linux-acpi@xxxxxxxxxxxxxxx Subject: Re: [PATCH 15/16]
> > platform/x86: wmi-mof: New driver to expose embedded WMI MOF
> > metadata
> >
> > On Tuesday 06 June 2017 15:56:21 Pali RohÃr wrote:
> > > On Tuesday 06 June 2017 13:46:16 Mario.Limonciello@xxxxxxxx wrote:
> > > > 2) On my system when you expand the arguments for "void DoBFn"
> > > > the source doesn't describe individual arguments like you do.
> > > > Again this might not matter to MOF parsing tools but wanted to
> > > > let you know in case it does.
> > >
> > > I know, this part is missing. Order of arguments are only in ID
> > > qualifier and not sorted + in/out de-duplicated.
> >
> > Implemented! Now arguments are correctly placed based on ID
> > qualifier.
>
> I think it's still off a little though.
>
> What I'm getting back now from bmf2mof is:
> void DoBFn([in, Description("Fn buf"), out] BDat Data);
>
> Whereas source puts Description as the last argument:
> void DoBFn([in, out, Description("Fn buf")] BDat Data);

In BMOF from my Latitude E6440 there are specified two parameters with
index 0. One with qualifiers ("in", Description("Fn buf")) and one with
("out", Description("Fn buf")). I think you have similar/same data in
BMOF.

In my bmf2mof I just combined those two parameters into one (when name,
type and index matches) and concatenate also qualifiers with removing
duplicates.

Do not know what is correct way, but I think qualifiers are just
unordered set. MS decompiler probably put "in" and "out" qualifiers
before any other for better readability.

> > > > source:
> > > > void DoBFn([in, out, Description("Fn buf")] BDat Data);
> > > >
> > > > bmf2mof:
> > > > void doBFn([in, Description("Fn buf"), ID(0)] BDat Data, [out,
> > > > Description("Fn buf"), ID(0)] BDat Data);
> >
> > --
> > Pali RohÃr
> > pali.rohar@xxxxxxxxx

--
Pali RohÃr
pali.rohar@xxxxxxxxx

Attachment: signature.asc
Description: This is a digitally signed message part.