diff options
Diffstat (limited to 'drivers/staging/tidspbridge/rmgr')
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/dbdcd.c | 29 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/drv_interface.c | 16 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/dspdrv.c | 4 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/mgr.c | 4 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/nldr.c | 2 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/node.c | 5 | ||||
-rw-r--r-- | drivers/staging/tidspbridge/rmgr/proc.c | 2 |
7 files changed, 33 insertions, 29 deletions
diff --git a/drivers/staging/tidspbridge/rmgr/dbdcd.c b/drivers/staging/tidspbridge/rmgr/dbdcd.c index 12a1d34b3954..9d52c3cb92f0 100644 --- a/drivers/staging/tidspbridge/rmgr/dbdcd.c +++ b/drivers/staging/tidspbridge/rmgr/dbdcd.c @@ -346,11 +346,13 @@ int dcd_get_object_def(struct dcd_manager *hdcd_mgr, struct dcd_manager *dcd_mgr_obj = hdcd_mgr; /* ptr to DCD mgr */ struct cod_libraryobj *lib = NULL; int status = 0; + int len; u32 ul_addr = 0; /* Used by cod_get_section */ u32 ul_len = 0; /* Used by cod_get_section */ u32 dw_buf_size; /* Used by REG functions */ char sz_reg_key[DCD_MAXPATHLENGTH]; char *sz_uuid; /*[MAXUUIDLEN]; */ + char *tmp; struct dcd_key_elem *dcd_key = NULL; char sz_sect_name[MAXUUIDLEN + 2]; /* ".[UUID]\0" */ char *psz_coff_buf; @@ -395,7 +397,7 @@ int dcd_get_object_def(struct dcd_manager *hdcd_mgr, } /* Create UUID value to set in registry. */ - uuid_uuid_to_string(obj_uuid, sz_uuid, MAXUUIDLEN); + snprintf(sz_uuid, MAXUUIDLEN, "%pUL", obj_uuid); if ((strlen(sz_reg_key) + MAXUUIDLEN) < DCD_MAXPATHLENGTH) strncat(sz_reg_key, sz_uuid, MAXUUIDLEN); @@ -429,12 +431,27 @@ int dcd_get_object_def(struct dcd_manager *hdcd_mgr, } /* Ensure sz_uuid + 1 is not greater than sizeof sz_sect_name. */ + len = strlen(sz_uuid); + if (len + 1 > sizeof(sz_sect_name)) { + status = -EPERM; + goto func_end; + } /* Create section name based on node UUID. A period is * pre-pended to the UUID string to form the section name. * I.e. ".24BC8D90_BB45_11d4_B756_006008BDB66F" */ + + len -= 4; /* uuid has 4 delimiters '-' */ + tmp = sz_uuid; + strncpy(sz_sect_name, ".", 2); - strncat(sz_sect_name, sz_uuid, strlen(sz_uuid)); + do { + char *uuid = strsep(&tmp, "-"); + if (!uuid) + break; + len -= strlen(uuid); + strncat(sz_sect_name, uuid, strlen(uuid) + 1); + } while (len && strncat(sz_sect_name, "_", 2)); /* Get section information. */ status = cod_get_section(lib, sz_sect_name, &ul_addr, &ul_len); @@ -463,7 +480,7 @@ int dcd_get_object_def(struct dcd_manager *hdcd_mgr, status = cod_read_section(lib, sz_sect_name, psz_coff_buf, ul_len); #endif if (!status) { - /* Compres DSP buffer to conform to PC format. */ + /* Compress DSP buffer to conform to PC format. */ if (strstr(dcd_key->path, "iva") == NULL) { compress_buf(psz_coff_buf, ul_len, DSPWORDSIZE); } else { @@ -666,7 +683,7 @@ int dcd_get_library_name(struct dcd_manager *hdcd_mgr, status = -EPERM; } /* Create UUID value to find match in registry. */ - uuid_uuid_to_string(uuid_obj, sz_uuid, MAXUUIDLEN); + snprintf(sz_uuid, MAXUUIDLEN, "%pUL", uuid_obj); if ((strlen(sz_reg_key) + MAXUUIDLEN) < DCD_MAXPATHLENGTH) strncat(sz_reg_key, sz_uuid, MAXUUIDLEN); else @@ -706,7 +723,7 @@ int dcd_get_library_name(struct dcd_manager *hdcd_mgr, } else { status = -EPERM; } - uuid_uuid_to_string(uuid_obj, sz_uuid, MAXUUIDLEN); + snprintf(sz_uuid, MAXUUIDLEN, "%pUL", uuid_obj); if ((strlen(sz_reg_key) + MAXUUIDLEN) < DCD_MAXPATHLENGTH) strncat(sz_reg_key, sz_uuid, MAXUUIDLEN); else @@ -797,7 +814,7 @@ int dcd_register_object(struct dsp_uuid *uuid_obj, status = -EPERM; /* Create UUID value to set in registry. */ - uuid_uuid_to_string(uuid_obj, sz_uuid, MAXUUIDLEN); + snprintf(sz_uuid, MAXUUIDLEN, "%pUL", uuid_obj); if ((strlen(sz_reg_key) + MAXUUIDLEN) < DCD_MAXPATHLENGTH) strncat(sz_reg_key, sz_uuid, MAXUUIDLEN); else diff --git a/drivers/staging/tidspbridge/rmgr/drv_interface.c b/drivers/staging/tidspbridge/rmgr/drv_interface.c index 3cac01492063..bddea1d3b2c3 100644 --- a/drivers/staging/tidspbridge/rmgr/drv_interface.c +++ b/drivers/staging/tidspbridge/rmgr/drv_interface.c @@ -16,7 +16,7 @@ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ -#include <plat/dsp.h> +#include <linux/platform_data/dsp-omap.h> #include <linux/types.h> #include <linux/platform_device.h> @@ -613,16 +613,6 @@ static struct platform_driver bridge_driver = { #endif }; -static int __init bridge_init(void) -{ - return platform_driver_register(&bridge_driver); -} - -static void __exit bridge_exit(void) -{ - platform_driver_unregister(&bridge_driver); -} - /* To remove all process resources before removing the process from the * process context list */ int drv_remove_all_resources(void *process_ctxt) @@ -636,6 +626,4 @@ int drv_remove_all_resources(void *process_ctxt) return status; } -/* Bridge driver initialization and de-initialization functions */ -module_init(bridge_init); -module_exit(bridge_exit); +module_platform_driver(bridge_driver); diff --git a/drivers/staging/tidspbridge/rmgr/dspdrv.c b/drivers/staging/tidspbridge/rmgr/dspdrv.c index dc767b183cdf..d460f5823c6b 100644 --- a/drivers/staging/tidspbridge/rmgr/dspdrv.c +++ b/drivers/staging/tidspbridge/rmgr/dspdrv.c @@ -72,7 +72,7 @@ u32 dsp_init(u32 *init_status) /* Unwind whatever was loaded */ if (status) { - /* irrespective of the status of dev_remove_device we conitinue + /* irrespective of the status of dev_remove_device we continue * unloading. Get the Driver Object iterate through and remove. * Reset the status to E_FAIL to avoid going through * api_init_complete2. */ @@ -92,7 +92,7 @@ u32 dsp_init(u32 *init_status) func_cont: /* Attempt to Start the Board */ if (!status) { - /* BRD_AutoStart could fail if the dsp execuetable is not the + /* BRD_AutoStart could fail if the dsp executable is not the * correct one. We should not propagate that error * into the device loader. */ (void)api_init_complete2(); diff --git a/drivers/staging/tidspbridge/rmgr/mgr.c b/drivers/staging/tidspbridge/rmgr/mgr.c index 8a1e9287cff6..b32ba0ad2a07 100644 --- a/drivers/staging/tidspbridge/rmgr/mgr.c +++ b/drivers/staging/tidspbridge/rmgr/mgr.c @@ -262,8 +262,8 @@ int mgr_enum_processor_info(u32 processor_id, IVAPROCTYPE_ARM7) proc_detect = true; } - /* User applciatiuons aonly check for chip type, so - * this clumsy overwrite */ + /* User applications only check for chip type, so + * this is a clumsy overwrite */ processor_info->processor_type = DSPTYPE64; } else { dev_dbg(bridge, "%s: Failed to get DCD processor info " diff --git a/drivers/staging/tidspbridge/rmgr/nldr.c b/drivers/staging/tidspbridge/rmgr/nldr.c index 30d5480fcdcc..6309221b64a5 100644 --- a/drivers/staging/tidspbridge/rmgr/nldr.c +++ b/drivers/staging/tidspbridge/rmgr/nldr.c @@ -898,7 +898,7 @@ static int add_ovly_info(void *handle, struct dbll_sect_info *sect_info, nldr_obj->ovly_table[i].execute_sects++; } else { - /* Put in "other" sectins */ + /* Put in "other" sections */ status = add_ovly_sect(nldr_obj, &nldr_obj-> diff --git a/drivers/staging/tidspbridge/rmgr/node.c b/drivers/staging/tidspbridge/rmgr/node.c index 7fb426c5251c..c2fc6137c770 100644 --- a/drivers/staging/tidspbridge/rmgr/node.c +++ b/drivers/staging/tidspbridge/rmgr/node.c @@ -1613,7 +1613,7 @@ int node_get_attr(struct node_object *hnode, return -EFAULT; hnode_mgr = hnode->node_mgr; - /* Enter hnode_mgr critical section (since we're accessing + /* Enter hnode_mgr critical section since we're accessing * data that could be changed by node_change_priority() and * node_connect(). */ mutex_lock(&hnode_mgr->node_mgr_lock); @@ -2714,8 +2714,7 @@ static int get_node_props(struct dcd_manager *hdcd_mgr, hnode->ntype = node_type = pndb_props->ntype; /* Create UUID value to set in registry. */ - uuid_uuid_to_string((struct dsp_uuid *)node_uuid, sz_uuid, - MAXUUIDLEN); + snprintf(sz_uuid, MAXUUIDLEN, "%pUL", node_uuid); dev_dbg(bridge, "(node) UUID: %s\n", sz_uuid); /* Fill in message args that come from NDB */ diff --git a/drivers/staging/tidspbridge/rmgr/proc.c b/drivers/staging/tidspbridge/rmgr/proc.c index 7e4f12f6be42..5e43938ab7fa 100644 --- a/drivers/staging/tidspbridge/rmgr/proc.c +++ b/drivers/staging/tidspbridge/rmgr/proc.c @@ -300,7 +300,7 @@ proc_attach(u32 processor_id, if (status) goto func_end; - /* If we made it this far, create the Proceesor object: */ + /* If we made it this far, create the Processor object: */ p_proc_object = kzalloc(sizeof(struct proc_object), GFP_KERNEL); /* Fill out the Processor Object: */ if (p_proc_object == NULL) { |