All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 1/4] ACPI: Fix up _PLD methods
@ 2012-03-12 21:45 Matthew Garrett
  2012-03-12 21:45 ` [PATCH V2 2/4] ACPI: Add _PLD support Matthew Garrett
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Matthew Garrett @ 2012-03-12 21:45 UTC (permalink / raw)
  To: linux-acpi; +Cc: linux-usb, lenb, gregkh, Matthew Garrett

_PLD is defined as returning a package of buffers, but many implementations
simply return a buffer. Fix this up.

(Original patch by Bob Moore <robert.moore@intel.com>)

Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
 drivers/acpi/acpica/nsrepair.c |   15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
index 9c35d20..6217cfd 100644
--- a/drivers/acpi/acpica/nsrepair.c
+++ b/drivers/acpi/acpica/nsrepair.c
@@ -151,9 +151,18 @@ acpi_ns_repair_object(struct acpi_predefined_data *data,
 		}
 	}
 	if (expected_btypes & ACPI_RTYPE_PACKAGE) {
-		status = acpi_ns_convert_to_package(return_object, &new_object);
-		if (ACPI_SUCCESS(status)) {
-			goto object_repaired;
+		if (return_object->common.type == ACPI_TYPE_BUFFER) {
+			status = acpi_ns_repair_package_list(data, &return_object);
+			if (ACPI_SUCCESS(status)) {
+				*return_object_ptr = return_object;
+				data->flags |= ACPI_OBJECT_REPAIRED;
+				return (AE_OK);
+			}
+		} else {
+			status = acpi_ns_convert_to_package(return_object, &new_object);
+			if (ACPI_SUCCESS(status)) {
+				goto object_repaired;
+			}
 		}
 	}
 
-- 
1.7.9.3


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

* [PATCH V2 2/4] ACPI: Add _PLD support
  2012-03-12 21:45 [PATCH V2 1/4] ACPI: Fix up _PLD methods Matthew Garrett
@ 2012-03-12 21:45 ` Matthew Garrett
       [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2012-03-13 11:07 ` Sergei Shtylyov
  2 siblings, 0 replies; 15+ messages in thread
From: Matthew Garrett @ 2012-03-12 21:45 UTC (permalink / raw)
  To: linux-acpi; +Cc: linux-usb, lenb, gregkh, Matthew Garrett

Add a simple helper function to allow drivers to obtain the physical
device location data.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
---
 drivers/acpi/utils.c    |   29 +++++++++++++++++++++++++++++
 include/acpi/acpi_bus.h |   31 +++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/drivers/acpi/utils.c b/drivers/acpi/utils.c
index b002a47..5c320a0 100644
--- a/drivers/acpi/utils.c
+++ b/drivers/acpi/utils.c
@@ -382,3 +382,32 @@ acpi_evaluate_reference(acpi_handle handle,
 }
 
 EXPORT_SYMBOL(acpi_evaluate_reference);
+
+acpi_status
+acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld *pld)
+{
+	acpi_status status;
+	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+	union acpi_object *output;
+
+	status = acpi_evaluate_object(handle, "_PLD", NULL, &buffer);
+
+	if (ACPI_FAILURE(status))
+		return status;
+
+	output = buffer.pointer;
+
+	if (!output || output->type != ACPI_TYPE_PACKAGE
+	    || !output->package.count
+	    || output->package.elements[0].type != ACPI_TYPE_BUFFER
+	    || output->package.elements[0].buffer.length > sizeof(*pld)) {
+		status = AE_TYPE;
+		goto out;
+	}
+
+	memcpy(pld, output->package.elements[0].buffer.pointer,
+	       output->package.elements[0].buffer.length);
+out:
+	kfree(buffer.pointer);
+	return status;
+}
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 6cd5b64..39d7de9 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -51,6 +51,37 @@ acpi_evaluate_reference(acpi_handle handle,
 			struct acpi_object_list *arguments,
 			struct acpi_handle_list *list);
 
+struct acpi_pld {
+	unsigned int revision:7; /* 0 */
+	unsigned int ignore_colour:1; /* 7 */
+	unsigned int colour:24; /* 8 */
+	unsigned int width:16; /* 32 */
+	unsigned int height:16; /* 48 */
+	unsigned int user_visible:1; /* 64 */
+	unsigned int dock:1; /* 65 */
+	unsigned int lid:1; /* 66 */
+	unsigned int panel:3; /* 67 */
+	unsigned int vertical_pos:2; /* 70 */
+	unsigned int horizontal_pos:2; /* 72 */
+	unsigned int shape:4; /* 74 */
+	unsigned int group_orientation:1; /* 78 */
+	unsigned int group_token:8; /* 79 */
+	unsigned int group_position:8; /* 87 */
+	unsigned int bay:1; /* 95 */
+	unsigned int ejectable:1; /* 96 */
+	unsigned int ospm_eject_required:1; /* 97 */
+	unsigned int cabinet_number:8; /* 98 */
+	unsigned int card_cage_number:8; /* 106 */
+	unsigned int reference:1; /* 114 */
+	unsigned int rotation:4; /* 115 */
+	unsigned int order:5; /* 119 */
+	unsigned int reserved:4; /* 124 */
+	unsigned int vertical_offset:16; /* 128 */
+	unsigned int horizontal_offset:16; /* 144 */
+};
+
+acpi_status
+acpi_get_physical_device_location(acpi_handle handle, struct acpi_pld *pld);
 #ifdef CONFIG_ACPI
 
 #include <linux/proc_fs.h>
-- 
1.7.9.3


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

* [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible
       [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2012-03-12 21:45   ` Matthew Garrett
       [not found]     ` <1331588747-1247-3-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2012-03-12 21:45   ` [PATCH V2 4/4] usb: Set device removable state based on ACPI USB data Matthew Garrett
  2012-03-13 21:32   ` [PATCH V2 1/4] ACPI: Fix up _PLD methods Greg KH
  2 siblings, 1 reply; 15+ messages in thread
From: Matthew Garrett @ 2012-03-12 21:45 UTC (permalink / raw)
  To: linux-acpi-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Matthew Garrett

Built-in USB devices will typically have a representation in the system
ACPI tables. Add support for binding the two together so the USB code can
make use of the associated methods.

Signed-off-by: Matthew Garrett <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---

Add a is_usb_device() check to make sure that we're looking at an actual
USB device rather than an interface.

 drivers/usb/core/Makefile   |    1 +
 drivers/usb/core/usb-acpi.c |   60 +++++++++++++++++++++++++++++++++++++++++++
 drivers/usb/core/usb.c      |    6 +++++
 drivers/usb/core/usb.h      |    7 +++++
 4 files changed, 74 insertions(+)
 create mode 100644 drivers/usb/core/usb-acpi.c

diff --git a/drivers/usb/core/Makefile b/drivers/usb/core/Makefile
index 507a4e1..9268ddb 100644
--- a/drivers/usb/core/Makefile
+++ b/drivers/usb/core/Makefile
@@ -10,5 +10,6 @@ usbcore-y += devio.o notify.o generic.o quirks.o devices.o
 
 usbcore-$(CONFIG_PCI)		+= hcd-pci.o
 usbcore-$(CONFIG_USB_DEVICEFS)	+= inode.o
+usbcore-$(CONFIG_ACPI)		+= usb-acpi.o
 
 obj-$(CONFIG_USB)		+= usbcore.o
diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c
new file mode 100644
index 0000000..cab5cb7
--- /dev/null
+++ b/drivers/usb/core/usb-acpi.c
@@ -0,0 +1,60 @@
+/*
+ * USB-ACPI glue code
+ *
+ * Copyright 2012 Red Hat <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation, version 2.
+ *
+ */
+#include <linux/module.h>
+#include <linux/usb.h>
+#include <linux/device.h>
+#include <linux/errno.h>
+#include <linux/kernel.h>
+#include <linux/acpi.h>
+#include <linux/pci.h>
+#include <acpi/acpi_bus.h>
+
+#include "usb.h"
+
+static int usb_acpi_find_device(struct device *dev, acpi_handle *handle)
+{
+	struct usb_device *udev;
+	struct device *parent;
+	acpi_handle *parent_handle;
+
+	if (!is_usb_device(dev))
+		return -ENODEV;
+
+	udev = to_usb_device(dev);
+	parent = dev->parent;
+	parent_handle = DEVICE_ACPI_HANDLE(parent);
+
+	if (!parent_handle)
+		return -ENODEV;
+
+	*handle = acpi_get_child(parent_handle, udev->portnum);
+
+	if (!*handle)
+		return -ENODEV;
+
+	return 0;
+}
+
+static struct acpi_bus_type usb_acpi_bus = {
+	.bus = &usb_bus_type,
+	.find_bridge = NULL,
+	.find_device = usb_acpi_find_device,
+};
+
+int usb_acpi_register(void)
+{
+	return register_acpi_bus_type(&usb_acpi_bus);
+}
+
+void usb_acpi_unregister(void)
+{
+	unregister_acpi_bus_type(&usb_acpi_bus);
+}
diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
index 8ca9f99..ce47e3f 100644
--- a/drivers/usb/core/usb.c
+++ b/drivers/usb/core/usb.c
@@ -1015,6 +1015,9 @@ static int __init usb_init(void)
 	if (retval)
 		goto out;
 
+	retval = usb_acpi_register();
+	if (retval)
+		goto acpi_register_failed;
 	retval = bus_register(&usb_bus_type);
 	if (retval)
 		goto bus_register_failed;
@@ -1054,6 +1057,8 @@ major_init_failed:
 bus_notifier_failed:
 	bus_unregister(&usb_bus_type);
 bus_register_failed:
+	usb_acpi_unregister();
+acpi_register_failed:
 	usb_debugfs_cleanup();
 out:
 	return retval;
@@ -1076,6 +1081,7 @@ static void __exit usb_exit(void)
 	usb_hub_cleanup();
 	bus_unregister_notifier(&usb_bus_type, &usb_bus_nb);
 	bus_unregister(&usb_bus_type);
+	usb_acpi_unregister();
 	usb_debugfs_cleanup();
 }
 
diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h
index 45e8479..636d98e 100644
--- a/drivers/usb/core/usb.h
+++ b/drivers/usb/core/usb.h
@@ -155,3 +155,10 @@ extern void usb_notify_remove_device(struct usb_device *udev);
 extern void usb_notify_add_bus(struct usb_bus *ubus);
 extern void usb_notify_remove_bus(struct usb_bus *ubus);
 
+#ifdef CONFIG_ACPI
+extern int usb_acpi_register(void);
+extern void usb_acpi_unregister(void);
+#else
+static inline int usb_acpi_register(void) { return 0; };
+static inline void usb_acpi_unregister(void) { };
+#endif
-- 
1.7.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH V2 4/4] usb: Set device removable state based on ACPI USB data
       [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2012-03-12 21:45   ` [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible Matthew Garrett
@ 2012-03-12 21:45   ` Matthew Garrett
  2012-03-13 21:32   ` [PATCH V2 1/4] ACPI: Fix up _PLD methods Greg KH
  2 siblings, 0 replies; 15+ messages in thread
From: Matthew Garrett @ 2012-03-12 21:45 UTC (permalink / raw)
  To: linux-acpi-u79uwXL29TY76Z2rM5mHXA
  Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r, Matthew Garrett

ACPI offers two methods that allow us to infer whether or not a USB port
is removable. The _PLD method gives us information on whether the port is
"user visible" or not. If that's not present then we can fall back to the
_UPC method which tells us whether or not a port is connectable.

Signed-off-by: Matthew Garrett <mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
---
 drivers/usb/core/usb-acpi.c |   56 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c
index cab5cb7..e49373a 100644
--- a/drivers/usb/core/usb-acpi.c
+++ b/drivers/usb/core/usb-acpi.c
@@ -19,6 +19,53 @@
 
 #include "usb.h"
 
+static int usb_acpi_check_upc(struct usb_device *udev, acpi_handle handle)
+{
+	acpi_status status;
+	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
+	union acpi_object *upc;
+	int ret = 0;
+
+	status = acpi_evaluate_object(handle, "_UPC", NULL, &buffer);
+
+	if (ACPI_FAILURE(status))
+		return -ENODEV;
+
+	upc = buffer.pointer;
+
+	if (!upc || (upc->type != ACPI_TYPE_PACKAGE) || upc->package.count != 4) {
+		ret = -EINVAL;
+		goto out;
+	}
+
+	if (upc->package.elements[0].integer.value)
+		udev->removable = USB_DEVICE_REMOVABLE;
+	else
+		udev->removable = USB_DEVICE_FIXED;
+
+out:
+	kfree(upc);
+	return ret;
+}
+
+static int usb_acpi_check_pld(struct usb_device *udev, acpi_handle handle)
+{
+	acpi_status status;
+	struct acpi_pld pld;
+
+	status = acpi_get_physical_device_location(handle, &pld);
+
+	if (ACPI_FAILURE(status))
+		return -ENODEV;
+
+	if (pld.user_visible)
+		udev->removable = USB_DEVICE_REMOVABLE;
+	else
+		udev->removable = USB_DEVICE_FIXED;
+
+	return 0;
+}
+
 static int usb_acpi_find_device(struct device *dev, acpi_handle *handle)
 {
 	struct usb_device *udev;
@@ -40,6 +87,15 @@ static int usb_acpi_find_device(struct device *dev, acpi_handle *handle)
 	if (!*handle)
 		return -ENODEV;
 
+	/*
+	 * PLD will tell us whether a port is removable to the user or
+	 * not. If we don't get an answer from PLD (it's not present
+	 * or it's malformed) then try to infer it from UPC. If a
+	 * device isn't connectable then it's probably not removable.
+	 */
+	if (usb_acpi_check_pld(udev, *handle) != 0)
+		usb_acpi_check_upc(udev, *handle);
+
 	return 0;
 }
 
-- 
1.7.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
  2012-03-12 21:45 [PATCH V2 1/4] ACPI: Fix up _PLD methods Matthew Garrett
  2012-03-12 21:45 ` [PATCH V2 2/4] ACPI: Add _PLD support Matthew Garrett
       [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2012-03-13 11:07 ` Sergei Shtylyov
       [not found]   ` <4F5F2A64.8030403-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
  2 siblings, 1 reply; 15+ messages in thread
From: Sergei Shtylyov @ 2012-03-13 11:07 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: linux-acpi, linux-usb, lenb, gregkh

Hello.

On 13-03-2012 1:45, Matthew Garrett wrote:

> _PLD is defined as returning a package of buffers, but many implementations
> simply return a buffer. Fix this up.

> (Original patch by Bob Moore<robert.moore@intel.com>)

> Signed-off-by: Matthew Garrett<mjg@redhat.com>
> ---
>   drivers/acpi/acpica/nsrepair.c |   15 ++++++++++++---
>   1 file changed, 12 insertions(+), 3 deletions(-)

> diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
> index 9c35d20..6217cfd 100644
> --- a/drivers/acpi/acpica/nsrepair.c
> +++ b/drivers/acpi/acpica/nsrepair.c
> @@ -151,9 +151,18 @@ acpi_ns_repair_object(struct acpi_predefined_data *data,
>   		}
>   	}
>   	if (expected_btypes&  ACPI_RTYPE_PACKAGE) {
> -		status = acpi_ns_convert_to_package(return_object,&new_object);
> -		if (ACPI_SUCCESS(status)) {
> -			goto object_repaired;
> +		if (return_object->common.type == ACPI_TYPE_BUFFER) {
> +			status = acpi_ns_repair_package_list(data,&return_object);
> +			if (ACPI_SUCCESS(status)) {
> +				*return_object_ptr = return_object;
> +				data->flags |= ACPI_OBJECT_REPAIRED;
> +				return (AE_OK);
> +			}
> +		} else {
> +			status = acpi_ns_convert_to_package(return_object,&new_object);
> +			if (ACPI_SUCCESS(status)) {
> +				goto object_repaired;
> +			}

     {} here are against the CodingStyle.

WBR, Sergei

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

* Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
       [not found]   ` <4F5F2A64.8030403-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
@ 2012-03-13 11:38     ` Matthew Garrett
  0 siblings, 0 replies; 15+ messages in thread
From: Matthew Garrett @ 2012-03-13 11:38 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r

On Tue, Mar 13, 2012 at 03:07:16PM +0400, Sergei Shtylyov wrote:

>     {} here are against the CodingStyle.

Yes, but it's consistent with the rest of the file.

-- 
Matthew Garrett | mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
       [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
  2012-03-12 21:45   ` [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible Matthew Garrett
  2012-03-12 21:45   ` [PATCH V2 4/4] usb: Set device removable state based on ACPI USB data Matthew Garrett
@ 2012-03-13 21:32   ` Greg KH
  2012-03-13 21:38     ` Matthew Garrett
  2 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2012-03-13 21:32 UTC (permalink / raw)
  To: Matthew Garrett
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A

On Mon, Mar 12, 2012 at 05:45:44PM -0400, Matthew Garrett wrote:
> _PLD is defined as returning a package of buffers, but many implementations
> simply return a buffer. Fix this up.
> 
> (Original patch by Bob Moore <robert.moore-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>)

Does that mean the "From:" line should be set to Bob?

Any objection from the ACPI developers for me to apply this series?

thanks,

greg k-h

> ---
>  drivers/acpi/acpica/nsrepair.c |   15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/acpi/acpica/nsrepair.c b/drivers/acpi/acpica/nsrepair.c
> index 9c35d20..6217cfd 100644
> --- a/drivers/acpi/acpica/nsrepair.c
> +++ b/drivers/acpi/acpica/nsrepair.c
> @@ -151,9 +151,18 @@ acpi_ns_repair_object(struct acpi_predefined_data *data,
>  		}
>  	}
>  	if (expected_btypes & ACPI_RTYPE_PACKAGE) {
> -		status = acpi_ns_convert_to_package(return_object, &new_object);
> -		if (ACPI_SUCCESS(status)) {
> -			goto object_repaired;
> +		if (return_object->common.type == ACPI_TYPE_BUFFER) {
> +			status = acpi_ns_repair_package_list(data, &return_object);
> +			if (ACPI_SUCCESS(status)) {
> +				*return_object_ptr = return_object;
> +				data->flags |= ACPI_OBJECT_REPAIRED;
> +				return (AE_OK);
> +			}
> +		} else {
> +			status = acpi_ns_convert_to_package(return_object, &new_object);
> +			if (ACPI_SUCCESS(status)) {
> +				goto object_repaired;
> +			}
>  		}
>  	}
>  
> -- 
> 1.7.9.3
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
  2012-03-13 21:32   ` [PATCH V2 1/4] ACPI: Fix up _PLD methods Greg KH
@ 2012-03-13 21:38     ` Matthew Garrett
  2012-03-13 21:49       ` Greg KH
  0 siblings, 1 reply; 15+ messages in thread
From: Matthew Garrett @ 2012-03-13 21:38 UTC (permalink / raw)
  To: Greg KH; +Cc: linux-acpi, linux-usb, lenb

On Tue, Mar 13, 2012 at 02:32:07PM -0700, Greg KH wrote:
> On Mon, Mar 12, 2012 at 05:45:44PM -0400, Matthew Garrett wrote:
> > _PLD is defined as returning a package of buffers, but many implementations
> > simply return a buffer. Fix this up.
> > 
> > (Original patch by Bob Moore <robert.moore@intel.com>)
> 
> Does that mean the "From:" line should be set to Bob?
> 
> Any objection from the ACPI developers for me to apply this series?

Bob's asked me to hold off on this - he has a better patch for acpica 
that he'll post later this month.

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

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

* Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
  2012-03-13 21:38     ` Matthew Garrett
@ 2012-03-13 21:49       ` Greg KH
       [not found]         ` <20120313214941.GA4534-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2012-03-13 21:49 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: linux-acpi, linux-usb, lenb

On Tue, Mar 13, 2012 at 09:38:50PM +0000, Matthew Garrett wrote:
> On Tue, Mar 13, 2012 at 02:32:07PM -0700, Greg KH wrote:
> > On Mon, Mar 12, 2012 at 05:45:44PM -0400, Matthew Garrett wrote:
> > > _PLD is defined as returning a package of buffers, but many implementations
> > > simply return a buffer. Fix this up.
> > > 
> > > (Original patch by Bob Moore <robert.moore@intel.com>)
> > 
> > Does that mean the "From:" line should be set to Bob?
> > 
> > Any objection from the ACPI developers for me to apply this series?
> 
> Bob's asked me to hold off on this - he has a better patch for acpica 
> that he'll post later this month.

Ok, so I'll drop the whole series, I guess this will miss 3.4 then :(

greg k-h

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

* Re: [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible
       [not found]     ` <1331588747-1247-3-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
@ 2012-03-14  1:20       ` Lan Tianyu
  2012-03-14 12:48         ` Matthew Garrett
  0 siblings, 1 reply; 15+ messages in thread
From: Lan Tianyu @ 2012-03-14  1:20 UTC (permalink / raw)
  To: Matthew Garrett
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A,
	gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r

On 2012年03月13日 05:45, Matthew Garrett wrote:
> Built-in USB devices will typically have a representation in the system
> ACPI tables. Add support for binding the two together so the USB code can
> make use of the associated methods.
hi Matthew:
	acpi glue framework only can cover situation that the port has been
connected with some device. so without device, no acpi handle can be used to
access "UPC" and "PLD".
	Whether the usb port is user-visible or not is also useful when there
is no device. For example, if it is known that the usb port is not user-visible
and connectable. The usb hub port can be power-off.
	So usb/acpi binding should consider those usb ports without plugging device.
Does this make sense? :)
	
>
> Signed-off-by: Matthew Garrett<mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> ---
>
> Add a is_usb_device() check to make sure that we're looking at an actual
> USB device rather than an interface.
>
>   drivers/usb/core/Makefile   |    1 +
>   drivers/usb/core/usb-acpi.c |   60 +++++++++++++++++++++++++++++++++++++++++++
>   drivers/usb/core/usb.c      |    6 +++++
>   drivers/usb/core/usb.h      |    7 +++++
>   4 files changed, 74 insertions(+)
>   create mode 100644 drivers/usb/core/usb-acpi.c
>
> diff --git a/drivers/usb/core/Makefile b/drivers/usb/core/Makefile
> index 507a4e1..9268ddb 100644
> --- a/drivers/usb/core/Makefile
> +++ b/drivers/usb/core/Makefile
> @@ -10,5 +10,6 @@ usbcore-y += devio.o notify.o generic.o quirks.o devices.o
>
>   usbcore-$(CONFIG_PCI)		+= hcd-pci.o
>   usbcore-$(CONFIG_USB_DEVICEFS)	+= inode.o
> +usbcore-$(CONFIG_ACPI)		+= usb-acpi.o
>
>   obj-$(CONFIG_USB)		+= usbcore.o
> diff --git a/drivers/usb/core/usb-acpi.c b/drivers/usb/core/usb-acpi.c
> new file mode 100644
> index 0000000..cab5cb7
> --- /dev/null
> +++ b/drivers/usb/core/usb-acpi.c
> @@ -0,0 +1,60 @@
> +/*
> + * USB-ACPI glue code
> + *
> + * Copyright 2012 Red Hat<mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> + *
> + * This program is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the Free
> + * Software Foundation, version 2.
> + *
> + */
> +#include<linux/module.h>
> +#include<linux/usb.h>
> +#include<linux/device.h>
> +#include<linux/errno.h>
> +#include<linux/kernel.h>
> +#include<linux/acpi.h>
> +#include<linux/pci.h>
> +#include<acpi/acpi_bus.h>
> +
> +#include "usb.h"
> +
> +static int usb_acpi_find_device(struct device *dev, acpi_handle *handle)
> +{
> +	struct usb_device *udev;
> +	struct device *parent;
> +	acpi_handle *parent_handle;
> +
> +	if (!is_usb_device(dev))
> +		return -ENODEV;
> +
> +	udev = to_usb_device(dev);
> +	parent = dev->parent;
> +	parent_handle = DEVICE_ACPI_HANDLE(parent);
> +
> +	if (!parent_handle)
> +		return -ENODEV;
> +
> +	*handle = acpi_get_child(parent_handle, udev->portnum);
> +
> +	if (!*handle)
> +		return -ENODEV;
> +
> +	return 0;
> +}
> +
> +static struct acpi_bus_type usb_acpi_bus = {
> +	.bus =&usb_bus_type,
> +	.find_bridge = NULL,
> +	.find_device = usb_acpi_find_device,
> +};
> +
> +int usb_acpi_register(void)
> +{
> +	return register_acpi_bus_type(&usb_acpi_bus);
> +}
> +
> +void usb_acpi_unregister(void)
> +{
> +	unregister_acpi_bus_type(&usb_acpi_bus);
> +}
> diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
> index 8ca9f99..ce47e3f 100644
> --- a/drivers/usb/core/usb.c
> +++ b/drivers/usb/core/usb.c
> @@ -1015,6 +1015,9 @@ static int __init usb_init(void)
>   	if (retval)
>   		goto out;
>
> +	retval = usb_acpi_register();
> +	if (retval)
> +		goto acpi_register_failed;
>   	retval = bus_register(&usb_bus_type);
>   	if (retval)
>   		goto bus_register_failed;
> @@ -1054,6 +1057,8 @@ major_init_failed:
>   bus_notifier_failed:
>   	bus_unregister(&usb_bus_type);
>   bus_register_failed:
> +	usb_acpi_unregister();
> +acpi_register_failed:
>   	usb_debugfs_cleanup();
>   out:
>   	return retval;
> @@ -1076,6 +1081,7 @@ static void __exit usb_exit(void)
>   	usb_hub_cleanup();
>   	bus_unregister_notifier(&usb_bus_type,&usb_bus_nb);
>   	bus_unregister(&usb_bus_type);
> +	usb_acpi_unregister();
>   	usb_debugfs_cleanup();
>   }
>
> diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h
> index 45e8479..636d98e 100644
> --- a/drivers/usb/core/usb.h
> +++ b/drivers/usb/core/usb.h
> @@ -155,3 +155,10 @@ extern void usb_notify_remove_device(struct usb_device *udev);
>   extern void usb_notify_add_bus(struct usb_bus *ubus);
>   extern void usb_notify_remove_bus(struct usb_bus *ubus);
>
> +#ifdef CONFIG_ACPI
> +extern int usb_acpi_register(void);
> +extern void usb_acpi_unregister(void);
> +#else
> +static inline int usb_acpi_register(void) { return 0; };
> +static inline void usb_acpi_unregister(void) { };
> +#endif

-- 
Best Regards
Tianyu Lan
linux kernel enabling team
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible
  2012-03-14  1:20       ` Lan Tianyu
@ 2012-03-14 12:48         ` Matthew Garrett
  2012-03-14 14:29           ` Greg KH
  0 siblings, 1 reply; 15+ messages in thread
From: Matthew Garrett @ 2012-03-14 12:48 UTC (permalink / raw)
  To: Lan Tianyu; +Cc: linux-acpi, linux-usb, lenb, gregkh

On Wed, Mar 14, 2012 at 09:20:44AM +0800, Lan Tianyu wrote:
> On 2012年03月13日 05:45, Matthew Garrett wrote:
> >Built-in USB devices will typically have a representation in the system
> >ACPI tables. Add support for binding the two together so the USB code can
> >make use of the associated methods.
> hi Matthew:
> 	acpi glue framework only can cover situation that the port has been
> connected with some device. so without device, no acpi handle can be used to
> access "UPC" and "PLD".
> 	Whether the usb port is user-visible or not is also useful when there
> is no device. For example, if it is known that the usb port is not user-visible
> and connectable. The usb hub port can be power-off.
> 	So usb/acpi binding should consider those usb ports without plugging device.
> Does this make sense? :)

I agree that this woud be useful, but right now we don't have port 
objects so there's nowhere to expose this. Greg, do you have any 
feelings about how this coud be handled?

-- 
Matthew Garrett | mjg59@srcf.ucam.org
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible
  2012-03-14 12:48         ` Matthew Garrett
@ 2012-03-14 14:29           ` Greg KH
  2012-03-14 14:44             ` Alan Stern
  0 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2012-03-14 14:29 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: Lan Tianyu, linux-acpi, linux-usb, lenb

On Wed, Mar 14, 2012 at 12:48:11PM +0000, Matthew Garrett wrote:
> On Wed, Mar 14, 2012 at 09:20:44AM +0800, Lan Tianyu wrote:
> > On 2012年03月13日 05:45, Matthew Garrett wrote:
> > >Built-in USB devices will typically have a representation in the system
> > >ACPI tables. Add support for binding the two together so the USB code can
> > >make use of the associated methods.
> > hi Matthew:
> > 	acpi glue framework only can cover situation that the port has been
> > connected with some device. so without device, no acpi handle can be used to
> > access "UPC" and "PLD".
> > 	Whether the usb port is user-visible or not is also useful when there
> > is no device. For example, if it is known that the usb port is not user-visible
> > and connectable. The usb hub port can be power-off.
> > 	So usb/acpi binding should consider those usb ports without plugging device.
> > Does this make sense? :)
> 
> I agree that this woud be useful, but right now we don't have port 
> objects so there's nowhere to expose this. Greg, do you have any 
> feelings about how this coud be handled?

