[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/23] scripts/coccinelle: New script to remove unnecessary timer_
From: |
Peter Maydell |
Subject: |
[PULL 10/23] scripts/coccinelle: New script to remove unnecessary timer_del() calls |
Date: |
Fri, 8 Jan 2021 15:36:08 +0000 |
Now that timer_free() implicitly calls timer_del(), sequences
timer_del(mytimer);
timer_free(mytimer);
can be simplified to just
timer_free(mytimer);
Add a Coccinelle script to do this transformation.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20201215154107.3255-3-peter.maydell@linaro.org
---
scripts/coccinelle/timer-del-timer-free.cocci | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
create mode 100644 scripts/coccinelle/timer-del-timer-free.cocci
diff --git a/scripts/coccinelle/timer-del-timer-free.cocci
b/scripts/coccinelle/timer-del-timer-free.cocci
new file mode 100644
index 00000000000..c3cfd428039
--- /dev/null
+++ b/scripts/coccinelle/timer-del-timer-free.cocci
@@ -0,0 +1,18 @@
+// Remove superfluous timer_del() calls
+//
+// Copyright Linaro Limited 2020
+// This work is licensed under the terms of the GNU GPLv2 or later.
+//
+// spatch --macro-file scripts/cocci-macro-file.h \
+// --sp-file scripts/coccinelle/timer-del-timer-free.cocci \
+// --in-place --dir .
+//
+// The timer_free() function now implicitly calls timer_del()
+// for you, so calls to timer_del() immediately before the
+// timer_free() of the same timer can be deleted.
+
+@@
+expression T;
+@@
+-timer_del(T);
+ timer_free(T);
--
2.20.1
- [PULL 00/23] target-arm queue, Peter Maydell, 2021/01/08
- [PULL 01/23] intc/arm_gic: Fix gic_irq_signaling_enabled() for vCPUs, Peter Maydell, 2021/01/08
- [PULL 02/23] hw/arm/virt: Remove virt machine state 'smp_cpus', Peter Maydell, 2021/01/08
- [PULL 03/23] target/arm: Fix MTE0_ACTIVE, Peter Maydell, 2021/01/08
- [PULL 04/23] hw/intc/armv7m_nvic: Correct handling of CCR.BFHFNMIGN, Peter Maydell, 2021/01/08
- [PULL 05/23] target/arm: Correct store of FPSCR value via FPCXT_S, Peter Maydell, 2021/01/08
- [PULL 06/23] target/arm: Implement FPCXT_NS fp system register, Peter Maydell, 2021/01/08
- [PULL 07/23] target/arm: Implement Cortex-M55 model, Peter Maydell, 2021/01/08
- [PULL 08/23] hw/arm/highbank: Drop dead KVM support code, Peter Maydell, 2021/01/08
- [PULL 10/23] scripts/coccinelle: New script to remove unnecessary timer_del() calls,
Peter Maydell <=
- [PULL 09/23] util/qemu-timer: Make timer_free() imply timer_del(), Peter Maydell, 2021/01/08
- [PULL 12/23] target/arm: Remove timer_del()/timer_deinit() before timer_free(), Peter Maydell, 2021/01/08
- [PULL 11/23] Remove superfluous timer_del() calls, Peter Maydell, 2021/01/08
- [PULL 14/23] allwinner-a10-pit: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 16/23] exynos4210_pwm: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 13/23] digic-timer: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 17/23] mss-timer: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 19/23] exynos4210_mct: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 18/23] musicpal: Use ptimer_free() in the finalize function to avoid memleaks, Peter Maydell, 2021/01/08
- [PULL 20/23] hw/misc: imx6_ccm: Update PMU_MISC0 reset value, Peter Maydell, 2021/01/08