Message ID | 20230523124215.30915-1-stefan.herbrechtsmeier-oss@weidmueller.com |
---|---|
State | Accepted |
Commit | ee3c02af77178133b1f4e0446bba58f6ce0888e0 |
Delegated to: | Michal Simek |
Headers | show |
Series | [v5,1/5] firmware: zynqmp: Remove extraordinary return value | expand |
On 5/23/23 14:42, Stefan Herbrechtsmeier wrote: > From: Stefan Herbrechtsmeier <stefan.herbrechtsmeier@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@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
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; }