Linux-libre 4.9.30-gnu
[librecmc/linux-libre.git] / include / linux / irqchip / arm-gic-common.h
1 /*
2  * include/linux/irqchip/arm-gic-common.h
3  *
4  * Copyright (C) 2016 ARM Limited, All Rights Reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  */
10 #ifndef __LINUX_IRQCHIP_ARM_GIC_COMMON_H
11 #define __LINUX_IRQCHIP_ARM_GIC_COMMON_H
12
13 #include <linux/types.h>
14 #include <linux/ioport.h>
15
16 enum gic_type {
17         GIC_V2,
18         GIC_V3,
19 };
20
21 struct gic_kvm_info {
22         /* GIC type */
23         enum gic_type   type;
24         /* Virtual CPU interface */
25         struct resource vcpu;
26         /* Interrupt number */
27         unsigned int    maint_irq;
28         /* Virtual control interface */
29         struct resource vctrl;
30 };
31
32 const struct gic_kvm_info *gic_get_kvm_info(void);
33
34 #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */