Merge branch 'regulator-4.20' into regulator-linus
[sfrench/cifs-2.6.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 #define GICD_INT_DEF_PRI                0xa0
17 #define GICD_INT_DEF_PRI_X4             ((GICD_INT_DEF_PRI << 24) |\
18                                         (GICD_INT_DEF_PRI << 16) |\
19                                         (GICD_INT_DEF_PRI << 8) |\
20                                         GICD_INT_DEF_PRI)
21
22 enum gic_type {
23         GIC_V2,
24         GIC_V3,
25 };
26
27 struct gic_kvm_info {
28         /* GIC type */
29         enum gic_type   type;
30         /* Virtual CPU interface */
31         struct resource vcpu;
32         /* Interrupt number */
33         unsigned int    maint_irq;
34         /* Virtual control interface */
35         struct resource vctrl;
36         /* vlpi support */
37         bool            has_v4;
38 };
39
40 const struct gic_kvm_info *gic_get_kvm_info(void);
41
42 #endif /* __LINUX_IRQCHIP_ARM_GIC_COMMON_H */