Skip to content

Commit a612d3d

Browse files
committed
Merge branches 'clk-imx', 'clk-divider', 'clk-rockchip' and 'clk-microchip' into clk-next
* clk-imx: clk: imx: fracn-gppll: Add 241.90 MHz Support clk: imx: fracn-gppll: Add 332.60 MHz Support * clk-divider: rtc: ac100: convert from divider_round_rate() to divider_determine_rate() clk: zynqmp: divider: convert from divider_round_rate() to divider_determine_rate() clk: x86: cgu: convert from divider_round_rate() to divider_determine_rate() clk: versaclock3: convert from divider_round_rate() to divider_determine_rate() clk: stm32: stm32-core: convert from divider_round_rate_parent() to divider_determine_rate() clk: stm32: stm32-core: convert from divider_ro_round_rate() to divider_ro_determine_rate() clk: sprd: div: convert from divider_round_rate() to divider_determine_rate() clk: sophgo: sg2042-clkgen: convert from divider_round_rate() to divider_determine_rate() clk: nxp: lpc32xx: convert from divider_round_rate() to divider_determine_rate() clk: nuvoton: ma35d1-divider: convert from divider_round_rate() to divider_determine_rate() clk: milbeaut: convert from divider_round_rate() to divider_determine_rate() clk: milbeaut: convert from divider_ro_round_rate() to divider_ro_determine_rate() clk: loongson1: convert from divider_round_rate() to divider_determine_rate() clk: hisilicon: clkdivider-hi6220: convert from divider_round_rate() to divider_determine_rate() clk: bm1880: convert from divider_round_rate() to divider_determine_rate() clk: bm1880: convert from divider_ro_round_rate() to divider_ro_determine_rate() clk: actions: owl-divider: convert from divider_round_rate() to divider_determine_rate() clk: actions: owl-composite: convert from owl_divider_helper_round_rate() to divider_determine_rate() clk: sunxi-ng: convert from divider_round_rate_parent() to divider_determine_rate() clk: sophgo: cv18xx-ip: convert from divider_round_rate() to divider_determine_rate() * clk-rockchip: clk: rockchip: Fix error pointer check after rockchip_clk_register_gate_link() * clk-microchip: dt-bindings: clock: mpfs-clkcfg: Add pic64gx compatibility dt-bindings: clock: mpfs-ccc: Add pic64gx compatibility clk: microchip: drop POLARFIRE from ARCH_MICROCHIP_POLARFIRE clk: microchip: core: remove unused include asm/traps.h clk: microchip: core: correct return value on *_get_parent() clk: microchip: core: remove duplicate determine_rate on pic32_sclk_ops
5 parents b675697 + 90ecc4b + 9160ca4 + 2fa598a + f08e7ed commit a612d3d

29 files changed

Lines changed: 283 additions & 329 deletions

Documentation/devicetree/bindings/clock/microchip,mpfs-ccc.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,11 @@ description: |
1717
1818
properties:
1919
compatible:
20-
const: microchip,mpfs-ccc
20+
oneOf:
21+
- items:
22+
- const: microchip,pic64gx-ccc
23+
- const: microchip,mpfs-ccc
24+
- const: microchip,mpfs-ccc
2125

2226
reg:
2327
items:

Documentation/devicetree/bindings/clock/microchip,mpfs-clkcfg.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ description: |
1919
2020
properties:
2121
compatible:
22-
const: microchip,mpfs-clkcfg
22+
oneOf:
23+
- items:
24+
- const: microchip,pic64gx-clkcfg
25+
- const: microchip,mpfs-clkcfg
26+
- const: microchip,mpfs-clkcfg
2327

2428
reg:
2529
oneOf:
@@ -69,6 +73,16 @@ required:
6973
- clocks
7074
- '#clock-cells'
7175

76+
if:
77+
properties:
78+
compatible:
79+
contains:
80+
const: microchip,pic64gx-clkcfg
81+
then:
82+
properties:
83+
reg:
84+
maxItems: 1
85+
7286
additionalProperties: false
7387

7488
examples:

drivers/clk/actions/owl-composite.c

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,15 +57,10 @@ static int owl_comp_div_determine_rate(struct clk_hw *hw,
5757
struct clk_rate_request *req)
5858
{
5959
struct owl_composite *comp = hw_to_owl_comp(hw);
60-
long rate;
61-
62-
rate = owl_divider_helper_round_rate(&comp->common, &comp->rate.div_hw,
63-
req->rate, &req->best_parent_rate);
64-
if (rate < 0)
65-
return rate;
60+
struct owl_divider_hw *div = &comp->rate.div_hw;
6661

67-
req->rate = rate;
68-
return 0;
62+
return divider_determine_rate(&comp->common.hw, req, div->table,
63+
div->width, div->div_flags);
6964
}
7065

