Ejemplo n.º 1
0
/* save lbc registers */
static int fsl_lbc_suspend(struct platform_device *pdev, pm_message_t state)
{
	struct fsl_lbc_ctrl *ctrl = dev_get_drvdata(&pdev->dev);
	struct fsl_lbc_regs __iomem *lbc = ctrl->regs;

	ctrl->saved_regs = kmalloc(sizeof(struct fsl_lbc_regs), GFP_KERNEL);
	if (!ctrl->saved_regs)
		return -ENOMEM;

	_memcpy_fromio(ctrl->saved_regs, lbc, sizeof(struct fsl_lbc_regs));
	return 0;
}
Ejemplo n.º 2
0
/* save lbc registers */
static int fsl_lbc_syscore_suspend(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;

	ctrl->saved_regs = kmalloc(sizeof(struct fsl_lbc_regs), GFP_KERNEL);
	if (!ctrl->saved_regs)
		return -ENOMEM;

	_memcpy_fromio(ctrl->saved_regs, lbc, sizeof(struct fsl_lbc_regs));

out:
	return 0;
}