• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/drivers/staging/tidspbridge/rmgr/

Lines Matching defs:nldr_node_obj

287 static int load_lib(struct nldr_nodeobject *nldr_node_obj,
292 static int load_ovly(struct nldr_nodeobject *nldr_node_obj,
301 static void unload_lib(struct nldr_nodeobject *nldr_node_obj,
303 static void unload_ovly(struct nldr_nodeobject *nldr_node_obj,
305 static bool find_in_persistent_lib_array(struct nldr_nodeobject *nldr_node_obj,
317 struct nldr_nodeobject *nldr_node_obj = NULL;
328 nldr_node_obj = kzalloc(sizeof(struct nldr_nodeobject), GFP_KERNEL);
330 if (nldr_node_obj == NULL) {
333 nldr_node_obj->pf_phase_split = pf_phase_split;
334 nldr_node_obj->pers_libs = 0;
335 nldr_node_obj->nldr_obj = nldr_obj;
336 nldr_node_obj->priv_ref = priv_ref;
338 nldr_node_obj->uuid = node_props->ndb_props.ui_node_id;
345 nldr_node_obj->dynamic = true;
350 nldr_node_obj->seg_id[CREATEDATAFLAGBIT] = (u16)
353 nldr_node_obj->code_data_flag_mask |=
356 nldr_node_obj->seg_id[CREATECODEFLAGBIT] = (u16)
359 nldr_node_obj->code_data_flag_mask |=
363 nldr_node_obj->seg_id[EXECUTEDATAFLAGBIT] = (u16)
366 nldr_node_obj->code_data_flag_mask |=
370 nldr_node_obj->seg_id[EXECUTECODEFLAGBIT] = (u16)
373 nldr_node_obj->code_data_flag_mask |=
378 nldr_node_obj->seg_id[DELETEDATAFLAGBIT] = (u16)
381 nldr_node_obj->code_data_flag_mask |=
384 nldr_node_obj->seg_id[DELETECODEFLAGBIT] = (u16)
387 nldr_node_obj->code_data_flag_mask |=
393 nldr_node_obj->root.lib = nldr_obj->base_lib;
396 nldr_node_obj->overlay = true;
399 *nldr_nodeobj = (struct nldr_nodeobject *)nldr_node_obj;
402 if (status && nldr_node_obj)
403 kfree(nldr_node_obj);
668 int nldr_get_fxn_addr(struct nldr_nodeobject *nldr_node_obj,
678 DBC_REQUIRE(nldr_node_obj);
682 nldr_obj = nldr_node_obj->nldr_obj;
684 if (nldr_node_obj->dynamic && *nldr_node_obj->pf_phase_split) {
685 switch (nldr_node_obj->phase) {
687 root = nldr_node_obj->create_lib;
690 root = nldr_node_obj->execute_lib;
693 root = nldr_node_obj->delete_lib;
701 root = nldr_node_obj->root;
731 for (i = 0; i < nldr_node_obj->pers_libs; i++) {
734 get_addr_fxn(nldr_node_obj->pers_lib_table[i].lib,
739 get_c_addr_fxn(nldr_node_obj->pers_lib_table
800 int nldr_load(struct nldr_nodeobject *nldr_node_obj,
808 DBC_REQUIRE(nldr_node_obj);
810 nldr_obj = nldr_node_obj->nldr_obj;
812 if (nldr_node_obj->dynamic) {
813 nldr_node_obj->phase = phase;
815 lib_uuid = nldr_node_obj->uuid;
823 load_lib(nldr_node_obj, &nldr_node_obj->root, lib_uuid,
824 false, nldr_node_obj->lib_path, phase, 0);
827 if (*nldr_node_obj->pf_phase_split) {
830 nldr_node_obj->create_lib =
831 nldr_node_obj->root;
835 nldr_node_obj->execute_lib =
836 nldr_node_obj->root;
840 nldr_node_obj->delete_lib =
841 nldr_node_obj->root;
851 if (nldr_node_obj->overlay)
852 status = load_ovly(nldr_node_obj, phase);
862 int nldr_unload(struct nldr_nodeobject *nldr_node_obj,
870 DBC_REQUIRE(nldr_node_obj);
872 if (nldr_node_obj != NULL) {
873 if (nldr_node_obj->dynamic) {
874 if (*nldr_node_obj->pf_phase_split) {
877 root_lib = &nldr_node_obj->create_lib;
880 root_lib = &nldr_node_obj->execute_lib;
883 root_lib = &nldr_node_obj->delete_lib;
886 i < nldr_node_obj->pers_libs;
888 unload_lib(nldr_node_obj,
889 &nldr_node_obj->
892 nldr_node_obj->pers_libs = 0;
900 root_lib = &nldr_node_obj->root;
903 unload_lib(nldr_node_obj, root_lib);
905 if (nldr_node_obj->overlay)
906 unload_ovly(nldr_node_obj, phase);
1150 struct nldr_nodeobject *nldr_node_obj =
1206 for (i = 0; i < nldr_node_obj->pers_libs; i++) {
1209 get_addr_fxn(nldr_node_obj->pers_lib_table[i].lib,
1213 (nldr_node_obj->pers_lib_table[i].lib,
1231 static int load_lib(struct nldr_nodeobject *nldr_node_obj,
1237 struct nldr_object *nldr_obj = nldr_node_obj->nldr_obj;
1267 dcd_get_library_name(nldr_node_obj->nldr_obj->
1270 nldr_node_obj->pf_phase_split);
1274 dcd_get_library_name(nldr_node_obj->nldr_obj->
1292 find_in_persistent_lib_array(nldr_node_obj, root->lib);
1315 dcd_get_num_dep_libs(nldr_node_obj->nldr_obj->hdcd_mgr,
1320 if (!(*nldr_node_obj->pf_phase_split))
1347 dcd_get_dep_libs(nldr_node_obj->
1365 *nldr_node_obj->pf_phase_split) {
1366 if ((nldr_node_obj->pers_libs) >= MAXLIBS) {
1373 &nldr_node_obj->pers_lib_table
1374 [nldr_node_obj->pers_libs];
1383 status = load_lib(nldr_node_obj, dep_lib,
1391 *nldr_node_obj->pf_phase_split) {
1392 (nldr_node_obj->pers_libs)++;
1395 !(*nldr_node_obj->pf_phase_split)) {
1409 new_attrs.rmm_handle = nldr_node_obj;
1410 new_attrs.input_params = nldr_node_obj->priv_ref;
1425 for (i = 0; i < nldr_node_obj->pers_libs; i++)
1426 unload_lib(nldr_node_obj,
1427 &nldr_node_obj->pers_lib_table[i]);
1429 nldr_node_obj->pers_libs = 0;
1432 unload_lib(nldr_node_obj, &root->dep_libs_tree[i]);
1454 static int load_ovly(struct nldr_nodeobject *nldr_node_obj,
1457 struct nldr_object *nldr_obj = nldr_node_obj->nldr_obj;
1473 (&nldr_node_obj->uuid, &nldr_obj->ovly_table[i].uuid)) {
1558 (*nldr_obj->ovly_fxn) (nldr_node_obj->
1579 (*nldr_obj->ovly_fxn) (nldr_node_obj->
1760 static void unload_lib(struct nldr_nodeobject *nldr_node_obj,
1764 struct nldr_object *nldr_obj = nldr_node_obj->nldr_obj;
1771 unload_lib(nldr_node_obj, &root->dep_libs_tree[i]);
1777 new_attrs.input_params = nldr_node_obj->priv_ref;
1795 static void unload_ovly(struct nldr_nodeobject *nldr_node_obj,
1798 struct nldr_object *nldr_obj = nldr_node_obj->nldr_obj;
1811 (&nldr_node_obj->uuid, &nldr_obj->ovly_table[i].uuid)) {
1868 static bool find_in_persistent_lib_array(struct nldr_nodeobject *nldr_node_obj,
1873 for (i = 0; i < nldr_node_obj->pers_libs; i++) {
1874 if (lib == nldr_node_obj->pers_lib_table[i].lib)