Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Víctor Manuel Jáquez Leal and committed by
Greg Kroah-Hartman
4d3bfdda 81e8b88a

-62
-2
drivers/staging/tidspbridge/include/dspbridge/nldr.h
··· 36 36 const struct nldr_attrs *pattrs); 37 37 38 38 extern void nldr_delete(struct nldr_object *nldr_obj); 39 - extern void nldr_exit(void); 40 39 41 40 extern int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, 42 41 char *str_fxn, u32 * addr); ··· 43 44 extern int nldr_get_rmm_manager(struct nldr_object *nldr, 44 45 struct rmm_target_obj **rmm_mgr); 45 46 46 - extern bool nldr_init(void); 47 47 extern int nldr_load(struct nldr_nodeobject *nldr_node_obj, 48 48 enum nldr_phase phase); 49 49 extern int nldr_unload(struct nldr_nodeobject *nldr_node_obj,
-34
drivers/staging/tidspbridge/include/dspbridge/nldrdefs.h
··· 119 119 * 0: Success. 120 120 * -ENOMEM: Insufficient memory on GPP. 121 121 * Requires: 122 - * nldr_init(void) called. 123 122 * Valid nldr_obj. 124 123 * node_props != NULL. 125 124 * nldr_nodeobj != NULL. ··· 147 148 * 0: Success; 148 149 * -ENOMEM: Insufficient memory for requested resources. 149 150 * Requires: 150 - * nldr_init(void) called. 151 151 * nldr != NULL. 152 152 * hdev_obj != NULL. 153 153 * pattrs != NULL. ··· 166 168 * nldr_obj: Node manager object. 167 169 * Returns: 168 170 * Requires: 169 - * nldr_init(void) called. 170 171 * Valid nldr_obj. 171 172 * Ensures: 172 173 * nldr_obj invalid 173 174 */ 174 175 typedef void (*nldr_deletefxn) (struct nldr_object *nldr_obj); 175 - 176 - /* 177 - * ======== nldr_exit ======== 178 - * Discontinue usage of NLDR module. 179 - * 180 - * Parameters: 181 - * Returns: 182 - * Requires: 183 - * nldr_init(void) successfully called before. 184 - * Ensures: 185 - * Any resources acquired in nldr_init(void) will be freed when last NLDR 186 - * client calls nldr_exit(void). 187 - */ 188 - typedef void (*nldr_exitfxn) (void); 189 176 190 177 /* 191 178 * ======== NLDR_Free ======== ··· 180 197 * nldr_node_obj: Handle returned from nldr_allocate(). 181 198 * Returns: 182 199 * Requires: 183 - * nldr_init(void) called. 184 200 * Valid nldr_node_obj. 185 201 * Ensures: 186 202 */ ··· 198 216 * 0: Success. 199 217 * -ESPIPE: Address of function not found. 200 218 * Requires: 201 - * nldr_init(void) called. 202 219 * Valid nldr_node_obj. 203 220 * addr != NULL; 204 221 * str_fxn != NULL; ··· 206 225 typedef int(*nldr_getfxnaddrfxn) (struct nldr_nodeobject 207 226 * nldr_node_obj, 208 227 char *str_fxn, u32 * addr); 209 - 210 - /* 211 - * ======== nldr_init ======== 212 - * Initialize the NLDR module. 213 - * 214 - * Parameters: 215 - * Returns: 216 - * TRUE if initialization succeeded, FALSE otherwise. 217 - * Ensures: 218 - */ 219 - typedef bool(*nldr_initfxn) (void); 220 228 221 229 /* 222 230 * ======== nldr_load ======== ··· 221 251 * is already in use. 222 252 * -EILSEQ: Failure in dynamic loader library. 223 253 * Requires: 224 - * nldr_init(void) called. 225 254 * Valid nldr_node_obj. 226 255 * Ensures: 227 256 */ ··· 238 269 * 0: Success. 239 270 * -ENOMEM: Insufficient memory on GPP. 240 271 * Requires: 241 - * nldr_init(void) called. 242 272 * Valid nldr_node_obj. 243 273 * Ensures: 244 274 */ ··· 251 283 nldr_allocatefxn allocate; 252 284 nldr_createfxn create; 253 285 nldr_deletefxn delete; 254 - nldr_exitfxn exit; 255 286 nldr_getfxnaddrfxn get_fxn_addr; 256 - nldr_initfxn init; 257 287 nldr_loadfxn load; 258 288 nldr_unloadfxn unload; 259 289 };
-19
drivers/staging/tidspbridge/rmgr/nldr.c
··· 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 623 * ======== nldr_get_fxn_addr ======== 633 624 */ 634 625 int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj, ··· 724 733 } 725 734 726 735 return status; 727 - } 728 - 729 - /* 730 - * ======== nldr_init ======== 731 - * Initialize the NLDR module. 732 - */ 733 - bool nldr_init(void) 734 - { 735 - /* do nothing */ 736 - return true; 737 736 } 738 737 739 738 /*
-7
drivers/staging/tidspbridge/rmgr/node.c
··· 159 159 /* Loader properties */ 160 160 struct nldr_object *nldr_obj; /* Handle to loader */ 161 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 /* ··· 265 266 nldr_allocate, 266 267 nldr_create, 267 268 nldr_delete, 268 - nldr_exit, 269 269 nldr_get_fxn_addr, 270 - nldr_init, 271 270 nldr_load, 272 271 nldr_unload, 273 272 }; ··· 1334 1337 nldr_attrs_obj.write = mem_write; 1335 1338 nldr_attrs_obj.dsp_word_size = node_mgr_obj->dsp_word_size; 1336 1339 nldr_attrs_obj.dsp_mau_size = node_mgr_obj->dsp_mau_size; 1337 - node_mgr_obj->loader_init = node_mgr_obj->nldr_fxns.init(); 1338 1340 status = node_mgr_obj->nldr_fxns.create(&node_mgr_obj->nldr_obj, 1339 1341 hdev_obj, 1340 1342 &nldr_attrs_obj); ··· 2502 2506 /* Delete the loader */ 2503 2507 if (hnode_mgr->nldr_obj) 2504 2508 hnode_mgr->nldr_fxns.delete(hnode_mgr->nldr_obj); 2505 - 2506 - if (hnode_mgr->loader_init) 2507 - hnode_mgr->nldr_fxns.exit(); 2508 2509 2509 2510 kfree(hnode_mgr); 2510 2511 }