2021-01-31 14:36:13

by Nobuhiro Iwamatsu

[permalink] [raw]
Subject: [PATCH] firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)

zynqmp_pm_get_eemi_ops() was removed in commit 4db8180ffe7c: "Firmware: xilinx:
Remove eemi ops for fpga related APIs", but not in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE).
This removed zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE), and also
modify the documentation for this driver.

Fixes: 4db8180ffe7c ("firmware: xilinx: Remove eemi ops for fpga related APIs")
Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
---
Documentation/driver-api/xilinx/eemi.rst | 27 +-----------------------
include/linux/firmware/xlnx-zynqmp.h | 5 -----
2 files changed, 1 insertion(+), 31 deletions(-)

diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst
index 9dcbc6f18d75df..53416d25d309a8 100644
--- a/Documentation/driver-api/xilinx/eemi.rst
+++ b/Documentation/driver-api/xilinx/eemi.rst
@@ -19,32 +19,7 @@ device to issue or respond to power management requests.
EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC.
The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops
structure. Any driver who want to communicate with PMC using EEMI APIs
-can call zynqmp_pm_get_eemi_ops().
-
-Example of EEMI ops::
-
- /* zynqmp-firmware driver maintain all EEMI APIs */
- struct zynqmp_eemi_ops {
- int (*get_api_version)(u32 *version);
- int (*query_data)(struct zynqmp_pm_query_data qdata, u32 *out);
- };
-
- static const struct zynqmp_eemi_ops eemi_ops = {
- .get_api_version = zynqmp_pm_get_api_version,
- .query_data = zynqmp_pm_query_data,
- };
-
-Example of EEMI ops usage::
-
- static const struct zynqmp_eemi_ops *eemi_ops;
- u32 ret_payload[PAYLOAD_ARG_CNT];
- int ret;
-
- eemi_ops = zynqmp_pm_get_eemi_ops();
- if (IS_ERR(eemi_ops))
- return PTR_ERR(eemi_ops);
-
- ret = eemi_ops->query_data(qdata, ret_payload);
+use the functions provided for each function.

IOCTL
------
diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h
index 2a0da841c942f6..4ef77deaf7918c 100644
--- a/include/linux/firmware/xlnx-zynqmp.h
+++ b/include/linux/firmware/xlnx-zynqmp.h
@@ -355,11 +355,6 @@ int zynqmp_pm_read_pggs(u32 index, u32 *value);
int zynqmp_pm_system_shutdown(const u32 type, const u32 subtype);
int zynqmp_pm_set_boot_health_status(u32 value);
#else
-static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void)
-{
- return ERR_PTR(-ENODEV);
-}
-
static inline int zynqmp_pm_get_api_version(u32 *version)
{
return -ENODEV;
--
2.30.0


2021-02-01 10:12:22

by Michal Simek

[permalink] [raw]
Subject: Re: [PATCH] firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)

Hi,

On 1/31/21 3:30 PM, Nobuhiro Iwamatsu wrote:
> zynqmp_pm_get_eemi_ops() was removed in commit 4db8180ffe7c: "Firmware: xilinx:
> Remove eemi ops for fpga related APIs", but not in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE).
> This removed zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE), and also
> modify the documentation for this driver.
>
> Fixes: 4db8180ffe7c ("firmware: xilinx: Remove eemi ops for fpga related APIs")
> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
> ---
> Documentation/driver-api/xilinx/eemi.rst | 27 +-----------------------
> include/linux/firmware/xlnx-zynqmp.h | 5 -----
> 2 files changed, 1 insertion(+), 31 deletions(-)
>
> diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst
> index 9dcbc6f18d75df..53416d25d309a8 100644
> --- a/Documentation/driver-api/xilinx/eemi.rst
> +++ b/Documentation/driver-api/xilinx/eemi.rst
> @@ -19,32 +19,7 @@ device to issue or respond to power management requests.
> EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC.
> The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops
> structure. Any driver who want to communicate with PMC using EEMI APIs

The whole paragraph should be tuned. I would leave here just

"Any driver who want to communicate with PMC using EEMI APIs
use the functions provided for each function."

Because there is no reference to any eemi ops structure.

The rest looks good to me.

Thanks,
Michal

2021-02-12 00:37:47

by Nobuhiro Iwamatsu

[permalink] [raw]
Subject: Re: [PATCH] firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE)

Hi,

Thanks for your review.

2021年2月1日(月) 19:08 Michal Simek <[email protected]>:
>
> Hi,
>
> On 1/31/21 3:30 PM, Nobuhiro Iwamatsu wrote:
> > zynqmp_pm_get_eemi_ops() was removed in commit 4db8180ffe7c: "Firmware: xilinx:
> > Remove eemi ops for fpga related APIs", but not in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE).
> > This removed zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE), and also
> > modify the documentation for this driver.
> >
> > Fixes: 4db8180ffe7c ("firmware: xilinx: Remove eemi ops for fpga related APIs")
> > Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
> > ---
> > Documentation/driver-api/xilinx/eemi.rst | 27 +-----------------------
> > include/linux/firmware/xlnx-zynqmp.h | 5 -----
> > 2 files changed, 1 insertion(+), 31 deletions(-)
> >
> > diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst
> > index 9dcbc6f18d75df..53416d25d309a8 100644
> > --- a/Documentation/driver-api/xilinx/eemi.rst
> > +++ b/Documentation/driver-api/xilinx/eemi.rst
> > @@ -19,32 +19,7 @@ device to issue or respond to power management requests.
> > EEMI ops is a structure containing all eemi APIs supported by Zynq MPSoC.
> > The zynqmp-firmware driver maintain all EEMI APIs in zynqmp_eemi_ops
> > structure. Any driver who want to communicate with PMC using EEMI APIs
>
> The whole paragraph should be tuned. I would leave here just
>
> "Any driver who want to communicate with PMC using EEMI APIs
> use the functions provided for each function."
>
> Because there is no reference to any eemi ops structure.
>
> The rest looks good to me.

Thank you. I will add your point to the commit log and resend.
Best regards,
Nobuhiro


--
Nobuhiro Iwamatsu
iwamatsu at {nigauri.org / debian.org}
GPG ID: 40AD1FA6