[RFC PATCH] arm: fiq: convert enable/disable_fiq to inline functions

Nicolas Pitre nicolas.pitre at linaro.org
Mon Aug 29 11:14:18 EDT 2011


On Mon, 29 Aug 2011, Venkatraman S wrote:

> FIQ_START is an platform specific constant used in the
> implementation of enable_fiq and disable_fiq.
> Converting then to inline functions enables different
> architectures which use the FIQ module to exist in a single
> zImage with different values of FIQ_START.
> 
> Signed-off-by: Venkatraman S <svenkatr at ti.com>

I fail to see how this patch inproves things. The asm/fiq.h file is just 
as global as kernel/fiq.c is.


> ---
>  arch/arm/include/asm/fiq.h |   13 +++++++++++--
>  arch/arm/kernel/fiq.c      |   11 -----------
>  2 files changed, 11 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/include/asm/fiq.h b/arch/arm/include/asm/fiq.h
> index d493d0b..e84a8cc 100644
> --- a/arch/arm/include/asm/fiq.h
> +++ b/arch/arm/include/asm/fiq.h
> @@ -17,6 +17,7 @@
>  #define __ASM_FIQ_H
>  
>  #include <asm/ptrace.h>
> +#include <asm/irq.h>
>  
>  struct fiq_handler {
>  	struct fiq_handler *next;
> @@ -36,8 +37,16 @@ struct fiq_handler {
>  extern int claim_fiq(struct fiq_handler *f);
>  extern void release_fiq(struct fiq_handler *f);
>  extern void set_fiq_handler(void *start, unsigned int length);
> -extern void enable_fiq(int fiq);
> -extern void disable_fiq(int fiq);
> +
> +static inline void enable_fiq(int fiq)
> +{
> +	enable_irq(fiq + FIQ_START);
> +}
> +
> +static inline void disable_fiq(int fiq)
> +{
> +	disable_irq(fiq + FIQ_START);
> +}
>  
>  /* helpers defined in fiqasm.S: */
>  extern void __set_fiq_regs(unsigned long const *regs);
> diff --git a/arch/arm/kernel/fiq.c b/arch/arm/kernel/fiq.c
> index 4c164ec..49e5355 100644
> --- a/arch/arm/kernel/fiq.c
> +++ b/arch/arm/kernel/fiq.c
> @@ -122,23 +122,12 @@ void release_fiq(struct fiq_handler *f)
>  	while (current_fiq->fiq_op(current_fiq->dev_id, 0));
>  }
>  
> -void enable_fiq(int fiq)
> -{
> -	enable_irq(fiq + FIQ_START);
> -}
> -
> -void disable_fiq(int fiq)
> -{
> -	disable_irq(fiq + FIQ_START);
> -}
>  
>  EXPORT_SYMBOL(set_fiq_handler);
>  EXPORT_SYMBOL(__set_fiq_regs);	/* defined in fiqasm.S */
>  EXPORT_SYMBOL(__get_fiq_regs);	/* defined in fiqasm.S */
>  EXPORT_SYMBOL(claim_fiq);
>  EXPORT_SYMBOL(release_fiq);
> -EXPORT_SYMBOL(enable_fiq);
> -EXPORT_SYMBOL(disable_fiq);
>  
>  void __init init_FIQ(void)
>  {
> -- 
> 1.7.1
> 



More information about the linux-arm-kernel mailing list