| From af0d4442dd6813de6e77309063beb064fa8e89ae Mon Sep 17 00:00:00 2001 |
| From: Lionel Debieve <lionel.debieve@st.com> |
| Date: Mon, 1 Apr 2019 12:30:45 +0200 |
| Subject: hwrng: stm32 - fix unbalanced pm_runtime_enable |
| |
| From: Lionel Debieve <lionel.debieve@st.com> |
| |
| commit af0d4442dd6813de6e77309063beb064fa8e89ae upstream. |
| |
| No remove function implemented yet in the driver. |
| Without remove function, the pm_runtime implementation |
| complains when removing and probing again the driver. |
| |
| Signed-off-by: Lionel Debieve <lionel.debieve@st.com> |
| Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/char/hw_random/stm32-rng.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/drivers/char/hw_random/stm32-rng.c |
| +++ b/drivers/char/hw_random/stm32-rng.c |
| @@ -166,6 +166,13 @@ static int stm32_rng_probe(struct platfo |
| return devm_hwrng_register(dev, &priv->rng); |
| } |
| |
| +static int stm32_rng_remove(struct platform_device *ofdev) |
| +{ |
| + pm_runtime_disable(&ofdev->dev); |
| + |
| + return 0; |
| +} |
| + |
| #ifdef CONFIG_PM |
| static int stm32_rng_runtime_suspend(struct device *dev) |
| { |
| @@ -202,6 +209,7 @@ static struct platform_driver stm32_rng_ |
| .of_match_table = stm32_rng_match, |
| }, |
| .probe = stm32_rng_probe, |
| + .remove = stm32_rng_remove, |
| }; |
| |
| module_platform_driver(stm32_rng_driver); |