On Mon, 14 May 2012, Lan Tianyu wrote: > The usb port is a device in the acpi table but it's not in the linux > usb subsystem. USB hub port doesn't have struct device. So the acpi > glue framework only can cover the usb port connected with usb device > and store the acpi handle to struct device.archdata.acpi_handle. This > patch is to add member port_acpi_handle in the struct usb_hub_port to > store acpi handle. The acpi method "_UPC" and "_PLD" can be accessed > without attached device. > --- a/drivers/usb/core/usb-acpi.c > +++ b/drivers/usb/core/usb-acpi.c > @@ -83,7 +83,16 @@ static int usb_acpi_find_device(struct device *dev, acpi_handle *handle) > if (!parent_handle) > return -ENODEV; > > - *handle = acpi_get_child(parent_handle, udev->portnum); > + /** > + * The root hub's acpi handle is got from acpi method. > + * Other device's acpi handle can be got from the usb hub > + * port's platform_data. > + */ The /** pattern is reserved for kerneldoc comments, which appear only at the start of a function. Within a function you should use the normal /* comment pattern. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html