[PATCH v2 1/4] fsl_rio: fix compile errors

Kumar Gala galak at kernel.crashing.org
Fri Aug 6 03:39:48 EST 2010


On Jun 18, 2010, at 1:24 AM, Li Yang wrote:

> Fixes the following compile problem on E500 platforms:
> arch/powerpc/sysdev/fsl_rio.c: In function 'fsl_rio_mcheck_exception':
> arch/powerpc/sysdev/fsl_rio.c:248: error: 'MCSR_MASK' undeclared (first use in this function)
> 
> Also fixes the compile problem on non-E500 platforms.
> 
> Signed-off-by: Li Yang <leoli at freescale.com>
> ---
> arch/powerpc/sysdev/fsl_rio.c |    6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)

I'm confused is this handler not relevant for e500MC?  The 2nd patch makes me thing it is.
> 
> diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
> index 30e1626..f908ba6 100644
> --- a/arch/powerpc/sysdev/fsl_rio.c
> +++ b/arch/powerpc/sysdev/fsl_rio.c
> @@ -240,12 +240,13 @@ struct rio_priv {
> 
> static void __iomem *rio_regs_win;
> 
> +#ifdef CONFIG_E500
> static int (*saved_mcheck_exception)(struct pt_regs *regs);
> 
> static int fsl_rio_mcheck_exception(struct pt_regs *regs)
> {
> 	const struct exception_table_entry *entry = NULL;
> -	unsigned long reason = (mfspr(SPRN_MCSR) & MCSR_MASK);
> +	unsigned long reason = mfspr(SPRN_MCSR);
> 
> 	if (reason & MCSR_BUS_RBERR) {
> 		reason = in_be32((u32 *)(rio_regs_win + RIO_LTLEDCSR));
> @@ -269,6 +270,7 @@ static int fsl_rio_mcheck_exception(struct pt_regs *regs)
> 	else
> 		return cur_cpu_spec->machine_check(regs);
> }
> +#endif
> 
> /**
>  * fsl_rio_doorbell_send - Send a MPC85xx doorbell message
> @@ -1517,8 +1519,10 @@ int fsl_rio_setup(struct of_device *dev)
> 	fsl_rio_doorbell_init(port);
> 	fsl_rio_port_write_init(port);
> 
> +#ifdef CONFIG_E500
> 	saved_mcheck_exception = ppc_md.machine_check_exception;
> 	ppc_md.machine_check_exception = fsl_rio_mcheck_exception;
> +#endif
> 	/* Ensure that RFXE is set */
> 	mtspr(SPRN_HID1, (mfspr(SPRN_HID1) | 0x20000));
> 
> -- 
> 1.6.4



More information about the Linuxppc-dev mailing list