If you wanted to do something like this, you are right, you would need
to create a "port" device and put it on every hub.  Odds are that's
probably not worth it as you will be adding more indirection on every
USB device, yet only ACPI based systems would be able to do anything
with them.

Is there really a power savings to turn off a port if nothing is present
in it?  If so, how do we know to wake it up?  What if we really wanted
it on just to "charge" something, and it never was showing up as a real
device?  Messing with that could get very tricky very quickly.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible
  2012-03-14 14:29           ` Greg KH
@ 2012-03-14 14:44             ` Alan Stern
  0 siblings, 0 replies; 15+ messages in thread
From: Alan Stern @ 2012-03-14 14:44 UTC (permalink / raw)
  To: Greg KH; +Cc: Matthew Garrett, Lan Tianyu, linux-acpi, linux-usb, lenb

On Wed, 14 Mar 2012, Greg KH wrote:

> On Wed, Mar 14, 2012 at 12:48:11PM +0000, Matthew Garrett wrote:
> > On Wed, Mar 14, 2012 at 09:20:44AM +0800, Lan Tianyu wrote:
> > > On 2012年03月13日 05:45, Matthew Garrett wrote:
> > > >Built-in USB devices will typically have a representation in the system
> > > >ACPI tables. Add support for binding the two together so the USB code can
> > > >make use of the associated methods.
> > > hi Matthew:
> > > 	acpi glue framework only can cover situation that the port has been
> > > connected with some device. so without device, no acpi handle can be used to
> > > access "UPC" and "PLD".
> > > 	Whether the usb port is user-visible or not is also useful when there
> > > is no device. For example, if it is known that the usb port is not user-visible
> > > and connectable. The usb hub port can be power-off.
> > > 	So usb/acpi binding should consider those usb ports without plugging device.
> > > Does this make sense? :)
> > 
> > I agree that this woud be useful, but right now we don't have port 
> > objects so there's nowhere to expose this. Greg, do you have any 
> > feelings about how this coud be handled?
> 
> If you wanted to do something like this, you are right, you would need
> to create a "port" device and put it on every hub.  Odds are that's
> probably not worth it as you will be adding more indirection on every
> USB device, yet only ACPI based systems would be able to do anything
> with them.

