diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2012-03-08 19:03:52 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-03-09 16:21:08 -0500 |
commit | 4d3bfdda15d2019a3c2c91c9043ee4c3f5627708 (patch) | |
tree | 34b862e5532ab01b95fb8803fdaa171767ec1871 /drivers/staging/tidspbridge | |
parent | 81e8b88a1431bf1209d882da047c94eb8bcc1f14 (diff) |
staging: tidspbridge: remove nldr_init() and nldr_exit()
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>
Diffstat (limited to 'drivers/staging/tidspbridge')
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/nldr.h | 2 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h | 34 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/nldr.c | 19 | ||||
-rw-r--r-- | 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 d9653ee667e..c5e48ca6c54 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, | |||
36 | const struct nldr_attrs *pattrs); | 36 | const struct nldr_attrs *pattrs); |
37 | 37 | ||
38 | extern void nldr_delete(struct nldr_object *nldr_obj); | 38 | extern void nldr_delete(struct nldr_object *nldr_obj); |
39 | extern void nldr_exit(void); | ||
40 | 39 | ||
41 | extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, | 40 | extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, |
42 | char *str_fxn, u32 * addr); | 41 | char *str_fxn, u32 * addr); |
@@ -44,7 +43,6 @@ extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, | |||
44 | extern int nldr_get_rmm_manager(struct nldr_object *nldr, | 43 | extern int nldr_get_rmm_manager(struct nldr_object *nldr, |
45 | struct rmm_target_obj **rmm_mgr); | 44 | struct rmm_target_obj **rmm_mgr); |
46 | 45 | ||
47 | extern bool nldr_init(void); | ||
48 | extern int nldr_load(struct nldr_nodeobject *nldr_node_obj, | 46 | extern int nldr_load(struct nldr_nodeobject *nldr_node_obj, |
49 | enum nldr_phase phase); | 47 | enum nldr_phase phase); |
50 | extern int nldr_unload(struct nldr_nodeobject *nldr_node_obj, | 48 | 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 ee3a85f08fc..7e3c7f58b49 100644 --- a/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h +++ b/drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h | |||
@@ -119,7 +119,6 @@ enum nldr_phase { | |||
119 | * 0: Success. | 119 | * 0: Success. |
120 | * -ENOMEM: Insufficient memory on GPP. | 120 | * -ENOMEM: Insufficient memory on GPP. |
121 | * Requires: | 121 | * Requires: |
122 | * nldr_init(void) called. | ||
123 | * Valid nldr_obj. | 122 | * Valid nldr_obj. |
124 | * node_props != NULL. | 123 | * node_props != NULL. |
125 | * nldr_nodeobj != NULL. | 124 | * nldr_nodeobj != NULL. |
@@ -148,7 +147,6 @@ typedef int(*nldr_allocatefxn) (struct nldr_object *nldr_obj, | |||
148 | * 0: Success; | 147 | * 0: Success; |
149 | * -ENOMEM: Insufficient memory for requested resources. | 148 | * -ENOMEM: Insufficient memory for requested resources. |
150 | * Requires: | 149 | * Requires: |
151 | * nldr_init(void) called. | ||
152 | * nldr != NULL. | 150 | * nldr != NULL. |
153 | * hdev_obj != NULL. | 151 | * hdev_obj != NULL. |
154 | * pattrs != NULL. | 152 | * pattrs != NULL. |
@@ -168,7 +166,6 @@ typedef int(*nldr_createfxn) (struct nldr_object **nldr, | |||
168 | * nldr_obj: Node manager object. | 166 | * nldr_obj: Node manager object. |
169 | * Returns: | 167 | * Returns: |
170 | * Requires: | 168 | * Requires: |
171 | * nldr_init(void) called. | ||
172 | * Valid nldr_obj. | 169 | * Valid nldr_obj. |
173 | * Ensures: | 170 | * Ensures: |
174 | * nldr_obj invalid | 171 | * nldr_obj invalid |
@@ -176,20 +173,6 @@ typedef int(*nldr_createfxn) (struct nldr_object **nldr, | |||
176 | typedef void (*nldr_deletefxn) (struct nldr_object *nldr_obj); | 173 | typedef void (*nldr_deletefxn) (struct nldr_object *nldr_obj); |
177 | 174 | ||
178 | /* | 175 | /* |
179 | * ======== nldr_exit ======== | ||
180 | * Discontinue usage of NLDR module. | ||
181 | * | ||
182 | * Parameters: | ||
183 | * Returns: | ||
184 | * Requires: | ||
185 | * nldr_init(void) successfully called before. | ||
186 | * Ensures: | ||
187 | * Any resources acquired in nldr_init(void) will be freed when last NLDR | ||
188 | * client calls nldr_exit(void). | ||
189 | */ | ||
190 | typedef void (*nldr_exitfxn) (void); | ||
191 | |||
192 | /* | ||
193 | * ======== NLDR_Free ======== | 176 | * ======== NLDR_Free ======== |
194 | * Free resources allocated in nldr_allocate. | 177 | * Free resources allocated in nldr_allocate. |
195 | * | 178 | * |
@@ -197,7 +180,6 @@ typedef void (*nldr_exitfxn) (void); | |||
197 | * nldr_node_obj: Handle returned from nldr_allocate(). | 180 | * nldr_node_obj: Handle returned from nldr_allocate(). |
198 | * Returns: | 181 | * Returns: |
199 | * Requires: | 182 | * Requires: |
200 | * nldr_init(void) called. | ||
201 | * Valid nldr_node_obj. | 183 | * Valid nldr_node_obj. |
202 | * Ensures: | 184 | * Ensures: |
203 | */ | 185 | */ |
@@ -216,7 +198,6 @@ typedef void (*nldr_freefxn) (struct nldr_nodeobject *nldr_node_obj); | |||
216 | * 0: Success. | 198 | * 0: Success. |
217 | * -ESPIPE: Address of function not found. | 199 | * -ESPIPE: Address of function not found. |
218 | * Requires: | 200 | * Requires: |
219 | * nldr_init(void) called. | ||
220 | * Valid nldr_node_obj. | 201 | * Valid nldr_node_obj. |
221 | * addr != NULL; | 202 | * addr != NULL; |
222 | * str_fxn != NULL; | 203 | * str_fxn != NULL; |
@@ -227,17 +208,6 @@ typedef int(*nldr_getfxnaddrfxn) (struct nldr_nodeobject | |||
227 | char *str_fxn, u32 * addr); | 208 | char *str_fxn, u32 * addr); |
228 | 209 | ||
229 | /* | 210 | /* |
230 | * ======== nldr_init ======== | ||
231 | * Initialize the NLDR module. | ||
232 | * | ||
233 | * Parameters: | ||
234 | * Returns: | ||
235 | * TRUE if initialization succeeded, FALSE otherwise. | ||
236 | * Ensures: | ||
237 | */ | ||
238 | typedef bool(*nldr_initfxn) (void); | ||
239 | |||
240 | /* | ||
241 | * ======== nldr_load ======== | 211 | * ======== nldr_load ======== |
242 | * Load create, delete, or execute phase function of a node on the DSP. | 212 | * Load create, delete, or execute phase function of a node on the DSP. |
243 | * | 213 | * |
@@ -251,7 +221,6 @@ typedef bool(*nldr_initfxn) (void); | |||
251 | * is already in use. | 221 | * is already in use. |
252 | * -EILSEQ: Failure in dynamic loader library. | 222 | * -EILSEQ: Failure in dynamic loader library. |
253 | * Requires: | 223 | * Requires: |
254 | * nldr_init(void) called. | ||
255 | * Valid nldr_node_obj. | 224 | * Valid nldr_node_obj. |
256 | * Ensures: | 225 | * Ensures: |
257 | */ | 226 | */ |
@@ -269,7 +238,6 @@ typedef int(*nldr_loadfxn) (struct nldr_nodeobject *nldr_node_obj, | |||
269 | * 0: Success. | 238 | * 0: Success. |
270 | * -ENOMEM: Insufficient memory on GPP. | 239 | * -ENOMEM: Insufficient memory on GPP. |
271 | * Requires: | 240 | * Requires: |
272 | * nldr_init(void) called. | ||
273 | * Valid nldr_node_obj. | 241 | * Valid nldr_node_obj. |
274 | * Ensures: | 242 | * Ensures: |
275 | */ | 243 | */ |
@@ -283,9 +251,7 @@ struct node_ldr_fxns { | |||
283 | nldr_allocatefxn allocate; | 251 | nldr_allocatefxn allocate; |
284 | nldr_createfxn create; | 252 | nldr_createfxn create; |
285 | nldr_deletefxn delete; | 253 | nldr_deletefxn delete; |
286 | nldr_exitfxn exit; | ||
287 | nldr_getfxnaddrfxn get_fxn_addr; | 254 | nldr_getfxnaddrfxn get_fxn_addr; |
288 | nldr_initfxn init; | ||
289 | nldr_loadfxn load; | 255 | nldr_loadfxn load; |
290 | nldr_unloadfxn unload; | 256 | nldr_unloadfxn unload; |
291 | }; | 257 | }; |
diff --git a/drivers/staging/tidspbridge/rmgr/nldr.c b/drivers/staging/tidspbridge/rmgr/nldr.c index 46086b5b04c..30d5480fcdc 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) | |||
620 | } | 620 | } |
621 | 621 | ||
622 | /* | 622 | /* |
623 | * ======== nldr_exit ======== | ||
624 | * Discontinue usage of NLDR module. | ||
625 | */ | ||
626 | void nldr_exit(void) | ||
627 | { | ||
628 | /* do nothing */ | ||
629 | } | ||
630 | |||
631 | /* | ||
632 | * ======== nldr_get_fxn_addr ======== | 623 | * ======== nldr_get_fxn_addr ======== |
633 | */ | 624 | */ |
634 | int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, | 625 | int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, |
@@ -736,16 +727,6 @@ int nldr_get_rmm_manager(struct nldr_object *nldr, | |||
736 | } | 727 | } |
737 | 728 | ||
738 | /* | 729 | /* |
739 | * ======== nldr_init ======== | ||
740 | * Initialize the NLDR module. | ||
741 | */ | ||
742 | bool nldr_init(void) | ||
743 | { | ||
744 | /* do nothing */ | ||
745 | return true; | ||
746 | } | ||
747 | |||
748 | /* | ||
749 | * ======== nldr_load ======== | 730 | * ======== nldr_load ======== |
750 | */ | 731 | */ |
751 | int nldr_load(struct nldr_nodeobject *nldr_node_obj, | 732 | 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 908cd1e761c..7fb426c5251 100644 --- a/drivers/staging/tidspbridge/rmgr/node.c +++ b/drivers/staging/tidspbridge/rmgr/node.c | |||
@@ -159,7 +159,6 @@ struct node_mgr { | |||
159 | /* Loader properties */ | 159 | /* Loader properties */ |
160 | struct nldr_object *nldr_obj; /* Handle to loader */ | 160 | struct nldr_object *nldr_obj; /* Handle to loader */ |
161 | struct node_ldr_fxns nldr_fxns; /* Handle to loader functions */ | 161 | struct node_ldr_fxns nldr_fxns; /* Handle to loader functions */ |
162 | bool loader_init; /* Loader Init function succeeded? */ | ||
163 | }; | 162 | }; |
164 | 163 | ||
165 | /* | 164 | /* |
@@ -266,9 +265,7 @@ static struct node_ldr_fxns nldr_fxns = { | |||
266 | nldr_allocate, | 265 | nldr_allocate, |
267 | nldr_create, | 266 | nldr_create, |
268 | nldr_delete, | 267 | nldr_delete, |
269 | nldr_exit, | ||
270 | nldr_get_fxn_addr, | 268 | nldr_get_fxn_addr, |
271 | nldr_init, | ||
272 | nldr_load, | 269 | nldr_load, |
273 | nldr_unload, | 270 | nldr_unload, |
274 | }; | 271 | }; |
@@ -1337,7 +1334,6 @@ int node_create_mgr(struct node_mgr **node_man, | |||
1337 | nldr_attrs_obj.write = mem_write; | 1334 | nldr_attrs_obj.write = mem_write; |
1338 | nldr_attrs_obj.dsp_word_size = node_mgr_obj->dsp_word_size; | 1335 | nldr_attrs_obj.dsp_word_size = node_mgr_obj->dsp_word_size; |
1339 | nldr_attrs_obj.dsp_mau_size = node_mgr_obj->dsp_mau_size; | 1336 | nldr_attrs_obj.dsp_mau_size = node_mgr_obj->dsp_mau_size; |
1340 | node_mgr_obj->loader_init = node_mgr_obj->nldr_fxns.init(); | ||
1341 | status = node_mgr_obj->nldr_fxns.create(&node_mgr_obj->nldr_obj, | 1337 | status = node_mgr_obj->nldr_fxns.create(&node_mgr_obj->nldr_obj, |
1342 | hdev_obj, | 1338 | hdev_obj, |
1343 | &nldr_attrs_obj); | 1339 | &nldr_attrs_obj); |
@@ -2507,9 +2503,6 @@ static void delete_node_mgr(struct node_mgr *hnode_mgr) | |||
2507 | if (hnode_mgr->nldr_obj) | 2503 | if (hnode_mgr->nldr_obj) |
2508 | hnode_mgr->nldr_fxns.delete(hnode_mgr->nldr_obj); | 2504 | hnode_mgr->nldr_fxns.delete(hnode_mgr->nldr_obj); |
2509 | 2505 | ||
2510 | if (hnode_mgr->loader_init) | ||
2511 | hnode_mgr->nldr_fxns.exit(); | ||
2512 | |||
2513 | kfree(hnode_mgr); | 2506 | kfree(hnode_mgr); |
2514 | } | 2507 | } |
2515 | } | 2508 | } |