Re: [PATCH] hwspinlock: stm32: implement the relax() ops
From: Benjamin Gaignard
Date: Fri Mar 08 2019 - 07:42:58 EST
Le jeu. 7 mars 2019 Ã 16:42, Fabien Dessenne <fabien.dessenne@xxxxxx> a Ãcrit :
>
> Implement this optional ops, called by hwspinlock core while spinning on
> a lock, between two successive invocations of trylock().
>
> Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx>
Reviewed-by: Benjamin Gaignard <benjamin.gaignard@xxxxxx>
> ---
> drivers/hwspinlock/stm32_hwspinlock.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/hwspinlock/stm32_hwspinlock.c b/drivers/hwspinlock/stm32_hwspinlock.c
> index 4418392..c8eacf4 100644
> --- a/drivers/hwspinlock/stm32_hwspinlock.c
> +++ b/drivers/hwspinlock/stm32_hwspinlock.c
> @@ -5,6 +5,7 @@
> */
>
> #include <linux/clk.h>
> +#include <linux/delay.h>
> #include <linux/hwspinlock.h>
> #include <linux/io.h>
> #include <linux/kernel.h>
> @@ -42,9 +43,15 @@ static void stm32_hwspinlock_unlock(struct hwspinlock *lock)
> writel(STM32_MUTEX_COREID, lock_addr);
> }
>
> +static void stm32_hwspinlock_relax(struct hwspinlock *lock)
> +{
> + ndelay(50);
> +}
> +
> static const struct hwspinlock_ops stm32_hwspinlock_ops = {
> .trylock = stm32_hwspinlock_trylock,
> .unlock = stm32_hwspinlock_unlock,
> + .relax = stm32_hwspinlock_relax,
> };
>
> static int stm32_hwspinlock_probe(struct platform_device *pdev)
> --
> 2.7.4
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Benjamin Gaignard
Graphic Study Group
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog