stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Sylwester Nawrocki <snawrocki@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-clk@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 064/115] clk: samsung: Use clk_hw API for calling clk framework from clk notifiers
Date: Tue, 12 Nov 2019 20:55:31 -0500	[thread overview]
Message-ID: <20191113015622.11592-64-sashal@kernel.org> (raw)
In-Reply-To: <20191113015622.11592-1-sashal@kernel.org>

From: Marek Szyprowski <m.szyprowski@samsung.com>

[ Upstream commit 1da220e3a5d22fccda0bc8542997abc1d1741268 ]

clk_notifier_register() documentation states, that the provided notifier
callbacks associated with the notifier must not re-enter into the clk
framework by calling any top-level clk APIs. Fix this by replacing
clk_get_rate() calls with clk_hw_get_rate(), which is safe in this
context.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Sylwester Nawrocki <snawrocki@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/clk/samsung/clk-cpu.c | 6 +++---
 drivers/clk/samsung/clk-cpu.h | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/clk/samsung/clk-cpu.c b/drivers/clk/samsung/clk-cpu.c
index 6686e8ba61f9f..82f023f29a61f 100644
--- a/drivers/clk/samsung/clk-cpu.c
+++ b/drivers/clk/samsung/clk-cpu.c
@@ -152,7 +152,7 @@ static int exynos_cpuclk_pre_rate_change(struct clk_notifier_data *ndata,
 			struct exynos_cpuclk *cpuclk, void __iomem *base)
 {
 	const struct exynos_cpuclk_cfg_data *cfg_data = cpuclk->cfg;
-	unsigned long alt_prate = clk_get_rate(cpuclk->alt_parent);
+	unsigned long alt_prate = clk_hw_get_rate(cpuclk->alt_parent);
 	unsigned long alt_div = 0, alt_div_mask = DIV_MASK;
 	unsigned long div0, div1 = 0, mux_reg;
 	unsigned long flags;
@@ -280,7 +280,7 @@ static int exynos5433_cpuclk_pre_rate_change(struct clk_notifier_data *ndata,
 			struct exynos_cpuclk *cpuclk, void __iomem *base)
 {
 	const struct exynos_cpuclk_cfg_data *cfg_data = cpuclk->cfg;
-	unsigned long alt_prate = clk_get_rate(cpuclk->alt_parent);
+	unsigned long alt_prate = clk_hw_get_rate(cpuclk->alt_parent);
 	unsigned long alt_div = 0, alt_div_mask = DIV_MASK;
 	unsigned long div0, div1 = 0, mux_reg;
 	unsigned long flags;
@@ -432,7 +432,7 @@ int __init exynos_register_cpu_clock(struct samsung_clk_provider *ctx,
 	else
 		cpuclk->clk_nb.notifier_call = exynos_cpuclk_notifier_cb;
 
-	cpuclk->alt_parent = __clk_lookup(alt_parent);
+	cpuclk->alt_parent = __clk_get_hw(__clk_lookup(alt_parent));
 	if (!cpuclk->alt_parent) {
 		pr_err("%s: could not lookup alternate parent %s\n",
 				__func__, alt_parent);
diff --git a/drivers/clk/samsung/clk-cpu.h b/drivers/clk/samsung/clk-cpu.h
index d4b6b517fe1b4..bd38c6aa38970 100644
--- a/drivers/clk/samsung/clk-cpu.h
+++ b/drivers/clk/samsung/clk-cpu.h
@@ -49,7 +49,7 @@ struct exynos_cpuclk_cfg_data {
  */
 struct exynos_cpuclk {
 	struct clk_hw				hw;
-	struct clk				*alt_parent;
+	struct clk_hw				*alt_parent;
 	void __iomem				*ctrl_base;
 	spinlock_t				*lock;
 	const struct exynos_cpuclk_cfg_data	*cfg;
-- 
2.20.1


  parent reply	other threads:[~2019-11-13  2:12 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-13  1:54 [PATCH AUTOSEL 4.14 001/115] net: ovs: fix return type of ndo_start_xmit function Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 002/115] net: xen-netback: " Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 003/115] ARM: dts: dra7: Enable workaround for errata i870 in PCIe host mode Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 004/115] ARM: dts: omap5: enable OTG role for DWC3 controller Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 005/115] net: hns3: Fix for netdev not up problem when setting mtu Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 006/115] f2fs: return correct errno in f2fs_gc Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 007/115] ARM: dts: sun8i: h3-h5: ir register size should be the whole memory block Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 008/115] SUNRPC: Fix priority queue fairness Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 009/115] IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 010/115] iommu/io-pgtable-arm: Fix race handling in split_blk_unmap() Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 011/115] kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 012/115] arm64/numa: Report correct memblock range for the dummy node Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 013/115] ath10k: fix vdev-start timeout on error Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 014/115] ata: ahci_brcm: Match BCM63138 compatible strings Sasha Levin
2019-11-13 20:07   ` Florian Fainelli
2019-11-22  3:29     ` Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 015/115] ata: ahci_brcm: Allow using driver or DSL SoCs Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 016/115] ath9k: fix reporting calculated new FFT upper max Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 017/115] usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status() Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 018/115] usb: dwc3: gadget: Check ENBLSLPM before sending ep command Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 019/115] nl80211: Fix a GET_KEY reply attribute Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 020/115] irqchip/irq-mvebu-icu: Fix wrong private data retrieval Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 021/115] watchdog: w83627hf_wdt: Support NCT6796D, NCT6797D, NCT6798D Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 022/115] KVM: PPC: Inform the userspace about TCE update failures Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 023/115] dmaengine: ep93xx: Return proper enum in ep93xx_dma_chan_direction Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 024/115] dmaengine: timb_dma: Use proper enum in td_prep_slave_sg Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 025/115] ext4: fix build error when DX_DEBUG is defined Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 026/115] clk: keystone: Enable TISCI clocks if K3_ARCH Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 027/115] sunrpc: Fix connect metrics Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 028/115] mei: samples: fix a signedness bug in amt_host_if_call() Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 029/115] cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 030/115] cxgb4: Use proper enum in IEEE_FAUX_SYNC Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 031/115] powerpc/pseries: Fix DTL buffer registration Sasha Levin
2019-11-13  1:54 ` [PATCH AUTOSEL 4.14 032/115] powerpc/pseries: Fix how we iterate over the DTL entries Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 033/115] powerpc/xive: Move a dereference below a NULL test Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 034/115] ARM: dts: at91: sama5d4_xplained: fix addressable nand flash size Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 035/115] ARM: dts: at91: at91sam9x5cm: " Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 036/115] mtd: rawnand: sh_flctl: Use proper enum for flctl_dma_fifo0_transfer Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 037/115] PM / hibernate: Check the success of generating md5 digest before hibernation Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 038/115] tools: PCI: Fix compilation warnings Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 039/115] clocksource/drivers/sh_cmt: Fixup for 64-bit machines Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 040/115] clocksource/drivers/sh_cmt: Fix clocksource width for 32-bit machines Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 041/115] md: allow metadata updates while suspending an array - fix Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 042/115] ixgbe: Fix ixgbe TX hangs with XDP_TX beyond queue limit Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 043/115] i40e: Use proper enum in i40e_ndo_set_vf_link_state Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 044/115] ixgbe: Fix crash with VFs and flow director on interface flap Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 045/115] IB/mthca: Fix error return code in __mthca_init_one() Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 046/115] IB/mlx4: Avoid implicit enumerated type conversion Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 047/115] ACPICA: Never run _REG on system_memory and system_IO Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 048/115] powerpc/time: Use clockevents_register_device(), fixing an issue with large decrementer Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 049/115] ata: ep93xx: Use proper enums for directions Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 050/115] ARM: dts: da850-lego-ev3: slow down A/DC as much as possible Sasha Levin
2019-11-13 16:10   ` David Lechner
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 051/115] media: rc: ir-rc6-decoder: enable toggle bit for Kathrein RCU-676 remote Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 052/115] media: pxa_camera: Fix check for pdev->dev.of_node Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 053/115] media: i2c: adv748x: Support probing a single output Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 054/115] ALSA: hda/sigmatel - Disable automute for Elo VuPoint Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 055/115] KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 056/115] USB: serial: cypress_m8: fix interrupt-out transfer length Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 057/115] mtd: physmap_of: Release resources on error Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 058/115] cpu/SMT: State SMT is disabled even with nosmt and without "=force" Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 059/115] brcmfmac: reduce timeout for action frame scan Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 060/115] brcmfmac: fix full timeout waiting for action frame on-channel tx Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 061/115] qtnfmac: pass sgi rate info flag to wireless core Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 062/115] qtnfmac: drop error reports for out-of-bounds key indexes Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 063/115] clk: samsung: exynos5420: Define CLK_SECKEY gate clock only or Exynos5420 Sasha Levin
2019-11-13  1:55 ` Sasha Levin [this message]
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 065/115] i2c: brcmstb: Allow enabling the driver on DSL SoCs Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 066/115] NFSv4.x: fix lock recovery during delegation recall Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 067/115] dmaengine: ioat: fix prototype of ioat_enumerate_channels Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 068/115] media: cec-gpio: select correct Signal Free Time Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 069/115] Input: st1232 - set INPUT_PROP_DIRECT property Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 070/115] Input: silead - try firmware reload after unsuccessful resume Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 071/115] remoteproc: Check for NULL firmwares in sysfs interface Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 072/115] kexec: Allocate decrypted control pages for kdump if SME is enabled Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 073/115] x86/olpc: Fix build error with CONFIG_MFD_CS5535=m Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 074/115] dmaengine: rcar-dmac: set scatter/gather max segment size Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 075/115] crypto: mxs-dcp - Fix SHA null hashes and output length Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 076/115] crypto: mxs-dcp - Fix AES issues Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 077/115] xfrm: use correct size to initialise sp->ovec Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 078/115] ACPI / SBS: Fix rare oops when removing modules Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 079/115] iwlwifi: mvm: don't send keys when entering D3 Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 080/115] x86/fsgsbase/64: Fix ptrace() to read the FS/GS base accurately Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 081/115] mmc: tmio: Fix SCC error detection Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 082/115] fbdev: sbuslib: use checked version of put_user() Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 083/115] fbdev: sbuslib: integer overflow in sbusfb_ioctl_helper() Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 084/115] reset: Fix potential use-after-free in __of_reset_control_get() Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 085/115] bcache: recal cached_dev_sectors on detach Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 086/115] media: dw9714: Fix error handling in probe function Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 087/115] s390/kasan: avoid vdso instrumentation Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 088/115] proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted() Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 089/115] backlight: lm3639: Unconditionally call led_classdev_unregister Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 090/115] mfd: ti_am335x_tscadc: Keep ADC interface on if child is wakeup capable Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 091/115] printk: Give error on attempt to set log buffer length to over 2G Sasha Levin
2019-11-13  1:55 ` [PATCH AUTOSEL 4.14 092/115] media: isif: fix a NULL pointer dereference bug Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 093/115] GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 094/115] media: cx231xx: fix potential sign-extension overflow on large shift Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 095/115] x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 096/115] gpio: syscon: Fix possible NULL ptr usage Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 097/115] spi: fsl-lpspi: Prevent FIFO under/overrun by default Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 098/115] pinctrl: gemini: Mask and set properly Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 099/115] spi: spidev: Fix OF tree warning logic Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 100/115] ARM: 8802/1: Call syscall_trace_exit even when system call skipped Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 101/115] orangefs: rate limit the client not running info message Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 102/115] pinctrl: gemini: Fix up TVC clock group Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 103/115] hwmon: (pwm-fan) Silence error on probe deferral Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 104/115] hwmon: (ina3221) Fix INA3221_CONFIG_MODE macros Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 105/115] netfilter: nft_compat: do not dump private area Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 106/115] misc: cxl: Fix possible null pointer dereference Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 107/115] mac80211: minstrel: fix using short preamble CCK rates on HT clients Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 108/115] mac80211: minstrel: fix CCK rate group streams value Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 109/115] mac80211: minstrel: fix sampling/reporting of CCK rates in HT mode Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 110/115] spi: rockchip: initialize dma_slave_config properly Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 111/115] mlxsw: spectrum_switchdev: Check notification relevance based on upper device Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 112/115] ARM: dts: omap5: Fix dual-role mode on Super-Speed port Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 113/115] tools: PCI: Fix broken pcitest compilation Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 114/115] powerpc/time: Fix clockevent_decrementer initalisation for PR KVM Sasha Levin
2019-11-13  1:56 ` [PATCH AUTOSEL 4.14 115/115] mmc: tmio: fix SCC error handling to avoid false positive CRC error Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191113015622.11592-64-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=snawrocki@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).