1 /*
2  * EHV_PIC private definitions and structure.
3  *
4  * Copyright 2008-2010 Freescale Semiconductor, Inc.
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2.  This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10 #ifndef __EHV_PIC_H__
11 #define __EHV_PIC_H__
12 
13 #include <linux/irq.h>
14 
15 #define NR_EHV_PIC_INTS 1024
16 
17 #define EHV_PIC_INFO(name) EHV_PIC_##name
18 
19 #define EHV_PIC_VECPRI_POLARITY_NEGATIVE 0
20 #define EHV_PIC_VECPRI_POLARITY_POSITIVE 1
21 #define EHV_PIC_VECPRI_SENSE_EDGE 0
22 #define EHV_PIC_VECPRI_SENSE_LEVEL 0x2
23 #define EHV_PIC_VECPRI_POLARITY_MASK 0x1
24 #define EHV_PIC_VECPRI_SENSE_MASK 0x2
25 
26 struct ehv_pic {
27 	/* The remapper for this EHV_PIC */
28 	struct irq_domain	*irqhost;
29 
30 	/* The "linux" controller struct */
31 	struct irq_chip	hc_irq;
32 
33 	/* core int flag */
34 	int coreint_flag;
35 };
36 
37 void ehv_pic_init(void);
38 unsigned int ehv_pic_get_irq(void);
39 
40 #endif /* __EHV_PIC_H__ */
41