55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
/* $NetBSD: ibusvar.h,v 1.1 1998/04/19 02:52:45 jonathan Exp $ */
|
|
|
|
#ifndef __IBUSVAR_H
|
|
#define __IBUSVAR_H
|
|
|
|
|
|
void config_ibus __P((struct device *mb, void *,
|
|
int printfn __P((void *, const char *)) )); /* XXX */
|
|
|
|
/*
|
|
* function types for interrupt establish/diestablish
|
|
*/
|
|
struct ibus_attach_args;
|
|
typedef (ibus_intr_establish_t) __P((void * cookie, int level,
|
|
int (*handler) __P((intr_arg_t)), intr_arg_t arg));
|
|
typedef (ibus_intr_disestablish_t) __P((struct ibus_attach_args *));
|
|
|
|
|
|
/*
|
|
* Arguments used to attach a ibus "device" to its parent
|
|
*/
|
|
struct ibus_dev_attach_args {
|
|
const char *ibd_busname; /* XXX should be common */
|
|
#ifdef notyet
|
|
bus_space_tag_t iba_memt;
|
|
#endif
|
|
ibus_intr_establish_t (*ibd_establish);
|
|
ibus_intr_disestablish_t (*ibd_disestablish);
|
|
int ibd_ndevs;
|
|
struct ibus_attach_args *ibd_devs;
|
|
};
|
|
|
|
/*
|
|
* Arguments used to attach devices to an ibus
|
|
*/
|
|
struct ibus_attach_args {
|
|
char *ia_name; /* Device name. */
|
|
int ia_slot; /* Device slot (table entry). */
|
|
tc_addr_t ia_addr; /* Device address. */
|
|
int ia_cookie; /* Device interrupt "priority" */
|
|
};
|
|
|
|
|
|
/*
|
|
* interrrupt estalish functions.
|
|
* These call up to system-specific code to
|
|
* recompute spl levels.
|
|
*/
|
|
void ibus_intr_establish __P((void * cookie, int level,
|
|
int (*handler) __P((intr_arg_t)), intr_arg_t arg));
|
|
void ibus_intr_disestablish __P((struct ibus_attach_args *));
|
|
int ibusprint __P((void *aux, const char *pnp));
|
|
|
|
#endif /* __IBUSVAR_H */
|