staging: tidspbridge: remove nldr_init() and nldr_exit()
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Fri, 9 Mar 2012 00:03:52 +0000 (01:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2012 21:21:08 +0000 (13:21 -0800)
The dynamic loader was called by node.c with an interface. This interface was
also modified to avoid the use of nldr_init() and nldr_exit().

There is not functional changes.

Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/tidspbridge/include/dspbridge/nldr.h
drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h
drivers/staging/tidspbridge/rmgr/nldr.c
drivers/staging/tidspbridge/rmgr/node.c

index d9653ee667e1c5dc31041a7c0b828b660b05cb93..c5e48ca6c548eedc93ad60c5f1f8226e5cdcc447 100644 (file)
@@ -36,7 +36,6 @@ extern int nldr_create(struct nldr_object **nldr,
                              const struct nldr_attrs *pattrs);
 
 extern void nldr_delete(struct nldr_object *nldr_obj);
-extern void nldr_exit(void);
 
 extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj,
                                    char *str_fxn, u32 * addr);
@@ -44,7 +43,6 @@ extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj,
 extern int nldr_get_rmm_manager(struct nldr_object *nldr,
                                       struct rmm_target_obj **rmm_mgr);
 
-extern bool nldr_init(void);
 extern int nldr_load(struct nldr_nodeobject *nldr_node_obj,
                            enum nldr_phase phase);
 extern int nldr_unload(struct nldr_nodeobject *nldr_node_obj,
index ee3a85f08fc3cf4230cdb0d0ff32fe2fcccbef00..7e3c7f58b496b749347fcf217c9a9a319341de53 100644 (file)
@@ -119,7 +119,6 @@ enum nldr_phase {
  *      0:        Success.
  *      -ENOMEM:    Insufficient memory on GPP.
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_obj.
  *      node_props != NULL.
  *      nldr_nodeobj != NULL.
@@ -148,7 +147,6 @@ typedef int(*nldr_allocatefxn) (struct nldr_object *nldr_obj,
  *      0:        Success;
  *      -ENOMEM:    Insufficient memory for requested resources.
  *  Requires:
- *      nldr_init(void) called.
  *      nldr != NULL.
  *      hdev_obj != NULL.
  *     pattrs != NULL.
@@ -168,27 +166,12 @@ typedef int(*nldr_createfxn) (struct nldr_object **nldr,
  *      nldr_obj:          Node manager object.
  *  Returns:
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_obj.
  *  Ensures:
  *     nldr_obj invalid
  */
 typedef void (*nldr_deletefxn) (struct nldr_object *nldr_obj);
 
-/*
- *  ======== nldr_exit ========
- *  Discontinue usage of NLDR module.
- *
- *  Parameters:
- *  Returns:
- *  Requires:
- *      nldr_init(void) successfully called before.
- *  Ensures:
- *      Any resources acquired in nldr_init(void) will be freed when last NLDR
- *      client calls nldr_exit(void).
- */
-typedef void (*nldr_exitfxn) (void);
-
 /*
  *  ======== NLDR_Free ========
  *  Free resources allocated in nldr_allocate.
@@ -197,7 +180,6 @@ typedef void (*nldr_exitfxn) (void);
  *      nldr_node_obj:      Handle returned from nldr_allocate().
  *  Returns:
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_node_obj.
  *  Ensures:
  */
@@ -216,7 +198,6 @@ typedef void (*nldr_freefxn) (struct nldr_nodeobject *nldr_node_obj);
  *      0:        Success.
  *      -ESPIPE:    Address of function not found.
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_node_obj.
  *      addr != NULL;
  *      str_fxn != NULL;
@@ -226,17 +207,6 @@ typedef int(*nldr_getfxnaddrfxn) (struct nldr_nodeobject
                                         * nldr_node_obj,
                                         char *str_fxn, u32 * addr);
 
-/*
- *  ======== nldr_init ========
- *  Initialize the NLDR module.
- *
- *  Parameters:
- *  Returns:
- *      TRUE if initialization succeeded, FALSE otherwise.
- *  Ensures:
- */
-typedef bool(*nldr_initfxn) (void);
-
 /*
  *  ======== nldr_load ========
  *  Load create, delete, or execute phase function of a node on the DSP.
@@ -251,7 +221,6 @@ typedef bool(*nldr_initfxn) (void);
  *                              is already in use.
  *      -EILSEQ:           Failure in dynamic loader library.
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_node_obj.
  *  Ensures:
  */
@@ -269,7 +238,6 @@ typedef int(*nldr_loadfxn) (struct nldr_nodeobject *nldr_node_obj,
  *      0:        Success.
  *      -ENOMEM:    Insufficient memory on GPP.
  *  Requires:
- *      nldr_init(void) called.
  *      Valid nldr_node_obj.
  *  Ensures:
  */
@@ -283,9 +251,7 @@ struct node_ldr_fxns {
        nldr_allocatefxn allocate;
        nldr_createfxn create;
        nldr_deletefxn delete;
-       nldr_exitfxn exit;
        nldr_getfxnaddrfxn get_fxn_addr;
-       nldr_initfxn init;
        nldr_loadfxn load;
        nldr_unloadfxn unload;
 };
index 46086b5b04cc27c0551a8164835861cf41405e43..30d5480fcdcce735ca40a9624638a355cc037810 100644 (file)
@@ -619,15 +619,6 @@ void nldr_delete(struct nldr_object *nldr_obj)
        kfree(nldr_obj);
 }
 
-/*
- *  ======== nldr_exit ========
- *  Discontinue usage of NLDR module.
- */
-void nldr_exit(void)
-{
-       /* do nothing */
-}
-
 /*
  *  ======== nldr_get_fxn_addr ========
  */
@@ -735,16 +726,6 @@ int nldr_get_rmm_manager(struct nldr_object *nldr,
        return status;
 }
 
-/*
- *  ======== nldr_init ========
- *  Initialize the NLDR module.
- */
-bool nldr_init(void)
-{
-       /* do nothing */
-       return true;
-}
-
 /*
  *  ======== nldr_load ========
  */
index 908cd1e761c4387afda662333a8285245757d163..7fb426c5251c0d86b9275318e798a3f5954a83a7 100644 (file)
@@ -159,7 +159,6 @@ struct node_mgr {
        /* Loader properties */
        struct nldr_object *nldr_obj;   /* Handle to loader */
        struct node_ldr_fxns nldr_fxns; /* Handle to loader functions */
-       bool loader_init;       /* Loader Init function succeeded? */
 };
 
 /*
@@ -266,9 +265,7 @@ static struct node_ldr_fxns nldr_fxns = {
        nldr_allocate,
        nldr_create,
        nldr_delete,
-       nldr_exit,
        nldr_get_fxn_addr,
-       nldr_init,
        nldr_load,
        nldr_unload,
 };
@@ -1337,7 +1334,6 @@ int node_create_mgr(struct node_mgr **node_man,
        nldr_attrs_obj.write = mem_write;
        nldr_attrs_obj.dsp_word_size = node_mgr_obj->dsp_word_size;
        nldr_attrs_obj.dsp_mau_size = node_mgr_obj->dsp_mau_size;
-       node_mgr_obj->loader_init = node_mgr_obj->nldr_fxns.init();
        status = node_mgr_obj->nldr_fxns.create(&node_mgr_obj->nldr_obj,
                        hdev_obj,
                        &nldr_attrs_obj);
@@ -2507,9 +2503,6 @@ static void delete_node_mgr(struct node_mgr *hnode_mgr)
                if (hnode_mgr->nldr_obj)
                        hnode_mgr->nldr_fxns.delete(hnode_mgr->nldr_obj);
 
-               if (hnode_mgr->loader_init)
-                       hnode_mgr->nldr_fxns.exit();
-
                kfree(hnode_mgr);
        }
 }