7166
static unsigned long owl_comp_div_recalc_rate(struct clk_hw *hw,

drivers/clk/actions/owl-divider.c

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,13 @@
1313

1414
#include "owl-divider.h"
1515

16-
long owl_divider_helper_round_rate(struct owl_clk_common *common,
17-
const struct owl_divider_hw *div_hw,
18-
unsigned long rate,
19-
unsigned long *parent_rate)
20-
{
21-
return divider_round_rate(&common->hw, rate, parent_rate,
22-
div_hw->table, div_hw->width,
23-
div_hw->div_flags);
24-
}
25-
2616
static int owl_divider_determine_rate(struct clk_hw *hw,
2717
struct clk_rate_request *req)
2818
{
2919
struct owl_divider *div = hw_to_owl_divider(hw);
3020

31-
req->rate = owl_divider_helper_round_rate(&div->common, &div->div_hw,
32-
req->rate,
33-
&req->best_parent_rate);
34-
35-
return 0;
21+
return divider_determine_rate(hw, req, div->div_hw.table,
22+
div->div_hw.width, div->div_hw.div_flags);
3623
}
3724

3825
unsigned long owl_divider_helper_recalc_rate(struct owl_clk_common *common,

drivers/clk/actions/owl-divider.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,6 @@ static inline struct owl_divider *hw_to_owl_divider(struct clk_hw *hw)
5656
return container_of(common, struct owl_divider, common);
5757
}
5858

59-
long owl_divider_helper_round_rate(struct owl_clk_common *common,
60-
const struct owl_divider_hw *div_hw,
61-
unsigned long rate,
62-
unsigned long *parent_rate);
63-
6459
unsigned long owl_divider_helper_recalc_rate(struct owl_clk_common *common,
6560
const struct owl_divider_hw *div_hw,
6661
unsigned long parent_rate);

drivers/clk/clk-bm1880.c

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -621,18 +621,11 @@ static int bm1880_clk_div_determine_rate(struct clk_hw *hw,
621621
val = readl(reg_addr) >> div->shift;
622622
val &= clk_div_mask(div->width);
623623

624-
req->rate = divider_ro_round_rate(hw, req->rate,
625-
&req->best_parent_rate,
626-
div->table,
627-
div->width, div->flags, val);
628-
629-
return 0;
624+
return divider_ro_determine_rate(hw, req, div->table,
625+
div->width, div->flags, val);
630626
}
631627

632-
req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate,
633-
div->table, div->width, div->flags);
634-
635-
return 0;
628+
return divider_determine_rate(hw, req, div->table, div->width, div->flags);
636629
}
637630

638631
static int bm1880_clk_div_set_rate(struct clk_hw *hw, unsigned long rate,

drivers/clk/clk-loongson1.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,10 +99,7 @@ static int ls1x_divider_determine_rate(struct clk_hw *hw,
9999
struct ls1x_clk *ls1x_clk = to_ls1x_clk(hw);
100100
const struct ls1x_clk_div_data *d = ls1x_clk->data;
101101

102-
req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate,
103-
d->table, d->width, d->flags);
104-
105-
return 0;
102+
return divider_determine_rate(hw, req, d->table, d->width, d->flags);
106103
}
107104

108105
static int ls1x_divider_set_rate(struct clk_hw *hw, unsigned long rate,

drivers/clk/clk-milbeaut.c

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -398,19 +398,12 @@ static int m10v_clk_divider_determine_rate(struct clk_hw *hw,
398398
val = readl(divider->reg) >> divider->shift;
399399
val &= clk_div_mask(divider->width);
400400

401-
req->rate = divider_ro_round_rate(hw, req->rate,
402-
&req->best_parent_rate,
403-
divider->table,
404-
divider->width,
405-
divider->flags, val);
406-
407-
return 0;
401+
return divider_ro_determine_rate(hw, req, divider->table,
402+
divider->width, divider->flags,
403+
val);
408404
}
409405

410-
req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate,
411-
divider->table, divider->width, divider->flags);
412-
413-
return 0;
406+
return divider_determine_rate(hw, req, divider->table, divider->width, divider->flags);
414407
}
415408

416409
static int m10v_clk_divider_set_rate(struct clk_hw *hw, unsigned long rate,

drivers/clk/clk-versaclock3.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,8 @@ static int vc3_div_determine_rate(struct clk_hw *hw,
523523
return 0;
524524
}
525525

526-
req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate,
527-
div_data->table,
528-
div_data->width, div_data->flags);
529-
530-
return 0;
526+
return divider_determine_rate(hw, req, div_data->table, div_data->width,
527+
div_data->flags);
531528
}
532529

533530
static int vc3_div_set_rate(struct clk_hw *hw, unsigned long rate,

drivers/clk/hisilicon/clkdivider-hi6220.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,8 @@ static int hi6220_clkdiv_determine_rate(struct clk_hw *hw,
6060
{
6161
struct hi6220_clk_divider *dclk = to_hi6220_clk_divider(hw);
6262

63-
req->rate = divider_round_rate(hw, req->rate, &req->best_parent_rate, dclk->table,
64-
dclk->width, CLK_DIVIDER_ROUND_CLOSEST);
65-
66-
return 0;
63+
return divider_determine_rate(hw, req, dclk->table, dclk->width,
64+
CLK_DIVIDER_ROUND_CLOSEST);
6765
}
6866

6967
static int hi6220_clkdiv_set_rate(struct clk_hw *hw, unsigned long rate,

0 commit comments

Comments
 (0)