]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: qcom: reset: Use the correct type of sleep/delay based on length
authorKonrad Dybcio <konrad.dybcio@linaro.org>
Fri, 28 Jul 2023 07:57:38 +0000 (09:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:48:21 +0000 (09:48 +0200)
[ Upstream commit 181b66ee7cdd824797fc99b53bec29cf5630a04f ]

Use the fsleep() helper that (based on the length of the delay, see: [1])
chooses the correct sleep/delay functions.

[1] https://www.kernel.org/doc/Documentation/timers/timers-howto.txt

Fixes: 2cb8a39b6781 ("clk: qcom: reset: Allow specifying custom reset delay")
Signed-off-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230726-topic-qcom_reset-v3-1-5958facd5db2@linaro.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/clk/qcom/reset.c

index 0e914ec7aeae1d36ccb32cc976e437423858efef..e45e32804d2c75aa5e5a1bf11be76e3d422b140b 100644 (file)
@@ -16,7 +16,8 @@ static int qcom_reset(struct reset_controller_dev *rcdev, unsigned long id)
        struct qcom_reset_controller *rst = to_qcom_reset_controller(rcdev);
 
        rcdev->ops->assert(rcdev, id);
-       udelay(rst->reset_map[id].udelay ?: 1); /* use 1 us as default */
+       fsleep(rst->reset_map[id].udelay ?: 1); /* use 1 us as default */
+
        rcdev->ops->deassert(rcdev, id);
        return 0;
 }