linux-uconsole/drivers/clk
Niklas Söderlund 1f8d72a2e2 clk: renesas: rcar-gen3: Set state when registering SD clocks
[ Upstream commit ecda0a09fa ]

The driver tries to figure out which state a SD clock is in when the
clock is registered, instead of setting a known state. This can be
problematic for two reasons.

1. If the clock driver can't figure out the state of the clock,
   registration of the clock fails, and setting of a known state by a
   clock user is not possible.

2. The state of the clock depends on if and how the bootloader
   configured it. The driver only checks that the rate is known, not if
   the clock is stopped or not for example.

Fix this by setting a known state and making sure the clock is stopped.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-13 08:52:32 +01:00
..
actions clk: actions: Don't reference clk_init_data after registration 2019-10-07 18:56:43 +02:00
at91 clk: at91: generated: set audio_pll_allowed in at91_clk_register_generated() 2019-12-05 09:21:25 +01:00
axis
axs10x
bcm treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
berlin This time we have a good set of changes to the core framework that do some 2018-06-09 12:06:24 -07:00
davinci ARM: 32-bit SoC platform updates 2018-08-23 13:44:43 -07:00
h8300 clk: h8300: pr_err() strings should end with newlines 2017-12-06 22:40:02 -08:00
hisilicon clk: hi3660: Mark clk_gate_ufs_subsys as critical 2019-05-25 18:23:28 +02:00
imgtec clk: boston: unregister clks on failure in clk_boston_setup() 2019-11-06 13:05:26 +01:00
imx clk: imx6sl: ensure MMDC CH0 handshake is bypassed 2019-02-12 19:47:08 +01:00
ingenic clk: ingenic: Fix doc of ingenic_cgu_div_info 2019-03-23 20:10:03 +01:00
keystone clk: keystone: Enable TISCI clocks if K3_ARCH 2019-11-24 08:19:48 +01:00
loongson1
mediatek clk: mediatek: Drop more __init markings for driver probe 2019-12-13 08:52:16 +01:00
meson clk: meson: meson8b: fix the offset of vid_pll_dco's N value 2019-12-13 08:52:22 +01:00
microchip
mmp clk: mmp2: fix the clock id for sdh2_clk and sdh3_clk 2019-12-01 09:16:30 +01:00
mvebu clk: mvebu: Off by one bugs in cp110_of_clk_get() 2018-12-21 14:15:19 +01:00
mxs clk: mxs: make clk_ops const 2017-11-01 23:25:43 -07:00
nxp clk: lpc32xx: Set name of regmap_config 2018-03-19 14:35:16 -07:00
pistachio
pxa clk: pxa: export 32kHz PLL 2018-07-06 13:52:57 -07:00
qcom clk: qcom: gcc-msm8998: Disable halt check of UFS clocks 2019-12-13 08:52:29 +01:00
renesas clk: renesas: rcar-gen3: Set state when registering SD clocks 2019-12-13 08:52:32 +01:00
rockchip clk: rockchip: fix I2S1 clock gate register for rk3328 2019-12-13 08:51:27 +01:00
samsung clk: samsung: exynos5420: Preserve PLL configuration during suspend/resume 2019-12-05 09:19:37 +01:00
sirf clk: sirf: Don't reference clk_init_data after registration 2019-10-07 18:56:45 +02:00
socfpga clk: socfpga: stratix10: fix rate caclulationg for cnt_clks 2019-08-29 08:28:49 +02:00
spear clk: spear: fix WDT clock definition on SPEAr600 2018-04-06 13:45:34 -07:00
sprd clk: sprd: add missing kfree 2019-10-07 18:57:03 +02:00
st treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
sunxi clk: sunxi: Fix operator precedence in sunxi_divs_clk_setup 2019-12-05 09:19:38 +01:00
sunxi-ng clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent 2019-12-13 08:52:22 +01:00
tegra clk: tegra20: Turn EMC clock gate into divider 2019-12-01 09:17:28 +01:00
ti clk: ti: clkctrl: Fix failed to enable error with double udelay timeout 2019-12-05 09:19:40 +01:00
uniphier clk: uniphier: Fix update register for CPU-gear 2019-03-23 20:10:03 +01:00
ux500 clk: ux500: Drop AB8540/9540 support 2018-03-23 09:36:11 -07:00
versatile clk: versatile: Remove WARNs in ->round_rate() 2018-03-16 15:31:16 -07:00
x86 clk: x86: Add system specific quirk to mark clocks as critical 2019-05-08 07:21:54 +02:00
zte clk: zx296718: Don't reference clk_init_data after registration 2019-10-07 18:56:46 +02:00
zynq
clk-asm9260.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-aspeed.c The new and exciting feature this time around is in the clk core. 2018-08-15 21:41:21 -07:00
clk-axi-clkgen.c clk: axi-clkgen: Round closest in round_rate() and recalc_rate() 2017-12-21 18:07:53 -08:00
clk-axm5516.c
clk-bulk.c clk: bulk: silently error out on EPROBE_DEFER 2018-05-15 15:16:13 -07:00
clk-cdce706.c
clk-cdce925.c clk: cdce925: remove redundant check for non-null parent_name 2017-11-13 17:44:15 -08:00
clk-clps711x.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-composite.c
clk-conf.c
clk-cs2000-cp.c clk: cs2000-cp: convert to SPDX identifiers 2018-08-02 13:55:00 -07:00
clk-devres.c
clk-divider.c clk: divider: read-only divider can propagate rate change 2018-03-12 15:10:26 -07:00
clk-efm32gg.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-fixed-factor.c clk: fixed-factor: fix of_node_get-put imbalance 2018-11-27 16:13:04 +01:00
clk-fixed-rate.c clk: fixed-rate: fix of_node_get-put imbalance 2018-11-27 16:13:00 +01:00
clk-fractional-divider.c clk: fractional-divider: check parent rate only if flag is set 2019-04-05 22:33:03 +02:00
clk-gate.c clk: gate: expose clk_gate_ops::is_enabled 2017-08-31 18:35:45 -07:00
clk-gemini.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-gpio.c clk: clk-gpio: Allow GPIO to sleep in set/get_parent 2018-03-19 13:53:08 -07:00
clk-hi655x.c
clk-highbank.c
clk-hsdk-pll.c ARC: clk: fix spelling mistake: "configurarion" -> "configuration" 2017-11-13 17:44:26 -08:00
clk-max9485.c clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
clk-max77686.c
clk-moxart.c
clk-multiplier.c
clk-mux.c clk: honor CLK_MUX_ROUND_CLOSEST in generic clk mux 2018-04-16 09:25:07 -07:00
clk-nomadik.c
clk-npcm7xx.c clk: npcm7xx: fix memory allocation 2018-08-28 15:12:59 -07:00
clk-nspire.c
clk-oxnas.c
clk-palmas.c
clk-pwm.c
clk-qoriq.c clk: qoriq: Fix -Wunused-const-variable 2019-10-07 18:56:40 +02:00
clk-rk808.c
clk-s2mps11.c clk: s2mps11: Add used attribute to s2mps11_dt_match 2019-09-16 08:21:45 +02:00
clk-scmi.c clk: scmi: Fix the rounding of clock rate 2018-08-02 13:43:48 -07:00
clk-scpi.c
clk-si514.c clk-si514, clk-si544: Implement prepare/unprepare/is_prepared operations 2018-06-29 10:59:40 -07:00
clk-si544.c clk-si514, clk-si544: Implement prepare/unprepare/is_prepared operations 2018-06-29 10:59:40 -07:00
clk-si570.c
clk-si5351.c clk: si5351: _si5351_clkout_reset_pll() can be static 2017-12-28 10:49:48 -08:00
clk-si5351.h
clk-stm32f4.c clk: stm32: Add clk entry for SDMMC2 on stm32F769 2018-03-19 13:46:07 -07:00
clk-stm32h7.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-stm32mp1.c clk: stm32mp1: parent clocks update 2019-12-05 09:21:35 +01:00
clk-tango4.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
clk-twl6040.c clk: clk-twl6040: Fix imprecise external abort for pdmclk 2019-03-23 20:10:03 +01:00
clk-u300.c clk: clk-u300: Fix a typo in two comment lines 2017-11-13 17:39:43 -08:00
clk-versaclock5.c clk: vc5: Abort clock configuration without upstream clock 2019-03-05 17:58:46 +01:00
clk-vt8500.c
clk-wm831x.c clk: make clk_init_data const 2017-11-01 23:25:51 -07:00
clk-xgene.c clk: clk-xgene: Adjust six checks for null pointers 2017-11-13 17:40:03 -08:00
clk.c clk: sysfs: fix invalid JSON in clk_dump 2019-03-05 17:58:46 +01:00
clk.h clk: Move __clk_{get,put}() into private clk.h API 2018-01-04 15:13:29 -08:00
clkdev.c ARM: 8778/1: clkdev: don't call __of_clk_get_by_name() unnecessarily from clk_get() 2018-08-13 16:27:52 +01:00
Kconfig clk: Add driver for MAX9485 2018-07-06 13:44:06 -07:00
Makefile clk: keystone: Enable TISCI clocks if K3_ARCH 2019-11-24 08:19:48 +01:00