diff mbox series

firmware: xilinx: use u32 for reset ID in reset APIs

Message ID 20240830100042.3163511-1-ronak.jain@amd.com (mailing list archive)
State New
Headers show
Series firmware: xilinx: use u32 for reset ID in reset APIs | expand

Commit Message

Ronak Jain Aug. 30, 2024, 10 a.m. UTC
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@amd.com>
---
 drivers/firmware/xilinx/zynqmp.c     | 4 ++--
 include/linux/firmware/xlnx-zynqmp.h | 9 ++++-----
 2 files changed, 6 insertions(+), 7 deletions(-)

Comments

Thangaraj, Senthil Nathan Sept. 9, 2024, 5:59 p.m. UTC | #1
LGTM.

Best regards,
Senthil

> -----Original Message-----
> From: linux-arm-kernel <linux-arm-kernel-bounces@lists.infradead.org> On
> Behalf Of Ronak Jain
> Sent: Friday, August 30, 2024 3:01 AM
> To: Simek, Michal <michal.simek@amd.com>
> Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@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@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
>
Michal Simek Sept. 12, 2024, 7:30 a.m. UTC | #2
On 8/30/24 12:00, Ronak Jain wrote:
> 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@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;
>   }

Applied.
M
diff mbox series

Patch

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;
 }