[U-Boot] [dm/next PATCH v1] dm: qspi fix claim bus and release bus

Peng Fan Peng.Fan at freescale.com
Tue Apr 14 07:19:23 CEST 2015


For fsl_qspi_claim_bus and fsl_qspi_release_bus, the input parameter
"struct udevice *dev" represents device: "qspi[x]: qspi@[address] {...}".
Since "dev" already represents the qspi controller, use its parent to
get platdata and get 'priv' is wrong.

After applying this patch, qspi flashes can be correctly probed.

CC: Simon Glass <sjg at chromium.org>
CC: Jagannadha Sutradharudu Teki <jagannadh.teki at gmail.com>
CC: Haikun Wang <Haikun.Wang at freescale.com>
Signed-off-by: Peng Fan <Peng.Fan at freescale.com>
---

Hi,

This patch is based on dm/next branch.

Regards,
Peng.

 drivers/spi/fsl_qspi.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c
index 868df5f..04f1801 100644
--- a/drivers/spi/fsl_qspi.c
+++ b/drivers/spi/fsl_qspi.c
@@ -1044,11 +1044,9 @@ static int fsl_qspi_xfer(struct udevice *dev, unsigned int bitlen,
 static int fsl_qspi_claim_bus(struct udevice *dev)
 {
 	struct fsl_qspi_priv *priv;
-	struct udevice *bus;
-	struct dm_spi_slave_platdata *slave_plat = dev_get_parent_platdata(dev);
+	struct dm_spi_slave_platdata *slave_plat = dev_get_platdata(dev);
 
-	bus = dev->parent;
-	priv = dev_get_priv(bus);
+	priv = dev_get_priv(dev);
 
 	priv->cur_amba_base =
 		priv->amba_base[0] + FSL_QSPI_FLASH_SIZE * slave_plat->cs;
@@ -1061,10 +1059,8 @@ static int fsl_qspi_claim_bus(struct udevice *dev)
 static int fsl_qspi_release_bus(struct udevice *dev)
 {
 	struct fsl_qspi_priv *priv;
-	struct udevice *bus;
 
-	bus = dev->parent;
-	priv = dev_get_priv(bus);
+	priv = dev_get_priv(dev);
 
 	qspi_module_disable(priv, 1);
 
-- 
1.8.4




More information about the U-Boot mailing list