avoid naming conflict around __ipipe_irq_handler
PATCH 3/5 avoid naming conflict around __ipipe_irq_handler
There is already a definition of __ipipe_irq_handler. So, we either need to more the real ipipe_irq_handler_t into ipipe_base.h, or rename this local variant to __ipipe_irq_handler_t, or simple drop this refactoring. This patch starts with applying the latter - the easiest one :->
Jan
--- include/asm-x86/ipipe_32.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
include/asm-x86/ipipe_32.h +2 -5
@@ -125,11 +125,8 @@ static inline unsigned long __ipipe_ffnz DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs); -typedef void (__ipipe_irq_handler )(unsigned irq, -void *cookie); -static inline void __ipipe_call_root_xirq_handler (unsigned irq, -__ipipe_irq_handler *handler) +void (*handler)(unsigned ,void *)) {struct pt_regs *regs = &__raw_get_cpu_var (__ipipe_tick_regs);
@@ -161,7 +158,7 @@ void irq_enter(void);void irq_exit (void );static inline void __ipipe_call_root_virq_handler (unsigned irq, -__ipipe_irq_handler *handler, +void (*handler)(unsigned ,void *),void *cookie) {irq_enter ();
Quoted 5 lines · Jan Kiszka
There is already a definition of
__ipipe_irq_handler. So, we either need to more the realipipe_irq_handler_tintoipipe_base.h, or rename this local variant to__ipipe_irq_handler_t, or simple drop this refactoring. This patch starts with applying the latter - the easiest one :->
There is no naming conflict, since they describe the same type with different even if close names on purpose. __ipipe_irq_handler is only a local short-hand to reduce visual pollution; as a matter of fact, the assembly code itself depends on the handler prototype, despite it cannot rely on any C-defined type, so the problem - if any - starts even before this local definition, and if you happen to change ipipe_irq_handler_t, then you could just not miss fixing __ipipe_irq_handler in the same move.
The only sane way to avoid defining this short-hand is indeed to move ipipe_irq_handler_t to linux/ipipe_base.h.
Signature · 1 line
Philippe.
Quoted 9 lines · Philippe Gerum
Quoted 5 lines · Jan Kiszka
There is already a definition of
__ipipe_irq_handler. So, we either need to more the realipipe_irq_handler_tintoipipe_base.h, or rename this local variant to__ipipe_irq_handler_t, or simple drop this refactoring. This patch starts with applying the latter - the easiest one :->There is no naming conflict, since they describe the same type with different even if close names on purpose.
__ipipe_irq_handleris only a
Sorry for remaining unclear: I was referring to the __ipipe_irq_handler helper macro from linux/ipipe.h. They may happen to live happily side by side, but it is far from being clean.
Quoted 9 lines
local short-hand to reduce visual pollution; as a matter of fact, the assembly code itself depends on the handler prototype, despite it cannot rely on any C-defined type, so the problem - if any - starts even before this local definition, and if you happen to change
ipipe_irq_handler_t, then you could just not miss fixing__ipipe_irq_handlerin the same move.The only sane way to avoid defining this short-hand is indeed to move
ipipe_irq_handler_ttolinux/ipipe_base.h.
Jan