spi: zynq-qspi: Do the actual hardware initialization later in the probe
[linux-2.6-microblaze.git] / drivers / spi / spi-zynq-qspi.c
index 80e51c8..e76f9c9 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");