blob: 3e55dfa5e6badb39006a01e7eb1be7480054724b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include <xen/config.h>
#include <xen/irq.h>
#include <xen/errno.h>
int init_one_irq_desc(struct irq_desc *desc)
{
int err;
if (irq_desc_initialized(desc))
return 0;
if ( !alloc_cpumask_var(&desc->affinity) )
return -ENOMEM;
desc->status = IRQ_DISABLED;
desc->handler = &no_irq_type;
spin_lock_init(&desc->lock);
cpumask_setall(desc->affinity);
INIT_LIST_HEAD(&desc->rl_link);
err = arch_init_one_irq_desc(desc);
if ( err )
{
free_cpumask_var(desc->affinity);
desc->handler = NULL;
}
return err;
}
void no_action(int cpl, void *dev_id, struct cpu_user_regs *regs)
{
}
void irq_actor_none(struct irq_desc *desc)
{
}
unsigned int irq_startup_none(struct irq_desc *desc)
{
return 0;
}
|