xref: /netbsd/sys/arch/arm/gemini/gemini_ipivar.h (revision 6550d01e)
1 /*	$NetBSD: gemini_ipivar.h,v 1.1 2008/11/20 08:02:48 cliff Exp $	*/
2 
3 #ifndef _GEMINI_IPIVAR_H
4 #define _GEMINI_IPIVAR_H
5 
6 #include <sys/param.h>
7 #include <sys/systm.h>
8 #include <sys/device.h>
9 
10 typedef struct gemini_ipi_intrq {
11 	SIMPLEQ_ENTRY(gemini_ipi_intrq) iq_q;
12 	int (*iq_func)(void *);
13 	void *iq_arg;
14 } gemini_ipi_intrq_t;
15 
16 typedef struct gemini_ipi_softc {
17 	struct device sc_dev;
18 	bus_space_tag_t sc_iot;
19         bus_space_handle_t sc_ioh;
20         bus_addr_t sc_addr;
21         bus_size_t sc_size;
22 	int sc_intr;
23 	void *sc_ih;
24 	SIMPLEQ_HEAD(, gemini_ipi_intrq) sc_intrq;
25 } gemini_ipi_softc_t;
26 
27 extern void *ipi_intr_establish(int (*)(void *), void *);
28 extern void  ipi_intr_disestablish(void *);
29 extern int   ipi_send(void);
30 
31 #endif /* _GEMINI_IPIVAR_H */
32