From mani at kernel.org Thu Jan 15 21:26:46 2026 From: mani at kernel.org (Manivannan Sadhasivam) Date: Fri, 16 Jan 2026 10:56:46 +0530 Subject: [PATCH 05/27] clk: actions: owl-divider: convert from divider_round_rate() to divider_determine_rate() In-Reply-To: <20260108-clk-divider-round-rate-v1-5-535a3ed73bf3@redhat.com> References: <20260108-clk-divider-round-rate-v1-0-535a3ed73bf3@redhat.com> <20260108-clk-divider-round-rate-v1-5-535a3ed73bf3@redhat.com> Message-ID: <3z4t6h7nwq5ssnhstsnemtnr5xqowgvj4ni52jbcw6uzpbdgnh@i7vnahtfvzch> On Thu, Jan 08, 2026 at 04:16:23PM -0500, Brian Masney wrote: > The divider_round_rate() function is now deprecated, so let's migrate > to divider_determine_rate() instead so that this deprecated API can be > removed. Additionally, owl_divider_helper_round_rate() is no longer used, > so let's drop that from the header file as well. > > Note that when the main function itself was migrated to use > determine_rate, this was mistakenly converted to: > > req->rate = divider_round_rate(...) > > This is invalid in the case when an error occurs since it can set the > rate to a negative value. > > Fixes: 1b04e12a8bcc ("clk: actions: owl-divider: convert from round_rate() to determine_rate()") > Signed-off-by: Brian Masney Acked-by: Manivannan Sadhasivam - Mani > > --- > To: "Andreas F?rber" > To: Manivannan Sadhasivam > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-actions at lists.infradead.org > --- > drivers/clk/actions/owl-divider.c | 17 ++--------------- > drivers/clk/actions/owl-divider.h | 5 ----- > 2 files changed, 2 insertions(+), 20 deletions(-) > > diff --git a/drivers/clk/actions/owl-divider.c b/drivers/clk/actions/owl-divider.c > index 118f1393c6780f287d26736b2547a8b43751655a..316ace80e87e3b1c22a4011e725644cf37668e5e 100644 > --- a/drivers/clk/actions/owl-divider.c > +++ b/drivers/clk/actions/owl-divider.c > @@ -13,26 +13,13 @@ > > #include "owl-divider.h" > > -long owl_divider_helper_round_rate(struct owl_clk_common *common, > - const struct owl_divider_hw *div_hw, > - unsigned long rate, > - unsigned long *parent_rate) > -{ > - return divider_round_rate(&common->hw, rate, parent_rate, > - div_hw->table, div_hw->width, > - div_hw->div_flags); > -} > - > static int owl_divider_determine_rate(struct clk_hw *hw, > struct clk_rate_request *req) > { > struct owl_divider *div = hw_to_owl_divider(hw); > > - req->rate = owl_divider_helper_round_rate(&div->common, &div->div_hw, > - req->rate, > - &req->best_parent_rate); > - > - return 0; > + return divider_determine_rate(hw, req, div->div_hw.table, > + div->div_hw.width, div->div_hw.div_flags); > } > > unsigned long owl_divider_helper_recalc_rate(struct owl_clk_common *common, > diff --git a/drivers/clk/actions/owl-divider.h b/drivers/clk/actions/owl-divider.h > index d76f58782c52885a66c96e8bf13b0dea3ba51efd..1d3bb4e5898a3ccf729894533ae194ac4c34b6e3 100644 > --- a/drivers/clk/actions/owl-divider.h > +++ b/drivers/clk/actions/owl-divider.h > @@ -56,11 +56,6 @@ static inline struct owl_divider *hw_to_owl_divider(struct clk_hw *hw) > return container_of(common, struct owl_divider, common); > } > > -long owl_divider_helper_round_rate(struct owl_clk_common *common, > - const struct owl_divider_hw *div_hw, > - unsigned long rate, > - unsigned long *parent_rate); > - > unsigned long owl_divider_helper_recalc_rate(struct owl_clk_common *common, > const struct owl_divider_hw *div_hw, > unsigned long parent_rate); > > -- > 2.52.0 > -- ????????? ???????? From mani at kernel.org Thu Jan 15 21:27:24 2026 From: mani at kernel.org (Manivannan Sadhasivam) Date: Fri, 16 Jan 2026 10:57:24 +0530 Subject: [PATCH 04/27] clk: actions: owl-composite: convert from owl_divider_helper_round_rate() to divider_determine_rate() In-Reply-To: <20260108-clk-divider-round-rate-v1-4-535a3ed73bf3@redhat.com> References: <20260108-clk-divider-round-rate-v1-0-535a3ed73bf3@redhat.com> <20260108-clk-divider-round-rate-v1-4-535a3ed73bf3@redhat.com> Message-ID: On Thu, Jan 08, 2026 at 04:16:22PM -0500, Brian Masney wrote: > owl_divider_helper_round_rate() is just a wrapper for > divider_round_rate(), which is deprecated. Let's migrate to > divider_determine_rate() instead so that this deprecated API can be > removed. > > Signed-off-by: Brian Masney Acked-by: Manivannan Sadhasivam - Mani > > --- > To: "Andreas F?rber" > To: Manivannan Sadhasivam > Cc: linux-arm-kernel at lists.infradead.org > Cc: linux-actions at lists.infradead.org > --- > drivers/clk/actions/owl-composite.c | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/drivers/clk/actions/owl-composite.c b/drivers/clk/actions/owl-composite.c > index 00b74f8bc4375a8f42e9b54c7bf1affe91e1074a..9540444307d6c960af200ec13e7c60abd47ffc85 100644 > --- a/drivers/clk/actions/owl-composite.c > +++ b/drivers/clk/actions/owl-composite.c > @@ -57,15 +57,10 @@ static int owl_comp_div_determine_rate(struct clk_hw *hw, > struct clk_rate_request *req) > { > struct owl_composite *comp = hw_to_owl_comp(hw); > - long rate; > - > - rate = owl_divider_helper_round_rate(&comp->common, &comp->rate.div_hw, > - req->rate, &req->best_parent_rate); > - if (rate < 0) > - return rate; > + struct owl_divider_hw *div = &comp->rate.div_hw; > > - req->rate = rate; > - return 0; > + return divider_determine_rate(&comp->common.hw, req, div->table, > + div->width, div->div_flags); > } > > static unsigned long owl_comp_div_recalc_rate(struct clk_hw *hw, > > -- > 2.52.0 > -- ????????? ????????