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@xxxxxxxxxx> --- .../staging/tidspbridge/include/dspbridge/nldr.h | 2 - .../tidspbridge/include/dspbridge/nldrdefs.h | 34 -------------------- drivers/staging/tidspbridge/rmgr/nldr.c | 19 ----------- drivers/staging/tidspbridge/rmgr/node.c | 7 ---- 4 files changed, 0 insertions(+), 62 deletions(-) diff --git a/drivers/staging/tidspbridge/include/dspbridge/nldr.h b/drivers/staging/tidspbridge/include/dspbridge/nldr.h index d9653ee..c5e48ca 100644 --- a/drivers/staging/tidspbridge/include/dspbridge/nldr.h +++ b/drivers/staging/tidspbridge/include/dspbridge/nldr.h @@ -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, diff --git a/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h b/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h index ee3a85f..7e3c7f5 100644 --- a/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h +++ b/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h @@ -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,7 +166,6 @@ 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 @@ -176,20 +173,6 @@ typedef int(*nldr_createfxn) (struct nldr_object **nldr, 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; @@ -227,17 +208,6 @@ typedef int(*nldr_getfxnaddrfxn) (struct nldr_nodeobject 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; }; diff --git a/drivers/staging/tidspbridge/rmgr/nldr.c b/drivers/staging/tidspbridge/rmgr/nldr.c index 46086b5..30d5480 100644 --- a/drivers/staging/tidspbridge/rmgr/nldr.c +++ b/drivers/staging/tidspbridge/rmgr/nldr.c @@ -620,15 +620,6 @@ void nldr_delete(struct nldr_object *nldr_obj) } /* - * ======== nldr_exit ======== - * Discontinue usage of NLDR module. - */ -void nldr_exit(void) -{ - /* do nothing */ -} - -/* * ======== nldr_get_fxn_addr ======== */ int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, @@ -736,16 +727,6 @@ int nldr_get_rmm_manager(struct nldr_object *nldr, } /* - * ======== nldr_init ======== - * Initialize the NLDR module. - */ -bool nldr_init(void) -{ - /* do nothing */ - return true; -} - -/* * ======== nldr_load ======== */ int nldr_load(struct nldr_nodeobject *nldr_node_obj, diff --git a/drivers/staging/tidspbridge/rmgr/node.c b/drivers/staging/tidspbridge/rmgr/node.c index 908cd1e..7fb426c 100644 --- a/drivers/staging/tidspbridge/rmgr/node.c +++ b/drivers/staging/tidspbridge/rmgr/node.c @@ -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); } } -- 1.7.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html