static int cs4281_pm_callback(struct pm_dev *dev, pm_request_t rqst, void *data) { struct cs4281_state *state; CS_DBGOUT(CS_PM, 2, printk(KERN_INFO "cs4281: cs4281_pm_callback dev=%p rqst=0x%x state=%p\n", dev,(unsigned)rqst,data)); state = (struct cs4281_state *) dev->data; if (state) { switch(rqst) { case PM_SUSPEND: CS_DBGOUT(CS_PM, 2, printk(KERN_INFO "cs4281: PM suspend request\n")); if(cs4281_suspend(state)) { CS_DBGOUT(CS_ERROR, 2, printk(KERN_INFO "cs4281: PM suspend request refused\n")); return 1; } break; case PM_RESUME: CS_DBGOUT(CS_PM, 2, printk(KERN_INFO "cs4281: PM resume request\n")); if(cs4281_resume(state)) { CS_DBGOUT(CS_ERROR, 2, printk(KERN_INFO "cs4281: PM resume request refused\n")); return 1; } break; } } return 0; }
void cs4281_resume_tbl(struct pci_dev *pcidev) { struct cs4281_state *s = pci_get_drvdata(pcidev); cs4281_resume(s); return; }