* [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 @ 2019-06-22 2:22 ` Chen-Yu Tsai 0 siblings, 0 replies; 6+ messages in thread From: Chen-Yu Tsai @ 2019-06-22 2:22 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Maxime Ripard, Chen-Yu Tsai, linux-clk, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 5341 bytes --] Hi, Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c fixed. The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) ---------------------------------------------------------------- Allwinner sunxi-ng clk driver parent relation rewrite part 1 - take 2 The first part of ongoing work to convert the sunxi-ng clk driver from using global clock name strings to describe clk parenting, to having direct struct clk_hw pointers, or local names based on clock-names from the device tree binding. This is based on Stephen Boyd's recent work allowing clk drivers to specify clk parents using struct clk_hw * or parsing DT phandles in the clk node. This series can be split into a few major parts: 1) The first patch is a small fix for clk debugfs representation. 2) A bunch of CLK_HW_INIT_* helper macros are added. These cover the situations I encountered, or assume I will encounter, such as single internal (struct clk_hw *) parent, single DT (struct clk_parent_data .fw_name), multiple internal parents, and multiple mixed (internal + DT) parents. A special variant for just an internal single parent is added, CLK_HW_INIT_HWS, which lets the driver share the singular list, instead of having the compiler create a compound literal every time. It might even make sense to only keep this variant. 3) A bunch of CLK_FIXED_FACTOR_* helper macros are added. The rationale is the same as the single parent CLK_HW_INIT_* helpers. 4) Bulk conversion of CLK_FIXED_FACTOR to use local parent references, either struct clk_hw * or DT .fw_name types, whichever the hardware requires. 5) The beginning of SUNXI_CCU_GATE conversion to local parent references. This part is not done. They are included as justification and examples for the shared list of clk parents case. ---------------------------------------------------------------- Chen-Yu Tsai (25): clk: Fix debugfs clk_possible_parents for clks without parent string names clk: Add CLK_HW_INIT_* macros using .parent_hws clk: Add CLK_HW_INIT_FW_NAME macro using .fw_name in .parent_data clk: Add CLK_HW_INIT_PARENT_DATA macro using .parent_data clk: fixed-factor: Add CLK_FIXED_FACTOR_HW which takes clk_hw pointer as parent clk: fixed-factor: Add CLK_FIXED_FACTOR_HWS which takes list of struct clk_hw * clk: fixed-factor: Add CLK_FIXED_FACTOR_FW_NAME for DT clock-names parent clk: sunxi-ng: switch to of_clk_hw_register() for registering clks clk: sunxi-ng: sun8i-r: Use local parent references for CLK_HW_INIT_* clk: sunxi-ng: a10: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: sun5i: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a31: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a23: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a33: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h3: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: r40: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: v3s: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: sun8i-r: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: f1c100s: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a64: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h6: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h6-r: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: gate: Add macros for referencing local clock parents clk: sunxi-ng: a80-usb: Use local parent references for SUNXI_CCU_GATE clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE drivers/clk/clk.c | 44 ++++++++++++- drivers/clk/sunxi-ng/ccu-sun4i-a10.c | 39 +++++++----- drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 41 +++++++----- drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c | 2 +- drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 69 ++++++++++++-------- drivers/clk/sunxi-ng/ccu-sun5i.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun6i-a31.c | 39 +++++++----- drivers/clk/sunxi-ng/ccu-sun8i-a23.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun8i-a33.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu-sun8i-r.c | 104 +++++++++++++++---------------- drivers/clk/sunxi-ng/ccu-sun8i-r40.c | 46 +++++++++----- drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu-sun9i-a80-usb.c | 32 ++++++---- drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu_common.c | 2 +- drivers/clk/sunxi-ng/ccu_gate.h | 53 ++++++++++++++++ include/linux/clk-provider.h | 89 ++++++++++++++++++++++++++ 18 files changed, 526 insertions(+), 223 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 @ 2019-06-22 2:22 ` Chen-Yu Tsai 0 siblings, 0 replies; 6+ messages in thread From: Chen-Yu Tsai @ 2019-06-22 2:22 UTC (permalink / raw) To: Michael Turquette, Stephen Boyd Cc: Maxime Ripard, Chen-Yu Tsai, linux-clk, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 5341 bytes --] Hi, Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c fixed. The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) ---------------------------------------------------------------- Allwinner sunxi-ng clk driver parent relation rewrite part 1 - take 2 The first part of ongoing work to convert the sunxi-ng clk driver from using global clock name strings to describe clk parenting, to having direct struct clk_hw pointers, or local names based on clock-names from the device tree binding. This is based on Stephen Boyd's recent work allowing clk drivers to specify clk parents using struct clk_hw * or parsing DT phandles in the clk node. This series can be split into a few major parts: 1) The first patch is a small fix for clk debugfs representation. 2) A bunch of CLK_HW_INIT_* helper macros are added. These cover the situations I encountered, or assume I will encounter, such as single internal (struct clk_hw *) parent, single DT (struct clk_parent_data .fw_name), multiple internal parents, and multiple mixed (internal + DT) parents. A special variant for just an internal single parent is added, CLK_HW_INIT_HWS, which lets the driver share the singular list, instead of having the compiler create a compound literal every time. It might even make sense to only keep this variant. 3) A bunch of CLK_FIXED_FACTOR_* helper macros are added. The rationale is the same as the single parent CLK_HW_INIT_* helpers. 4) Bulk conversion of CLK_FIXED_FACTOR to use local parent references, either struct clk_hw * or DT .fw_name types, whichever the hardware requires. 5) The beginning of SUNXI_CCU_GATE conversion to local parent references. This part is not done. They are included as justification and examples for the shared list of clk parents case. ---------------------------------------------------------------- Chen-Yu Tsai (25): clk: Fix debugfs clk_possible_parents for clks without parent string names clk: Add CLK_HW_INIT_* macros using .parent_hws clk: Add CLK_HW_INIT_FW_NAME macro using .fw_name in .parent_data clk: Add CLK_HW_INIT_PARENT_DATA macro using .parent_data clk: fixed-factor: Add CLK_FIXED_FACTOR_HW which takes clk_hw pointer as parent clk: fixed-factor: Add CLK_FIXED_FACTOR_HWS which takes list of struct clk_hw * clk: fixed-factor: Add CLK_FIXED_FACTOR_FW_NAME for DT clock-names parent clk: sunxi-ng: switch to of_clk_hw_register() for registering clks clk: sunxi-ng: sun8i-r: Use local parent references for CLK_HW_INIT_* clk: sunxi-ng: a10: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: sun5i: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a31: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a23: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a33: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h3: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: r40: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: v3s: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: sun8i-r: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: f1c100s: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: a64: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h6: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: h6-r: Use local parent references for CLK_FIXED_FACTOR clk: sunxi-ng: gate: Add macros for referencing local clock parents clk: sunxi-ng: a80-usb: Use local parent references for SUNXI_CCU_GATE clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE drivers/clk/clk.c | 44 ++++++++++++- drivers/clk/sunxi-ng/ccu-sun4i-a10.c | 39 +++++++----- drivers/clk/sunxi-ng/ccu-sun50i-a64.c | 41 +++++++----- drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c | 2 +- drivers/clk/sunxi-ng/ccu-sun50i-h6.c | 69 ++++++++++++-------- drivers/clk/sunxi-ng/ccu-sun5i.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun6i-a31.c | 39 +++++++----- drivers/clk/sunxi-ng/ccu-sun8i-a23.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun8i-a33.c | 34 ++++++---- drivers/clk/sunxi-ng/ccu-sun8i-h3.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu-sun8i-r.c | 104 +++++++++++++++---------------- drivers/clk/sunxi-ng/ccu-sun8i-r40.c | 46 +++++++++----- drivers/clk/sunxi-ng/ccu-sun8i-v3s.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu-sun9i-a80-usb.c | 32 ++++++---- drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c | 29 ++++++--- drivers/clk/sunxi-ng/ccu_common.c | 2 +- drivers/clk/sunxi-ng/ccu_gate.h | 53 ++++++++++++++++ include/linux/clk-provider.h | 89 ++++++++++++++++++++++++++ 18 files changed, 526 insertions(+), 223 deletions(-) [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 2019-06-22 2:22 ` Chen-Yu Tsai @ 2019-06-25 3:01 ` Stephen Boyd -1 siblings, 0 replies; 6+ messages in thread From: Stephen Boyd @ 2019-06-25 3:01 UTC (permalink / raw) To: Chen-Yu Tsai, Michael Turquette Cc: Maxime Ripard, Chen-Yu Tsai, linux-clk, linux-arm-kernel Quoting Chen-Yu Tsai (2019-06-21 19:22:54) > Hi, > > Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c > fixed. > > The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: > > Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) > > are available in the Git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 > > for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: > > clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) > > ---------------------------------------------------------------- Thanks. Pulled into clk-next. I applied this patch on top though to clean up the debugfs patch. A newline was missing. Does it make sense? I haven't tested it at all. diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 093161ca4dcc..09d8e84a1968 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -2997,11 +2997,10 @@ static int clk_flags_show(struct seq_file *s, void *data) } DEFINE_SHOW_ATTRIBUTE(clk_flags); -static int possible_parents_show(struct seq_file *s, void *data) +static void possible_parent_show(struct seq_file *s, struct clk_core *core, + unsigned int i, char terminator) { - struct clk_core *core = s->private; struct clk_core *parent; - int i; /* * Go through the following options to fetch a parent's name. @@ -3015,22 +3014,6 @@ static int possible_parents_show(struct seq_file *s, void *data) * specified directly via a struct clk_hw pointer, but it isn't * registered (yet). */ - for (i = 0; i < core->num_parents - 1; i++) { - parent = clk_core_get_parent_by_index(core, i); - if (parent) - seq_printf(s, "%s ", parent->name); - else if (core->parents[i].name) - seq_printf(s, "%s ", core->parents[i].name); - else if (core->parents[i].fw_name) - seq_printf(s, "<%s>(fw) ", core->parents[i].fw_name); - else if (core->parents[i].index >= 0) - seq_printf(s, "%s ", - of_clk_get_parent_name(core->of_node, - core->parents[i].index)); - else - seq_puts(s, "(missing) "); - } - parent = clk_core_get_parent_by_index(core, i); if (parent) seq_printf(s, "%s", parent->name); @@ -3045,6 +3028,19 @@ static int possible_parents_show(struct seq_file *s, void *data) else seq_puts(s, "(missing)"); + seq_putc(s, terminator); +} + +static int possible_parents_show(struct seq_file *s, void *data) +{ + struct clk_core *core = s->private; + int i; + + for (i = 0; i < core->num_parents - 1; i++) + possible_parent_show(s, core, i, ' '); + + possible_parent_show(s, core, i, '\n'); + return 0; } DEFINE_SHOW_ATTRIBUTE(possible_parents); ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 @ 2019-06-25 3:01 ` Stephen Boyd 0 siblings, 0 replies; 6+ messages in thread From: Stephen Boyd @ 2019-06-25 3:01 UTC (permalink / raw) To: Chen-Yu Tsai, Michael Turquette Cc: Maxime Ripard, Chen-Yu Tsai, linux-clk, linux-arm-kernel Quoting Chen-Yu Tsai (2019-06-21 19:22:54) > Hi, > > Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c > fixed. > > The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: > > Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) > > are available in the Git repository at: > > https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 > > for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: > > clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) > > ---------------------------------------------------------------- Thanks. Pulled into clk-next. I applied this patch on top though to clean up the debugfs patch. A newline was missing. Does it make sense? I haven't tested it at all. diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 093161ca4dcc..09d8e84a1968 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -2997,11 +2997,10 @@ static int clk_flags_show(struct seq_file *s, void *data) } DEFINE_SHOW_ATTRIBUTE(clk_flags); -static int possible_parents_show(struct seq_file *s, void *data) +static void possible_parent_show(struct seq_file *s, struct clk_core *core, + unsigned int i, char terminator) { - struct clk_core *core = s->private; struct clk_core *parent; - int i; /* * Go through the following options to fetch a parent's name. @@ -3015,22 +3014,6 @@ static int possible_parents_show(struct seq_file *s, void *data) * specified directly via a struct clk_hw pointer, but it isn't * registered (yet). */ - for (i = 0; i < core->num_parents - 1; i++) { - parent = clk_core_get_parent_by_index(core, i); - if (parent) - seq_printf(s, "%s ", parent->name); - else if (core->parents[i].name) - seq_printf(s, "%s ", core->parents[i].name); - else if (core->parents[i].fw_name) - seq_printf(s, "<%s>(fw) ", core->parents[i].fw_name); - else if (core->parents[i].index >= 0) - seq_printf(s, "%s ", - of_clk_get_parent_name(core->of_node, - core->parents[i].index)); - else - seq_puts(s, "(missing) "); - } - parent = clk_core_get_parent_by_index(core, i); if (parent) seq_printf(s, "%s", parent->name); @@ -3045,6 +3028,19 @@ static int possible_parents_show(struct seq_file *s, void *data) else seq_puts(s, "(missing)"); + seq_putc(s, terminator); +} + +static int possible_parents_show(struct seq_file *s, void *data) +{ + struct clk_core *core = s->private; + int i; + + for (i = 0; i < core->num_parents - 1; i++) + possible_parent_show(s, core, i, ' '); + + possible_parent_show(s, core, i, '\n'); + return 0; } DEFINE_SHOW_ATTRIBUTE(possible_parents); _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 2019-06-25 3:01 ` Stephen Boyd @ 2019-06-25 3:15 ` Chen-Yu Tsai -1 siblings, 0 replies; 6+ messages in thread From: Chen-Yu Tsai @ 2019-06-25 3:15 UTC (permalink / raw) To: Stephen Boyd Cc: Chen-Yu Tsai, Michael Turquette, Maxime Ripard, linux-clk, linux-arm-kernel On Tue, Jun 25, 2019 at 11:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > > Quoting Chen-Yu Tsai (2019-06-21 19:22:54) > > Hi, > > > > Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c > > fixed. > > > > The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: > > > > Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) > > > > are available in the Git repository at: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 > > > > for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: > > > > clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) > > > > ---------------------------------------------------------------- > > Thanks. Pulled into clk-next. I applied this patch on top though to > clean up the debugfs patch. A newline was missing. Does it make sense? I > haven't tested it at all. Looks good to me. Thanks for the cleanup. Tested-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Chen-Yu Tsai <wens@csie.org> > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index 093161ca4dcc..09d8e84a1968 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -2997,11 +2997,10 @@ static int clk_flags_show(struct seq_file *s, void *data) > } > DEFINE_SHOW_ATTRIBUTE(clk_flags); > > -static int possible_parents_show(struct seq_file *s, void *data) > +static void possible_parent_show(struct seq_file *s, struct clk_core *core, > + unsigned int i, char terminator) > { > - struct clk_core *core = s->private; > struct clk_core *parent; > - int i; > > /* > * Go through the following options to fetch a parent's name. > @@ -3015,22 +3014,6 @@ static int possible_parents_show(struct seq_file *s, void *data) > * specified directly via a struct clk_hw pointer, but it isn't > * registered (yet). > */ > - for (i = 0; i < core->num_parents - 1; i++) { > - parent = clk_core_get_parent_by_index(core, i); > - if (parent) > - seq_printf(s, "%s ", parent->name); > - else if (core->parents[i].name) > - seq_printf(s, "%s ", core->parents[i].name); > - else if (core->parents[i].fw_name) > - seq_printf(s, "<%s>(fw) ", core->parents[i].fw_name); > - else if (core->parents[i].index >= 0) > - seq_printf(s, "%s ", > - of_clk_get_parent_name(core->of_node, > - core->parents[i].index)); > - else > - seq_puts(s, "(missing) "); > - } > - > parent = clk_core_get_parent_by_index(core, i); > if (parent) > seq_printf(s, "%s", parent->name); > @@ -3045,6 +3028,19 @@ static int possible_parents_show(struct seq_file *s, void *data) > else > seq_puts(s, "(missing)"); > > + seq_putc(s, terminator); > +} > + > +static int possible_parents_show(struct seq_file *s, void *data) > +{ > + struct clk_core *core = s->private; > + int i; > + > + for (i = 0; i < core->num_parents - 1; i++) > + possible_parent_show(s, core, i, ' '); > + > + possible_parent_show(s, core, i, '\n'); > + > return 0; > } > DEFINE_SHOW_ATTRIBUTE(possible_parents); > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 @ 2019-06-25 3:15 ` Chen-Yu Tsai 0 siblings, 0 replies; 6+ messages in thread From: Chen-Yu Tsai @ 2019-06-25 3:15 UTC (permalink / raw) To: Stephen Boyd Cc: Maxime Ripard, Michael Turquette, Chen-Yu Tsai, linux-clk, linux-arm-kernel On Tue, Jun 25, 2019 at 11:01 AM Stephen Boyd <sboyd@kernel.org> wrote: > > Quoting Chen-Yu Tsai (2019-06-21 19:22:54) > > Hi, > > > > Take 2 has build errors in drivers/clk/sunxi-ng/ccu-suniv-f1c100s.c > > fixed. > > > > The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: > > > > Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) > > > > are available in the Git repository at: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git sunxi-ng-parent-rewrite-part-1-take-2 > > > > for you to fetch changes up to 89f27fb2dd348d8d52a97e6ebec15c64fe461a25: > > > > clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-22 10:13:16 +0800) > > > > ---------------------------------------------------------------- > > Thanks. Pulled into clk-next. I applied this patch on top though to > clean up the debugfs patch. A newline was missing. Does it make sense? I > haven't tested it at all. Looks good to me. Thanks for the cleanup. Tested-by: Chen-Yu Tsai <wens@csie.org> Reviewed-by: Chen-Yu Tsai <wens@csie.org> > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index 093161ca4dcc..09d8e84a1968 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -2997,11 +2997,10 @@ static int clk_flags_show(struct seq_file *s, void *data) > } > DEFINE_SHOW_ATTRIBUTE(clk_flags); > > -static int possible_parents_show(struct seq_file *s, void *data) > +static void possible_parent_show(struct seq_file *s, struct clk_core *core, > + unsigned int i, char terminator) > { > - struct clk_core *core = s->private; > struct clk_core *parent; > - int i; > > /* > * Go through the following options to fetch a parent's name. > @@ -3015,22 +3014,6 @@ static int possible_parents_show(struct seq_file *s, void *data) > * specified directly via a struct clk_hw pointer, but it isn't > * registered (yet). > */ > - for (i = 0; i < core->num_parents - 1; i++) { > - parent = clk_core_get_parent_by_index(core, i); > - if (parent) > - seq_printf(s, "%s ", parent->name); > - else if (core->parents[i].name) > - seq_printf(s, "%s ", core->parents[i].name); > - else if (core->parents[i].fw_name) > - seq_printf(s, "<%s>(fw) ", core->parents[i].fw_name); > - else if (core->parents[i].index >= 0) > - seq_printf(s, "%s ", > - of_clk_get_parent_name(core->of_node, > - core->parents[i].index)); > - else > - seq_puts(s, "(missing) "); > - } > - > parent = clk_core_get_parent_by_index(core, i); > if (parent) > seq_printf(s, "%s", parent->name); > @@ -3045,6 +3028,19 @@ static int possible_parents_show(struct seq_file *s, void *data) > else > seq_puts(s, "(missing)"); > > + seq_putc(s, terminator); > +} > + > +static int possible_parents_show(struct seq_file *s, void *data) > +{ > + struct clk_core *core = s->private; > + int i; > + > + for (i = 0; i < core->num_parents - 1; i++) > + possible_parent_show(s, core, i, ' '); > + > + possible_parent_show(s, core, i, '\n'); > + > return 0; > } > DEFINE_SHOW_ATTRIBUTE(possible_parents); > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-06-25 3:15 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-06-22 2:22 [GIT PULL] clk: sunxi-ng: clk parent rewrite part 1 - take 2 Chen-Yu Tsai 2019-06-22 2:22 ` Chen-Yu Tsai 2019-06-25 3:01 ` Stephen Boyd 2019-06-25 3:01 ` Stephen Boyd 2019-06-25 3:15 ` Chen-Yu Tsai 2019-06-25 3:15 ` Chen-Yu Tsai
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.