diff options
| -rw-r--r-- | include/linux/irqdesc.h | 6 | ||||
| -rw-r--r-- | kernel/irq/internals.h | 4 | ||||
| -rw-r--r-- | kernel/irq/settings.h | 1 | 
3 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h index 581d9665fd3..36c95f08023 100644 --- a/include/linux/irqdesc.h +++ b/include/linux/irqdesc.h @@ -64,7 +64,11 @@ struct irq_desc {  	unsigned int __percpu	*kstat_irqs;  	irq_flow_handler_t	handle_irq;  	struct irqaction	*action;	/* IRQ action list */ +#ifdef CONFIG_GENERIC_HARDIRQS_NO_COMPAT +	unsigned int		status_use_accessors; +#else  	unsigned int		status;		/* IRQ status */ +#endif  	unsigned int		core_internal_state__do_not_mess_with_it;  	unsigned int		depth;		/* nested irq disables */  	unsigned int		wake_depth;	/* nested wake enables */ @@ -164,6 +168,7 @@ static inline int irq_has_action(unsigned int irq)  	return desc->action != NULL;  } +#ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT  static inline int irq_balancing_disabled(unsigned int irq)  {  	struct irq_desc *desc; @@ -171,6 +176,7 @@ static inline int irq_balancing_disabled(unsigned int irq)  	desc = irq_to_desc(irq);  	return desc->status & IRQ_NO_BALANCING_MASK;  } +#endif  /* caller has locked the irq_desc and both params are valid */  static inline void __set_irq_handler_unlocked(int irq, diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index 5e2366da9f3..fd5777ab2d3 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h @@ -15,6 +15,10 @@  #define istate core_internal_state__do_not_mess_with_it +#ifdef CONFIG_GENERIC_HARDIRQS_NO_COMPAT +# define status status_use_accessors +#endif +  extern int noirqdebug;  /* diff --git a/kernel/irq/settings.h b/kernel/irq/settings.h index 55ebe1e09da..0227ad35827 100644 --- a/kernel/irq/settings.h +++ b/kernel/irq/settings.h @@ -134,4 +134,5 @@ static inline bool irq_settings_is_nested_thread(struct irq_desc *desc)  }  /* Nothing should touch desc->status from now on */ +#undef status  #define status		USE_THE_PROPER_WRAPPERS_YOU_MORON  |