/* restore lbc registers */ static int fsl_lbc_resume(struct platform_device *pdev) { struct fsl_lbc_ctrl *ctrl = dev_get_drvdata(&pdev->dev); struct fsl_lbc_regs __iomem *lbc = ctrl->regs; if (ctrl->saved_regs) { _memcpy_toio(lbc, ctrl->saved_regs, sizeof(struct fsl_lbc_regs)); kfree(ctrl->saved_regs); ctrl->saved_regs = NULL; } return 0; }
/* restore lbc registers */ static void fsl_lbc_syscore_resume(void) { struct fsl_lbc_ctrl *ctrl; struct fsl_lbc_regs __iomem *lbc; ctrl = fsl_lbc_ctrl_dev; if (!ctrl) goto out; lbc = ctrl->regs; if (!lbc) goto out; if (ctrl->saved_regs) { _memcpy_toio(lbc, ctrl->saved_regs, sizeof(struct fsl_lbc_regs)); kfree(ctrl->saved_regs); ctrl->saved_regs = NULL; } out: return; }