On Mon, 7 Dec 2015, Felipe Balbi wrote: > if those are not enabled, then the device doesn't have pm_runtime > callbacks, see: > > int dpm_sysfs_add(struct device *dev) > { > int rc; > > rc = sysfs_create_group(&dev->kobj, &pm_attr_group); > if (rc) > return rc; > > if (pm_runtime_callbacks_present(dev)) { > rc = sysfs_merge_group(&dev->kobj, &pm_runtime_attr_group); > if (rc) > goto err_out; > } > if (device_can_wakeup(dev)) { > rc = sysfs_merge_group(&dev->kobj, &pm_wakeup_attr_group); > if (rc) > goto err_runtime; > } > if (dev->power.set_latency_tolerance) { > rc = sysfs_merge_group(&dev->kobj, > &pm_qos_latency_tolerance_attr_group); > if (rc) > goto err_wakeup; > } > return 0; > > err_wakeup: > sysfs_unmerge_group(&dev->kobj, &pm_wakeup_attr_group); > err_runtime: > sysfs_unmerge_group(&dev->kobj, &pm_runtime_attr_group); > err_out: > sysfs_remove_group(&dev->kobj, &pm_attr_group); > return rc; > } > > It seems like usbcore always calls pm_runtime_no_callbacks() (which > makes pm_runtime_callbacks_present() above fail) for all interfaces, but > I can't seem to find where that's undone. Alan, any hints ? The USB subsystem treats runtime PM of interfaces differently from runtime PM of devices. Josh should be monitoring the device, not the interface. 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