From 675961838f5b90c87a0c782b28d942910861e7c3 Mon Sep 17 00:00:00 2001 From: Ivan Gomez Castellanos Date: Wed, 25 Aug 2010 17:08:59 -0500 Subject: [PATCH] --- yaml --- r: 219633 b: refs/heads/master c: 315a1a20aa01138c6469fbdab4df097c35344353 h: refs/heads/master i: 219631: 0a767f667b91c8383fcaea014af326c3b08013e9 v: v3 --- [refs] | 2 +- .../tidspbridge/include/dspbridge/cfg.h | 22 ------------- trunk/drivers/staging/tidspbridge/rmgr/proc.c | 27 +++++++++++----- .../staging/tidspbridge/services/cfg.c | 31 ------------------- 4 files changed, 20 insertions(+), 62 deletions(-) diff --git a/[refs] b/[refs] index d970a60de713..699075d6e535 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e8184e6c2d32eb4418f6084155ac1ffb08c751e8 +refs/heads/master: 315a1a20aa01138c6469fbdab4df097c35344353 diff --git a/trunk/drivers/staging/tidspbridge/include/dspbridge/cfg.h b/trunk/drivers/staging/tidspbridge/include/dspbridge/cfg.h index 9a259a1dddf8..11f5bdebae70 100644 --- a/trunk/drivers/staging/tidspbridge/include/dspbridge/cfg.h +++ b/trunk/drivers/staging/tidspbridge/include/dspbridge/cfg.h @@ -40,28 +40,6 @@ */ extern int cfg_get_cd_version(u32 *version); -/* - * ======== cfg_get_exec_file ======== - * Purpose: - * Retreive the default executable, if any, for this board. - * Parameters: - * dev_node_obj: Handle to the dev_node who's driver we are querying. - * buf_size: Size of buffer. - * str_exec_file: Ptr to character buf to hold ExecFile. - * Returns: - * 0: Success. - * -EFAULT: dev_node_obj is invalid or str_exec_file is invalid. - * -ENODATA: The resource is not available. - * Requires: - * CFG initialized. - * Ensures: - * 0: Not more than buf_size bytes were copied into str_exec_file, - * and *str_exec_file contains default executable for this - * devnode. - */ -extern int cfg_get_exec_file(struct cfg_devnode *dev_node_obj, - u32 buf_size, char *str_exec_file); - /* * ======== cfg_get_object ======== * Purpose: diff --git a/trunk/drivers/staging/tidspbridge/rmgr/proc.c b/trunk/drivers/staging/tidspbridge/rmgr/proc.c index 44c26e11fc4a..0a7e30b4cbb1 100644 --- a/trunk/drivers/staging/tidspbridge/rmgr/proc.c +++ b/trunk/drivers/staging/tidspbridge/rmgr/proc.c @@ -393,18 +393,29 @@ static int get_exec_file(struct cfg_devnode *dev_node_obj, { u8 dev_type; s32 len; + struct drv_data *drv_datap = dev_get_drvdata(bridge); dev_get_dev_type(hdev_obj, (u8 *) &dev_type); + + if (!exec_file) + return -EFAULT; + if (dev_type == DSP_UNIT) { - return cfg_get_exec_file(dev_node_obj, size, exec_file); - } else if (dev_type == IVA_UNIT) { - if (iva_img) { - len = strlen(iva_img); - strncpy(exec_file, iva_img, len + 1); - return 0; - } + if (!drv_datap || !drv_datap->base_img) + return -EFAULT; + + if (strlen(drv_datap->base_img) > size) + return -EINVAL; + + strcpy(exec_file, drv_datap->base_img); + } else if (dev_type == IVA_UNIT && iva_img) { + len = strlen(iva_img); + strncpy(exec_file, iva_img, len + 1); + } else { + return -ENOENT; } - return -ENOENT; + + return 0; } /* diff --git a/trunk/drivers/staging/tidspbridge/services/cfg.c b/trunk/drivers/staging/tidspbridge/services/cfg.c index 587c71a5975f..302eaddaa0d0 100644 --- a/trunk/drivers/staging/tidspbridge/services/cfg.c +++ b/trunk/drivers/staging/tidspbridge/services/cfg.c @@ -30,37 +30,6 @@ #include #include -/* - * ======== cfg_get_exec_file ======== - * Purpose: - * Retreive the default executable, if any, for this board. - */ -int cfg_get_exec_file(struct cfg_devnode *dev_node_obj, u32 buf_size, - char *str_exec_file) -{ - int status = 0; - struct drv_data *drv_datap = dev_get_drvdata(bridge); - - if (!dev_node_obj) - status = -EFAULT; - - else if (!str_exec_file || !drv_datap) - status = -EFAULT; - - if (strlen(drv_datap->base_img) > buf_size) - status = -EINVAL; - - if (!status && drv_datap->base_img) - strcpy(str_exec_file, drv_datap->base_img); - - if (status) - pr_err("%s: Failed, status 0x%x\n", __func__, status); - DBC_ENSURE(((status == 0) && - (strlen(str_exec_file) <= buf_size)) - || (status != 0)); - return status; -} - /* * ======== cfg_get_object ======== * Purpose: