Miquel Raynal
5833206170
BACKPORT: clk: core: clarify the check for runtime PM
...
Currently, the core->dev entry is populated only if runtime PM is
enabled. Doing so prevents accessing the device structure in any
case.
Keep the same logic but instead of using the presence of core->dev as
the only condition, also check the status of
pm_runtime_enabled(). Then, we can set the core->dev pointer at any
time as long as a device structure is available.
This change will help supporting device links in the clock subsystem.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Cc: Jerome Brunet <jbrunet@baylibre.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Jeffrey Hugo <jhugo@codeaurora.org>
Cc: Chen-Yu Tsai <wens@csie.org>
[sboyd@kernel.org: Change to a boolean flag]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
(cherry picked from commit 2447883934a03c80a85d92cd313ea1d10e330158)
[Resolved minor struct field conflict in driver/clk/clk.c]
Bug: 144066914
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: Ifcb8c6afdcada7046feec4f570258befbfe98eeb
2020-02-03 17:50:56 -08:00
..
actions
clk: actions: Fix factor clk struct member access
2020-01-27 14:51:14 +01:00
at91
clk: at91: generated: set audio_pll_allowed in at91_clk_register_generated()
2019-12-05 09:21:25 +01:00
axis
axs10x
clk: axs10x: introduce AXS10X pll driver
2017-07-17 11:50:59 -07:00
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: vf610: fix refcount leak in vf610_clocks_init()
2020-01-27 14:50:09 +01:00
ingenic
clk: ingenic: jz4740: Fix gating of UDC clock
2020-01-27 14:50:19 +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: axg: spread spectrum is on mpll2
2020-01-27 14:50:49 +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: dove: fix refcount leak in dove_clk_init()
2020-01-27 14:50:10 +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: fix one of the pxa RTC clocks
2020-01-04 19:12:57 +01:00
qcom
clk: qcom: Fix -Wunused-const-variable
2020-01-27 14:50:58 +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: exynos4: fix refcount leak in exynos4_get_xom()
2020-01-27 14:50:08 +01:00
sirf
clk: sirf: Don't reference clk_init_data after registration
2019-10-07 18:56:45 +02:00
socfpga
clk: socfpga: fix refcount leak
2020-01-27 14:50:08 +01:00
spear
clk: spear: fix WDT clock definition on SPEAr600
2018-04-06 13:45:34 -07:00
sprd
clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle()
2020-01-23 08:21:39 +01: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: v3s: add the missing PLL_DDR1
2020-01-27 14:51:01 +01:00
tegra
clk: tegra20: Turn EMC clock gate into divider
2019-12-01 09:17:28 +01:00
ti
clk: ti: fix refcount leak in ti_dt_clocks_register()
2020-01-27 14:50:08 +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: Convert to using %pOF instead of full_name
2017-07-21 15:49:54 -07:00
clk-cs2000-cp.c
clk: cs2000-cp: convert to SPDX identifiers
2018-08-02 13:55:00 -07:00
clk-devres.c
clk: add managed version of clk_bulk_get
2017-06-02 15:37:49 -07:00
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: propagate rate change to parent
2020-01-04 19:12:52 +01:00
clk-hi655x.c
clk: hi6220: Add the hi655x's pmic clock
2017-04-21 19:18:53 -07:00
clk-highbank.c
clk: highbank: fix refcount leak in hb_clk_init()
2020-01-27 14:50:08 +01:00
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: Convert to using %pOF instead of full_name
2017-07-21 15:49:54 -07:00
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: nomadik: Delete error messages for a failed memory allocation in two functions
2017-04-21 19:47:14 -07:00
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: palmas: undo preparation of a clock source.
2017-06-02 10:51:34 -07:00
clk-pwm.c
clk-qoriq.c
clk: qoriq: fix refcount leak in clockgen_init()
2020-01-27 14:50:08 +01: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: scpi: error when clock fails to register
2017-06-29 18:47:35 -07:00
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
BACKPORT: clk: core: clarify the check for runtime PM
2020-02-03 17:50:56 -08: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