All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wmi: Set wmi devices' parents
@ 2015-11-23 19:25 Andy Lutomirski
  2015-11-23 19:37 ` Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
  0 siblings, 1 reply; 10+ messages in thread
From: Andy Lutomirski @ 2015-11-23 19:25 UTC (permalink / raw)
  To: Darren Hart
  Cc: Matthew Garrett, linux-acpi, platform-driver-x86, Andy Lutomirski

Without this patch, wmi devices are in /sys/virtual/wmi.  They're
logically children of the ACPI WMI device, so slot them into the
device hierarchy.  With this change, on my laptop, they end up in
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
---

The WMI driver doesn't really play well with the driver model.  This
helps a little.

Depending on how much time I find, I may send some followups to turn
it into a real bus driver since it really does work like a bus.

drivers/platform/x86/wmi.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
index eb391a281833..e58768787677 100644
--- a/drivers/platform/x86/wmi.c
+++ b/drivers/platform/x86/wmi.c
@@ -684,9 +684,11 @@ static struct class wmi_class = {
 };
 
 static int wmi_create_device(const struct guid_block *gblock,
-			     struct wmi_block *wblock, acpi_handle handle)
+			     struct wmi_block *wblock,
+			     struct acpi_device *device)
 {
 	wblock->dev.class = &wmi_class;
+	wblock->dev.parent = &device->dev;
 
 	dev_set_name(&wblock->dev, "%pUL", gblock->guid);
 
@@ -723,7 +725,7 @@ static bool guid_already_parsed(const char *guid_string)
 /*
  * Parse the _WDG method for the GUID data blocks
  */
-static int parse_wdg(acpi_handle handle)
+static int parse_wdg(struct acpi_device *device)
 {
 	struct acpi_buffer out = {ACPI_ALLOCATE_BUFFER, NULL};
 	union acpi_object *obj;
@@ -733,7 +735,7 @@ static int parse_wdg(acpi_handle handle)
 	int retval;
 	u32 i, total;
 
-	status = acpi_evaluate_object(handle, "_WDG", NULL, &out);
+	status = acpi_evaluate_object(device->handle, "_WDG", NULL, &out);
 	if (ACPI_FAILURE(status))
 		return -ENXIO;
 
@@ -757,7 +759,7 @@ static int parse_wdg(acpi_handle handle)
 		if (!wblock)
 			return -ENOMEM;
 
-		wblock->handle = handle;
+		wblock->handle = device->handle;
 		wblock->gblock = gblock[i];
 
 		/*
@@ -767,7 +769,7 @@ static int parse_wdg(acpi_handle handle)
 		  for device creation.
 		*/
 		if (!guid_already_parsed(gblock[i].guid)) {
-			retval = wmi_create_device(&gblock[i], wblock, handle);
+			retval = wmi_create_device(&gblock[i], wblock, device);
 			if (retval) {
 				wmi_free_devices();
 				goto out_free_pointer;
@@ -884,7 +886,7 @@ static int acpi_wmi_add(struct acpi_device *device)
 		return -ENODEV;
 	}
 
-	error = parse_wdg(device->handle);
+	error = parse_wdg(device);
 	if (error) {
 		acpi_remove_address_space_handler(device->handle,
 						  ACPI_ADR_SPACE_EC,
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-23 19:25 [PATCH] wmi: Set wmi devices' parents Andy Lutomirski
@ 2015-11-23 19:37 ` Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
  2015-11-23 19:40   ` Matthew Garrett
  2015-11-26  1:28   ` Andy Lutomirski
  0 siblings, 2 replies; 10+ messages in thread
From: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman @ 2015-11-23 19:37 UTC (permalink / raw)
  To: Andy Lutomirski; +Cc: Matthew Garrett, linux-acpi, platform-driver-x86

On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
> logically children of the ACPI WMI device, so slot them into the
> device hierarchy.  With this change, on my laptop, they end up in
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
> 
> Signed-off-by: Andy Lutomirski <luto@kernel.org>

