X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fmodules.h;h=68c797be22133feab5a4ae4350c75dda2ff7482b;hb=c7c5c4dbeb7b298675856eebb36084c92e989d98;hp=dcf346562e15c86114b68f5460e2635d6426a62f;hpb=8bc40333b1401d7616b225945fee53d972c2f418;p=tpg%2Facess2.git diff --git a/Kernel/include/modules.h b/Kernel/include/modules.h index dcf34656..68c797be 100644 --- a/Kernel/include/modules.h +++ b/Kernel/include/modules.h @@ -17,15 +17,9 @@ # error "Unknown architecture when determining MODULE_ARCH_ID ('" #ARCH "')" #endif -#if BUILD_MODULE -# define MODULE_DEFINE(_flags,_ver,_ident,_entry,_deps...) char *_DriverDeps[]={_deps};\ - tModule DriverInfo=\ - {MODULE_MAGIC,MODULE_ARCH_ID,_flags,_ver,NULL,#_ident,_entry,_DriverDeps} -#else -# define MODULE_DEFINE(_flags,_ver,_ident,_entry,_deps...) char *_DriverDeps_##_ident[]={_deps};\ +#define MODULE_DEFINE(_flags,_ver,_ident,_entry,_deinit,_deps...) char *_DriverDeps_##_ident[]={_deps};\ tModule __attribute__ ((section ("KMODULES"),unused)) _DriverInfo_##_ident=\ - {MODULE_MAGIC,MODULE_ARCH_ID,_flags,_ver,NULL,#_ident,_entry,_DriverDeps_##_ident} -#endif + {MODULE_MAGIC,MODULE_ARCH_ID,_flags,_ver,NULL,#_ident,_entry,_deinit,_DriverDeps_##_ident} typedef struct sModule { Uint32 Magic; @@ -35,6 +29,7 @@ typedef struct sModule { struct sModule *Next; char *Name; int (*Init)(char **Arguments); + void (*Deinit)(); char **Dependencies; // NULL Terminated List } __attribute__((packed)) tModule;