[PATCH v5 1/5] firmware: zynqmp: Remove extraordinary return value

Michal Simek michal.simek at amd.com
Fri Jun 2 15:28:41 CEST 2023



On 5/23/23 14:42, Stefan Herbrechtsmeier wrote:
> From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> 
> Return a common -EACCES error value instead of a positive private error
> value XST_PM_NO_ACCESS (2002) in zynqmp_pmufw_load_config_object
> function if the config object is not loadable to simplify the error
> checking.
> 
> Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsmeier at weidmueller.com>
> ---
> 
> (no changes since v3)
> 
> Changes in v3:
> - Rebase
> 
> Changes in v2:
> - Use macro for node id
> 
>   drivers/firmware/firmware-zynqmp.c | 9 +++------
>   1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c
> index dc8e3ad2b9..2b1ad5d2c3 100644
> --- a/drivers/firmware/firmware-zynqmp.c
> +++ b/drivers/firmware/firmware-zynqmp.c
> @@ -82,7 +82,7 @@ int zynqmp_pmufw_node(u32 id)
>   	ret = zynqmp_pmufw_load_config_object(xpm_configobject,
>   					      sizeof(xpm_configobject));
>   
> -	if (ret == XST_PM_NO_ACCESS && id == NODE_OCM_BANK_0)
> +	if (ret == -EACCES && id == NODE_OCM_BANK_0)
>   		skip_config = true;
>   
>   	return 0;
> @@ -235,8 +235,7 @@ int zynqmp_pm_is_function_supported(const u32 api_id, const u32 id)
>    *
>    * @cfg_obj: Pointer to the configuration object
>    * @size:    Size of @cfg_obj in bytes
> - * Return:   0 on success otherwise negative errno. If the config object
> - *           is not loadable returns positive errno XST_PM_NO_ACCESS(2002)
> + * Return:   0 on success otherwise negative errno.
>    */
>   int zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size)
>   {
> @@ -251,10 +250,8 @@ int zynqmp_pmufw_load_config_object(const void *cfg_obj, size_t size)
>   	err = xilinx_pm_request(PM_SET_CONFIGURATION, (u32)(u64)cfg_obj, 0, 0,
>   				0, ret_payload);
>   	if (err == XST_PM_NO_ACCESS) {
> -		if (((u32 *)cfg_obj)[NODE_ID_LOCATION] == NODE_OCM_BANK_0) {
> +		if (((u32 *)cfg_obj)[NODE_ID_LOCATION] == NODE_OCM_BANK_0)
>   			printf("PMUFW:  No permission to change config object\n");
> -			return err;
> -		}
>   		return -EACCES;
>   	}
>   

Applied.
M


More information about the U-Boot mailing list