Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

firmware: xilinx: Remove eemi ops for release_node

Use direct function call instead of using eemi ops for release_node.

Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Jolly Shah <jolly.shah@xilinx.com>
Link: https://lore.kernel.org/r/1587761887-4279-18-git-send-email-jolly.shah@xilinx.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Rajan Vaja and committed by
Greg Kroah-Hartman
07fb1a46 bf8b27ed

+8 -7
+2 -2
drivers/firmware/xilinx/zynqmp.c
··· 760 760 * 761 761 * Return: Returns status, either success or error+reason 762 762 */ 763 - static int zynqmp_pm_release_node(const u32 node) 763 + int zynqmp_pm_release_node(const u32 node) 764 764 { 765 765 return zynqmp_pm_invoke_fn(PM_RELEASE_NODE, node, 0, 0, 0, NULL); 766 766 } 767 + EXPORT_SYMBOL_GPL(zynqmp_pm_release_node); 767 768 768 769 /** 769 770 * zynqmp_pm_set_requirement() - PM call to set requirement for PM slaves ··· 811 810 } 812 811 813 812 static const struct zynqmp_eemi_ops eemi_ops = { 814 - .release_node = zynqmp_pm_release_node, 815 813 .set_requirement = zynqmp_pm_set_requirement, 816 814 .fpga_load = zynqmp_pm_fpga_load, 817 815 .fpga_get_status = zynqmp_pm_fpga_get_status,
+1 -4
drivers/soc/xilinx/zynqmp_pm_domains.c
··· 196 196 int ret; 197 197 struct zynqmp_pm_domain *pd; 198 198 199 - if (!eemi_ops->release_node) 200 - return; 201 - 202 199 pd = container_of(domain, struct zynqmp_pm_domain, gpd); 203 200 204 201 /* If this is not the last device to detach there is nothing to do */ 205 202 if (domain->device_count) 206 203 return; 207 204 208 - ret = eemi_ops->release_node(pd->node_id); 205 + ret = zynqmp_pm_release_node(pd->node_id); 209 206 /* If releasing a node fails print the error and return */ 210 207 if (ret) { 211 208 pr_err("%s() %s release failed for node %d: %d\n",
+5 -1
include/linux/firmware/xlnx-zynqmp.h
··· 296 296 struct zynqmp_eemi_ops { 297 297 int (*fpga_load)(const u64 address, const u32 size, const u32 flags); 298 298 int (*fpga_get_status)(u32 *value); 299 - int (*release_node)(const u32 node); 300 299 int (*set_requirement)(const u32 node, 301 300 const u32 capabilities, 302 301 const u32 qos, ··· 333 334 int zynqmp_pm_set_suspend_mode(u32 mode); 334 335 int zynqmp_pm_request_node(const u32 node, const u32 capabilities, 335 336 const u32 qos, const enum zynqmp_pm_request_ack ack); 337 + int zynqmp_pm_release_node(const u32 node); 336 338 #else 337 339 static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void) 338 340 { ··· 433 433 static inline int zynqmp_pm_request_node(const u32 node, const u32 capabilities, 434 434 const u32 qos, 435 435 const enum zynqmp_pm_request_ack ack) 436 + { 437 + return -ENODEV; 438 + } 439 + static inline int zynqmp_pm_release_node(const u32 node) 436 440 { 437 441 return -ENODEV; 438 442 }