linux-stable/drivers/clk/versatile
Maxime Ripard d5a5a6e4d1 clk: versatile: sp810: Add a determine_rate hook
The Versatile sp810 "timerclken" clock implements a mux with a
set_parent hook, but doesn't provide a determine_rate implementation.

This is a bit odd, since set_parent() is there to, as its name implies,
change the parent of a clock. However, the most likely candidates to
trigger that parent change are either the assigned-clock-parents device
tree property or a call to clk_set_rate(), with determine_rate()
figuring out which parent is the best suited for a given rate.

This mismatch is probably due to the fact that the driver introduction
predates the determine_rate introduction, and it was never revised since
then.

The default, implicit, behaviour that has been in use so far has thus
been to simply keep using the current parent in all cases. This is also
the behaviour of the new clk_hw_determine_rate_no_reparent() helper, so
we can simply use it to make our expectation explicit.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Pawel Moll <pawel.moll@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Link: https://lore.kernel.org/r/20221018-clk-range-checks-fixes-v4-39-971d5077e7d2@cerno.tech
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
2023-06-08 18:39:31 -07:00
..
Kconfig clk: versatile: hide clock drivers from non-ARM users 2021-10-14 18:00:35 -07:00
Makefile clk: versatile: Rename ICST to CLK_ICST 2021-10-14 18:00:25 -07:00
clk-icst.c clk: versatile: clk-icst: use after free on error path 2021-12-07 12:25:29 -08:00
clk-icst.h clk: versatile: Add device tree probing for IM-PD1 clocks 2020-03-20 17:55:31 -07:00
clk-impd1.c clk: versatile: Add of_node_put() before return statement 2020-09-10 00:57:42 -07:00
clk-sp810.c clk: versatile: sp810: Add a determine_rate hook 2023-06-08 18:39:31 -07:00
clk-versatile.c clk: versatile: remove redundant assignment to pointer clk 2020-05-26 23:40:41 -07:00
clk-vexpress-osc.c clk: vexpress-osc: Support building as a module 2020-05-13 12:42:45 -05:00
icst.c Replace HTTP links with HTTPS ones: Common CLK framework 2020-07-10 17:15:34 -07:00
icst.h Replace HTTP links with HTTPS ones: Common CLK framework 2020-07-10 17:15:34 -07:00