On some platforms like i.MX51, the clock driver does not support GATE clocks,
and the clocks are always on. The current driver uses clk_get which fails
when the clock is not found, preventing the driver from probing.

This patch changes clk_get to clk_get_optional, allowing the driver to
continue probing even if the clock is not provided, assuming it is always
enabled.

Signed-off-by: Alexander Shiyan <[email protected]>
---
 drivers/mtd/nand/raw/mxc_nand.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/nand/raw/mxc_nand.c b/drivers/mtd/nand/raw/mxc_nand.c
index de2ad2a028..e328eb0815 100644
--- a/drivers/mtd/nand/raw/mxc_nand.c
+++ b/drivers/mtd/nand/raw/mxc_nand.c
@@ -1809,7 +1809,8 @@ static int mxcnd_probe(struct device *dev)
        nand_set_controller_data(this, host);
        nand_set_flash_node(this, dev->of_node);
 
-       host->clk = clk_get(dev, NULL);
+       /* Clock support might not be implemented, so use the optional variant 
*/
+       host->clk = clk_get_optional(dev, NULL);
        if (IS_ERR(host->clk))
                return PTR_ERR(host->clk);
 
-- 
2.52.0


Reply via email to