Message ID | 20210215155849.2425846-1-iwamatsu@nigauri.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE) | expand |
On 2/15/21 4:58 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). > Any driver who want to communicate with PMC using EEMI APIs use the functions provided > for each function > 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 <iwamatsu@nigauri.org> > --- > v3: Update eemi.rst. > v2: Added the comment pointed out by Michal. > > Documentation/driver-api/xilinx/eemi.rst | 31 ++---------------------- > include/linux/firmware/xlnx-zynqmp.h | 5 ---- > 2 files changed, 2 insertions(+), 34 deletions(-) > > diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst > index 9dcbc6f18d75df..579cf9a407ac2f 100644 > --- a/Documentation/driver-api/xilinx/eemi.rst > +++ b/Documentation/driver-api/xilinx/eemi.rst > @@ -16,35 +16,8 @@ components running across different processing clusters on a chip or > device to communicate with a power management controller (PMC) on a > 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); > +Any driver who want to communicate with PMC using EEMI APIs use the wants > +functions provided for each function. > > IOCTL > ------ > diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h > index c8a18da6906e78..70e19ab34ff1ca 100644 > --- a/include/linux/firmware/xlnx-zynqmp.h > +++ b/include/linux/firmware/xlnx-zynqmp.h > @@ -416,11 +416,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; > Queue for 5.13 with corrected sentence above. Thanks, Michal
diff --git a/Documentation/driver-api/xilinx/eemi.rst b/Documentation/driver-api/xilinx/eemi.rst index 9dcbc6f18d75df..579cf9a407ac2f 100644 --- a/Documentation/driver-api/xilinx/eemi.rst +++ b/Documentation/driver-api/xilinx/eemi.rst @@ -16,35 +16,8 @@ components running across different processing clusters on a chip or device to communicate with a power management controller (PMC) on a 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); +Any driver who want to communicate with PMC using EEMI APIs 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 c8a18da6906e78..70e19ab34ff1ca 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -416,11 +416,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;
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). Any driver who want to communicate with PMC using EEMI APIs use the functions provided for each function 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 <iwamatsu@nigauri.org> --- v3: Update eemi.rst. v2: Added the comment pointed out by Michal. Documentation/driver-api/xilinx/eemi.rst | 31 ++---------------------- include/linux/firmware/xlnx-zynqmp.h | 5 ---- 2 files changed, 2 insertions(+), 34 deletions(-)