Merge branch 'irq/affinity' into irq/core
Merge the export of irq_set_affinity() which is a standalone commit so it can be pulled into other trees.
This commit is contained in:
commit
006ae1970a
|
@ -322,39 +322,8 @@ struct irq_affinity_desc {
|
||||||
|
|
||||||
extern cpumask_var_t irq_default_affinity;
|
extern cpumask_var_t irq_default_affinity;
|
||||||
|
|
||||||
/* Internal implementation. Use the helpers below */
|
extern int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask);
|
||||||
extern int __irq_set_affinity(unsigned int irq, const struct cpumask *cpumask,
|
extern int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask);
|
||||||
bool force);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* irq_set_affinity - Set the irq affinity of a given irq
|
|
||||||
* @irq: Interrupt to set affinity
|
|
||||||
* @cpumask: cpumask
|
|
||||||
*
|
|
||||||
* Fails if cpumask does not contain an online CPU
|
|
||||||
*/
|
|
||||||
static inline int
|
|
||||||
irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
|
|
||||||
{
|
|
||||||
return __irq_set_affinity(irq, cpumask, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* irq_force_affinity - Force the irq affinity of a given irq
|
|
||||||
* @irq: Interrupt to set affinity
|
|
||||||
* @cpumask: cpumask
|
|
||||||
*
|
|
||||||
* Same as irq_set_affinity, but without checking the mask against
|
|
||||||
* online cpus.
|
|
||||||
*
|
|
||||||
* Solely for low level cpu hotplug code, where we need to make per
|
|
||||||
* cpu interrupts affine before the cpu becomes online.
|
|
||||||
*/
|
|
||||||
static inline int
|
|
||||||
irq_force_affinity(unsigned int irq, const struct cpumask *cpumask)
|
|
||||||
{
|
|
||||||
return __irq_set_affinity(irq, cpumask, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
extern int irq_can_set_affinity(unsigned int irq);
|
extern int irq_can_set_affinity(unsigned int irq);
|
||||||
extern int irq_select_affinity(unsigned int irq);
|
extern int irq_select_affinity(unsigned int irq);
|
||||||
|
|
|
@ -441,7 +441,8 @@ int irq_update_affinity_desc(unsigned int irq,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)
|
static int __irq_set_affinity(unsigned int irq, const struct cpumask *mask,
|
||||||
|
bool force)
|
||||||
{
|
{
|
||||||
struct irq_desc *desc = irq_to_desc(irq);
|
struct irq_desc *desc = irq_to_desc(irq);
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
@ -456,6 +457,36 @@ int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* irq_set_affinity - Set the irq affinity of a given irq
|
||||||
|
* @irq: Interrupt to set affinity
|
||||||
|
* @cpumask: cpumask
|
||||||
|
*
|
||||||
|
* Fails if cpumask does not contain an online CPU
|
||||||
|
*/
|
||||||
|
int irq_set_affinity(unsigned int irq, const struct cpumask *cpumask)
|
||||||
|
{
|
||||||
|
return __irq_set_affinity(irq, cpumask, false);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_set_affinity);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* irq_force_affinity - Force the irq affinity of a given irq
|
||||||
|
* @irq: Interrupt to set affinity
|
||||||
|
* @cpumask: cpumask
|
||||||
|
*
|
||||||
|
* Same as irq_set_affinity, but without checking the mask against
|
||||||
|
* online cpus.
|
||||||
|
*
|
||||||
|
* Solely for low level cpu hotplug code, where we need to make per
|
||||||
|
* cpu interrupts affine before the cpu becomes online.
|
||||||
|
*/
|
||||||
|
int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask)
|
||||||
|
{
|
||||||
|
return __irq_set_affinity(irq, cpumask, true);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(irq_force_affinity);
|
||||||
|
|
||||||
int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
|
int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
Loading…
Reference in New Issue