clk: berlin: prepare simple-mfd conversion
[firefly-linux-kernel-4.4.55.git] / drivers / clk / berlin / bg2.c
index 515fb133495cc9a7cfafdccd815cffef8ec39767..d8e57097518b06bff3cd6e3d94a1933086ca6c46 100644 (file)
@@ -502,11 +502,15 @@ static const struct berlin2_gate_data bg2_gates[] __initconst = {
 
 static void __init berlin2_clock_setup(struct device_node *np)
 {
+       struct device_node *parent_np = of_get_parent(np);
        const char *parent_names[9];
        struct clk *clk;
        u8 avpll_flags = 0;
        int n;
 
+       if (of_device_is_compatible(parent_np, "syscon"))
+               np = parent_np;
+
        gbase = of_iomap(np, 0);
        if (!gbase)
                return;
@@ -689,3 +693,5 @@ CLK_OF_DECLARE(berlin2_clock, "marvell,berlin2-chip-ctrl",
               berlin2_clock_setup);
 CLK_OF_DECLARE(berlin2cd_clock, "marvell,berlin2cd-chip-ctrl",
               berlin2_clock_setup);
+CLK_OF_DECLARE(berlin2_clk, "marvell,berlin2-clk",
+              berlin2_clock_setup);