Even on ACPI systems, most host controllers are not able to power off 
individual ports.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* RE: [PATCH V2 1/4] ACPI: Fix up _PLD methods
       [not found]         ` <20120313214941.GA4534-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
@ 2012-04-10  7:56           ` Lan, Tianyu
       [not found]             ` <4CFBC02C07DA244CA19D6815A05BE6EE05C77B-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 15+ messages in thread
From: Lan, Tianyu @ 2012-04-10  7:56 UTC (permalink / raw)
  To: Greg KH, Matthew Garrett
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A

The new version of the patch has been merged in 3.4
	http://marc.info/?l=linux-acpi&m=133311010407354&w=2

Best Regards 
Tianyu Lan 

-----Original Message-----
From: linux-acpi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-acpi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Greg KH
Sent: Wednesday, March 14, 2012 5:50 AM
To: Matthew Garrett
Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; lenb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods

On Tue, Mar 13, 2012 at 09:38:50PM +0000, Matthew Garrett wrote:
> On Tue, Mar 13, 2012 at 02:32:07PM -0700, Greg KH wrote:
> > On Mon, Mar 12, 2012 at 05:45:44PM -0400, Matthew Garrett wrote:
> > > _PLD is defined as returning a package of buffers, but many 
> > > implementations simply return a buffer. Fix this up.
> > > 
> > > (Original patch by Bob Moore <robert.moore-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>)
> > 
> > Does that mean the "From:" line should be set to Bob?
> > 
> > Any objection from the ACPI developers for me to apply this series?
> 
> Bob's asked me to hold off on this - he has a better patch for acpica 
> that he'll post later this month.

Ok, so I'll drop the whole series, I guess this will miss 3.4 then :(

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* RE: [PATCH V2 1/4] ACPI: Fix up _PLD methods
       [not found]             ` <4CFBC02C07DA244CA19D6815A05BE6EE05C77B-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2012-04-10 13:01               ` Moore, Robert
  0 siblings, 0 replies; 15+ messages in thread
From: Moore, Robert @ 2012-04-10 13:01 UTC (permalink / raw)
  To: Lan, Tianyu, Greg KH, Matthew Garrett
  Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA,
	linux-usb-u79uwXL29TY76Z2rM5mHXA, lenb-DgEjT+Ai2ygdnm+yROfE0A

The final version of this patch has been integrated into ACPICA and released as:

6a99b1c94d053b3420eaa4a4bc8b2883dd90a2f9
ACPICA: Object repair code: Support to add Package wrappers


Thus, this patch (ACPI: Fix up _PLD methods) is no longer necessary.

Bob


>-----Original Message-----
>From: linux-acpi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-acpi-
>owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Lan, Tianyu
>Sent: Tuesday, April 10, 2012 12:57 AM
>To: Greg KH; Matthew Garrett
>Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; lenb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
>Subject: RE: [PATCH V2 1/4] ACPI: Fix up _PLD methods
>
>The new version of the patch has been merged in 3.4
>	http://marc.info/?l=linux-acpi&m=133311010407354&w=2
>
>Best Regards
>Tianyu Lan
>
>-----Original Message-----
>From: linux-acpi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org [mailto:linux-acpi-
>owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org] On Behalf Of Greg KH
>Sent: Wednesday, March 14, 2012 5:50 AM
>To: Matthew Garrett
>Cc: linux-acpi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; lenb-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org
>Subject: Re: [PATCH V2 1/4] ACPI: Fix up _PLD methods
>
>On Tue, Mar 13, 2012 at 09:38:50PM +0000, Matthew Garrett wrote:
>> On Tue, Mar 13, 2012 at 02:32:07PM -0700, Greg KH wrote:
>> > On Mon, Mar 12, 2012 at 05:45:44PM -0400, Matthew Garrett wrote:
>> > > _PLD is defined as returning a package of buffers, but many
>> > > implementations simply return a buffer. Fix this up.
>> > >
>> > > (Original patch by Bob Moore <robert.moore-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>)
>> >
>> > Does that mean the "From:" line should be set to Bob?
>> >
>> > Any objection from the ACPI developers for me to apply this series?
>>
>> Bob's asked me to hold off on this - he has a better patch for acpica
>> that he'll post later this month.
>
>Ok, so I'll drop the whole series, I guess this will miss 3.4 then :(
>
>greg k-h
>--
>To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
>the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at
>http://vger.kernel.org/majordomo-info.html
>--
>To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
>the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

end of thread, other threads:[~2012-04-10 13:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-12 21:45 [PATCH V2 1/4] ACPI: Fix up _PLD methods Matthew Garrett
2012-03-12 21:45 ` [PATCH V2 2/4] ACPI: Add _PLD support Matthew Garrett
     [not found] ` <1331588747-1247-1-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-03-12 21:45   ` [PATCH V2 3/4] usb: Bind devices to ACPI devices when possible Matthew Garrett
     [not found]     ` <1331588747-1247-3-git-send-email-mjg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-03-14  1:20       ` Lan Tianyu
2012-03-14 12:48         ` Matthew Garrett
2012-03-14 14:29           ` Greg KH
2012-03-14 14:44             ` Alan Stern
2012-03-12 21:45   ` [PATCH V2 4/4] usb: Set device removable state based on ACPI USB data Matthew Garrett
2012-03-13 21:32   ` [PATCH V2 1/4] ACPI: Fix up _PLD methods Greg KH
2012-03-13 21:38     ` Matthew Garrett
2012-03-13 21:49       ` Greg KH
     [not found]         ` <20120313214941.GA4534-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2012-04-10  7:56           ` Lan, Tianyu
     [not found]             ` <4CFBC02C07DA244CA19D6815A05BE6EE05C77B-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2012-04-10 13:01               ` Moore, Robert
2012-03-13 11:07 ` Sergei Shtylyov
     [not found]   ` <4F5F2A64.8030403-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
2012-03-13 11:38     ` Matthew Garrett

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.