.hw.init = &(struct clk_init_data){
                        .name = "gsbi1_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi2_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi3_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi4_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi5_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi6_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi7_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi8_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi9_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi10_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi11_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi12_uart_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi1_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi2_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi3_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi4_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi5_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi6_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi7_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi8_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi9_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi10_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi11_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gsbi12_qup_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gp0_src",
                        .parent_names = gcc_pxo_pll8_cxo,
-                       .num_parents = 3,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8_cxo),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_PARENT_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gp1_src",
                        .parent_names = gcc_pxo_pll8_cxo,
-                       .num_parents = 3,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8_cxo),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "gp2_src",
                        .parent_names = gcc_pxo_pll8_cxo,
-                       .num_parents = 3,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8_cxo),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "prng_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        },
                .hw.init = &(struct clk_init_data){
                        .name = "sdc1_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        }
                .hw.init = &(struct clk_init_data){
                        .name = "sdc2_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        }
                .hw.init = &(struct clk_init_data){
                        .name = "sdc3_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        }
                .hw.init = &(struct clk_init_data){
                        .name = "sdc4_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        }
                .hw.init = &(struct clk_init_data){
                        .name = "sdc5_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                },
        }
                .hw.init = &(struct clk_init_data){
                        .name = "tsif_ref_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_hs1_xcvr_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_hs3_xcvr_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_hs4_xcvr_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_hsic_xcvr_fs_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_hsic_xcvr_fs_clk",
                        .parent_names = usb_hsic_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_hsic_xcvr_fs_src_p),
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                },
                .enable_mask = BIT(4),
                .hw.init = &(struct clk_init_data){
                        .parent_names = usb_hsic_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_hsic_xcvr_fs_src_p),
                        .name = "usb_hsic_system_clk",
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                .hw.init = &(struct clk_init_data){
                        .name = "usb_fs1_xcvr_fs_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_fs1_xcvr_fs_clk",
                        .parent_names = usb_fs1_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_fs1_xcvr_fs_src_p),
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                },
                .enable_mask = BIT(4),
                .hw.init = &(struct clk_init_data){
                        .parent_names = usb_fs1_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_fs1_xcvr_fs_src_p),
                        .name = "usb_fs1_system_clk",
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                .hw.init = &(struct clk_init_data){
                        .name = "usb_fs2_xcvr_fs_src",
                        .parent_names = gcc_pxo_pll8,
-                       .num_parents = 2,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_fs2_xcvr_fs_clk",
                        .parent_names = usb_fs2_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_fs2_xcvr_fs_src_p),
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "usb_fs2_system_clk",
                        .parent_names = usb_fs2_xcvr_fs_src_p,
-                       .num_parents = 1,
+                       .num_parents = ARRAY_SIZE(usb_fs2_xcvr_fs_src_p),
                        .ops = &clk_branch_ops,
                        .flags = CLK_SET_RATE_PARENT,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "ce3_src",
                        .parent_names = gcc_pxo_pll8_pll3,
-                       .num_parents = 3,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8_pll3),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },
                .hw.init = &(struct clk_init_data){
                        .name = "sata_clk_src",
                        .parent_names = gcc_pxo_pll8_pll3,
-                       .num_parents = 3,
+                       .num_parents = ARRAY_SIZE(gcc_pxo_pll8_pll3),
                        .ops = &clk_rcg_ops,
                        .flags = CLK_SET_RATE_GATE,
                },