On Monday 08 September 2008, Li, Shaohua wrote: > > if (drv && drv->pm && drv->pm->base.wakeup_event) { > > int dev_ret = drv->pm->base.wakeup_event(&pdev->dev); > > if (ret) > > ret = dev_ret; > > } > > > > Also, why do you think we should ignore the returned value if ret is zero? > > Because we already identified the device which invokes PME. Well, we *may* have identified *one* of them. If the device supports the PCI PM standards, we did. If it uses legacy PM (like Intel's UHCI controllers), that's not guaranteed ... > Even the .wakeup_event() returns an error, we should populate > It's this device which has wakeup event. You haven't exactly defined the semantics of the return value, or what a caller would do with it. > In my mind, driver isn't > required to provide .wakeup_event() unless device has non-standard > regs for wakeup event or some special to handle. Generic PME handling > should be fine for most devices (for PCI devices). I don't follow this then. You're saying it will suffice to just clear the PCI PM status, and the driver is expected to work fine without even being notified about its wake event?? -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html