• Linus Torvalds's avatar
    Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 36001a2f
    Linus Torvalds authored
    Pull clk updates from Stephen Boyd:
     "The clk core gains a new set of APIs that allow drivers to both
      acquire clks and prepare and enable them at the same time. This also
      comes with devm support so that drivers can make a single call to get
      and prepare and enable the clk and have that all undone when their
      driver is removed.
    
      Many folks have requested this feature over the years, but we've had
      disagreements about how to implement it and if it was worthwhile to
      encourage drivers to use such an API.
    
      Now it's here, so let's see how it goes.
    
      I hope that by introducing this API we can identify drivers that would
      benefit from further consolidation of clk API usage, possibly by
      moving such logic to the bus layer and out of drivers altogether.
    
      Outside of that major API update, we have the usual collection of
      driver updates. A few new SoCs are supported, mostly Qualcomm and
      Renesas this time around. Then we have the long tail of non-critical
      fixes and minor feature additions to various clk drivers.
    
      And finally more clk provider migration to struct clk_parent_data,
      reducing boot times in the process.
    
      Summary:
    
      Core:
    
       - devm helpers for clk_get() + clk_prepare() and clk_enable()
    
      New Drivers:
    
       - Support for the camera clock controller in Qualcomm SM8450 and the
         display and gpu clock controllers in Qualcomm SM8350
    
       - Add support for the Renesas RZ/Five SoC
    
      Updates:
    
       - Various fixes, new clocks and USB GDSCs are introduced for Qualcomm
         IPQ8074
    
       - Fixes to Qualcomm MSM8939 for issues introduced by inheriting the
         MSM8916 GCC driver
    
       - Support for a new type of voteable GDSCs used by Qualcomm SC8280XP
         PCIe GDSCs
    
       - Qualcomm SC8280XP pipe clocks transitioned to the new phy-mux
         implementation
    
       - Qualcomm MSM8996 GCC, RPM clock driver and some clocks in MSM8994
         GCC are migrated to use clk_parent_data
    
       - Corrected the topology for Titan (camera) GDSCs on Qualcomm SDM845
         and SM8250
    
       - Qualcomm MSM8916 gains more possible frequencies for its GP clocks.
    
       - The GCC and tsens handling on Qualcomm MSM8960 is reworked to mimic
         the design in IPQ8074 to allow the GCC driver to probe earlier.
    
       - The regulator based mmcx supply for Qualcomm dispcc and videocc is
         dropped, as the only upstream target that adapted this interface
         was transitioned several kernel versions ago
    
       - Qualcomm GDSCs found to be enabled at boot will now reflect in the
         enable count of the supply, as was done with the regulator supplies
         previously
    
       - Correct adc1, nic_media and edma1's parents for NXP i.MX93
    
       - rdiv, mfd values, the return rate in recalc_rate and add more
         frequencies in the table for fracn-gppll on i.MX
    
       - Remove Allwinner workaround logic/compatible in fixed factor code
    
       - MediaTek clk driver cleanups
    
       - Add reset support to more MediaTek clk drivers
    
       - deduplicate Allwinner ccu_clks arrays
    
       - Allwinner H6 GPU DFS support
    
       - Adjust Allwinner Kconfig to limit choice
    
       - Fix initconst confusion on Renesas R-Car Gen4
    
       - Add GPT/POEG (PWM) clocks and resets on Renesas RZ/G2L
    
       - Add PFC and WDT clocks and resets on Renesas RZ/V2M
    
       - Add thermal, SDHI, Z (CPU core), PCIe, and HSCIF (serial) clocks on
         Renesas R-Car S4-8"
    
    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (124 commits)
      clk: fixed-factor: Introduce *clk_hw_register_fixed_factor_parent_hw()
      clk: mux: Introduce devm_clk_hw_register_mux_parent_hws()
      clk: divider: Introduce devm_clk_hw_register_divider_parent_hw()
      clk: qcom: gcc-msm8994: use parent_hws for gpll0/4
      clk: qcom: clk-rpm: convert to parent_data API
      dt-bindings: clock: fix wrong clock documentation for qcom,rpmcc
      clk: qcom: gcc-msm8939: Add missing USB HS system clock frequencies
      clk: qcom: gcc-msm8939: Add missing MDSS MDP clock frequencies
      clk: qcom: gcc-msm8939: Add missing CAMSS CPP clock frequencies
      clk: qcom: gcc-msm8939: Fix venus0_vcodec0_clk frequency definitions
      clk: qcom: gcc-msm8939: Add missing CAMSS CCI bus clock
      clk: qcom: gcc-msm8939: Fix weird field spacing in ftbl_gcc_camss_cci_clk
      clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled
      clk: qcom: Drop mmcx gdsc supply for dispcc and videocc
      clk: qcom: fix build error initializer element is not constant
      clk: sprd: Add dt-bindings include file for UMS512
      dt-bindings: clk: sprd: Add bindings for ums512 clock controller
      clk: sunxi-ng: sun50i: h6: Modify GPU clock configuration to support DFS
      dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources
      clk: qcom: add support for SM8350 DISPCC
      ...
    36001a2f
clkctrl.c 17.1 KB