clk: sprd: composite: Simplify determine_rate implementation
authorStephen Boyd <sboyd@kernel.org>
Tue, 13 Jun 2023 19:54:42 +0000 (12:54 -0700)
committerStephen Boyd <sboyd@kernel.org>
Wed, 14 Jun 2023 19:43:26 +0000 (12:43 -0700)
commit587dd448d9fcfb53486197c9c4bf5be99c75fb7c
treed5473d2f13a0b97104efdecaebab66d037f57f5b
parent3e253b21693d08126c828cddcb4fd3949898f773
clk: sprd: composite: Simplify determine_rate implementation

The sprd_div_helper_round_rate() function calls divider_round_rate()
which calls divider_round_rate_parent() which calls
divider_determine_rate(). This call chain converts back and forth from
the rate request structure to make a determine_rate clk_op fit with a
round_rate clk_op. Simplify the code here by directly calling
divider_determine_rate() instead.

This fixes a smatch warning where an unsigned long is compared to less
than zero, which is impossible. This makes sprd_div_helper_round_rate()
unnecessary as well so simply remove it and fold it into the only caller
left.

Reported-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Closes: https://lore.kernel.org/r/45fdc54e-7ab6-edd6-d55a-473485608473@oracle.com
Cc: Maxime Ripard <maxime@cerno.tech>
Fixes: 302d2f836d78 ("clk: sprd: composite: Switch to determine_rate")
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Link: https://lore.kernel.org/r/20230613195443.1555132-1-sboyd@kernel.org
Reviewed-by: Maxime Ripard <mripard@kernel.org>
drivers/clk/sprd/composite.c
drivers/clk/sprd/div.c
drivers/clk/sprd/div.h