Subject: [PATCH] arm: arm: fiq: fix build breakage with CONFIG_FIQ

From: [email-masked] (Daniel Thompson)
Date: Wed, 17 Sep 2014 16:29:03 -0700

On 17/09/14 13:01, Felipe Balbi wrote:
> commit e1add97 (ARM: 8150/2: fiq: Replace default FIQ handler)
> has a typo which causes build breakage whenever CONFIG_FIQ is
> set.
> 
> The bug is very clear as can be noted that a new struct pt_regs
> def_fiq_regs was defined but code uses dfl_fiq_regs.

Quite so. My fault.

This error was picked up by Olof's autobuilder and I have offered
a fix as 8150/3 (posted to mailing list in this thread
http://thread.gmane.org/gmane.linux.kernel/1789554 ).

Your fix and mine are slightly different (I standardised on
dfl_fiq_regs) but both approaches should be functionally identical.

Daniel.

> Cc: Daniel Thompson <[email-masked]>
> Cc: Catalin Marinas <[email-masked]>
> Cc: Nicolas Pitre <[email-masked]>
> Fixes: e1add97 (ARM: 8150/2: fiq: Replace default FIQ handler)
> Signed-off-by: Felipe Balbi <[email-masked]>
> ---
> 
> KernelVersion: next-20140917
> 
> Russell, let me know if this is the correct KernelVersion tag you want/need
> 
>  arch/arm/kernel/fiq.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
> index 1743049..b6ab4c7 100644
> --- a/arch/arm/kernel/fiq.c
> +++ b/arch/arm/kernel/fiq.c
> @@ -64,7 +64,7 @@ static int fiq_def_op(void *ref, int relinquish)
>  	if (!relinquish) {
>  		/* Restore default handler and registers */
>  		local_fiq_disable();
> -		set_fiq_regs(&dfl_fiq_regs);
> +		set_fiq_regs(&def_fiq_regs);
>  		set_fiq_handler(&no_fiq_insn, sizeof(no_fiq_insn));
>  		local_fiq_enable();
>  
> @@ -159,6 +159,6 @@ void __init init_FIQ(int start)
>  {
>  	unsigned offset = FIQ_OFFSET;
>  	no_fiq_insn = *(unsigned long *)(0xffff0000 + offset);
> -	get_fiq_regs(&dfl_fiq_regs);
> +	get_fiq_regs(&def_fiq_regs);
>  	fiq_start = start;
>  }
>