OSDN Git Service

i3c: master: svc: move module reset behind clk enable
authorClark Wang <xiaoning.wang@nxp.com>
Mon, 27 Dec 2021 07:45:22 +0000 (15:45 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Wed, 5 Jan 2022 08:53:44 +0000 (09:53 +0100)
Reset I3C module will R/W its regs, so enable its clocks first.

Signed-off-by: Clark Wang <xiaoning.wang@nxp.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Jun Li <jun.li@nxp.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20211227074529.1660398-2-xiaoning.wang@nxp.com
drivers/i3c/master/svc-i3c-master.c

index 879e5a6..c25a372 100644 (file)
@@ -1381,8 +1381,6 @@ static int svc_i3c_master_probe(struct platform_device *pdev)
 
        master->dev = dev;
 
-       svc_i3c_master_reset(master);
-
        ret = clk_prepare_enable(master->pclk);
        if (ret)
                return ret;
@@ -1419,6 +1417,8 @@ static int svc_i3c_master_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, master);
 
+       svc_i3c_master_reset(master);
+
        /* Register the master */
        ret = i3c_master_register(&master->base, &pdev->dev,
                                  &svc_i3c_master_ops, false);