提交 1e5418c2 编写于 作者: T Thomas Gleixner

Merge branch 'irq/for-net' into irq/core

Reason: Import the change which might be pulled in from net
Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
...@@ -199,6 +199,26 @@ extern int check_wakeup_irqs(void); ...@@ -199,6 +199,26 @@ extern int check_wakeup_irqs(void);
static inline int check_wakeup_irqs(void) { return 0; } static inline int check_wakeup_irqs(void) { return 0; }
#endif #endif
/**
* struct irq_affinity_notify - context for notification of IRQ affinity changes
* @irq: Interrupt to which notification applies
* @kref: Reference count, for internal use
* @work: Work item, for internal use
* @notify: Function to be called on change. This will be
* called in process context.
* @release: Function to be called on release. This will be
* called in process context. Once registered, the
* structure must only be freed when this function is
* called or later.
*/
struct irq_affinity_notify {
unsigned int irq;
struct kref kref;
struct work_struct work;
void (*notify)(struct irq_affinity_notify *, const cpumask_t *mask);
void (*release)(struct kref *ref);
};
#if defined(CONFIG_SMP) #if defined(CONFIG_SMP)
extern cpumask_var_t irq_default_affinity; extern cpumask_var_t irq_default_affinity;
...@@ -242,26 +262,6 @@ extern int irq_select_affinity(unsigned int irq); ...@@ -242,26 +262,6 @@ extern int irq_select_affinity(unsigned int irq);
extern int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m); extern int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m);
/**
* struct irq_affinity_notify - context for notification of IRQ affinity changes
* @irq: Interrupt to which notification applies
* @kref: Reference count, for internal use
* @work: Work item, for internal use
* @notify: Function to be called on change. This will be
* called in process context.
* @release: Function to be called on release. This will be
* called in process context. Once registered, the
* structure must only be freed when this function is
* called or later.
*/
struct irq_affinity_notify {
unsigned int irq;
struct kref kref;
struct work_struct work;
void (*notify)(struct irq_affinity_notify *, const cpumask_t *mask);
void (*release)(struct kref *ref);
};
extern int extern int
irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify); irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify);
...@@ -289,6 +289,12 @@ static inline int irq_set_affinity_hint(unsigned int irq, ...@@ -289,6 +289,12 @@ static inline int irq_set_affinity_hint(unsigned int irq,
{ {
return -EINVAL; return -EINVAL;
} }
static inline int
irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)
{
return 0;
}
#endif /* CONFIG_SMP */ #endif /* CONFIG_SMP */
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册