[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180830190120.722-8-clabbe.montjoie@gmail.com>
Date: Thu, 30 Aug 2018 21:01:14 +0200
From: Corentin Labbe <clabbe.montjoie@...il.com>
To: axboe@...nel.dk, hdegoede@...hat.com, kishon@...com,
mark.rutland@....com, maxime.ripard@...tlin.com,
robh+dt@...nel.org, wens@...e.org, clabbe.montjoie@...il.com
Cc: devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-sunxi@...glegroups.com
Subject: [PATCH v4 07/13] ata: ahci_sunxi: Bypass PHY init when using the new binding
The new binding split sata in two (ahci + PHY).
ahci_sunxi must not mess with PHY when the new binding is in use.
So when we detect sub-nodes, bypass the PHY init code.
This is a temporarly workaround for the period where DT and ata code
will be merged from separate tree.
When both new binding and PHY driver will be merged, a new patch which
remove all PHY code from ahci_sunxi.c will be sent.
Signed-off-by: Corentin Labbe <clabbe.montjoie@...il.com>
---
drivers/ata/ahci_sunxi.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/ata/ahci_sunxi.c b/drivers/ata/ahci_sunxi.c
index 631610b72aa5..a09d189c6dda 100644
--- a/drivers/ata/ahci_sunxi.c
+++ b/drivers/ata/ahci_sunxi.c
@@ -96,6 +96,15 @@ static int ahci_sunxi_phy_init(struct device *dev, void __iomem *reg_base)
u32 reg_val;
int timeout;
+ /*
+ * When using the new binding, the presence of a sata port node
+ * means that PHY is handled by the PHY driver.
+ * */
+ if (of_get_child_count(dev->of_node)) {
+ dev_info(dev, "Bypassing PHY init\n");
+ return 0;
+ }
+
/* This magic is from the original code */
writel(0, reg_base + AHCI_RWCR);
msleep(5);
--
2.16.4
Powered by blists - more mailing lists