Message ID | 20190619082307.GA27382@wens.csie.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [GIT,PULL] clk: sunxi-ng: clk parent rewrite part 1 | expand |
On Wed, Jun 19, 2019 at 4:29 PM Chen-Yu Tsai <wens@kernel.org> wrote: > > 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 tags/sunxi-ng-parent-rewrite-part-1 > > for you to fetch changes up to 594d7e8fbe906ad3162ad84ae74acfbdcf8fa3a5: > > clk: sunxi-ng: sun8i-r: Use local parent references for SUNXI_CCU_GATE (2019-06-18 19:53:33 +0800) > > ---------------------------------------------------------------- > Allwinner sunxi-ng clk driver parent relation rewrite part 1 > > 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 ++++++--- This has some build errors in it. I'll respin. Sorry for the noise. ChenYu > 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(-)