LinuxKPI: add irq_set_affinity_hint()
Add an implementation for irq_set_affinity_hint() to linux/interrupt.h and include linux/hardirq.h for synchronize_irq() as needed by wireless drivers. Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30427
This commit is contained in:
parent
b26fb63f2b
commit
602e4e433d
@ -31,12 +31,15 @@
|
||||
#ifndef _LINUX_INTERRUPT_H_
|
||||
#define _LINUX_INTERRUPT_H_
|
||||
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/irqreturn.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
||||
#include <sys/bus.h>
|
||||
#include <sys/rman.h>
|
||||
#include <sys/interrupt.h>
|
||||
|
||||
typedef irqreturn_t (*irq_handler_t)(int, void *);
|
||||
|
||||
@ -183,6 +186,19 @@ free_irq(unsigned int irq, void *device)
|
||||
kfree(irqe);
|
||||
}
|
||||
|
||||
static inline int
|
||||
irq_set_affinity_hint(int vector, cpumask_t *mask)
|
||||
{
|
||||
int error;
|
||||
|
||||
if (mask != NULL)
|
||||
error = intr_setaffinity(vector, CPU_WHICH_IRQ, mask);
|
||||
else
|
||||
error = intr_setaffinity(vector, CPU_WHICH_IRQ, cpuset_root);
|
||||
|
||||
return (-error);
|
||||
}
|
||||
|
||||
/*
|
||||
* LinuxKPI tasklet support
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user