=================================================================== RCS file: /cvs/funnyos/sys/device.h,v retrieving revision 1.2 retrieving revision 1.9 diff -u -r1.2 -r1.9 --- funnyos/sys/device.h 2007/10/16 15:00:28 1.2 +++ funnyos/sys/device.h 2007/12/21 17:38:56 1.9 @@ -1,11 +1,11 @@ /* - * $Id: device.h,v 1.2 2007/10/16 14:00:28 init Exp $ + * $Id: device.h,v 1.9 2007/12/21 17:38:56 nbrk Exp $ */ #ifndef _SYS_DEVICE_H #define _SYS_DEVICE_H #include -#define DVNAMELEN 8 +#define DVNAMELEN 10 struct device { // char dv_name[DVNAMELEN]; /* device name up to 7 chars */ @@ -24,7 +24,7 @@ uint32_t dr_ddsize; /* size of xxx_dd (devdata) */ int (*dr_attach)(struct device *self, uint32_t loc, uint8_t flags); /* attach subroutine */ int (*dr_detach)(struct device *self); /* detach subroutine */ -// void (*dr_interrupt)(struct device *self); /* intr handler */ + void (*dr_interrupt)(struct device *self); /* intr handler */ }; @@ -32,30 +32,25 @@ /* * Associate actual driver with device name. */ - char *di_dname; /* device name */ - struct driver *di_driverp; /* pointer to driver */ - int8_t di_ninstances; /* number of already created devices; for dv_minor */ + char *di_dname; /* device name */ + struct driver *di_driverp; /* pointer to driver */ + int8_t di_ninstances; /* number of already created devices; for dv_minor */ }; struct attachinfo { /* * Attach hint. Describes where to attach particular device. - * "child" at "parent" 0 loc 0x16000000 flags 0x00 + * "child" at "parent" 0 loc 0x16000000 intrno 4 flags 0x00 */ - char *ai_cname; /* child device name */ - char *ai_pname; /* parent device name */ - uint8_t ai_pminor; /* parent minor */ - uint32_t ai_locator; /* location on parent (0 - default) */ -// uint8_t ai_intrno; /* interrupt line */ - uint8_t ai_flags; /* flags passed to dr_attach() */ + char *ai_cname; /* child device name */ + char *ai_pname; /* parent device name */ + uint8_t ai_pminor; /* parent minor */ + uint32_t ai_locator; /* location on parent (0 - default) */ + int8_t ai_intrno; /* interrupt line (XXX on IRQ Controller) */ + uint8_t ai_flags; /* flags passed to dr_attach() */ }; - - -#define ATTACH(x) devlist[x].dv_parent -#define AT = -#define PARENT(y) &devlist[y] #endif /* _SYS_DEVICE_H */