for (i = 0; i < num; i++) {
                const struct mtk_composite *mux = &clks[i];
 
+               if (!IS_ERR_OR_NULL(clk_data->clks[mux->id])) {
+                       pr_warn("%pOF: Trying to register duplicate clock ID: %d\n",
+                               node, mux->id);
+                       continue;
+               }
+
                clk = mtk_clk_register_cpumux(mux, regmap);
                if (IS_ERR(clk)) {
                        pr_err("Failed to register clk %s: %pe\n", mux->name, clk);
 
        for (i = 0; i < num; i++) {
                const struct mtk_gate *gate = &clks[i];
 
-               if (!IS_ERR_OR_NULL(clk_data->clks[gate->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[gate->id])) {
+                       pr_warn("%pOF: Trying to register duplicate clock ID: %d\n",
+                               node, gate->id);
                        continue;
+               }
 
                clk = mtk_clk_register_gate(gate->name, gate->parent_name,
                                            regmap,
 
        for (i = 0; i < num; i++) {
                const struct mtk_fixed_clk *rc = &clks[i];
 
-               if (!IS_ERR_OR_NULL(clk_data->clks[rc->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[rc->id])) {
+                       pr_warn("Trying to register duplicate clock ID: %d\n", rc->id);
                        continue;
+               }
 
                clk = clk_register_fixed_rate(NULL, rc->name, rc->parent, 0,
                                              rc->rate);
        for (i = 0; i < num; i++) {
                const struct mtk_fixed_factor *ff = &clks[i];
 
-               if (!IS_ERR_OR_NULL(clk_data->clks[ff->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[ff->id])) {
+                       pr_warn("Trying to register duplicate clock ID: %d\n", ff->id);
                        continue;
+               }
 
                clk = clk_register_fixed_factor(NULL, ff->name, ff->parent_name,
                                CLK_SET_RATE_PARENT, ff->mult, ff->div);
        for (i = 0; i < num; i++) {
                const struct mtk_composite *mc = &mcs[i];
 
-               if (clk_data && !IS_ERR_OR_NULL(clk_data->clks[mc->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[mc->id])) {
+                       pr_warn("Trying to register duplicate clock ID: %d\n",
+                               mc->id);
                        continue;
+               }
 
                clk = mtk_clk_register_composite(mc, base, lock);
 
        for (i = 0; i <  num; i++) {
                const struct mtk_clk_divider *mcd = &mcds[i];
 
-               if (!IS_ERR_OR_NULL(clk_data->clks[mcd->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[mcd->id])) {
+                       pr_warn("Trying to register duplicate clock ID: %d\n",
+                               mcd->id);
                        continue;
+               }
 
                clk = clk_register_divider(NULL, mcd->name, mcd->parent_name,
                        mcd->flags, base +  mcd->div_reg, mcd->div_shift,
 
        for (i = 0; i < num; i++) {
                const struct mtk_mux *mux = &muxes[i];
 
-               if (!IS_ERR_OR_NULL(clk_data->clks[mux->id]))
+               if (!IS_ERR_OR_NULL(clk_data->clks[mux->id])) {
+                       pr_warn("%pOF: Trying to register duplicate clock ID: %d\n",
+                               node, mux->id);
                        continue;
+               }
 
                clk = mtk_clk_register_mux(mux, regmap, lock);