From: Andy Lutomirski <luto@kernel.org>
To: Darren Hart <dvhart@infradead.org>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
"Andy Lutomirski" <luto@kernel.org>,
platform-driver-x86@vger.kernel.org,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"Rafael Wysocki" <rjw@rjwysocki.net>
Subject: Re: [PATCH 3/3] platform/wmi: Expose the raw WDG data in sysfs
Date: Tue, 1 Aug 2017 16:51:40 -0700 [thread overview]
Message-ID: <CALCETrXFySnB3jq_EAn+NDTb6jsp__4Dc=0ipdFqCbaZEPSOfg@mail.gmail.com> (raw)
In-Reply-To: <20170801223947.GH3110@fury>
On Tue, Aug 1, 2017 at 3:39 PM, Darren Hart <dvhart@infradead.org> wrote:
> On Tue, Aug 01, 2017 at 11:31:12PM +0200, Pali Rohár wrote:
>> On Tuesday 01 August 2017 14:17:02 Darren Hart wrote:
> ...
>> > My understanding of the BMOF data is that it provided us "with a description of
>> > all data blocks, WMI methods, and events for the device" [1].
>> >
>> > If that's accurate, why do we need the _WDG? This just seems contrary to what
>> > the BMOF data is supposed to be for.
>>
>> BMOF provides mapping from human class and method names to WMI GUID. WDG
>> then provides mapping from WMI GUID to ACPI function names.
>>
>> Therefore if you upper layer in MOF world say that it want to call
>> method M of class C and you want to know which ACPI function is called,
>> you need to parse both BMOF and WDG to get mapping from MOF to ACPI.
>> Same for WMI events.
>>
>> > > Ideally ability to create dump of BMOF and WDG on one computer and then
>> > > parse those data on another.
>> > >
>> > > Having original BMOF and WDG structures is a good for debugging and
>> > > development purpose.
>
> OK, I went and reviewed the MOF docs, our previous discussions, and your bmf2moc
> code (awesome by the way). So, agreed - we need easy access to _WDG and BMOF for
> development purposes.
>
> Having the kernel expose a guid/class/method interface should provide the
> abstraction Rafael called for.
>
> The question then, is should these two things be in sysfs, where they become
> more or less permanent, or are they better off in debugfs, where they can be
> used by developers as needed, but are not present on production systems, and
> we are not bound to the representation we use from now until forever.
>
> Seems to me:
>
> /debug/wmi/<GUID>/bmof
I can imagine a real production userspace app that parses BMOF data.
Imagine you write a thingy that calls some laptop method foo(1) where
foo is defined in the MOF. You could hardcode the mapping to the
GUID, but you could also parse the BMOF.
> /debug/wmi/<GUID>/_wdg
More like /debug/wmi/<bus name>/_wdg, but yes. I wish there was a
standard way to make a debugfs directory corresponding to a sysfs
path. Maybe this exists -- I'll look.
FWIW, almost all the _WDG data is already there in sysfs in Linus'
tree. See, for example, cat
/sys/devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/05901221-D566-11D1-B2F0-00A0C9062910/object_id
--Andy
>
> would be the most appropriate location for these.
>
> --
> Darren Hart
> VMware Open Source Technology Center
next prev parent reply other threads:[~2017-08-01 23:52 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1501601667.git.luto@kernel.org>
[not found] ` <e6df9d038af0a0ce4d4119395aaea58366ade26d.1501601667.git.luto@kernel.org>
[not found] ` <20170801200313.GC3110@fury>
[not found] ` <CALCETrX0zqq3xQgNBx41R9ZCT3_bB4EoXGrY3jWLK0e0Koo=EQ@mail.gmail.com>
[not found] ` <20170801204040.GH25574@pali>
2017-08-01 21:17 ` [PATCH 3/3] platform/wmi: Expose the raw WDG data in sysfs Darren Hart
2017-08-01 21:20 ` Rafael J. Wysocki
2017-08-01 21:36 ` Pali Rohár
2017-08-01 21:32 ` Rafael J. Wysocki
2017-08-01 22:06 ` Darren Hart
2017-08-01 21:31 ` Pali Rohár
2017-08-01 22:39 ` Darren Hart
2017-08-01 23:51 ` Andy Lutomirski [this message]
2017-08-02 2:22 ` Darren Hart
2017-08-02 7:49 ` Pali Rohár
2017-08-04 15:03 ` Andy Lutomirski
2017-08-06 21:36 ` Pali Rohár
2017-08-06 22:09 ` Andy Lutomirski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CALCETrXFySnB3jq_EAn+NDTb6jsp__4Dc=0ipdFqCbaZEPSOfg@mail.gmail.com' \
--to=luto@kernel.org \
--cc=dvhart@infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=rjw@rjwysocki.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).