提交 e9ed7e72 编写于 作者: A Al Viro 提交者: Linus Torvalds

take declarations of enable_irq() et.al. to linux/interrupt.h

Now that the last inlined instances are gone, all that is left to do
is turning disable_irq_nosync on arm26 and m68k from defines to aliases
and we are all set - we can make these externs in linux/interrupt.h
uncoditional and kill remaining instances in asm/irq.h
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 e6f194d8
...@@ -107,8 +107,6 @@ EXPORT_SYMBOL(__bug); ...@@ -107,8 +107,6 @@ EXPORT_SYMBOL(__bug);
#endif #endif
EXPORT_SYMBOL(__bad_xchg); EXPORT_SYMBOL(__bad_xchg);
EXPORT_SYMBOL(__readwrite_bug); EXPORT_SYMBOL(__readwrite_bug);
EXPORT_SYMBOL(enable_irq);
EXPORT_SYMBOL(disable_irq);
EXPORT_SYMBOL(set_irq_type); EXPORT_SYMBOL(set_irq_type);
EXPORT_SYMBOL(pm_idle); EXPORT_SYMBOL(pm_idle);
EXPORT_SYMBOL(pm_power_off); EXPORT_SYMBOL(pm_power_off);
......
...@@ -95,6 +95,11 @@ void disable_irq(unsigned int irq) ...@@ -95,6 +95,11 @@ void disable_irq(unsigned int irq)
desc->enabled = 0; desc->enabled = 0;
spin_unlock_irqrestore(&irq_controller_lock, flags); spin_unlock_irqrestore(&irq_controller_lock, flags);
} }
EXPORT_SYMBOL(disable_irq);
void disable_irq_nosync(unsigned int irq) __attribute__((alias("disable_irq")));
EXPORT_SYMBOL(disable_irq_nosync);
/** /**
* enable_irq - enable interrupt handling on an irq * enable_irq - enable interrupt handling on an irq
...@@ -131,6 +136,7 @@ void enable_irq(unsigned int irq) ...@@ -131,6 +136,7 @@ void enable_irq(unsigned int irq)
} }
spin_unlock_irqrestore(&irq_controller_lock, flags); spin_unlock_irqrestore(&irq_controller_lock, flags);
} }
EXPORT_SYMBOL(enable_irq);
int show_interrupts(struct seq_file *p, void *v) int show_interrupts(struct seq_file *p, void *v)
{ {
......
...@@ -326,6 +326,10 @@ void disable_irq(unsigned int irq) ...@@ -326,6 +326,10 @@ void disable_irq(unsigned int irq)
EXPORT_SYMBOL(disable_irq); EXPORT_SYMBOL(disable_irq);
void disable_irq_nosync(unsigned int irq) __attribute__((alias("disable_irq")));
EXPORT_SYMBOL(disable_irq_nosync);
int m68k_irq_startup(unsigned int irq) int m68k_irq_startup(unsigned int irq)
{ {
if (irq <= IRQ_AUTO_7) if (irq <= IRQ_AUTO_7)
......
...@@ -85,10 +85,6 @@ static __inline__ int irq_canonicalize(int irq) ...@@ -85,10 +85,6 @@ static __inline__ int irq_canonicalize(int irq)
return ((irq == 2) ? 9 : irq); return ((irq == 2) ? 9 : irq);
} }
extern void disable_irq(unsigned int);
extern void disable_irq_nosync(unsigned int);
extern void enable_irq(unsigned int);
struct pt_regs; struct pt_regs;
extern void (*perf_irq)(unsigned long, struct pt_regs *); extern void (*perf_irq)(unsigned long, struct pt_regs *);
......
...@@ -24,11 +24,6 @@ ...@@ -24,11 +24,6 @@
struct irqaction; struct irqaction;
#define disable_irq_nosync(i) disable_irq(i)
extern void disable_irq(unsigned int);
extern void enable_irq(unsigned int);
#define __IRQT_FALEDGE (1 << 0) #define __IRQT_FALEDGE (1 << 0)
#define __IRQT_RISEDGE (1 << 1) #define __IRQT_RISEDGE (1 << 1)
#define __IRQT_LOWLVL (1 << 2) #define __IRQT_LOWLVL (1 << 2)
......
...@@ -59,7 +59,4 @@ static __inline__ int irq_canonicalize(int irq) ...@@ -59,7 +59,4 @@ static __inline__ int irq_canonicalize(int irq)
return irq; return irq;
} }
extern void enable_irq(unsigned int);
extern void disable_irq(unsigned int);
#endif /* _H8300_IRQ_H_ */ #endif /* _H8300_IRQ_H_ */
...@@ -33,9 +33,6 @@ irq_canonicalize (int irq) ...@@ -33,9 +33,6 @@ irq_canonicalize (int irq)
return ((irq == 2) ? 9 : irq); return ((irq == 2) ? 9 : irq);
} }
extern void disable_irq (unsigned int);
extern void disable_irq_nosync (unsigned int);
extern void enable_irq (unsigned int);
extern void set_irq_affinity_info (unsigned int irq, int dest, int redir); extern void set_irq_affinity_info (unsigned int irq, int dest, int redir);
bool is_affinity_mask_valid(cpumask_t cpumask); bool is_affinity_mask_valid(cpumask_t cpumask);
......
...@@ -59,9 +59,6 @@ ...@@ -59,9 +59,6 @@
#define IRQ_USER 8 #define IRQ_USER 8
extern unsigned int irq_canonicalize(unsigned int irq); extern unsigned int irq_canonicalize(unsigned int irq);
extern void enable_irq(unsigned int);
extern void disable_irq(unsigned int);
#define disable_irq_nosync disable_irq
struct pt_regs; struct pt_regs;
......
...@@ -114,10 +114,6 @@ ...@@ -114,10 +114,6 @@
#define IRL0_PRIORITY 13 #define IRL0_PRIORITY 13
#define TOP_PRIORITY 15 #define TOP_PRIORITY 15
extern void disable_irq(unsigned int);
extern void disable_irq_nosync(unsigned int);
extern void enable_irq(unsigned int);
extern int intc_evt_to_irq[(0xE20/0x20)+1]; extern int intc_evt_to_irq[(0xE20/0x20)+1];
int intc_irq_describe(char* p, int irq); int intc_irq_describe(char* p, int irq);
......
...@@ -13,10 +13,6 @@ ...@@ -13,10 +13,6 @@
#define irq_canonicalize(irq) (irq) #define irq_canonicalize(irq) (irq)
extern void disable_irq_nosync(unsigned int irq);
extern void disable_irq(unsigned int irq);
extern void enable_irq(unsigned int irq);
extern int request_fast_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, __const__ char *devname); extern int request_fast_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, __const__ char *devname);
#endif #endif
...@@ -50,16 +50,6 @@ init_irq_handlers (int base_irq, int num, int interval, ...@@ -50,16 +50,6 @@ init_irq_handlers (int base_irq, int num, int interval,
interrupt. */ interrupt. */
extern unsigned int handle_irq (int irq, struct pt_regs *regs); extern unsigned int handle_irq (int irq, struct pt_regs *regs);
/* Enable interrupt handling on an irq. */
extern void enable_irq(unsigned int irq);
/* Disable an irq and wait for completion. */
extern void disable_irq (unsigned int irq);
/* Disable an irq without waiting. */
extern void disable_irq_nosync (unsigned int irq);
#endif /* !__ASSEMBLY__ */ #endif /* !__ASSEMBLY__ */
#endif /* __V850_IRQ_H__ */ #endif /* __V850_IRQ_H__ */
...@@ -120,11 +120,11 @@ extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id); ...@@ -120,11 +120,11 @@ extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id);
# define local_irq_enable_in_hardirq() local_irq_enable() # define local_irq_enable_in_hardirq() local_irq_enable()
#endif #endif
#ifdef CONFIG_GENERIC_HARDIRQS
extern void disable_irq_nosync(unsigned int irq); extern void disable_irq_nosync(unsigned int irq);
extern void disable_irq(unsigned int irq); extern void disable_irq(unsigned int irq);
extern void enable_irq(unsigned int irq); extern void enable_irq(unsigned int irq);
#ifdef CONFIG_GENERIC_HARDIRQS
/* /*
* Special lockdep variants of irq disabling/enabling. * Special lockdep variants of irq disabling/enabling.
* These should be used for locking constructs that * These should be used for locking constructs that
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册