From: jolly.shah@xilinx.com (Jolly Shah)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] firmware: xilinx: Replace init call with probe method
Date: Mon, 10 Sep 2018 13:01:32 -0700 [thread overview]
Message-ID: <1536609694-7920-2-git-send-email-jollys@xilinx.com> (raw)
In-Reply-To: <1536609694-7920-1-git-send-email-jollys@xilinx.com>
From: Rajan Vaja <rajan.vaja@xilinx.com>
As of all of child of ZynqMP firmware are platform
driver, there is no need of init call in firmware
driver. Earlier clock driver was init method so
firmware driver had to use init call to make sure
firmware init is done in early stage.
Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Signed-off-by: Jolly Shah <jollys@xilinx.com>
---
drivers/firmware/xilinx/zynqmp.c | 63 ++++++++++++----------------------------
1 file changed, 18 insertions(+), 45 deletions(-)
diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c
index 7ccedf0..ce6c746 100644
--- a/drivers/firmware/xilinx/zynqmp.c
+++ b/drivers/firmware/xilinx/zynqmp.c
@@ -476,50 +476,17 @@ EXPORT_SYMBOL_GPL(zynqmp_pm_get_eemi_ops);
static int zynqmp_firmware_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
-
- return of_platform_populate(dev->of_node, NULL, NULL, dev);
-}
-
-static const struct of_device_id zynqmp_firmware_of_match[] = {
- {.compatible = "xlnx,zynqmp-firmware"},
- {},
-};
-MODULE_DEVICE_TABLE(of, zynqmp_firmware_of_match);
-
-static struct platform_driver zynqmp_firmware_driver = {
- .driver = {
- .name = "zynqmp_firmware",
- .of_match_table = zynqmp_firmware_of_match,
- },
- .probe = zynqmp_firmware_probe,
-};
-module_platform_driver(zynqmp_firmware_driver);
-
-static int __init zynqmp_plat_init(void)
-{
- int ret;
struct device_node *np;
+ int ret;
np = of_find_compatible_node(NULL, NULL, "xlnx,zynqmp");
if (!np)
return 0;
of_node_put(np);
- /*
- * We're running on a ZynqMP machine,
- * the zynqmp-firmware node is mandatory.
- */
- np = of_find_compatible_node(NULL, NULL, "xlnx,zynqmp-firmware");
- if (!np) {
- pr_warn("%s: zynqmp-firmware node not found\n", __func__);
- return -ENXIO;
- }
-
- ret = get_set_conduit_method(np);
- if (ret) {
- of_node_put(np);
+ ret = get_set_conduit_method(dev->of_node);
+ if (ret)
return ret;
- }
/* Check PM API version number */
zynqmp_pm_get_api_version(&pm_api_version);
@@ -547,16 +514,22 @@ static int __init zynqmp_plat_init(void)
pr_info("%s Trustzone version v%d.%d\n", __func__,
pm_tz_version >> 16, pm_tz_version & 0xFFFF);
- of_node_put(np);
+ zynqmp_pm_api_debugfs_init();
- return ret;
+ return of_platform_populate(dev->of_node, NULL, NULL, dev);
}
-early_initcall(zynqmp_plat_init);
-static int zynqmp_firmware_init(void)
-{
- zynqmp_pm_api_debugfs_init();
+static const struct of_device_id zynqmp_firmware_of_match[] = {
+ {.compatible = "xlnx,zynqmp-firmware"},
+ {},
+};
+MODULE_DEVICE_TABLE(of, zynqmp_firmware_of_match);
- return 0;
-}
-device_initcall(zynqmp_firmware_init);
+static struct platform_driver zynqmp_firmware_driver = {
+ .driver = {
+ .name = "zynqmp_firmware",
+ .of_match_table = zynqmp_firmware_of_match,
+ },
+ .probe = zynqmp_firmware_probe,
+};
+module_platform_driver(zynqmp_firmware_driver);
--
2.7.4
next prev parent reply other threads:[~2018-09-10 20:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-10 20:01 [PATCH 0/3] drivers: firmware: xilinx: Minor fixes Jolly Shah
2018-09-10 20:01 ` Jolly Shah [this message]
2018-09-10 20:01 ` [PATCH 2/3] firmware: xilinx: Move declaration of qdata to top of the function Jolly Shah
2018-09-10 20:01 ` [PATCH 3/3] firmware: xilinx: Replace if/else with switch case Jolly Shah
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1536609694-7920-2-git-send-email-jollys@xilinx.com \
--to=jolly.shah@xilinx.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).