1 /* $NetBSD: gemini_lpchcvar.h,v 1.2 2008/11/15 05:48:34 cliff Exp $ */
3 #ifndef _ARM_GEMINI_LPHCVAR_H
4 #define _ARM_GEMINI_LPHCVAR_H
7 #include <sys/device.h>
8 #include <machine/bus.h>
9 #include <arch/arm/gemini/gemini_lpcvar.h>
12 typedef struct gemini_lpchc_attach_args
{
14 bus_space_tag_t lpchc_iot
;
15 bus_addr_t lpchc_addr
;
16 bus_size_t lpchc_size
;
17 } gemini_lpchc_attach_args_t
;
19 typedef struct gemini_lpchc_intrq
{
20 SIMPLEQ_ENTRY(gemini_lpchc_intrq
) iq_q
;
21 int (*iq_func
)(void *);
25 } gemini_lpchc_intrq_t
;
27 typedef struct gemini_lpchc_softc
{
31 bus_space_tag_t sc_iot
;
32 bus_space_handle_t sc_ioh
;
35 SIMPLEQ_HEAD(, gemini_lpchc_intrq
) sc_intrq
;
36 } gemini_lpchc_softc_t
;
38 extern void gemini_lpchc_init(lpcintrtag_t
);
39 extern void *gemini_lpchc_intr_establish(lpcintrtag_t
, uint
, int, int,
40 int (*)(void *), void *);
41 extern void gemini_lpchc_intr_disestablish(lpcintrtag_t
, void *);
42 extern int gemini_lpchc_intr(void *);
46 #endif /* _ARM_GEMINI_LPHCVAR_H */