I'd like to hear from some of the main contributors to this driver:

Matthew?
Carlos?
Len?

Any cocnerns on this change?

My initial concern is about changign how we expose this to userspace, but I
believe where it appears in the /sys/devices FS is NOT part of the
kernel-userspace interface commitment (per sysfs-rules.txt).

Greg, is that correct?

> ---
> 
> The WMI driver doesn't really play well with the driver model.  This
> helps a little.
> 
> Depending on how much time I find, I may send some followups to turn
> it into a real bus driver since it really does work like a bus.
> 
> drivers/platform/x86/wmi.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c
> index eb391a281833..e58768787677 100644
> --- a/drivers/platform/x86/wmi.c
> +++ b/drivers/platform/x86/wmi.c
> @@ -684,9 +684,11 @@ static struct class wmi_class = {
>  };
>  
>  static int wmi_create_device(const struct guid_block *gblock,
> -			     struct wmi_block *wblock, acpi_handle handle)
> +			     struct wmi_block *wblock,
> +			     struct acpi_device *device)
>  {
>  	wblock->dev.class = &wmi_class;
> +	wblock->dev.parent = &device->dev;
>  
>  	dev_set_name(&wblock->dev, "%pUL", gblock->guid);
>  
> @@ -723,7 +725,7 @@ static bool guid_already_parsed(const char *guid_string)
>  /*
>   * Parse the _WDG method for the GUID data blocks
>   */
> -static int parse_wdg(acpi_handle handle)
> +static int parse_wdg(struct acpi_device *device)
>  {
>  	struct acpi_buffer out = {ACPI_ALLOCATE_BUFFER, NULL};
>  	union acpi_object *obj;
> @@ -733,7 +735,7 @@ static int parse_wdg(acpi_handle handle)
>  	int retval;
>  	u32 i, total;
>  
> -	status = acpi_evaluate_object(handle, "_WDG", NULL, &out);
> +	status = acpi_evaluate_object(device->handle, "_WDG", NULL, &out);
>  	if (ACPI_FAILURE(status))
>  		return -ENXIO;
>  
> @@ -757,7 +759,7 @@ static int parse_wdg(acpi_handle handle)
>  		if (!wblock)
>  			return -ENOMEM;
>  
> -		wblock->handle = handle;
> +		wblock->handle = device->handle;
>  		wblock->gblock = gblock[i];
>  
>  		/*
> @@ -767,7 +769,7 @@ static int parse_wdg(acpi_handle handle)
>  		  for device creation.
>  		*/
>  		if (!guid_already_parsed(gblock[i].guid)) {
> -			retval = wmi_create_device(&gblock[i], wblock, handle);
> +			retval = wmi_create_device(&gblock[i], wblock, device);
>  			if (retval) {
>  				wmi_free_devices();
>  				goto out_free_pointer;
> @@ -884,7 +886,7 @@ static int acpi_wmi_add(struct acpi_device *device)
>  		return -ENODEV;
>  	}
>  
> -	error = parse_wdg(device->handle);
> +	error = parse_wdg(device);
>  	if (error) {
>  		acpi_remove_address_space_handler(device->handle,
>  						  ACPI_ADR_SPACE_EC,
> -- 
> 2.5.0
> 
> 

-- 
Darren Hart
Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-23 19:37 ` Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
@ 2015-11-23 19:40   ` Matthew Garrett
  2015-11-26  1:28   ` Andy Lutomirski
  1 sibling, 0 replies; 10+ messages in thread
From: Matthew Garrett @ 2015-11-23 19:40 UTC (permalink / raw)
  To: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
  Cc: Andy Lutomirski, linux-acpi, platform-driver-x86

Works for me.

-- 
Matthew Garrett | mjg59@srcf.ucam.org

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-23 19:37 ` Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
  2015-11-23 19:40   ` Matthew Garrett
@ 2015-11-26  1:28   ` Andy Lutomirski
  2015-11-26 14:09     ` Rafael J. Wysocki
  2015-11-30 20:49     ` Darren Hart
  1 sibling, 2 replies; 10+ messages in thread
From: Andy Lutomirski @ 2015-11-26  1:28 UTC (permalink / raw)
  To: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
  Cc: Andy Lutomirski, Matthew Garrett, Linux ACPI, platform-driver-x86

On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
> On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
>> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
>> logically children of the ACPI WMI device, so slot them into the
>> device hierarchy.  With this change, on my laptop, they end up in
>> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
>> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
>>
>> Signed-off-by: Andy Lutomirski <luto@kernel.org>
>
> I'd like to hear from some of the main contributors to this driver:
>
> Matthew?
> Carlos?
> Len?
>
> Any cocnerns on this change?
>
> My initial concern is about changign how we expose this to userspace, but I
> believe where it appears in the /sys/devices FS is NOT part of the
> kernel-userspace interface commitment (per sysfs-rules.txt).


Let's drop this, actually.  I have mostly-working patches to make wmi
into an actual bus driver, and this intermediate step seems like it'll
just confuse people.

Question, though: where do the WMI devices belong?  Multiple choice:

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]

/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]

/sys/devices/platform/PNP0C14:01/[GUID]

/sys/devices/platform/PNP0C14:01/wmi/[GUID]

Currently I've implemented the first one because it's the smallest diff.

--Andy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-26  1:28   ` Andy Lutomirski
@ 2015-11-26 14:09     ` Rafael J. Wysocki
  2015-11-26 15:53       ` Andy Lutomirski
  2015-11-30 18:51       ` Darren Hart
  2015-11-30 20:49     ` Darren Hart
  1 sibling, 2 replies; 10+ messages in thread
From: Rafael J. Wysocki @ 2015-11-26 14:09 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman,
	Andy Lutomirski, Matthew Garrett, Linux ACPI,
	platform-driver-x86

On Wednesday, November 25, 2015 05:28:54 PM Andy Lutomirski wrote:
> On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
> > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
> >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
> >> logically children of the ACPI WMI device, so slot them into the
> >> device hierarchy.  With this change, on my laptop, they end up in
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
> >>
> >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> >
> > I'd like to hear from some of the main contributors to this driver:
> >
> > Matthew?
> > Carlos?
> > Len?
> >
> > Any cocnerns on this change?
> >
> > My initial concern is about changign how we expose this to userspace, but I
> > believe where it appears in the /sys/devices FS is NOT part of the
> > kernel-userspace interface commitment (per sysfs-rules.txt).
> 
> 
> Let's drop this, actually.  I have mostly-working patches to make wmi
> into an actual bus driver, and this intermediate step seems like it'll
> just confuse people.
> 
> Question, though: where do the WMI devices belong?  Multiple choice:
> 
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]
> 
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]
> 
> /sys/devices/platform/PNP0C14:01/[GUID]
> 
> /sys/devices/platform/PNP0C14:01/wmi/[GUID]
> 
> Currently I've implemented the first one because it's the smallest diff.

That probably is not the right choice, though.

ACPI "devices" are counterparts of DT device nodes and having other things
exported under them would be quite confusing.  In fact, you can argue that
the whole /sys/devices/LNXSYSTM:00/ directory should be located under
/sys/firmware/acpi, but it turns out to be difficult to move it there
for various reasons.

Personally, I'd go for the last one.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-26 14:09     ` Rafael J. Wysocki
@ 2015-11-26 15:53       ` Andy Lutomirski
  2015-11-26 23:22         ` Rafael J. Wysocki
  2015-11-30 18:51       ` Darren Hart
  1 sibling, 1 reply; 10+ messages in thread
From: Andy Lutomirski @ 2015-11-26 15:53 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman,
	Andy Lutomirski, Matthew Garrett, Linux ACPI,
	platform-driver-x86

On Thu, Nov 26, 2015 at 6:09 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> On Wednesday, November 25, 2015 05:28:54 PM Andy Lutomirski wrote:
>> On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
>> > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
>> >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
>> >> logically children of the ACPI WMI device, so slot them into the
>> >> device hierarchy.  With this change, on my laptop, they end up in
>> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
>> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
>> >>
>> >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
>> >
>> > I'd like to hear from some of the main contributors to this driver:
>> >
>> > Matthew?
>> > Carlos?
>> > Len?
>> >
>> > Any cocnerns on this change?
>> >
>> > My initial concern is about changign how we expose this to userspace, but I
>> > believe where it appears in the /sys/devices FS is NOT part of the
>> > kernel-userspace interface commitment (per sysfs-rules.txt).
>>
>>
>> Let's drop this, actually.  I have mostly-working patches to make wmi
>> into an actual bus driver, and this intermediate step seems like it'll
>> just confuse people.
>>
>> Question, though: where do the WMI devices belong?  Multiple choice:
>>
>> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]
>>
>> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]
>>
>> /sys/devices/platform/PNP0C14:01/[GUID]
>>
>> /sys/devices/platform/PNP0C14:01/wmi/[GUID]
>>
>> Currently I've implemented the first one because it's the smallest diff.
>
> That probably is not the right choice, though.
>
> ACPI "devices" are counterparts of DT device nodes and having other things
> exported under them would be quite confusing.  In fact, you can argue that
> the whole /sys/devices/LNXSYSTM:00/ directory should be located under
> /sys/firmware/acpi, but it turns out to be difficult to move it there
> for various reasons.
>
> Personally, I'd go for the last one.

Mechanically, how do I do that?  Should I register as just a platform
driver and use acpi_device_install_notify_handler to get the ACPI
notifications, or should I register as *both* a platform driver and
ACPI driver?

--Andy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-26 15:53       ` Andy Lutomirski
@ 2015-11-26 23:22         ` Rafael J. Wysocki
  0 siblings, 0 replies; 10+ messages in thread
From: Rafael J. Wysocki @ 2015-11-26 23:22 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman,
	Andy Lutomirski, Matthew Garrett, Linux ACPI,
	platform-driver-x86

On Thursday, November 26, 2015 07:53:20 AM Andy Lutomirski wrote:
> On Thu, Nov 26, 2015 at 6:09 AM, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
> > On Wednesday, November 25, 2015 05:28:54 PM Andy Lutomirski wrote:
> >> On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
> >> > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
> >> >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
> >> >> logically children of the ACPI WMI device, so slot them into the
> >> >> device hierarchy.  With this change, on my laptop, they end up in
> >> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
> >> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
> >> >>
> >> >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> >> >
> >> > I'd like to hear from some of the main contributors to this driver:
> >> >
> >> > Matthew?
> >> > Carlos?
> >> > Len?
> >> >
> >> > Any cocnerns on this change?
> >> >
> >> > My initial concern is about changign how we expose this to userspace, but I
> >> > believe where it appears in the /sys/devices FS is NOT part of the
> >> > kernel-userspace interface commitment (per sysfs-rules.txt).
> >>
> >>
> >> Let's drop this, actually.  I have mostly-working patches to make wmi
> >> into an actual bus driver, and this intermediate step seems like it'll
> >> just confuse people.
> >>
> >> Question, though: where do the WMI devices belong?  Multiple choice:
> >>
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]
> >>
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]
> >>
> >> /sys/devices/platform/PNP0C14:01/[GUID]
> >>
> >> /sys/devices/platform/PNP0C14:01/wmi/[GUID]
> >>
> >> Currently I've implemented the first one because it's the smallest diff.
> >
> > That probably is not the right choice, though.
> >
> > ACPI "devices" are counterparts of DT device nodes and having other things
> > exported under them would be quite confusing.  In fact, you can argue that
> > the whole /sys/devices/LNXSYSTM:00/ directory should be located under
> > /sys/firmware/acpi, but it turns out to be difficult to move it there
> > for various reasons.
> >
> > Personally, I'd go for the last one.
> 
> Mechanically, how do I do that?  Should I register as just a platform
> driver and use acpi_device_install_notify_handler to get the ACPI
> notifications, or should I register as *both* a platform driver and
> ACPI driver?

If you have a platform device for this thing, registering an ACPI driver for it
is pretty much as valid as registering a driver for a DT device node.

So yes, a platform driver is a way to go here IMO.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-26 14:09     ` Rafael J. Wysocki
  2015-11-26 15:53       ` Andy Lutomirski
@ 2015-11-30 18:51       ` Darren Hart
  2015-11-30 19:00         ` Andy Lutomirski
  1 sibling, 1 reply; 10+ messages in thread
From: Darren Hart @ 2015-11-30 18:51 UTC (permalink / raw)
  To: Rafael J. Wysocki
  Cc: Andy Lutomirski, Carlos Corbacho, Len Brown, Greg Kroah-Hartman,
	Andy Lutomirski, Matthew Garrett, Linux ACPI,
	platform-driver-x86

On Thu, Nov 26, 2015 at 03:09:29PM +0100, Rafael Wysocki wrote:
> On Wednesday, November 25, 2015 05:28:54 PM Andy Lutomirski wrote:
> > On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
> > > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
> > >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
> > >> logically children of the ACPI WMI device, so slot them into the
> > >> device hierarchy.  With this change, on my laptop, they end up in
> > >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
> > >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
> > >>
> > >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> > >
> > > I'd like to hear from some of the main contributors to this driver:
> > >
> > > Matthew?
> > > Carlos?
> > > Len?
> > >
> > > Any cocnerns on this change?
> > >
> > > My initial concern is about changign how we expose this to userspace, but I
> > > believe where it appears in the /sys/devices FS is NOT part of the
> > > kernel-userspace interface commitment (per sysfs-rules.txt).
> > 
> > 
> > Let's drop this, actually.  I have mostly-working patches to make wmi
> > into an actual bus driver, and this intermediate step seems like it'll
> > just confuse people.
> > 
> > Question, though: where do the WMI devices belong?  Multiple choice:
> > 
> > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]
> > 
> > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]
> > 
> > /sys/devices/platform/PNP0C14:01/[GUID]
> > 
> > /sys/devices/platform/PNP0C14:01/wmi/[GUID]
> > 
> > Currently I've implemented the first one because it's the smallest diff.
> 
> That probably is not the right choice, though.
> 
> ACPI "devices" are counterparts of DT device nodes and having other things
> exported under them would be quite confusing.  In fact, you can argue that
> the whole /sys/devices/LNXSYSTM:00/ directory should be located under
> /sys/firmware/acpi, but it turns out to be difficult to move it there
> for various reasons.
> 
> Personally, I'd go for the last one.

That looks like a logical place to me.

-- 
Darren Hart
Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-30 18:51       ` Darren Hart
@ 2015-11-30 19:00         ` Andy Lutomirski
  0 siblings, 0 replies; 10+ messages in thread
From: Andy Lutomirski @ 2015-11-30 19:00 UTC (permalink / raw)
  To: Darren Hart
  Cc: Rafael J. Wysocki, Carlos Corbacho, Len Brown,
	Greg Kroah-Hartman, Andy Lutomirski, Matthew Garrett, Linux ACPI,
	platform-driver-x86

On Mon, Nov 30, 2015 at 10:51 AM, Darren Hart <dvhart@infradead.org> wrote:
> On Thu, Nov 26, 2015 at 03:09:29PM +0100, Rafael Wysocki wrote:
>> On Wednesday, November 25, 2015 05:28:54 PM Andy Lutomirski wrote:
>> > On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
>> > > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
>> > >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
>> > >> logically children of the ACPI WMI device, so slot them into the
>> > >> device hierarchy.  With this change, on my laptop, they end up in
>> > >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
>> > >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
>> > >>
>> > >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
>> > >
>> > > I'd like to hear from some of the main contributors to this driver:
>> > >
>> > > Matthew?
>> > > Carlos?
>> > > Len?
>> > >
>> > > Any cocnerns on this change?
>> > >
>> > > My initial concern is about changign how we expose this to userspace, but I
>> > > believe where it appears in the /sys/devices FS is NOT part of the
>> > > kernel-userspace interface commitment (per sysfs-rules.txt).
>> >
>> >
>> > Let's drop this, actually.  I have mostly-working patches to make wmi
>> > into an actual bus driver, and this intermediate step seems like it'll
>> > just confuse people.
>> >
>> > Question, though: where do the WMI devices belong?  Multiple choice:
>> >
>> > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/[GUID]
>> >
>> > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi/[GUID]
>> >
>> > /sys/devices/platform/PNP0C14:01/[GUID]
>> >
>> > /sys/devices/platform/PNP0C14:01/wmi/[GUID]
>> >
>> > Currently I've implemented the first one because it's the smallest diff.
>>
>> That probably is not the right choice, though.
>>
>> ACPI "devices" are counterparts of DT device nodes and having other things
>> exported under them would be quite confusing.  In fact, you can argue that
>> the whole /sys/devices/LNXSYSTM:00/ directory should be located under
>> /sys/firmware/acpi, but it turns out to be difficult to move it there
>> for various reasons.
>>
>> Personally, I'd go for the last one.
>
> That looks like a logical place to me.

I have a monstrous patch set queued up for this.  I still need to work
out some kinks, but I hope to have it ready to send in the next couple
days.

--Andy

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] wmi: Set wmi devices' parents
  2015-11-26  1:28   ` Andy Lutomirski
  2015-11-26 14:09     ` Rafael J. Wysocki
@ 2015-11-30 20:49     ` Darren Hart
  1 sibling, 0 replies; 10+ messages in thread
From: Darren Hart @ 2015-11-30 20:49 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Carlos Corbacho, Len Brown, Greg Kroah-Hartman, Andy Lutomirski,
	Matthew Garrett, Linux ACPI, platform-driver-x86

On Wed, Nov 25, 2015 at 05:28:54PM -0800, Andy Lutomirski wrote:
> On Mon, Nov 23, 2015 at 11:37 AM, Darren Hart <dvhart@infradead.org> wrote:
> > On Mon, Nov 23, 2015 at 11:25:30AM -0800, Andy Lutomirski wrote:
> >> Without this patch, wmi devices are in /sys/virtual/wmi.  They're
> >> logically children of the ACPI WMI device, so slot them into the
> >> device hierarchy.  With this change, on my laptop, they end up in
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wmi and
> >> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wmi.
> >>
> >> Signed-off-by: Andy Lutomirski <luto@kernel.org>
> >
> > I'd like to hear from some of the main contributors to this driver:
> >
> > Matthew?
> > Carlos?
> > Len?
> >
> > Any cocnerns on this change?
> >
> > My initial concern is about changign how we expose this to userspace, but I
> > believe where it appears in the /sys/devices FS is NOT part of the
> > kernel-userspace interface commitment (per sysfs-rules.txt).
> 
> 
> Let's drop this, actually.  I have mostly-working patches to make wmi
> into an actual bus driver, and this intermediate step seems like it'll
> just confuse people.

Dropped.

-- 
Darren Hart
Intel Open Source Technology Center

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-11-30 20:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-23 19:25 [PATCH] wmi: Set wmi devices' parents Andy Lutomirski
2015-11-23 19:37 ` Darren Hart, Carlos Corbacho, Len Brown, Greg Kroah-Hartman
2015-11-23 19:40   ` Matthew Garrett
2015-11-26  1:28   ` Andy Lutomirski
2015-11-26 14:09     ` Rafael J. Wysocki
2015-11-26 15:53       ` Andy Lutomirski
2015-11-26 23:22         ` Rafael J. Wysocki
2015-11-30 18:51       ` Darren Hart
2015-11-30 19:00         ` Andy Lutomirski
2015-11-30 20:49     ` Darren Hart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.