.clkr.hw.init = &(struct clk_init_data){
                .name = "byte0_clk_src",
                .parent_data = mmss_xo_dsibyte,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsibyte),
                .ops = &clk_byte2_ops,
                .flags = CLK_SET_RATE_PARENT,
        },
        .clkr.hw.init = &(struct clk_init_data){
                .name = "byte1_clk_src",
                .parent_data = mmss_xo_dsibyte,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsibyte),
                .ops = &clk_byte2_ops,
                .flags = CLK_SET_RATE_PARENT,
        },
        .clkr.hw.init = &(struct clk_init_data){
                .name = "cci_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "cpp_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi0_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi1_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi2_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi3_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csiphy_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi0phytimer_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi1phytimer_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "csi2phytimer_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "dp_aux_clk_src",
                .parent_data = mmss_xo_gpll0_gpll0_div,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "dp_crypto_clk_src",
                .parent_data = mmss_xo_dp,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dp),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "dp_link_clk_src",
                .parent_data = mmss_xo_dp,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dp),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "dp_pixel_clk_src",
                .parent_data = mmss_xo_dp,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dp),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "esc0_clk_src",
                .parent_data = mmss_xo_dsibyte,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsibyte),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "esc1_clk_src",
                .parent_data = mmss_xo_dsibyte,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsibyte),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "extpclk_clk_src",
                .parent_data = mmss_xo_hdmi,
-               .num_parents = 3,
+               .num_parents = ARRAY_SIZE(mmss_xo_hdmi),
                .ops = &clk_byte_ops,
                .flags = CLK_SET_RATE_PARENT,
        },
        .clkr.hw.init = &(struct clk_init_data){
                .name = "fd_core_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "hdmi_clk_src",
                .parent_data = mmss_xo_gpll0_gpll0_div,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "jpeg0_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "maxi_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll1_gpll0_gpll0_div,
-               .num_parents = 6,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll1_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "mclk0_clk_src",
                .parent_data = mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "mclk1_clk_src",
                .parent_data = mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "mclk2_clk_src",
                .parent_data = mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "mclk3_clk_src",
                .parent_data = mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "mdp_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll5_gpll0_gpll0_div,
-               .num_parents = 6,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll5_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "vsync_clk_src",
                .parent_data = mmss_xo_gpll0_gpll0_div,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "ahb_clk_src",
                .parent_data = mmss_xo_mmpll0_gpll0_gpll0_div,
-               .num_parents = 5,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "axi_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll1_gpll0_gpll0_div,
-               .num_parents = 6,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll1_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "pclk0_clk_src",
                .parent_data = mmss_xo_dsi0pll_dsi1pll,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsi0pll_dsi1pll),
                .ops = &clk_pixel_ops,
                .flags = CLK_SET_RATE_PARENT,
        },
        .clkr.hw.init = &(struct clk_init_data){
                .name = "pclk1_clk_src",
                .parent_data = mmss_xo_dsi0pll_dsi1pll,
-               .num_parents = 4,
+               .num_parents = ARRAY_SIZE(mmss_xo_dsi0pll_dsi1pll),
                .ops = &clk_pixel_ops,
                .flags = CLK_SET_RATE_PARENT,
        },
        .clkr.hw.init = &(struct clk_init_data){
                .name = "rot_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll5_gpll0_gpll0_div,
-               .num_parents = 6,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll5_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "video_core_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "video_subcore0_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "video_subcore1_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div,
-               .num_parents = 7,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll3_mmpll6_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "vfe0_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };
        .clkr.hw.init = &(struct clk_init_data){
                .name = "vfe1_clk_src",
                .parent_data = mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div,
-               .num_parents = 8,
+               .num_parents = ARRAY_SIZE(mmss_xo_mmpll0_mmpll4_mmpll7_mmpll10_gpll0_gpll0_div),
                .ops = &clk_rcg2_ops,
        },
 };