RE: [PATCH 11/12] platform/x86: dell-wmi-smbios: introduce character device for userspace

From: Mario.Limonciello
Date: Mon Sep 25 2017 - 13:47:00 EST


> -----Original Message-----
> From: Andy Shevchenko [mailto:andy.shevchenko@xxxxxxxxx]
> Sent: Monday, September 25, 2017 12:58 PM
> To: Pali RohÃr <pali.rohar@xxxxxxxxx>
> Cc: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>; dvhart@xxxxxxxxxxxxx;
> LKML <linux-kernel@xxxxxxxxxxxxxxx>; Platform Driver <platform-driver-
> x86@xxxxxxxxxxxxxxx>; quasisec@xxxxxxxxxx
> Subject: Re: [PATCH 11/12] platform/x86: dell-wmi-smbios: introduce character
> device for userspace
>
> On Mon, Sep 25, 2017 at 7:31 PM, Pali RohÃr <pali.rohar@xxxxxxxxx> wrote:
> > On Thursday 21 September 2017 08:57:16 Mario Limonciello wrote:
> >> This userspace character device will be used to perform SMBIOS calls
> >> from any applications sending a properly formatted 4k calling interface
> >> buffer.
> >>
> >> This character device is intended to deprecate the dcdbas kernel module
> >> and the interface that it provides to userspace.
> >>
> >> It's important for the driver to provide a R/W ioctl to ensure that
> >> two competing userspace processes don't race to provide or read each
> >> others data.
>
> >> +What: /dev/wmi-dell-wmi-smbios
> >
> > What about just /dev/dell-smbios? IOCTL provided here is just SMBIOS
> > related and I think userspace does not have to care if it is via WMI or
> > direct SMM mode... Important is that it provides character device for
> > SMBIOS API and not how it is implemented.
> >
> > Anyway, Darren, Andy, do we have some convention for naming platform
> > character devices?
>
> For me, looking to this case, seems better to expose a folder like
> /dev/smbios/
> with actual vendor device nodes inside like
> /dev/smbios/dell

I disagree with this. Dell exposes smbios calling in this kernel interface but
other vendor drivers may also expose different methods for character devices
that are not SMBIOS.

I'm envisioning that this is just the first kernel module that will use a WMI
character device to userspace. That's why I wanted to use a generic namespace.

I would say it could be /dev/wmi-$GUID or /dev/wmi/$driver-$GUID if you want
something more generic.
As long as it's discovereable from uevent that's fine to me.

>
> Darren?
>
> P.S. Interestingly I wasn't in Cc list for this series at all.

Sorry, my mistake in gitconfig. I'll add you in next version submission.