| From 78910c5f2da7d1354918cc8360f23c93728f6924 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 16 Feb 2021 00:58:49 +0900 |
| Subject: firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in |
| IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE) |
| |
| From: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> |
| |
| [ Upstream commit 79bfe480a0a0b259ab9fddcd2fe52c03542b1196 ] |
| |
| 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> |
| Link: https://lore.kernel.org/r/20210215155849.2425846-1-iwamatsu@nigauri.org |
| Signed-off-by: Michal Simek <michal.simek@xilinx.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 9dcbc6f18d75..c1bc47b9000d 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 wants 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 2a0da841c942..4ef77deaf791 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.2 |
| |