26 Jun, 2020
1 commit
-
The (struct __prci_data).hw_clks.hws is an array with dynamic elements.
Using struct_size(pd, hw_clks.hws, ARRAY_SIZE(__prci_init_clocks))
instead of sizeof(*pd) to get the correct memory size of
struct __prci_data for sifive/fu540-prci. After applying this
modifications, the kernel runs smoothly with CONFIG_SLAB_FREELIST_RANDOM
enabled on the HiFive unleashed board.Fixes: 30b8e27e3b58 ("clk: sifive: add a driver for the SiFive FU540 PRCI IP block")
Signed-off-by: Vincent Chen
Signed-off-by: Palmer Dabbelt
31 May, 2019
1 commit
-
Pull clk driver fixes from Stephen Boyd:
- Don't expose the SiFive clk driver on non-RISCV architectures
- Fix some bits describing clks in the imx8mm driver
- Always call clk domain code in the TI driver so non-legacy platforms
work* tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
clk: ti: clkctrl: Fix clkdm_clk handling
clk: imx: imx8mm: fix int pll clk gate
clk: sifive: restrict Kconfig scope for the FU540 PRCI driver
22 May, 2019
1 commit
-
Restrict Kconfig scope for SiFive clock and reset IP block drivers
such that they won't appear on most configurations that are unlikely
to support them. This is based on a suggestion from Pavel Machek
. Ideally this should be dependent on
CONFIG_ARCH_SIFIVE, but since that Kconfig directive does not yet
exist, add dependencies on RISCV or COMPILE_TEST for now.Signed-off-by: Paul Walmsley
Signed-off-by: Paul Walmsley
Reported-by: Pavel Machek
Cc: Michael Turquette
Acked-by: Pavel Machek
Signed-off-by: Stephen Boyd
21 May, 2019
1 commit
-
Add SPDX license identifiers to all Make/Kconfig files which:
- Have no license information of any form
These files fall under the project license, GPL v2 only. The resulting SPDX
license identifier is:GPL-2.0-only
Signed-off-by: Thomas Gleixner
Signed-off-by: Greg Kroah-Hartman
16 May, 2019
1 commit
-
Now that we've gotten rid of clk_readl() we can remove io.h from the
clk-provider header and push out the io.h include to any code that isn't
already including the io.h header but using things like readl/writel,
etc.Found with this grep:
git grep -l clk-provider.h | grep '.c$' | xargs git grep -L 'linux/io.h' | \
xargs git grep -l \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\' --or \
-e '\'I also reordered a couple includes when they weren't alphabetical and
removed clk.h from kona, replacing it with clk-provider.h because
that driver doesn't use clk consumer APIs.Acked-by: Geert Uytterhoeven
Cc: Chen-Yu Tsai
Acked-by: Maxime Ripard
Acked-by: Tero Kristo
Acked-by: Sekhar Nori
Cc: Krzysztof Kozlowski
Acked-by: Mark Brown
Cc: Chris Zankel
Acked-by: Max Filippov
Acked-by: John Crispin
Acked-by: Heiko Stuebner
Signed-off-by: Stephen Boyd
04 May, 2019
1 commit
-
Add driver code for the SiFive FU540 PRCI IP block. This IP block
handles reset and clock control for the SiFive FU540 device and
implements SoC-level clock tree controls and dividers.Based on code written by Wesley Terpstra :
https://github.com/riscv/riscv-linux/commit/999529edf517ed75b56659d456d221b2ee56bb60Boot and PLL rate change were tested on a SiFive HiFive Unleashed
board.This version includes several changes requested by Stephen Boyd
.Signed-off-by: Paul Walmsley
Signed-off-by: Paul Walmsley
Cc: Michael Turquette
Cc: Stephen Boyd
Cc: Albert Ou
Cc: Wesley W. Terpstra
Cc: Palmer Dabbelt
Cc: Megan Wachs
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-clk@vger.kernel.org
[sboyd@kernel.org: Fix some const and ARRAY_SIZE() issues, make makefile
only descend if CLK_SIFIVE=y]
Signed-off-by: Stephen Boyd