X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=include%2Flinux%2Firq.h;h=0ac26c892fe25c11030415ec48d5580b3d3fefa2;hb=07216b5503f328b756b5f06da9908ce5f404d1e6;hp=b52424eaa0ed38e932d174f6a950a488d823399b;hpb=27acbec338113a75b9d72aeb53149a3538031dda;p=cascardo%2Flinux.git diff --git a/include/linux/irq.h b/include/linux/irq.h index b52424eaa0ed..0ac26c892fe2 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -945,6 +945,16 @@ static inline void irq_gc_lock(struct irq_chip_generic *gc) { } static inline void irq_gc_unlock(struct irq_chip_generic *gc) { } #endif +/* + * The irqsave variants are for usage in non interrupt code. Do not use + * them in irq_chip callbacks. Use irq_gc_lock() instead. + */ +#define irq_gc_lock_irqsave(gc, flags) \ + raw_spin_lock_irqsave(&(gc)->lock, flags) + +#define irq_gc_unlock_irqrestore(gc, flags) \ + raw_spin_unlock_irqrestore(&(gc)->lock, flags) + static inline void irq_reg_writel(struct irq_chip_generic *gc, u32 val, int reg_offset) {