Message ID | 20210211232312.2082334-1-iwamatsu@nigauri.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] firmware: xilinx: Remove zynqmp_pm_get_eemi_ops() in IS_REACHABLE(CONFIG_ZYNQMP_FIRMWARE) | expand |
On 2/12/21 12:23 AM, 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> > --- > v2: Added the comment pointed out by Michal. > > 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; > I can't see any difference compare to v1. Don't you forget to commit your changes? Thanks, Michal
Hi, 2021年2月12日(金) 21:53 Michal Simek <michal.simek@xilinx.com>: > > > > On 2/12/21 12:23 AM, 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> > > --- > > v2: Added the comment pointed out by Michal. > > > > 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; > > > > I can't see any difference compare to v1. Don't you forget to commit > your changes? Oh, sorry. I will resend with update. Best regards, Nobuhiro
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;
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> --- v2: Added the comment pointed out by Michal. Documentation/driver-api/xilinx/eemi.rst | 27 +----------------------- include/linux/firmware/xlnx-zynqmp.h | 5 ----- 2 files changed, 1 insertion(+), 31 deletions(-)