Kernel - Misc cleanup in PCI
[tpg/acess2.git] / Kernel / include / modules.h
index fb737be..d728133 100644 (file)
@@ -53,7 +53,7 @@
  *                     Contains the identifiers of the required modules.
  */
 #define MODULE_DEFINE(_flags,_ver,_ident,_entry,_deinit,_deps...) \
-       char *EXPAND_CONCAT(_DriverDeps_,_ident)[]={_deps};\
+       const char *EXPAND_CONCAT(_DriverDeps_,_ident)[]={_deps};\
        tModule __attribute__ ((section ("KMODULES"),unused))\
        EXPAND_CONCAT(_DriverInfo_,_ident)=\
        {MODULE_MAGIC,MODULE_ARCH_ID,_flags,_ver,NULL,EXPAND_STR(_ident),\
@@ -71,10 +71,10 @@ typedef struct sModule
        Uint8   Flags;  //!< Module Flags
        Uint16  Version;        //!< Module Version in Major.Minor 8.8 form
        struct sModule  *Next;  //!< Next module in list (not to be touched by the driver)
-       char    *Name;  //!< Module Name/Identifier
+       const char      *Name;  //!< Module Name/Identifier
         int    (*Init)(char **Arguments);      //!< Module initialiser / entrypoint
        void    (*Deinit)(void);        //!< Cleanup Function
-       char    **Dependencies; //!< NULL terminated list of dependencies
+       const char      **Dependencies; //!< NULL terminated list of dependencies
 } PACKED tModule;
 
 /**
@@ -113,4 +113,11 @@ typedef struct sModuleLoader
  */
 extern int     Module_RegisterLoader(tModuleLoader *Loader);
 
+/**
+ * \brief Initialises (if needed) a named module
+ * \param Name Module name to initialise
+ * \return -1 on not existing, 0 if the module initialised (or if it was already initialised)
+ */
+extern int     Module_EnsureLoaded(const char *Name);
+
 #endif

UCC git Repository :: git.ucc.asn.au