Subject: Re: [1/2] mpc85xx/lbc: modify suspend/resume entry sequence

From: Scott Wood <[email-masked]>
Date: Wed, 23 Dec 2015 22:19:24 -0600

On Fri, Oct 30, 2015 at 11:54:59AM +0530, Raghav Dogra wrote:
>  /* restore lbc registers */
> -static int fsl_lbc_resume(struct platform_device *pdev)
> +static int fsl_lbc_syscore_resume(void)
>  {
> -	struct fsl_lbc_ctrl *ctrl = dev_get_drvdata(&pdev->dev);
> -	struct fsl_lbc_regs __iomem *lbc = ctrl->regs;
> +	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,
> @@ -379,7 +398,9 @@ static int fsl_lbc_resume(struct platform_device *pdev)
>  		kfree(ctrl->saved_regs);
>  		ctrl->saved_regs = NULL;
>  	}
> -	return 0;
> +
> +out:
> +	return;
>  }

arch/powerpc/sysdev/fsl_lbc.c:401:2: error: 
'return' with no value, in function returning non-void [-Werror=return-type]

>  #endif /* CONFIG_SUSPEND */
>  
> @@ -391,20 +412,26 @@ static const struct of_device_id fsl_lbc_match[] = {
>  	{},
>  };
>  
> +#ifdef CONFIG_SUSPEND
> +static struct syscore_ops lbc_syscore_pm_ops = {
> +	.suspend = fsl_lbc_syscore_suspend,
> +	.resume = fsl_lbc_syscore_resume,
> +};
> +#endif

arch/powerpc/sysdev/fsl_lbc.c:416:2: error:
initialization from incompatible pointer type [-Werror]
arch/powerpc/sysdev/fsl_lbc.c:416:2: error:
(near initialization for 'lbc_syscore_pm_ops.resume') [-Werror]

-Scott