mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-16 12:14:06 +00:00
Export irq_set_affinity() for cleaning up drivers/perf
-----BEGIN PGP SIGNATURE----- iQJHBAABCgAxFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmCk1J0THHRnbHhAbGlu dXRyb25peC5kZQAKCRCmGPVMDXSYofMAD/46QCJ9CDJZbBSuF5TBiA6mK90WWqXj tcGoZntClBUhFWE7+xR9S/si0z/mI1qysRK9QWzLD6UTBOEclwL4uQnWqinJCxoz ekNESFVdDo6JA3q4ybwV0D1Ey3JuewlUHuq4wRWGVCFbSknv2oVha9yL6BPUk+Or YRaZAOxaVpOO6XHpPPmFPn7ENOV7Eh7KAtKItFEZMKsIZNSTGYWHhTjBp4U4FgTQ Os2YF12p8eyTteQQpE445M6fn/2YQKBzUA+lRE5BxJigZPqydT2+oB/NGIuOEsyY rab943VBjbTZyT1AphdpExA3xtw3miNwfXG+ck2ZeZ2SD0RNwdNgnnyLQEmSdedk HU3kXL/omWlZfMJmmn3U93ydmC1CZlwR0JP/a0KcbgihctQ2/6KLtNjG+iCRha6s xlPhZgljKzKGg+cT6XhVtyxkGKHhntd3llLYzuS0+6Ny89kudFd0Fo47CTf31dS5 NobDxoqMaGkFO0fgG4eD0xj9Al+1lsV/h+jTt7MDa6y9uQQNSKP9iLDoLupCRLwl 8UmRfNkS0ylr6K2dtjmrNx3PMva44Ttj1bNH+pRoolgZwTkrG63QoomGb+SuzBZ7 6ZdJ98Ig55GdV5gU7yFy5qWaK49/QqbYWo/QzpeB+7Ahf2K0bjLs3NSIkGzqsSt4 jzNH3U0aFNcSPw== =Vzcx -----END PGP SIGNATURE----- Merge tag 'irq-export-set-affinity' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip into for-next/perf Export irq_set_affinity() for cleaning up drivers/perf Pull export of irq_set_affinity() from Thomas Gleixner, so we can convert all new and exiting Arm PMU drivers to the new interface. * tag 'irq-export-set-affinity' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq: Export affinity setter for modules
This commit is contained in:
commit
da3862e727
2 changed files with 34 additions and 34 deletions
|
@ -319,39 +319,8 @@ struct irq_affinity_desc {
|
|||
|
||||
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,
|
||||
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_set_affinity(unsigned int irq, const struct cpumask *cpumask);
|
||||
extern int irq_force_affinity(unsigned int irq, const struct cpumask *cpumask);
|
||||
|
||||
extern int irq_can_set_affinity(unsigned int irq);
|
||||
extern int irq_select_affinity(unsigned int irq);
|
||||
|
|
|
@ -441,7 +441,8 @@ out_unlock:
|
|||
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);
|
||||
unsigned long flags;
|
||||
|
@ -456,6 +457,36 @@ int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)
|
|||
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)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
|
Loading…
Add table
Reference in a new issue