]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/spi/spi-zynq-qspi.c
spi: zynq-qspi: Do the actual hardware initialization later in the probe
[linux.git] / drivers / spi / spi-zynq-qspi.c
index 80e51c894eaa8404098164b9356448b469ec1fcf..e76f9c9738f0da3a1e9c33617d47d64de8c8b2db 100644 (file)
@@ -657,9 +657,6 @@ static int zynq_qspi_probe(struct platform_device *pdev)
                goto clk_dis_pclk;
        }
 
-       /* QSPI controller initializations */
-       zynq_qspi_init_hw(xqspi);
-
        xqspi->irq = platform_get_irq(pdev, 0);
        if (xqspi->irq <= 0) {
                ret = -ENXIO;
@@ -690,6 +687,10 @@ static int zynq_qspi_probe(struct platform_device *pdev)
        ctlr->setup = zynq_qspi_setup_op;
        ctlr->max_speed_hz = clk_get_rate(xqspi->refclk) / 2;
        ctlr->dev.of_node = np;
+
+       /* QSPI controller initializations */
+       zynq_qspi_init_hw(xqspi);
+
        ret = devm_spi_register_controller(&pdev->dev, ctlr);
        if (ret) {
                dev_err(&pdev->dev, "spi_register_master failed\n");