Use direct function call instead of eemi ops for init_finalize.
Unified · Split
| @@ -710,10 +710,11 @@ static int zynqmp_pm_fpga_get_status(u32 *value) · 709 unmodified lines | |||
| 710 | * | 710 | * |
| 711 | * Return: Returns status, either success or error+reason | 711 | * Return: Returns status, either success or error+reason |
| 712 | */ | 712 | */ |
| 713 | static int zynqmp_pm_init_finalize(void) | 713 | int zynqmp_pm_init_finalize(void) |
| 714 | { | 714 | { |
| 715 | return zynqmp_pm_invoke_fn(PM_PM_INIT_FINALIZE, 0, 0, 0, 0, NULL); | 715 | return zynqmp_pm_invoke_fn(PM_PM_INIT_FINALIZE, 0, 0, 0, 0, NULL); |
| 716 | } | 716 | } |
| 717 | EXPORT_SYMBOL_GPL(zynqmp_pm_init_finalize); | ||
| 717 | 718 | ||
| 718 | /** | 719 | /** |
| 719 | * zynqmp_pm_set_suspend_mode() - Set system suspend mode | 720 | * zynqmp_pm_set_suspend_mode() - Set system suspend mode |
| @@ -808,7 +809,6 @@ static int zynqmp_pm_aes_engine(const u64 address, u32 *out) · 88 unmodified lines | |||
| 808 | } | 809 | } |
| 809 | 810 | ||
| 810 | static const struct zynqmp_eemi_ops eemi_ops = { | 811 | static const struct zynqmp_eemi_ops eemi_ops = { |
| 811 | .init_finalize = zynqmp_pm_init_finalize, | ||
| 812 | .set_suspend_mode = zynqmp_pm_set_suspend_mode, | 812 | .set_suspend_mode = zynqmp_pm_set_suspend_mode, |
| 813 | .request_node = zynqmp_pm_request_node, | 813 | .request_node = zynqmp_pm_request_node, |
| 814 | .release_node = zynqmp_pm_release_node, | 814 | .release_node = zynqmp_pm_release_node, |
| @@ -182,14 +182,7 @@ static int zynqmp_pm_probe(struct platform_device *pdev) · 181 unmodified lines | |||
| 182 | u32 pm_api_version; | 182 | u32 pm_api_version; |
| 183 | struct mbox_client *client; | 183 | struct mbox_client *client; |
| 184 | 184 | ||
| 185 | eemi_ops = zynqmp_pm_get_eemi_ops(); | 185 | zynqmp_pm_init_finalize(); |
| 186 | if (IS_ERR(eemi_ops)) | ||
| 187 | return PTR_ERR(eemi_ops); | ||
| 188 | |||
| 189 | if (!eemi_ops->init_finalize) | ||
| 190 | return -ENXIO; | ||
| 191 | |||
| 192 | eemi_ops->init_finalize(); | ||
| 193 | zynqmp_pm_get_api_version(&pm_api_version); | 186 | zynqmp_pm_get_api_version(&pm_api_version); |
| 194 | 187 | ||
| 195 | /* Check PM API version number */ | 188 | /* Check PM API version number */ |
| @@ -296,7 +296,6 @@ struct zynqmp_pm_query_data { · 295 unmodified lines | |||
| 296 | struct zynqmp_eemi_ops { | 296 | struct zynqmp_eemi_ops { |
| 297 | int (*fpga_load)(const u64 address, const u32 size, const u32 flags); | 297 | int (*fpga_load)(const u64 address, const u32 size, const u32 flags); |
| 298 | int (*fpga_get_status)(u32 *value); | 298 | int (*fpga_get_status)(u32 *value); |
| 299 | int (*init_finalize)(void); | ||
| 300 | int (*set_suspend_mode)(u32 mode); | 299 | int (*set_suspend_mode)(u32 mode); |
| 301 | int (*request_node)(const u32 node, | 300 | int (*request_node)(const u32 node, |
| 302 | const u32 capabilities, | 301 | const u32 capabilities, |
| @@ -336,6 +335,7 @@ int zynqmp_pm_sd_dll_reset(u32 node_id, u32 type); · 33 unmodified lines | |||
| 336 | int zynqmp_pm_reset_assert(const enum zynqmp_pm_reset reset, | 335 | int zynqmp_pm_reset_assert(const enum zynqmp_pm_reset reset, |
| 337 | const enum zynqmp_pm_reset_action assert_flag); | 336 | const enum zynqmp_pm_reset_action assert_flag); |
| 338 | int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, u32 *status); | 337 | int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, u32 *status); |
| 338 | int zynqmp_pm_init_finalize(void); | ||
| 339 | #else | 339 | #else |
| 340 | static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void) | 340 | static inline struct zynqmp_eemi_ops *zynqmp_pm_get_eemi_ops(void) |
| 341 | { | 341 | { |
| @@ -424,6 +424,10 @@ static inline int zynqmp_pm_reset_get_status(const enum zynqmp_pm_reset reset, · 82 unmodified lines | |||
| 424 | { | 424 | { |
| 425 | return -ENODEV; | 425 | return -ENODEV; |
| 426 | } | 426 | } |
| 427 | static inline int zynqmp_pm_init_finalize(void) | ||
| 428 | { | ||
| 429 | return -ENODEV; | ||
| 430 | } | ||
| 427 | #endif | 431 | #endif |
| 428 | 432 | ||
| 429 | #endif /* __FIRMWARE_ZYNQMP_H__ */ | 433 | #endif /* __FIRMWARE_ZYNQMP_H__ */ |