Am Mittwoch, 30. Juni 2010, 11:04:58 schrieb Samuel Xu: > Appreciate any USB power expert can help me on those Linux USB power > management puzzles: > > Q1: I found some USB material mentioned : Relationship between ACPI > Dx(e.g. D0/D1/D3) states and USB PM states (active/suspended) is > orthogonal. Almost. The root hub must be in D0 unless it is suspended. But the root hub can be suspended only if all devices on the bus are suspended. > Suspend/resume might not effect device Dx state. Is it a correct > statement for general usb device? Yes. > Q2: How to tell USB device’s ACPI Dx state. It seems lsusb can’t tell > us those info. (lspci works for PCI device’s Dx state) USB devices don't have Dx states. Therefore you can't query them. > Q3: How to tell USB device’s suspension state? You don't. You can just query whether the device should autosuspend itself in /sys/bus/usb/devices/$DEVICE/power > will any query via urb > will cause resume of USB device? Yes. > Q4: should USB device driver response to do some device-specific power > action (e.g. device register writing) to put a specific USB device > into low power state when responding to suspend action? No. A driver should implement suspend()/resume() hooks that a) save device state if necessary b) make it safe to go into a suspended state c) cease communication (in suspend() ) Please clarify the question. > Q5: If Q4 is Yes, should device vendor respond for those > device-specific code? will Linux kernel code typically incorporate > those device-specific code? There is nothing necessarily device specific in suspend()/resume() Please clarify the question. HTH Oliver -- 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