On Wed, Sep 05, 2012 at 01:44:34PM +0800, Lan Tianyu wrote: > In the upcoming USB port power off patches, we need to know whether a > USB port can ever see a disconnect event. Often USB ports are internal > to a system, and users can't disconnect USB devices from that port. > Sometimes those ports will remain empty, because the OEM chose not to > connect an internal USB device to that port. > > According to ACPI Spec 9.13, PLD indicates whether USB port is > user visible and _UPC indicates whether a USB device can be connected to > the USB port (we'll call this "connectible"). Here's a matrix of the > possible combinations: > > Visible Connectible > Name Example > ------------------------------------------------------------------------- > > Yes No Unknown (Invalid state.) > > Yes Yes Hot-plug USB ports on the outside of a laptop. > A user could freely connect and disconnect > USB devices. > > No Yes Hard-wired A USB modem hard-wired to a port on the > inside of a laptop. > > No No Not used The port is internal to the system and > will remain empty. > > Represent each of these four states with an enum usb_port_connect_type. > The four states are USB_PORT_CONNECT_TYPE_UNKNOWN, > USB_PORT_CONNECT_TYPE_HOT_PLUG, USB_PORT_CONNECT_TYPE_HARD_WIRED, and > USB_PORT_NOT_USED. When we get the USB port's acpi_handle, store the > state in connect_type in struct usb_port. Shouldn't we export this information to userspace somehow through sysfs for each of the ports? Or does that happen in some other patch? thanks, greg k-h -- 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