mtd: rawnand: denali_dt: make the core clock optional
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Tue, 21 Jan 2020 19:03:10 +0000 (20:03 +0100)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 31 Jan 2020 16:14:32 +0000 (01:14 +0900)
The "nand_x" and "ecc" clocks are currently optional. Make the core
clock optional in the same way. This will allow platforms with no clock
driver support to use this driver.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Tested-by: Marek Vasut <marex@denx.de> # On SoCFPGA Arria V
drivers/mtd/nand/raw/denali_dt.c

index 0ce81324b90e468ef037b4326fe44b1949657c61..b1e14982c443fd1d55677e8805733a73089aee25 100644 (file)
@@ -91,7 +91,7 @@ static int denali_dt_probe(struct udevice *dev)
        if (ret)
                ret = clk_get_by_index(dev, 0, &clk);
        if (ret)
-               return ret;
+               clk.dev = NULL;
 
        ret = clk_get_by_name(dev, "nand_x", &clk_x);
        if (ret)
@@ -101,9 +101,11 @@ static int denali_dt_probe(struct udevice *dev)
        if (ret)
                clk_ecc.dev = NULL;
 
-       ret = clk_enable(&clk);
-       if (ret)
-               return ret;
+       if (clk.dev) {
+               ret = clk_enable(&clk);
+               if (ret)
+                       return ret;
+       }
 
        if (clk_x.dev) {
                ret = clk_enable(&clk_x);