* [PATCH] clk: rockchip: rk3368: fix section mismatches with new child-clocks
@ 2016-02-23 7:58 Elaine Zhang
2016-02-23 10:40 ` Heiko Stuebner
0 siblings, 1 reply; 2+ messages in thread
From: Elaine Zhang @ 2016-02-23 7:58 UTC (permalink / raw)
To: linux-arm-kernel
To model the muxes downstream of fractional dividers we introduced the
child property, allowing to describe a direct child clock.
The first implementation seems to cause section warnings, as the core
clock-tree is marked as initdata while the data pointed to from the
child element is not.
While there may be some way to also set that missing property in the
inline notation I didn't find it, so to actually fix the issue for now
move the sub-definitions into separate declarations that can have
their own __initdata properties.
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
---
drivers/clk/rockchip/clk-rk3368.c | 97 ++++++++++++++++++++++++---------------
1 file changed, 60 insertions(+), 37 deletions(-)
diff --git a/drivers/clk/rockchip/clk-rk3368.c b/drivers/clk/rockchip/clk-rk3368.c
index c2b0421..a2bb122 100644
--- a/drivers/clk/rockchip/clk-rk3368.c
+++ b/drivers/clk/rockchip/clk-rk3368.c
@@ -243,6 +243,34 @@ static struct rockchip_cpuclk_rate_table rk3368_cpuclkl_rates[] __initdata = {
RK3368_CPUCLKL_RATE( 312000000, 1, 1, 1),
};
+static struct rockchip_clk_branch rk3368_i2s_8ch_fracmux __initdata =
+ MUX(0, "i2s_8ch_pre", mux_i2s_8ch_pre_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(27), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_spdif_8ch_fracmux __initdata =
+ MUX(0, "spdif_8ch_pre", mux_spdif_8ch_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(31), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_i2s_2ch_fracmux __initdata =
+ MUX(0, "i2s_2ch_pre", mux_i2s_2ch_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(53), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_uart0_fracmux __initdata =
+ MUX(SCLK_UART0, "sclk_uart0", mux_uart0_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(33), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_uart1_fracmux __initdata =
+ MUX(SCLK_UART1, "sclk_uart1", mux_uart1_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(35), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_uart3_fracmux __initdata =
+ MUX(SCLK_UART3, "sclk_uart3", mux_uart3_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(39), 8, 2, MFLAGS);
+
+static struct rockchip_clk_branch rk3368_uart4_fracmux __initdata =
+ MUX(SCLK_UART4, "sclk_uart4", mux_uart4_p, CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(41), 8, 2, MFLAGS);
+
static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
/*
* Clock-Architecture Diagram 2
@@ -339,11 +367,10 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
COMPOSITE(0, "i2s_8ch_src", mux_pll_src_cpll_gpll_p, 0,
RK3368_CLKSEL_CON(27), 12, 1, MFLAGS, 0, 7, DFLAGS,
RK3368_CLKGATE_CON(6), 1, GFLAGS),
- COMPOSITE_FRAC(0, "i2s_8ch_frac", "i2s_8ch_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(28), 0,
- RK3368_CLKGATE_CON(6), 2, GFLAGS),
- MUX(0, "i2s_8ch_pre", mux_i2s_8ch_pre_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(27), 8, 2, MFLAGS),
+ COMPOSITE_FRACMUX(0, "i2s_8ch_frac", "i2s_8ch_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(28), 0,
+ RK3368_CLKGATE_CON(6), 2, GFLAGS,
+ &rk3368_i2s_8ch_fracmux),
COMPOSITE_NODIV(SCLK_I2S_8CH_OUT, "i2s_8ch_clkout", mux_i2s_8ch_clkout_p, 0,
RK3368_CLKSEL_CON(27), 15, 1, MFLAGS,
RK3368_CLKGATE_CON(6), 0, GFLAGS),
@@ -352,21 +379,21 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
COMPOSITE(0, "spdif_8ch_src", mux_pll_src_cpll_gpll_p, 0,
RK3368_CLKSEL_CON(31), 12, 1, MFLAGS, 0, 7, DFLAGS,
RK3368_CLKGATE_CON(6), 4, GFLAGS),
- COMPOSITE_FRAC(0, "spdif_8ch_frac", "spdif_8ch_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(32), 0,
- RK3368_CLKGATE_CON(6), 5, GFLAGS),
- COMPOSITE_NODIV(SCLK_SPDIF_8CH, "sclk_spdif_8ch", mux_spdif_8ch_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(31), 8, 2, MFLAGS,
- RK3368_CLKGATE_CON(6), 6, GFLAGS),
+ COMPOSITE_FRACMUX(0, "spdif_8ch_frac", "spdif_8ch_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(32), 0,
+ RK3368_CLKGATE_CON(6), 5, GFLAGS,
+ &rk3368_spdif_8ch_fracmux),
+ GATE(SCLK_SPDIF_8CH, "sclk_spdif_8ch", "spdif_8ch_pre", CLK_SET_RATE_PARENT,
+ RK3368_CLKGATE_CON(6), 6, GFLAGS),
COMPOSITE(0, "i2s_2ch_src", mux_pll_src_cpll_gpll_p, 0,
RK3368_CLKSEL_CON(53), 12, 1, MFLAGS, 0, 7, DFLAGS,
RK3368_CLKGATE_CON(5), 13, GFLAGS),
- COMPOSITE_FRAC(0, "i2s_2ch_frac", "i2s_2ch_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(54), 0,
- RK3368_CLKGATE_CON(5), 14, GFLAGS),
- COMPOSITE_NODIV(SCLK_I2S_2CH, "sclk_i2s_2ch", mux_i2s_2ch_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(53), 8, 2, MFLAGS,
- RK3368_CLKGATE_CON(5), 15, GFLAGS),
+ COMPOSITE_FRACMUX(0, "i2s_2ch_frac", "i2s_2ch_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(54), 0,
+ RK3368_CLKGATE_CON(5), 14, GFLAGS,
+ &rk3368_i2s_2ch_fracmux),
+ GATE(SCLK_I2S_2CH, "sclk_i2s_2ch", "i2s_2ch_pre", CLK_SET_RATE_PARENT,
+ RK3368_CLKGATE_CON(5), 15, GFLAGS),
COMPOSITE(0, "sclk_tsp", mux_pll_src_cpll_gpll_npll_p, 0,
RK3368_CLKSEL_CON(46), 6, 2, MFLAGS, 0, 5, DFLAGS,
@@ -562,38 +589,34 @@ static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
COMPOSITE(0, "uart0_src", mux_pll_src_cpll_gpll_usb_usb_p, 0,
RK3368_CLKSEL_CON(33), 12, 2, MFLAGS, 0, 7, DFLAGS,
RK3368_CLKGATE_CON(2), 0, GFLAGS),
- COMPOSITE_FRAC(0, "uart0_frac", "uart0_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(34), 0,
- RK3368_CLKGATE_CON(2), 1, GFLAGS),
- MUX(SCLK_UART0, "sclk_uart0", mux_uart0_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(33), 8, 2, MFLAGS),
+ COMPOSITE_FRACMUX(0, "uart0_frac", "uart0_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(34), 0,
+ RK3368_CLKGATE_CON(2), 1, GFLAGS,
+ &rk3368_uart0_fracmux),
COMPOSITE_NOMUX(0, "uart1_src", "uart_src", 0,
RK3368_CLKSEL_CON(35), 0, 7, DFLAGS,
RK3368_CLKGATE_CON(2), 2, GFLAGS),
- COMPOSITE_FRAC(0, "uart1_frac", "uart1_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(36), 0,
- RK3368_CLKGATE_CON(2), 3, GFLAGS),
- MUX(SCLK_UART1, "sclk_uart1", mux_uart1_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(35), 8, 2, MFLAGS),
+ COMPOSITE_FRACMUX(0, "uart1_frac", "uart1_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(36), 0,
+ RK3368_CLKGATE_CON(2), 3, GFLAGS,
+ &rk3368_uart1_fracmux),
COMPOSITE_NOMUX(0, "uart3_src", "uart_src", 0,
RK3368_CLKSEL_CON(39), 0, 7, DFLAGS,
RK3368_CLKGATE_CON(2), 6, GFLAGS),
- COMPOSITE_FRAC(0, "uart3_frac", "uart3_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(40), 0,
- RK3368_CLKGATE_CON(2), 7, GFLAGS),
- MUX(SCLK_UART3, "sclk_uart3", mux_uart3_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(39), 8, 2, MFLAGS),
+ COMPOSITE_FRACMUX(0, "uart3_frac", "uart3_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(40), 0,
+ RK3368_CLKGATE_CON(2), 7, GFLAGS,
+ &rk3368_uart3_fracmux),
COMPOSITE_NOMUX(0, "uart4_src", "uart_src", 0,
RK3368_CLKSEL_CON(41), 0, 7, DFLAGS,
RK3368_CLKGATE_CON(2), 8, GFLAGS),
- COMPOSITE_FRAC(0, "uart4_frac", "uart4_src", CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(42), 0,
- RK3368_CLKGATE_CON(2), 9, GFLAGS),
- MUX(SCLK_UART4, "sclk_uart4", mux_uart4_p, CLK_SET_RATE_PARENT,
- RK3368_CLKSEL_CON(41), 8, 2, MFLAGS),
+ COMPOSITE_FRACMUX(0, "uart4_frac", "uart4_src", CLK_SET_RATE_PARENT,
+ RK3368_CLKSEL_CON(42), 0,
+ RK3368_CLKGATE_CON(2), 9, GFLAGS,
+ &rk3368_uart4_fracmux),
COMPOSITE(0, "mac_pll_src", mux_pll_src_npll_cpll_gpll_p, 0,
RK3368_CLKSEL_CON(43), 6, 2, MFLAGS, 0, 5, DFLAGS,
--
1.9.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH] clk: rockchip: rk3368: fix section mismatches with new child-clocks
2016-02-23 7:58 [PATCH] clk: rockchip: rk3368: fix section mismatches with new child-clocks Elaine Zhang
@ 2016-02-23 10:40 ` Heiko Stuebner
0 siblings, 0 replies; 2+ messages in thread
From: Heiko Stuebner @ 2016-02-23 10:40 UTC (permalink / raw)
To: linux-arm-kernel
Hi Elaine,
Am Dienstag, 23. Februar 2016, 15:58:42 schrieb Elaine Zhang:
> To model the muxes downstream of fractional dividers we introduced the
> child property, allowing to describe a direct child clock.
> The first implementation seems to cause section warnings, as the core
> clock-tree is marked as initdata while the data pointed to from the
> child element is not.
>
> While there may be some way to also set that missing property in the
> inline notation I didn't find it, so to actually fix the issue for now
> move the sub-definitions into separate declarations that can have
> their own __initdata properties.
The change below is correct, but the patch message is wrong.
The core change is commit 667464208989 ("clk: rockchip: include downstream
muxes into fractional dividers") with the second change being a fixup as the
first introduced issues. So your commit message should orient itself on the
other commit, like
------
clk: rockchip: include downstream muxes into fractional dividers on rk3368
During the initial conversion to the newly introduced combined fractional
dividers+muxes the rk3368 clocks were left out, so convert them now.
----
>
> Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
> ---
> drivers/clk/rockchip/clk-rk3368.c | 97
> ++++++++++++++++++++++++--------------- 1 file changed, 60 insertions(+),
> 37 deletions(-)
>
> diff --git a/drivers/clk/rockchip/clk-rk3368.c
> b/drivers/clk/rockchip/clk-rk3368.c index c2b0421..a2bb122 100644
> --- a/drivers/clk/rockchip/clk-rk3368.c
> +++ b/drivers/clk/rockchip/clk-rk3368.c
> @@ -243,6 +243,34 @@ static struct rockchip_cpuclk_rate_table
> rk3368_cpuclkl_rates[] __initdata = { RK3368_CPUCLKL_RATE( 312000000, 1,
> 1, 1),
> };
>
> +static struct rockchip_clk_branch rk3368_i2s_8ch_fracmux __initdata =
> + MUX(0, "i2s_8ch_pre", mux_i2s_8ch_pre_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(27), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_spdif_8ch_fracmux __initdata =
> + MUX(0, "spdif_8ch_pre", mux_spdif_8ch_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(31), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_i2s_2ch_fracmux __initdata =
> + MUX(0, "i2s_2ch_pre", mux_i2s_2ch_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(53), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_uart0_fracmux __initdata =
> + MUX(SCLK_UART0, "sclk_uart0", mux_uart0_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(33), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_uart1_fracmux __initdata =
> + MUX(SCLK_UART1, "sclk_uart1", mux_uart1_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(35), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_uart3_fracmux __initdata =
> + MUX(SCLK_UART3, "sclk_uart3", mux_uart3_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(39), 8, 2, MFLAGS);
> +
> +static struct rockchip_clk_branch rk3368_uart4_fracmux __initdata =
> + MUX(SCLK_UART4, "sclk_uart4", mux_uart4_p, CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(41), 8, 2, MFLAGS);
> +
> static struct rockchip_clk_branch rk3368_clk_branches[] __initdata = {
> /*
> * Clock-Architecture Diagram 2
> @@ -339,11 +367,10 @@ static struct rockchip_clk_branch
> rk3368_clk_branches[] __initdata = { COMPOSITE(0, "i2s_8ch_src",
> mux_pll_src_cpll_gpll_p, 0,
> RK3368_CLKSEL_CON(27), 12, 1, MFLAGS, 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(6), 1, GFLAGS),
> - COMPOSITE_FRAC(0, "i2s_8ch_frac", "i2s_8ch_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(28), 0,
> - RK3368_CLKGATE_CON(6), 2, GFLAGS),
> - MUX(0, "i2s_8ch_pre", mux_i2s_8ch_pre_p, CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(27), 8, 2, MFLAGS),
> + COMPOSITE_FRACMUX(0, "i2s_8ch_frac", "i2s_8ch_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(28), 0,
> + RK3368_CLKGATE_CON(6), 2, GFLAGS,
> + &rk3368_i2s_8ch_fracmux),
> COMPOSITE_NODIV(SCLK_I2S_8CH_OUT, "i2s_8ch_clkout",
> mux_i2s_8ch_clkout_p, 0, RK3368_CLKSEL_CON(27), 15, 1, MFLAGS,
> RK3368_CLKGATE_CON(6), 0, GFLAGS),
> @@ -352,21 +379,21 @@ static struct rockchip_clk_branch
> rk3368_clk_branches[] __initdata = { COMPOSITE(0, "spdif_8ch_src",
> mux_pll_src_cpll_gpll_p, 0,
> RK3368_CLKSEL_CON(31), 12, 1, MFLAGS, 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(6), 4, GFLAGS),
> - COMPOSITE_FRAC(0, "spdif_8ch_frac", "spdif_8ch_src",
> CLK_SET_RATE_PARENT, - RK3368_CLKSEL_CON(32), 0,
> - RK3368_CLKGATE_CON(6), 5, GFLAGS),
> - COMPOSITE_NODIV(SCLK_SPDIF_8CH, "sclk_spdif_8ch", mux_spdif_8ch_p,
> CLK_SET_RATE_PARENT, - RK3368_CLKSEL_CON(31), 8, 2, MFLAGS,
> - RK3368_CLKGATE_CON(6), 6, GFLAGS),
> + COMPOSITE_FRACMUX(0, "spdif_8ch_frac", "spdif_8ch_src",
> CLK_SET_RATE_PARENT, + RK3368_CLKSEL_CON(32), 0,
> + RK3368_CLKGATE_CON(6), 5, GFLAGS,
> + &rk3368_spdif_8ch_fracmux),
> + GATE(SCLK_SPDIF_8CH, "sclk_spdif_8ch", "spdif_8ch_pre",
> CLK_SET_RATE_PARENT, + RK3368_CLKGATE_CON(6), 6, GFLAGS),
> COMPOSITE(0, "i2s_2ch_src", mux_pll_src_cpll_gpll_p, 0,
> RK3368_CLKSEL_CON(53), 12, 1, MFLAGS, 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(5), 13, GFLAGS),
> - COMPOSITE_FRAC(0, "i2s_2ch_frac", "i2s_2ch_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(54), 0,
> - RK3368_CLKGATE_CON(5), 14, GFLAGS),
> - COMPOSITE_NODIV(SCLK_I2S_2CH, "sclk_i2s_2ch", mux_i2s_2ch_p,
> CLK_SET_RATE_PARENT, - RK3368_CLKSEL_CON(53), 8, 2, MFLAGS,
> - RK3368_CLKGATE_CON(5), 15, GFLAGS),
> + COMPOSITE_FRACMUX(0, "i2s_2ch_frac", "i2s_2ch_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(54), 0,
> + RK3368_CLKGATE_CON(5), 14, GFLAGS,
> + &rk3368_i2s_2ch_fracmux),
> + GATE(SCLK_I2S_2CH, "sclk_i2s_2ch", "i2s_2ch_pre", CLK_SET_RATE_PARENT,
> + RK3368_CLKGATE_CON(5), 15, GFLAGS),
>
> COMPOSITE(0, "sclk_tsp", mux_pll_src_cpll_gpll_npll_p, 0,
> RK3368_CLKSEL_CON(46), 6, 2, MFLAGS, 0, 5, DFLAGS,
> @@ -562,38 +589,34 @@ static struct rockchip_clk_branch
> rk3368_clk_branches[] __initdata = { COMPOSITE(0, "uart0_src",
> mux_pll_src_cpll_gpll_usb_usb_p, 0,
> RK3368_CLKSEL_CON(33), 12, 2, MFLAGS, 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(2), 0, GFLAGS),
> - COMPOSITE_FRAC(0, "uart0_frac", "uart0_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(34), 0,
> - RK3368_CLKGATE_CON(2), 1, GFLAGS),
> - MUX(SCLK_UART0, "sclk_uart0", mux_uart0_p, CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(33), 8, 2, MFLAGS),
> + COMPOSITE_FRACMUX(0, "uart0_frac", "uart0_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(34), 0,
> + RK3368_CLKGATE_CON(2), 1, GFLAGS,
> + &rk3368_uart0_fracmux),
>
> COMPOSITE_NOMUX(0, "uart1_src", "uart_src", 0,
> RK3368_CLKSEL_CON(35), 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(2), 2, GFLAGS),
> - COMPOSITE_FRAC(0, "uart1_frac", "uart1_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(36), 0,
> - RK3368_CLKGATE_CON(2), 3, GFLAGS),
> - MUX(SCLK_UART1, "sclk_uart1", mux_uart1_p, CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(35), 8, 2, MFLAGS),
> + COMPOSITE_FRACMUX(0, "uart1_frac", "uart1_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(36), 0,
> + RK3368_CLKGATE_CON(2), 3, GFLAGS,
> + &rk3368_uart1_fracmux),
>
> COMPOSITE_NOMUX(0, "uart3_src", "uart_src", 0,
> RK3368_CLKSEL_CON(39), 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(2), 6, GFLAGS),
> - COMPOSITE_FRAC(0, "uart3_frac", "uart3_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(40), 0,
> - RK3368_CLKGATE_CON(2), 7, GFLAGS),
> - MUX(SCLK_UART3, "sclk_uart3", mux_uart3_p, CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(39), 8, 2, MFLAGS),
> + COMPOSITE_FRACMUX(0, "uart3_frac", "uart3_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(40), 0,
> + RK3368_CLKGATE_CON(2), 7, GFLAGS,
> + &rk3368_uart3_fracmux),
>
> COMPOSITE_NOMUX(0, "uart4_src", "uart_src", 0,
> RK3368_CLKSEL_CON(41), 0, 7, DFLAGS,
> RK3368_CLKGATE_CON(2), 8, GFLAGS),
> - COMPOSITE_FRAC(0, "uart4_frac", "uart4_src", CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(42), 0,
> - RK3368_CLKGATE_CON(2), 9, GFLAGS),
> - MUX(SCLK_UART4, "sclk_uart4", mux_uart4_p, CLK_SET_RATE_PARENT,
> - RK3368_CLKSEL_CON(41), 8, 2, MFLAGS),
> + COMPOSITE_FRACMUX(0, "uart4_frac", "uart4_src", CLK_SET_RATE_PARENT,
> + RK3368_CLKSEL_CON(42), 0,
> + RK3368_CLKGATE_CON(2), 9, GFLAGS,
> + &rk3368_uart4_fracmux),
>
> COMPOSITE(0, "mac_pll_src", mux_pll_src_npll_cpll_gpll_p, 0,
> RK3368_CLKSEL_CON(43), 6, 2, MFLAGS, 0, 5, DFLAGS,
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-23 10:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-23 7:58 [PATCH] clk: rockchip: rk3368: fix section mismatches with new child-clocks Elaine Zhang
2016-02-23 10:40 ` Heiko Stuebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).