From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Taniya Das <quic_tdas@quicinc.com>
Cc: linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org,
Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH v3 07/10] clk: qcom: gcc-mdm9615: use parent_hws/_data instead of parent_names
Date: Mon, 15 May 2023 13:40:08 +0200 [thread overview]
Message-ID: <d472a73c-6ce5-9f4c-4498-0bdc5578ef89@linaro.org> (raw)
In-Reply-To: <20230512211727.3445575-8-dmitry.baryshkov@linaro.org>
On 12.05.2023 23:17, Dmitry Baryshkov wrote:
> Convert the clock driver to specify parent data rather than parent
> names, to actually bind using 'clock-names' specified in the DTS rather
> than global clock names. Use parent_hws where possible to refer parent
> clocks directly, skipping the lookup.
>
> Note, the system names for xo clocks were changed from "cxo" to
> "cxo_board" to follow the example of other platforms. This switches the
> clocks to use DT-provided "cxo_board" clock instead of manually
> registered "cxo" clock and allows us to drop the cxo clock.
>
> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Konrad
> drivers/clk/qcom/gcc-mdm9615.c | 206 ++++++++++++++++++++-------------
> 1 file changed, 124 insertions(+), 82 deletions(-)
>
> diff --git a/drivers/clk/qcom/gcc-mdm9615.c b/drivers/clk/qcom/gcc-mdm9615.c
> index 2f921891008d..458c18b639db 100644
> --- a/drivers/clk/qcom/gcc-mdm9615.c
> +++ b/drivers/clk/qcom/gcc-mdm9615.c
> @@ -37,6 +37,25 @@ static struct clk_fixed_factor cxo = {
> },
> };
>
> +enum {
> + DT_CXO,
> + DT_PLL4,
> +};
> +
> +enum {
> + P_CXO,
> + P_PLL8,
> + P_PLL14,
> +};
> +
> +static const struct parent_map gcc_cxo_map[] = {
> + { P_CXO, 0 },
> +};
> +
> +static const struct clk_parent_data gcc_cxo[] = {
> + { .index = DT_CXO, .name = "cxo_board" },
> +};
> +
> static struct clk_pll pll0 = {
> .l_reg = 0x30c4,
> .m_reg = 0x30c8,
> @@ -47,8 +66,8 @@ static struct clk_pll pll0 = {
> .status_bit = 16,
> .clkr.hw.init = &(struct clk_init_data){
> .name = "pll0",
> - .parent_names = (const char *[]){ "cxo" },
> - .num_parents = 1,
> + .parent_data = gcc_cxo,
> + .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_pll_ops,
> },
> };
> @@ -58,7 +77,9 @@ static struct clk_regmap pll0_vote = {
> .enable_mask = BIT(0),
> .hw.init = &(struct clk_init_data){
> .name = "pll0_vote",
> - .parent_names = (const char *[]){ "pll0" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &pll0.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_pll_vote_ops,
> },
> @@ -69,7 +90,9 @@ static struct clk_regmap pll4_vote = {
> .enable_mask = BIT(4),
> .hw.init = &(struct clk_init_data){
> .name = "pll4_vote",
> - .parent_names = (const char *[]){ "pll4" },
> + .parent_data = &(const struct clk_parent_data) {
> + .index = DT_PLL4, .name = "pll4",
> + },
> .num_parents = 1,
> .ops = &clk_pll_vote_ops,
> },
> @@ -85,8 +108,8 @@ static struct clk_pll pll8 = {
> .status_bit = 16,
> .clkr.hw.init = &(struct clk_init_data){
> .name = "pll8",
> - .parent_names = (const char *[]){ "cxo" },
> - .num_parents = 1,
> + .parent_data = gcc_cxo,
> + .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_pll_ops,
> },
> };
> @@ -96,7 +119,9 @@ static struct clk_regmap pll8_vote = {
> .enable_mask = BIT(8),
> .hw.init = &(struct clk_init_data){
> .name = "pll8_vote",
> - .parent_names = (const char *[]){ "pll8" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &pll8.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_pll_vote_ops,
> },
> @@ -112,8 +137,8 @@ static struct clk_pll pll14 = {
> .status_bit = 16,
> .clkr.hw.init = &(struct clk_init_data){
> .name = "pll14",
> - .parent_names = (const char *[]){ "cxo" },
> - .num_parents = 1,
> + .parent_data = gcc_cxo,
> + .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_pll_ops,
> },
> };
> @@ -123,26 +148,22 @@ static struct clk_regmap pll14_vote = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "pll14_vote",
> - .parent_names = (const char *[]){ "pll14" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &pll14.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_pll_vote_ops,
> },
> };
>
> -enum {
> - P_CXO,
> - P_PLL8,
> - P_PLL14,
> -};
> -
> static const struct parent_map gcc_cxo_pll8_map[] = {
> { P_CXO, 0 },
> { P_PLL8, 3 }
> };
>
> -static const char * const gcc_cxo_pll8[] = {
> - "cxo",
> - "pll8_vote",
> +static const struct clk_parent_data gcc_cxo_pll8[] = {
> + { .index = DT_CXO, .name = "cxo_board" },
> + { .hw = &pll8_vote.hw },
> };
>
> static const struct parent_map gcc_cxo_pll14_map[] = {
> @@ -150,17 +171,9 @@ static const struct parent_map gcc_cxo_pll14_map[] = {
> { P_PLL14, 4 }
> };
>
> -static const char * const gcc_cxo_pll14[] = {
> - "cxo",
> - "pll14_vote",
> -};
> -
> -static const struct parent_map gcc_cxo_map[] = {
> - { P_CXO, 0 },
> -};
> -
> -static const char * const gcc_cxo[] = {
> - "cxo",
> +static const struct clk_parent_data gcc_cxo_pll14[] = {
> + { .index = DT_CXO, .name = "cxo_board" },
> + { .hw = &pll14_vote.hw },
> };
>
> static struct freq_tbl clk_tbl_gsbi_uart[] = {
> @@ -206,7 +219,7 @@ static struct clk_rcg gsbi1_uart_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi1_uart_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -222,8 +235,8 @@ static struct clk_branch gsbi1_uart_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi1_uart_clk",
> - .parent_names = (const char *[]){
> - "gsbi1_uart_src",
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi1_uart_src.clkr.hw,
> },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> @@ -257,7 +270,7 @@ static struct clk_rcg gsbi2_uart_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi2_uart_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -273,8 +286,8 @@ static struct clk_branch gsbi2_uart_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi2_uart_clk",
> - .parent_names = (const char *[]){
> - "gsbi2_uart_src",
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi2_uart_src.clkr.hw,
> },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> @@ -308,7 +321,7 @@ static struct clk_rcg gsbi3_uart_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi3_uart_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -324,8 +337,8 @@ static struct clk_branch gsbi3_uart_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi3_uart_clk",
> - .parent_names = (const char *[]){
> - "gsbi3_uart_src",
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi3_uart_src.clkr.hw,
> },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> @@ -359,7 +372,7 @@ static struct clk_rcg gsbi4_uart_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi4_uart_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -375,8 +388,8 @@ static struct clk_branch gsbi4_uart_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi4_uart_clk",
> - .parent_names = (const char *[]){
> - "gsbi4_uart_src",
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi4_uart_src.clkr.hw,
> },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> @@ -410,7 +423,7 @@ static struct clk_rcg gsbi5_uart_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi5_uart_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -426,8 +439,8 @@ static struct clk_branch gsbi5_uart_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi5_uart_clk",
> - .parent_names = (const char *[]){
> - "gsbi5_uart_src",
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi5_uart_src.clkr.hw,
> },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> @@ -473,7 +486,7 @@ static struct clk_rcg gsbi1_qup_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi1_qup_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -489,7 +502,9 @@ static struct clk_branch gsbi1_qup_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi1_qup_clk",
> - .parent_names = (const char *[]){ "gsbi1_qup_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi1_qup_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -522,7 +537,7 @@ static struct clk_rcg gsbi2_qup_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi2_qup_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -538,7 +553,9 @@ static struct clk_branch gsbi2_qup_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi2_qup_clk",
> - .parent_names = (const char *[]){ "gsbi2_qup_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi2_qup_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -571,7 +588,7 @@ static struct clk_rcg gsbi3_qup_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi3_qup_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -587,7 +604,9 @@ static struct clk_branch gsbi3_qup_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi3_qup_clk",
> - .parent_names = (const char *[]){ "gsbi3_qup_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi3_qup_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -620,7 +639,7 @@ static struct clk_rcg gsbi4_qup_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi4_qup_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -636,7 +655,9 @@ static struct clk_branch gsbi4_qup_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi4_qup_clk",
> - .parent_names = (const char *[]){ "gsbi4_qup_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi4_qup_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -669,7 +690,7 @@ static struct clk_rcg gsbi5_qup_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi5_qup_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -685,7 +706,9 @@ static struct clk_branch gsbi5_qup_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gsbi5_qup_clk",
> - .parent_names = (const char *[]){ "gsbi5_qup_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gsbi5_qup_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -724,7 +747,7 @@ static struct clk_rcg gp0_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gp0_src",
> - .parent_names = gcc_cxo,
> + .parent_data = gcc_cxo,
> .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_PARENT_GATE,
> @@ -740,7 +763,9 @@ static struct clk_branch gp0_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gp0_clk",
> - .parent_names = (const char *[]){ "gp0_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gp0_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -773,7 +798,7 @@ static struct clk_rcg gp1_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gp1_src",
> - .parent_names = gcc_cxo,
> + .parent_data = gcc_cxo,
> .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -789,7 +814,9 @@ static struct clk_branch gp1_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gp1_clk",
> - .parent_names = (const char *[]){ "gp1_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gp1_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -822,7 +849,7 @@ static struct clk_rcg gp2_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "gp2_src",
> - .parent_names = gcc_cxo,
> + .parent_data = gcc_cxo,
> .num_parents = ARRAY_SIZE(gcc_cxo),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -838,7 +865,9 @@ static struct clk_branch gp2_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "gp2_clk",
> - .parent_names = (const char *[]){ "gp2_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &gp2_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -874,7 +903,7 @@ static struct clk_rcg prng_src = {
> .clkr = {
> .hw.init = &(struct clk_init_data){
> .name = "prng_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> },
> @@ -890,7 +919,9 @@ static struct clk_branch prng_clk = {
> .enable_mask = BIT(10),
> .hw.init = &(struct clk_init_data){
> .name = "prng_clk",
> - .parent_names = (const char *[]){ "prng_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &prng_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> },
> @@ -936,7 +967,7 @@ static struct clk_rcg sdc1_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "sdc1_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> },
> @@ -951,7 +982,9 @@ static struct clk_branch sdc1_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "sdc1_clk",
> - .parent_names = (const char *[]){ "sdc1_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &sdc1_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -984,7 +1017,7 @@ static struct clk_rcg sdc2_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "sdc2_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> },
> @@ -999,7 +1032,9 @@ static struct clk_branch sdc2_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "sdc2_clk",
> - .parent_names = (const char *[]){ "sdc2_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &sdc2_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -1037,7 +1072,7 @@ static struct clk_rcg usb_hs1_xcvr_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hs1_xcvr_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -1053,7 +1088,9 @@ static struct clk_branch usb_hs1_xcvr_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hs1_xcvr_clk",
> - .parent_names = (const char *[]){ "usb_hs1_xcvr_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &usb_hs1_xcvr_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -1086,7 +1123,7 @@ static struct clk_rcg usb_hsic_xcvr_fs_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hsic_xcvr_fs_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -1102,8 +1139,9 @@ static struct clk_branch usb_hsic_xcvr_fs_clk = {
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hsic_xcvr_fs_clk",
> - .parent_names =
> - (const char *[]){ "usb_hsic_xcvr_fs_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &usb_hsic_xcvr_fs_src.clkr.hw,
> + },
> .num_parents = 1,
> .ops = &clk_branch_ops,
> .flags = CLK_SET_RATE_PARENT,
> @@ -1141,7 +1179,7 @@ static struct clk_rcg usb_hs1_system_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hs1_system_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -1156,8 +1194,9 @@ static struct clk_branch usb_hs1_system_clk = {
> .enable_reg = 0x36a4,
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> - .parent_names =
> - (const char *[]){ "usb_hs1_system_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &usb_hs1_system_src.clkr.hw,
> + },
> .num_parents = 1,
> .name = "usb_hs1_system_clk",
> .ops = &clk_branch_ops,
> @@ -1196,7 +1235,7 @@ static struct clk_rcg usb_hsic_system_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hsic_system_src",
> - .parent_names = gcc_cxo_pll8,
> + .parent_data = gcc_cxo_pll8,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll8),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -1211,8 +1250,9 @@ static struct clk_branch usb_hsic_system_clk = {
> .enable_reg = 0x2b58,
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> - .parent_names =
> - (const char *[]){ "usb_hsic_system_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &usb_hsic_system_src.clkr.hw,
> + },
> .num_parents = 1,
> .name = "usb_hsic_system_clk",
> .ops = &clk_branch_ops,
> @@ -1251,7 +1291,7 @@ static struct clk_rcg usb_hsic_hsic_src = {
> .enable_mask = BIT(11),
> .hw.init = &(struct clk_init_data){
> .name = "usb_hsic_hsic_src",
> - .parent_names = gcc_cxo_pll14,
> + .parent_data = gcc_cxo_pll14,
> .num_parents = ARRAY_SIZE(gcc_cxo_pll14),
> .ops = &clk_rcg_ops,
> .flags = CLK_SET_RATE_GATE,
> @@ -1265,7 +1305,9 @@ static struct clk_branch usb_hsic_hsic_clk = {
> .enable_reg = 0x2b50,
> .enable_mask = BIT(9),
> .hw.init = &(struct clk_init_data){
> - .parent_names = (const char *[]){ "usb_hsic_hsic_src" },
> + .parent_hws = (const struct clk_hw*[]) {
> + &usb_hsic_hsic_src.clkr.hw,
> + },
> .num_parents = 1,
> .name = "usb_hsic_hsic_clk",
> .ops = &clk_branch_ops,
> @@ -1281,8 +1323,8 @@ static struct clk_branch usb_hsic_hsio_cal_clk = {
> .enable_reg = 0x2b48,
> .enable_mask = BIT(0),
> .hw.init = &(struct clk_init_data){
> - .parent_names = (const char *[]){ "cxo" },
> - .num_parents = 1,
> + .parent_data = gcc_cxo,
> + .num_parents = ARRAY_SIZE(gcc_cxo),
> .name = "usb_hsic_hsio_cal_clk",
> .ops = &clk_branch_ops,
> },
next prev parent reply other threads:[~2023-05-15 11:53 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 21:17 [PATCH v3 00/10] clk: qcom: convert mdm9615 to parent_hws/_data Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 01/10] dt-bindings: clock: qcom,lcc.yaml: describe clocks for lcc,qcom-mdm9615 Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 02/10] dt-bindings: clock: drop qcom,lcc-mdm9615 header file Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 03/10] dt-bindings: clock: provide separate bindings for qcom,gcc-mdm9615 Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 04/10] clk: qcom: gcc-mdm9615: use ARRAY_SIZE instead of specifying num_parents Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 05/10] clk: qcom: drop lcc-mdm9615 in favour of lcc-msm8960 Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 06/10] clk: qcom: gcc-mdm9615: use proper parent for pll0_vote clock Dmitry Baryshkov
2023-05-15 11:38 ` Konrad Dybcio
2023-05-12 21:17 ` [PATCH v3 07/10] clk: qcom: gcc-mdm9615: use parent_hws/_data instead of parent_names Dmitry Baryshkov
2023-05-15 11:40 ` Konrad Dybcio [this message]
2023-05-12 21:17 ` [PATCH v3 08/10] clk: qcom: gcc-mdm9615: drop the cxo clock Dmitry Baryshkov
2023-05-15 11:40 ` Konrad Dybcio
2023-06-13 23:41 ` Bjorn Andersson
2023-06-21 14:15 ` Dmitry Baryshkov
2023-05-12 21:17 ` [PATCH v3 09/10] ARM: dts: qcom-mdm9615: specify clocks for the lcc device Dmitry Baryshkov
2023-05-13 9:20 ` Krzysztof Kozlowski
2023-05-16 17:44 ` Dmitry Baryshkov
2023-05-17 7:42 ` Krzysztof Kozlowski
2023-05-12 21:17 ` [PATCH v3 10/10] ARM: dts: qcom-mdm9615: specify gcc clocks Dmitry Baryshkov
2023-07-31 23:52 ` (subset) [PATCH v3 00/10] clk: qcom: convert mdm9615 to parent_hws/_data Bjorn Andersson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d472a73c-6ce5-9f4c-4498-0bdc5578ef89@linaro.org \
--to=konrad.dybcio@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=neil.armstrong@linaro.org \
--cc=quic_tdas@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).