[PATCH] firmware: xilinx: use u32 for reset ID in reset APIs

Thangaraj, Senthil Nathan SenthilNathan.Thangaraj at amd.com
Mon Sep 9 10:59:01 PDT 2024


LGTM.

Best regards,
Senthil

> -----Original Message-----
> From: linux-arm-kernel <linux-arm-kernel-bounces at lists.infradead.org> On
> Behalf Of Ronak Jain
> Sent: Friday, August 30, 2024 3:01 AM
> To: Simek, Michal <michal.simek at amd.com>
> Cc: linux-arm-kernel at lists.infradead.org; linux-kernel at vger.kernel.org
> Subject: [PATCH] firmware: xilinx: use u32 for reset ID in reset APIs
> 
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
> 
> 
> Refactors the reset handling mechanisms by replacing the reset ID's enum type
> with a u32. This update improves flexibility, allowing the reset ID to
> accommodate a broader range of values, including those that may not fit into
> predefined enum values.
> 
> The use of u32 for reset ID enhances extensibility, especially for hardware
> platforms or features where more granular control of reset operations is
> required. By shifting to a general integer type, this change reduces constraints
> and simplifies integration with other system components that rely on non-
> enum-based reset IDs.
> 
> Signed-off-by: Ronak Jain <ronak.jain at amd.com>
> ---
>  drivers/firmware/xilinx/zynqmp.c     | 4 ++--
>  include/linux/firmware/xlnx-zynqmp.h | 9 ++++-----
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/firmware/xilinx/zynqmp.c
> b/drivers/firmware/xilinx/zynqmp.c
> index add8acf66a9c..c8be32d9c6af 100644
> --- a/drivers/firmware/xilinx/zynqmp.c
> +++ b/drivers/firmware/xilinx/zynqmp.c
> @@ -920,7 +920,7 @@ int zynqmp_pm_set_boot_health_status(u32 value)
>   *
>   * Return: Returns status, either success or error+reason
>   */
> -int zynqmp_pm_reset_assert(const enum zynqmp_pm_reset reset,
> +int zynqmp_pm_reset_assert(const u32 reset,
>                            const enum zynqmp_pm_reset_action assert_flag)  {
>         return zynqmp_pm_invoke_fn(PM_RESET_ASSERT, NULL, 2, reset,
> assert_flag); @@ -934,7 +934,7 @@
> EXPORT_SYMBOL_GPL(zynqmp_pm_reset_assert);
>   *
>   * Return: Returns status, either success or error+reason
>   */
> -int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, u32
> *status)
> +int zynqmp_pm_reset_get_status(const u32 reset, u32 *status)
>  {
>         u32 ret_payload[PAYLOAD_ARG_CNT];
>         int ret;
> diff --git a/include/linux/firmware/xlnx-zynqmp.h
> b/include/linux/firmware/xlnx-zynqmp.h
> index 563382cf16f2..5b938fc2adad 100644
> --- a/include/linux/firmware/xlnx-zynqmp.h
> +++ b/include/linux/firmware/xlnx-zynqmp.h
> @@ -557,9 +557,9 @@ int zynqmp_pm_get_pll_frac_data(u32 clk_id, u32
> *data);  int zynqmp_pm_set_sd_tapdelay(u32 node_id, u32 type, u32 value);
> int zynqmp_pm_sd_dll_reset(u32 node_id, u32 type);  int
> zynqmp_pm_ospi_mux_select(u32 dev_id, u32 select); -int
> zynqmp_pm_reset_assert(const enum zynqmp_pm_reset reset,
> +int zynqmp_pm_reset_assert(const u32 reset,
>                            const enum zynqmp_pm_reset_action assert_flag); -int
> zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, u32
> *status);
> +int zynqmp_pm_reset_get_status(const u32 reset, u32 *status);
>  unsigned int zynqmp_pm_bootmode_read(u32 *ps_mode);  int
> zynqmp_pm_bootmode_write(u32 ps_mode);  int
> zynqmp_pm_init_finalize(void); @@ -702,14 +702,13 @@ static inline int
> zynqmp_pm_ospi_mux_select(u32 dev_id, u32 select)
>         return -ENODEV;
>  }
> 
> -static inline int zynqmp_pm_reset_assert(const enum zynqmp_pm_reset
> reset,
> +static inline int zynqmp_pm_reset_assert(const u32 reset,
>                                          const enum zynqmp_pm_reset_action assert_flag)  {
>         return -ENODEV;
>  }
> 
> -static inline int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset
> reset,
> -                                            u32 *status)
> +static inline int zynqmp_pm_reset_get_status(const u32 reset, u32
> +*status)
>  {
>         return -ENODEV;
>  }
> --
> 2.25.1
> 




More information about the linux-arm-kernel mailing list