[GIT PULL] More clk changes for the merge window

From: Stephen Boyd
Date: Sat Oct 15 2022 - 23:54:44 EST


The following changes since commit f9efefdba95a5110a1346bb03acdd8ff3cdf557f:

Merge branches 'clk-baikal', 'clk-broadcom', 'clk-vc5' and 'clk-versaclock' into clk-next (2022-10-04 10:54:34 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git tags/clk-for-linus

for you to fetch changes up to a7b78befbce2e79425224d57c05275083cf7ed61:

Merge branch 'clk-rate-range' into clk-next (2022-10-14 13:44:44 -0700)

----------------------------------------------------------------
This is the final part of the clk patches for this merge window.

The clk rate range series needed another week to fully bake. Maxime
fixed the bug that broke clk notifiers and prevented this from being
included in the first pull request. He also added a unit test on top to
make sure it doesn't break so easily again. The majority of the series
fixes up how the clk_set_rate_*() APIs work, particularly around when
the rate constraints are dropped and how they move around when
reparenting clks. Overall it's a much needed improvement to the clk rate
range APIs that used to be pretty broken if you looked sideways.

Beyond the core changes there are a few driver fixes for a compilation
issue or improper data causing clks to fail to register or have the
wrong parents. These are good to get in before the first -rc so that the
system actually boots on the affected devices.

----------------------------------------------------------------
AngeloGioacchino Del Regno (1):
clk: mediatek: clk-mux: Add .determine_rate() callback

Jon Hunter (1):
clk: tegra: Fix Tegra PWM parent clock

Kefeng Wang (1):
clk: at91: fix the build with binutils 2.27

Linus Walleij (1):
clk: qcom: gcc-msm8660: Drop hardcoded fixed board clocks

Maxime Ripard (27):
clk: test: Switch to clk_hw_get_clk
clk: Drop the rate range on clk_put()
clk: Skip clamping when rounding if there's no boundaries
clk: Mention that .recalc_rate can return 0 on error
clk: Clarify clk_get_rate() expectations
clk: tests: Add test suites description
clk: tests: Add reference to the orphan mux bug report
clk: tests: Add tests for uncached clock
clk: tests: Add tests for single parent mux
clk: tests: Add tests for mux with multiple parents
clk: tests: Add some tests for orphan with multiple parents
clk: Take into account uncached clocks in clk_set_rate_range()
clk: Set req_rate on reparenting
clk: Change clk_core_init_rate_req prototype
clk: Move clk_core_init_rate_req() from clk_core_round_rate_nolock() to its caller
clk: Introduce clk_hw_init_rate_request()
clk: Add our request boundaries in clk_core_init_rate_req
clk: Switch from __clk_determine_rate to clk_core_round_rate_nolock
clk: Introduce clk_core_has_parent()
clk: Constify clk_has_parent()
clk: Stop forwarding clk_rate_requests to the parent
clk: Zero the clk_rate_request structure
clk: Introduce the clk_hw_get_rate_range function
clk: qcom: clk-rcg2: Take clock boundaries into consideration for gfx3d
clk: tests: Add missing test case for ranges
clk: Update req_rate on __clk_recalc_rates()
clk: tests: Add tests for notifiers

Stephen Boyd (1):
Merge branch 'clk-rate-range' into clk-next

drivers/clk/at91/clk-generated.c | 5 +-
drivers/clk/at91/clk-master.c | 9 +-
drivers/clk/at91/clk-peripheral.c | 4 +-
drivers/clk/clk-composite.c | 6 +-
drivers/clk/clk-divider.c | 20 +-
drivers/clk/clk.c | 286 +++++--
drivers/clk/clk_test.c | 1637 +++++++++++++++++++++++++++++++++++--
drivers/clk/mediatek/clk-mux.c | 10 +
drivers/clk/qcom/clk-rcg2.c | 9 +
drivers/clk/qcom/gcc-msm8660.c | 11 -
drivers/clk/tegra/clk-tegra114.c | 1 +
drivers/clk/tegra/clk-tegra124.c | 1 +
drivers/clk/tegra/clk-tegra20.c | 1 +
drivers/clk/tegra/clk-tegra210.c | 1 +
drivers/clk/tegra/clk-tegra30.c | 1 +
include/linux/clk-provider.h | 18 +-
include/linux/clk.h | 2 +-
include/linux/clk/at91_pmc.h | 6 +-
18 files changed, 1865 insertions(+), 163 deletions(-)

--
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/
https://git.kernel.org/pub/scm/linux/kernel/git/sboyd/spmi.git