summaryrefslogtreecommitdiffstats
path: root/kernel/irq/internals.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/internals.h')
-rw-r--r--kernel/irq/internals.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
index 44ed5f8c8759..07d08ca701ec 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -75,6 +75,8 @@ extern void __enable_irq(struct irq_desc *desc);
75#define IRQ_START_FORCE true 75#define IRQ_START_FORCE true
76#define IRQ_START_COND false 76#define IRQ_START_COND false
77 77
78extern int irq_activate(struct irq_desc *desc);
79extern void irq_activate_and_startup(struct irq_desc *desc, bool resend);
78extern int irq_startup(struct irq_desc *desc, bool resend, bool force); 80extern int irq_startup(struct irq_desc *desc, bool resend, bool force);
79 81
80extern void irq_shutdown(struct irq_desc *desc); 82extern void irq_shutdown(struct irq_desc *desc);
@@ -437,6 +439,18 @@ static inline bool irq_fixup_move_pending(struct irq_desc *desc, bool fclear)
437} 439}
438#endif /* !CONFIG_GENERIC_PENDING_IRQ */ 440#endif /* !CONFIG_GENERIC_PENDING_IRQ */
439 441
442#if !defined(CONFIG_IRQ_DOMAIN) || !defined(CONFIG_IRQ_DOMAIN_HIERARCHY)
443static inline int irq_domain_activate_irq(struct irq_data *data, bool early)
444{
445 irqd_set_activated(data);
446 return 0;
447}
448static inline void irq_domain_deactivate_irq(struct irq_data *data)
449{
450 irqd_clr_activated(data);
451}
452#endif
453
440#ifdef CONFIG_GENERIC_IRQ_DEBUGFS 454#ifdef CONFIG_GENERIC_IRQ_DEBUGFS
441#include <linux/debugfs.h> 455#include <linux/debugfs.h>
442 456
@@ -444,7 +458,9 @@ void irq_add_debugfs_entry(unsigned int irq, struct irq_desc *desc);
444static inline void irq_remove_debugfs_entry(struct irq_desc *desc) 458static inline void irq_remove_debugfs_entry(struct irq_desc *desc)
445{ 459{
446 debugfs_remove(desc->debugfs_file); 460 debugfs_remove(desc->debugfs_file);
461 kfree(desc->dev_name);
447} 462}
463void irq_debugfs_copy_devname(int irq, struct device *dev);
448# ifdef CONFIG_IRQ_DOMAIN 464# ifdef CONFIG_IRQ_DOMAIN
449void irq_domain_debugfs_init(struct dentry *root); 465void irq_domain_debugfs_init(struct dentry *root);
450# else 466# else
@@ -459,4 +475,7 @@ static inline void irq_add_debugfs_entry(unsigned int irq, struct irq_desc *d)
459static inline void irq_remove_debugfs_entry(struct irq_desc *d) 475static inline void irq_remove_debugfs_entry(struct irq_desc *d)
460{ 476{
461} 477}
478static inline void irq_debugfs_copy_devname(int irq, struct device *dev)
479{
480}
462#endif /* CONFIG_GENERIC_IRQ_DEBUGFS */ 481#endif /* CONFIG_GENERIC_IRQ_DEBUGFS */