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;
}