]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some unneeded omap documentation fixes
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Nov 2023 17:38:59 +0000 (18:38 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Nov 2023 17:38:59 +0000 (18:38 +0100)
queue-5.10/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch [deleted file]
queue-5.10/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch [deleted file]
queue-5.10/series
queue-5.15/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch [deleted file]
queue-5.15/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch [deleted file]
queue-5.15/series
queue-5.4/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch [deleted file]
queue-5.4/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch [deleted file]
queue-5.4/series

diff --git a/queue-5.10/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch b/queue-5.10/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
deleted file mode 100644 (file)
index c542855..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From 79717ef45f51ab97a06693a3e7480b02d351f2de Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 6 Oct 2023 17:16:03 -0700
-Subject: ARM: OMAP: timer32K: fix all kernel-doc warnings
-
-From: Randy Dunlap <rdunlap@infradead.org>
-
-[ Upstream commit 7eeca8ccd1066c68d6002dbbe26433f8c17c53eb ]
-
-Fix kernel-doc warnings reported by the kernel test robot:
-
-timer32k.c:186: warning: cannot understand function prototype: 'struct timespec64 persistent_ts; '
-timer32k.c:191: warning: Function parameter or member 'ts' not described in 'omap_read_persistent_clock64'
-timer32k.c:216: warning: Function parameter or member 'vbase' not described in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'pbase' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'size' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: No description found for return value of 'omap_init_clocksource_32k'
-
-Fixes: a451570c008b ("ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock() replacement")
-Fixes: 1fe97c8f6a1d ("ARM: OMAP: Make OMAP clocksource source selection using kernel param")
-Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
-Reported-by: kernel test robot <lkp@intel.com>
-Closes: https://lore.kernel.org/all/202310070106.8QSyJOm3-lkp@intel.com/
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: Vaibhav Hiremath <hvaibhav@ti.com>
-Cc: Felipe Balbi <balbi@ti.com>
-Cc: Tony Lindgren <tony@atomide.com>
-Cc: Xunlei Pang <pang.xunlei@linaro.org>
-Cc: John Stultz <john.stultz@linaro.org>
-Cc: Ingo Molnar <mingo@kernel.org>
-Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
-Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
-Cc: linux-omap@vger.kernel.org
-Cc: linux-arm-kernel@lists.infradead.org
-Message-ID: <20231007001603.24972-1-rdunlap@infradead.org>
-Signed-off-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/timer32k.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 11958ccd894dc..747899083f238 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -176,17 +176,18 @@ static u64 notrace omap_32k_read_sched_clock(void)
-       return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
- }
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
- /**
-  * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ * @ts: &struct timespec64 for the returned time
-  *
-  * Reads the time from a source which isn't disabled during PM, the
-  * 32k sync timer.  Convert the cycles elapsed since last read into
-  * nsecs and adds to a monotonically increasing timespec64.
-  */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
- static void omap_read_persistent_clock64(struct timespec64 *ts)
- {
-       unsigned long long nsecs;
-@@ -206,10 +207,9 @@ static void omap_read_persistent_clock64(struct timespec64 *ts)
- /**
-  * omap_init_clocksource_32k - setup and register counter 32k as a
-  * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-+ * @vbase: base addr of counter_32k module
-  *
-- * Returns 0 upon success or negative error code upon failure.
-+ * Returns: %0 upon success or negative error code upon failure.
-  *
-  */
- int __init omap_init_clocksource_32k(void __iomem *vbase)
--- 
-2.42.0
-
diff --git a/queue-5.10/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch b/queue-5.10/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
deleted file mode 100644 (file)
index 435e822..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-From 85166f1cd7f9b5757bd09dd8ec1afdbbe93640ce Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 20 Sep 2019 13:57:31 +0200
-Subject: ARM: omap1: move 32k counter from plat-omap to mach-omap1
-
-From: Arnd Bergmann <arnd@arndb.de>
-
-[ Upstream commit d379e8899a8da1041c347ae5b792773c48a559a9 ]
-
-omap2 stopped using this code with commit 8d39ff3d1696 ("ARM: OMAP2+:
-Remove unused legacy code for timer"), so just move it to mach-omap1 now,
-along with the other half of that driver.
-
-Acked-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-Stable-dep-of: 7eeca8ccd106 ("ARM: OMAP: timer32K: fix all kernel-doc warnings")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/Kconfig                   |  16 +++
- arch/arm/mach-omap1/timer32k.c                |  96 ++++++++++++++-
- arch/arm/plat-omap/Kconfig                    |  17 ---
- arch/arm/plat-omap/Makefile                   |   2 +-
- arch/arm/plat-omap/counter_32k.c              | 114 ------------------
- arch/arm/plat-omap/include/plat/counter-32k.h |   1 -
- 6 files changed, 110 insertions(+), 136 deletions(-)
- delete mode 100644 arch/arm/plat-omap/counter_32k.c
- delete mode 100644 arch/arm/plat-omap/include/plat/counter-32k.h
-
-diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
-index 9536b8f3c07db..5b28f747c10d2 100644
---- a/arch/arm/mach-omap1/Kconfig
-+++ b/arch/arm/mach-omap1/Kconfig
-@@ -53,6 +53,22 @@ config OMAP_MUX_WARNINGS
-         to change the pin multiplexing setup.  When there are no warnings
-         printed, it's safe to deselect OMAP_MUX for your product.
-+config OMAP_32K_TIMER
-+      bool "Use 32KHz timer"
-+      depends on ARCH_OMAP16XX
-+      default ARCH_OMAP16XX
-+      help
-+        Select this option if you want to enable the OMAP 32KHz timer.
-+        This timer saves power compared to the OMAP_MPU_TIMER, and has
-+        support for no tick during idle. The 32KHz timer provides less
-+        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
-+        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
-+
-+        On OMAP2PLUS this value is only used for CONFIG_HZ and
-+        CLOCK_TICK_RATE compile time calculation.
-+        The actual timer selection is done in the board file
-+        through the (DT_)MACHINE_START structure.
-+
- comment "OMAP Board Type"
- config MACH_OMAP_INNOVATOR
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 780fdf03c3cee..11958ccd894dc 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -45,15 +45,13 @@
- #include <linux/clocksource.h>
- #include <linux/clockchips.h>
- #include <linux/io.h>
-+#include <linux/sched_clock.h>
- #include <asm/irq.h>
- #include <asm/mach/irq.h>
- #include <asm/mach/time.h>
--#include <plat/counter-32k.h>
--
- #include <mach/hardware.h>
--
- #include "common.h"
- /*
-@@ -159,6 +157,98 @@ static __init void omap_init_32k_timer(void)
-                                       OMAP_32K_TICKS_PER_SEC, 1, 0xfffffffe);
- }
-+/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
-+#define OMAP2_32KSYNCNT_REV_OFF               0x0
-+#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
-+#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
-+#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
-+
-+/*
-+ * 32KHz clocksource ... always available, on pretty most chips except
-+ * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-+ * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-+ * but systems won't necessarily want to spend resources that way.
-+ */
-+static void __iomem *sync32k_cnt_reg;
-+
-+static u64 notrace omap_32k_read_sched_clock(void)
-+{
-+      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+}
-+
-+/**
-+ * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ *
-+ * Reads the time from a source which isn't disabled during PM, the
-+ * 32k sync timer.  Convert the cycles elapsed since last read into
-+ * nsecs and adds to a monotonically increasing timespec64.
-+ */
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
-+static void omap_read_persistent_clock64(struct timespec64 *ts)
-+{
-+      unsigned long long nsecs;
-+      cycles_t last_cycles;
-+
-+      last_cycles = cycles;
-+      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+
-+      nsecs = clocksource_cyc2ns(cycles - last_cycles,
-+                                      persistent_mult, persistent_shift);
-+
-+      timespec64_add_ns(&persistent_ts, nsecs);
-+
-+      *ts = persistent_ts;
-+}
-+
-+/**
-+ * omap_init_clocksource_32k - setup and register counter 32k as a
-+ * kernel clocksource
-+ * @pbase: base addr of counter_32k module
-+ * @size: size of counter_32k to map
-+ *
-+ * Returns 0 upon success or negative error code upon failure.
-+ *
-+ */
-+int __init omap_init_clocksource_32k(void __iomem *vbase)
-+{
-+      int ret;
-+
-+      /*
-+       * 32k sync Counter IP register offsets vary between the
-+       * highlander version and the legacy ones.
-+       * The 'SCHEME' bits(30-31) of the revision register is used
-+       * to identify the version.
-+       */
-+      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
-+                                              OMAP2_32KSYNCNT_REV_SCHEME)
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
-+      else
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
-+
-+      /*
-+       * 120000 rough estimate from the calculations in
-+       * __clocksource_update_freq_scale.
-+       */
-+      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
-+                      32768, NSEC_PER_SEC, 120000);
-+
-+      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
-+                              250, 32, clocksource_mmio_readl_up);
-+      if (ret) {
-+              pr_err("32k_counter: can't register clocksource\n");
-+              return ret;
-+      }
-+
-+      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
-+      register_persistent_clock(omap_read_persistent_clock64);
-+      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
-+
-+      return 0;
-+}
-+
- /*
-  * ---------------------------------------------------------------------------
-  * Timer initialization
-diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
-index 272670ef1e92d..dfa19d5030e35 100644
---- a/arch/arm/plat-omap/Kconfig
-+++ b/arch/arm/plat-omap/Kconfig
-@@ -72,23 +72,6 @@ config OMAP_MPU_TIMER
-         timer provides more intra-tick resolution than the 32KHz timer,
-         but consumes more power.
--config OMAP_32K_TIMER
--      bool "Use 32KHz timer"
--      depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
--      default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS)
--      help
--        Select this option if you want to enable the OMAP 32KHz timer.
--        This timer saves power compared to the OMAP_MPU_TIMER, and has
--        support for no tick during idle. The 32KHz timer provides less
--        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
--        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
--
--        On OMAP2PLUS this value is only used for CONFIG_HZ and
--        CLOCK_TICK_RATE compile time calculation.
--        The actual timer selection is done in the board file
--        through the (DT_)MACHINE_START structure.
--
--
- config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
-       bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
-       depends on ARCH_OMAP3 && PM
-diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
-index 371f2ed00eda2..98a7b607873a2 100644
---- a/arch/arm/plat-omap/Makefile
-+++ b/arch/arm/plat-omap/Makefile
-@@ -6,7 +6,7 @@
- ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include
- # Common support
--obj-y := sram.o dma.o counter_32k.o
-+obj-y := sram.o dma.o
- # omap_device support (OMAP2+ only at the moment)
-diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
-deleted file mode 100644
-index 7a729ade21057..0000000000000
---- a/arch/arm/plat-omap/counter_32k.c
-+++ /dev/null
-@@ -1,114 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-only
--/*
-- * OMAP 32ksynctimer/counter_32k-related code
-- *
-- * Copyright (C) 2009 Texas Instruments
-- * Copyright (C) 2010 Nokia Corporation
-- * Tony Lindgren <tony@atomide.com>
-- * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com>
-- *
-- * NOTE: This timer is not the same timer as the old OMAP1 MPU timer.
-- */
--#include <linux/kernel.h>
--#include <linux/init.h>
--#include <linux/clk.h>
--#include <linux/err.h>
--#include <linux/io.h>
--#include <linux/clocksource.h>
--#include <linux/sched_clock.h>
--
--#include <asm/mach/time.h>
--
--#include <plat/counter-32k.h>
--
--/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
--#define OMAP2_32KSYNCNT_REV_OFF               0x0
--#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
--#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
--#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
--
--/*
-- * 32KHz clocksource ... always available, on pretty most chips except
-- * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-- * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-- * but systems won't necessarily want to spend resources that way.
-- */
--static void __iomem *sync32k_cnt_reg;
--
--static u64 notrace omap_32k_read_sched_clock(void)
--{
--      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--}
--
--/**
-- * omap_read_persistent_clock64 -  Return time from a persistent clock.
-- *
-- * Reads the time from a source which isn't disabled during PM, the
-- * 32k sync timer.  Convert the cycles elapsed since last read into
-- * nsecs and adds to a monotonically increasing timespec64.
-- */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
--static void omap_read_persistent_clock64(struct timespec64 *ts)
--{
--      unsigned long long nsecs;
--      cycles_t last_cycles;
--
--      last_cycles = cycles;
--      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--
--      nsecs = clocksource_cyc2ns(cycles - last_cycles,
--                                      persistent_mult, persistent_shift);
--
--      timespec64_add_ns(&persistent_ts, nsecs);
--
--      *ts = persistent_ts;
--}
--
--/**
-- * omap_init_clocksource_32k - setup and register counter 32k as a
-- * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-- *
-- * Returns 0 upon success or negative error code upon failure.
-- *
-- */
--int __init omap_init_clocksource_32k(void __iomem *vbase)
--{
--      int ret;
--
--      /*
--       * 32k sync Counter IP register offsets vary between the
--       * highlander version and the legacy ones.
--       * The 'SCHEME' bits(30-31) of the revision register is used
--       * to identify the version.
--       */
--      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
--                                              OMAP2_32KSYNCNT_REV_SCHEME)
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
--      else
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
--
--      /*
--       * 120000 rough estimate from the calculations in
--       * __clocksource_update_freq_scale.
--       */
--      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
--                      32768, NSEC_PER_SEC, 120000);
--
--      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
--                              250, 32, clocksource_mmio_readl_up);
--      if (ret) {
--              pr_err("32k_counter: can't register clocksource\n");
--              return ret;
--      }
--
--      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
--      register_persistent_clock(omap_read_persistent_clock64);
--      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
--
--      return 0;
--}
-diff --git a/arch/arm/plat-omap/include/plat/counter-32k.h b/arch/arm/plat-omap/include/plat/counter-32k.h
-deleted file mode 100644
-index da000d482ff26..0000000000000
---- a/arch/arm/plat-omap/include/plat/counter-32k.h
-+++ /dev/null
-@@ -1 +0,0 @@
--int omap_init_clocksource_32k(void __iomem *vbase);
--- 
-2.42.0
-
index 1cf0720e5a8da949f1d633fe28b760cd2ea41719..9493c23d7ecb00adbaa053fc5c1ed089adb8bcf2 100644 (file)
@@ -6,8 +6,6 @@ virtio-mmio-fix-memory-leak-of-vm_dev.patch
 mm-page_alloc-correct-start-page-when-guard-page-debug-is-enabled.patch
 mmc-renesas_sdhi-use-custom-mask-for-tmio_mask_all.patch
 drm-dp_mst-fix-null-deref-in-get_mst_branch_device_b.patch
-arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
-arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_tx-whi.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_rx-whi.patch
 treewide-spelling-fix-in-comment.patch
diff --git a/queue-5.15/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch b/queue-5.15/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
deleted file mode 100644 (file)
index 994df65..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From fc2bd66cfaee20c2988212bff3829003155b0da0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 6 Oct 2023 17:16:03 -0700
-Subject: ARM: OMAP: timer32K: fix all kernel-doc warnings
-
-From: Randy Dunlap <rdunlap@infradead.org>
-
-[ Upstream commit 7eeca8ccd1066c68d6002dbbe26433f8c17c53eb ]
-
-Fix kernel-doc warnings reported by the kernel test robot:
-
-timer32k.c:186: warning: cannot understand function prototype: 'struct timespec64 persistent_ts; '
-timer32k.c:191: warning: Function parameter or member 'ts' not described in 'omap_read_persistent_clock64'
-timer32k.c:216: warning: Function parameter or member 'vbase' not described in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'pbase' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'size' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: No description found for return value of 'omap_init_clocksource_32k'
-
-Fixes: a451570c008b ("ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock() replacement")
-Fixes: 1fe97c8f6a1d ("ARM: OMAP: Make OMAP clocksource source selection using kernel param")
-Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
-Reported-by: kernel test robot <lkp@intel.com>
-Closes: https://lore.kernel.org/all/202310070106.8QSyJOm3-lkp@intel.com/
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: Vaibhav Hiremath <hvaibhav@ti.com>
-Cc: Felipe Balbi <balbi@ti.com>
-Cc: Tony Lindgren <tony@atomide.com>
-Cc: Xunlei Pang <pang.xunlei@linaro.org>
-Cc: John Stultz <john.stultz@linaro.org>
-Cc: Ingo Molnar <mingo@kernel.org>
-Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
-Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
-Cc: linux-omap@vger.kernel.org
-Cc: linux-arm-kernel@lists.infradead.org
-Message-ID: <20231007001603.24972-1-rdunlap@infradead.org>
-Signed-off-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/timer32k.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 11958ccd894dc..747899083f238 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -176,17 +176,18 @@ static u64 notrace omap_32k_read_sched_clock(void)
-       return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
- }
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
- /**
-  * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ * @ts: &struct timespec64 for the returned time
-  *
-  * Reads the time from a source which isn't disabled during PM, the
-  * 32k sync timer.  Convert the cycles elapsed since last read into
-  * nsecs and adds to a monotonically increasing timespec64.
-  */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
- static void omap_read_persistent_clock64(struct timespec64 *ts)
- {
-       unsigned long long nsecs;
-@@ -206,10 +207,9 @@ static void omap_read_persistent_clock64(struct timespec64 *ts)
- /**
-  * omap_init_clocksource_32k - setup and register counter 32k as a
-  * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-+ * @vbase: base addr of counter_32k module
-  *
-- * Returns 0 upon success or negative error code upon failure.
-+ * Returns: %0 upon success or negative error code upon failure.
-  *
-  */
- int __init omap_init_clocksource_32k(void __iomem *vbase)
--- 
-2.42.0
-
diff --git a/queue-5.15/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch b/queue-5.15/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
deleted file mode 100644 (file)
index 6dc85a4..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-From 6c253f436849316a5f057130c516efc4a5af9b8e Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 20 Sep 2019 13:57:31 +0200
-Subject: ARM: omap1: move 32k counter from plat-omap to mach-omap1
-
-From: Arnd Bergmann <arnd@arndb.de>
-
-[ Upstream commit d379e8899a8da1041c347ae5b792773c48a559a9 ]
-
-omap2 stopped using this code with commit 8d39ff3d1696 ("ARM: OMAP2+:
-Remove unused legacy code for timer"), so just move it to mach-omap1 now,
-along with the other half of that driver.
-
-Acked-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-Stable-dep-of: 7eeca8ccd106 ("ARM: OMAP: timer32K: fix all kernel-doc warnings")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/Kconfig                   |  16 +++
- arch/arm/mach-omap1/timer32k.c                |  96 ++++++++++++++-
- arch/arm/plat-omap/Kconfig                    |  17 ---
- arch/arm/plat-omap/Makefile                   |   2 +-
- arch/arm/plat-omap/counter_32k.c              | 114 ------------------
- arch/arm/plat-omap/include/plat/counter-32k.h |   1 -
- 6 files changed, 110 insertions(+), 136 deletions(-)
- delete mode 100644 arch/arm/plat-omap/counter_32k.c
- delete mode 100644 arch/arm/plat-omap/include/plat/counter-32k.h
-
-diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
-index 208c700c2455c..04155b5ce9786 100644
---- a/arch/arm/mach-omap1/Kconfig
-+++ b/arch/arm/mach-omap1/Kconfig
-@@ -53,6 +53,22 @@ config OMAP_MUX_WARNINGS
-         to change the pin multiplexing setup.  When there are no warnings
-         printed, it's safe to deselect OMAP_MUX for your product.
-+config OMAP_32K_TIMER
-+      bool "Use 32KHz timer"
-+      depends on ARCH_OMAP16XX
-+      default ARCH_OMAP16XX
-+      help
-+        Select this option if you want to enable the OMAP 32KHz timer.
-+        This timer saves power compared to the OMAP_MPU_TIMER, and has
-+        support for no tick during idle. The 32KHz timer provides less
-+        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
-+        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
-+
-+        On OMAP2PLUS this value is only used for CONFIG_HZ and
-+        CLOCK_TICK_RATE compile time calculation.
-+        The actual timer selection is done in the board file
-+        through the (DT_)MACHINE_START structure.
-+
- comment "OMAP Board Type"
- config MACH_OMAP_INNOVATOR
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 780fdf03c3cee..11958ccd894dc 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -45,15 +45,13 @@
- #include <linux/clocksource.h>
- #include <linux/clockchips.h>
- #include <linux/io.h>
-+#include <linux/sched_clock.h>
- #include <asm/irq.h>
- #include <asm/mach/irq.h>
- #include <asm/mach/time.h>
--#include <plat/counter-32k.h>
--
- #include <mach/hardware.h>
--
- #include "common.h"
- /*
-@@ -159,6 +157,98 @@ static __init void omap_init_32k_timer(void)
-                                       OMAP_32K_TICKS_PER_SEC, 1, 0xfffffffe);
- }
-+/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
-+#define OMAP2_32KSYNCNT_REV_OFF               0x0
-+#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
-+#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
-+#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
-+
-+/*
-+ * 32KHz clocksource ... always available, on pretty most chips except
-+ * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-+ * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-+ * but systems won't necessarily want to spend resources that way.
-+ */
-+static void __iomem *sync32k_cnt_reg;
-+
-+static u64 notrace omap_32k_read_sched_clock(void)
-+{
-+      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+}
-+
-+/**
-+ * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ *
-+ * Reads the time from a source which isn't disabled during PM, the
-+ * 32k sync timer.  Convert the cycles elapsed since last read into
-+ * nsecs and adds to a monotonically increasing timespec64.
-+ */
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
-+static void omap_read_persistent_clock64(struct timespec64 *ts)
-+{
-+      unsigned long long nsecs;
-+      cycles_t last_cycles;
-+
-+      last_cycles = cycles;
-+      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+
-+      nsecs = clocksource_cyc2ns(cycles - last_cycles,
-+                                      persistent_mult, persistent_shift);
-+
-+      timespec64_add_ns(&persistent_ts, nsecs);
-+
-+      *ts = persistent_ts;
-+}
-+
-+/**
-+ * omap_init_clocksource_32k - setup and register counter 32k as a
-+ * kernel clocksource
-+ * @pbase: base addr of counter_32k module
-+ * @size: size of counter_32k to map
-+ *
-+ * Returns 0 upon success or negative error code upon failure.
-+ *
-+ */
-+int __init omap_init_clocksource_32k(void __iomem *vbase)
-+{
-+      int ret;
-+
-+      /*
-+       * 32k sync Counter IP register offsets vary between the
-+       * highlander version and the legacy ones.
-+       * The 'SCHEME' bits(30-31) of the revision register is used
-+       * to identify the version.
-+       */
-+      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
-+                                              OMAP2_32KSYNCNT_REV_SCHEME)
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
-+      else
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
-+
-+      /*
-+       * 120000 rough estimate from the calculations in
-+       * __clocksource_update_freq_scale.
-+       */
-+      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
-+                      32768, NSEC_PER_SEC, 120000);
-+
-+      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
-+                              250, 32, clocksource_mmio_readl_up);
-+      if (ret) {
-+              pr_err("32k_counter: can't register clocksource\n");
-+              return ret;
-+      }
-+
-+      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
-+      register_persistent_clock(omap_read_persistent_clock64);
-+      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
-+
-+      return 0;
-+}
-+
- /*
-  * ---------------------------------------------------------------------------
-  * Timer initialization
-diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
-index 272670ef1e92d..dfa19d5030e35 100644
---- a/arch/arm/plat-omap/Kconfig
-+++ b/arch/arm/plat-omap/Kconfig
-@@ -72,23 +72,6 @@ config OMAP_MPU_TIMER
-         timer provides more intra-tick resolution than the 32KHz timer,
-         but consumes more power.
--config OMAP_32K_TIMER
--      bool "Use 32KHz timer"
--      depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
--      default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS)
--      help
--        Select this option if you want to enable the OMAP 32KHz timer.
--        This timer saves power compared to the OMAP_MPU_TIMER, and has
--        support for no tick during idle. The 32KHz timer provides less
--        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
--        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
--
--        On OMAP2PLUS this value is only used for CONFIG_HZ and
--        CLOCK_TICK_RATE compile time calculation.
--        The actual timer selection is done in the board file
--        through the (DT_)MACHINE_START structure.
--
--
- config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
-       bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
-       depends on ARCH_OMAP3 && PM
-diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
-index 371f2ed00eda2..98a7b607873a2 100644
---- a/arch/arm/plat-omap/Makefile
-+++ b/arch/arm/plat-omap/Makefile
-@@ -6,7 +6,7 @@
- ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include
- # Common support
--obj-y := sram.o dma.o counter_32k.o
-+obj-y := sram.o dma.o
- # omap_device support (OMAP2+ only at the moment)
-diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
-deleted file mode 100644
-index 7a729ade21057..0000000000000
---- a/arch/arm/plat-omap/counter_32k.c
-+++ /dev/null
-@@ -1,114 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-only
--/*
-- * OMAP 32ksynctimer/counter_32k-related code
-- *
-- * Copyright (C) 2009 Texas Instruments
-- * Copyright (C) 2010 Nokia Corporation
-- * Tony Lindgren <tony@atomide.com>
-- * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com>
-- *
-- * NOTE: This timer is not the same timer as the old OMAP1 MPU timer.
-- */
--#include <linux/kernel.h>
--#include <linux/init.h>
--#include <linux/clk.h>
--#include <linux/err.h>
--#include <linux/io.h>
--#include <linux/clocksource.h>
--#include <linux/sched_clock.h>
--
--#include <asm/mach/time.h>
--
--#include <plat/counter-32k.h>
--
--/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
--#define OMAP2_32KSYNCNT_REV_OFF               0x0
--#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
--#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
--#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
--
--/*
-- * 32KHz clocksource ... always available, on pretty most chips except
-- * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-- * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-- * but systems won't necessarily want to spend resources that way.
-- */
--static void __iomem *sync32k_cnt_reg;
--
--static u64 notrace omap_32k_read_sched_clock(void)
--{
--      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--}
--
--/**
-- * omap_read_persistent_clock64 -  Return time from a persistent clock.
-- *
-- * Reads the time from a source which isn't disabled during PM, the
-- * 32k sync timer.  Convert the cycles elapsed since last read into
-- * nsecs and adds to a monotonically increasing timespec64.
-- */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
--static void omap_read_persistent_clock64(struct timespec64 *ts)
--{
--      unsigned long long nsecs;
--      cycles_t last_cycles;
--
--      last_cycles = cycles;
--      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--
--      nsecs = clocksource_cyc2ns(cycles - last_cycles,
--                                      persistent_mult, persistent_shift);
--
--      timespec64_add_ns(&persistent_ts, nsecs);
--
--      *ts = persistent_ts;
--}
--
--/**
-- * omap_init_clocksource_32k - setup and register counter 32k as a
-- * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-- *
-- * Returns 0 upon success or negative error code upon failure.
-- *
-- */
--int __init omap_init_clocksource_32k(void __iomem *vbase)
--{
--      int ret;
--
--      /*
--       * 32k sync Counter IP register offsets vary between the
--       * highlander version and the legacy ones.
--       * The 'SCHEME' bits(30-31) of the revision register is used
--       * to identify the version.
--       */
--      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
--                                              OMAP2_32KSYNCNT_REV_SCHEME)
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
--      else
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
--
--      /*
--       * 120000 rough estimate from the calculations in
--       * __clocksource_update_freq_scale.
--       */
--      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
--                      32768, NSEC_PER_SEC, 120000);
--
--      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
--                              250, 32, clocksource_mmio_readl_up);
--      if (ret) {
--              pr_err("32k_counter: can't register clocksource\n");
--              return ret;
--      }
--
--      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
--      register_persistent_clock(omap_read_persistent_clock64);
--      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
--
--      return 0;
--}
-diff --git a/arch/arm/plat-omap/include/plat/counter-32k.h b/arch/arm/plat-omap/include/plat/counter-32k.h
-deleted file mode 100644
-index da000d482ff26..0000000000000
---- a/arch/arm/plat-omap/include/plat/counter-32k.h
-+++ /dev/null
-@@ -1 +0,0 @@
--int omap_init_clocksource_32k(void __iomem *vbase);
--- 
-2.42.0
-
index 0b638abe37166ff075d500d3277df446aebf3ef3..2886ee1a01aa28c5b9d012f0e3cd2b98d5f37edc 100644 (file)
@@ -17,8 +17,6 @@ vsock-virtio-factor-our-the-code-to-initialize-and-d.patch
 vsock-virtio-add-support-for-device-suspend-resume.patch
 vsock-virtio-initialize-the_virtio_vsock-before-usin.patch
 drm-dp_mst-fix-null-deref-in-get_mst_branch_device_b.patch
-arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
-arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
 firmware-imx-dsp-fix-use_after_free-in-imx_dsp_setup.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_tx-whi.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_tx-whi.patch-409
diff --git a/queue-5.4/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch b/queue-5.4/arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
deleted file mode 100644 (file)
index b002d5d..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From c77ba9e4eefd9aebee0a921784bac31581104cd2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 6 Oct 2023 17:16:03 -0700
-Subject: ARM: OMAP: timer32K: fix all kernel-doc warnings
-
-From: Randy Dunlap <rdunlap@infradead.org>
-
-[ Upstream commit 7eeca8ccd1066c68d6002dbbe26433f8c17c53eb ]
-
-Fix kernel-doc warnings reported by the kernel test robot:
-
-timer32k.c:186: warning: cannot understand function prototype: 'struct timespec64 persistent_ts; '
-timer32k.c:191: warning: Function parameter or member 'ts' not described in 'omap_read_persistent_clock64'
-timer32k.c:216: warning: Function parameter or member 'vbase' not described in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'pbase' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: Excess function parameter 'size' description in 'omap_init_clocksource_32k'
-timer32k.c:216: warning: No description found for return value of 'omap_init_clocksource_32k'
-
-Fixes: a451570c008b ("ARM: OMAP: 32k counter: Provide y2038-safe omap_read_persistent_clock() replacement")
-Fixes: 1fe97c8f6a1d ("ARM: OMAP: Make OMAP clocksource source selection using kernel param")
-Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
-Reported-by: kernel test robot <lkp@intel.com>
-Closes: https://lore.kernel.org/all/202310070106.8QSyJOm3-lkp@intel.com/
-Cc: Arnd Bergmann <arnd@arndb.de>
-Cc: Vaibhav Hiremath <hvaibhav@ti.com>
-Cc: Felipe Balbi <balbi@ti.com>
-Cc: Tony Lindgren <tony@atomide.com>
-Cc: Xunlei Pang <pang.xunlei@linaro.org>
-Cc: John Stultz <john.stultz@linaro.org>
-Cc: Ingo Molnar <mingo@kernel.org>
-Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
-Cc: Janusz Krzysztofik <jmkrzyszt@gmail.com>
-Cc: linux-omap@vger.kernel.org
-Cc: linux-arm-kernel@lists.infradead.org
-Message-ID: <20231007001603.24972-1-rdunlap@infradead.org>
-Signed-off-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/timer32k.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 11958ccd894dc..747899083f238 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -176,17 +176,18 @@ static u64 notrace omap_32k_read_sched_clock(void)
-       return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
- }
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
- /**
-  * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ * @ts: &struct timespec64 for the returned time
-  *
-  * Reads the time from a source which isn't disabled during PM, the
-  * 32k sync timer.  Convert the cycles elapsed since last read into
-  * nsecs and adds to a monotonically increasing timespec64.
-  */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
- static void omap_read_persistent_clock64(struct timespec64 *ts)
- {
-       unsigned long long nsecs;
-@@ -206,10 +207,9 @@ static void omap_read_persistent_clock64(struct timespec64 *ts)
- /**
-  * omap_init_clocksource_32k - setup and register counter 32k as a
-  * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-+ * @vbase: base addr of counter_32k module
-  *
-- * Returns 0 upon success or negative error code upon failure.
-+ * Returns: %0 upon success or negative error code upon failure.
-  *
-  */
- int __init omap_init_clocksource_32k(void __iomem *vbase)
--- 
-2.42.0
-
diff --git a/queue-5.4/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch b/queue-5.4/arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
deleted file mode 100644 (file)
index 280e024..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-From 1f137417252d2bf3728978d1db09c7cbabf0dd73 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 20 Sep 2019 13:57:31 +0200
-Subject: ARM: omap1: move 32k counter from plat-omap to mach-omap1
-
-From: Arnd Bergmann <arnd@arndb.de>
-
-[ Upstream commit d379e8899a8da1041c347ae5b792773c48a559a9 ]
-
-omap2 stopped using this code with commit 8d39ff3d1696 ("ARM: OMAP2+:
-Remove unused legacy code for timer"), so just move it to mach-omap1 now,
-along with the other half of that driver.
-
-Acked-by: Tony Lindgren <tony@atomide.com>
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-Stable-dep-of: 7eeca8ccd106 ("ARM: OMAP: timer32K: fix all kernel-doc warnings")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm/mach-omap1/Kconfig                   |  16 +++
- arch/arm/mach-omap1/timer32k.c                |  96 ++++++++++++++-
- arch/arm/plat-omap/Kconfig                    |  17 ---
- arch/arm/plat-omap/Makefile                   |   2 +-
- arch/arm/plat-omap/counter_32k.c              | 114 ------------------
- arch/arm/plat-omap/include/plat/counter-32k.h |   1 -
- 6 files changed, 110 insertions(+), 136 deletions(-)
- delete mode 100644 arch/arm/plat-omap/counter_32k.c
- delete mode 100644 arch/arm/plat-omap/include/plat/counter-32k.h
-
-diff --git a/arch/arm/mach-omap1/Kconfig b/arch/arm/mach-omap1/Kconfig
-index 2a17dc1d122c0..60f4362034540 100644
---- a/arch/arm/mach-omap1/Kconfig
-+++ b/arch/arm/mach-omap1/Kconfig
-@@ -59,6 +59,22 @@ config OMAP_MUX_WARNINGS
-         to change the pin multiplexing setup.  When there are no warnings
-         printed, it's safe to deselect OMAP_MUX for your product.
-+config OMAP_32K_TIMER
-+      bool "Use 32KHz timer"
-+      depends on ARCH_OMAP16XX
-+      default ARCH_OMAP16XX
-+      help
-+        Select this option if you want to enable the OMAP 32KHz timer.
-+        This timer saves power compared to the OMAP_MPU_TIMER, and has
-+        support for no tick during idle. The 32KHz timer provides less
-+        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
-+        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
-+
-+        On OMAP2PLUS this value is only used for CONFIG_HZ and
-+        CLOCK_TICK_RATE compile time calculation.
-+        The actual timer selection is done in the board file
-+        through the (DT_)MACHINE_START structure.
-+
- comment "OMAP Board Type"
-       depends on ARCH_OMAP1
-diff --git a/arch/arm/mach-omap1/timer32k.c b/arch/arm/mach-omap1/timer32k.c
-index 780fdf03c3cee..11958ccd894dc 100644
---- a/arch/arm/mach-omap1/timer32k.c
-+++ b/arch/arm/mach-omap1/timer32k.c
-@@ -45,15 +45,13 @@
- #include <linux/clocksource.h>
- #include <linux/clockchips.h>
- #include <linux/io.h>
-+#include <linux/sched_clock.h>
- #include <asm/irq.h>
- #include <asm/mach/irq.h>
- #include <asm/mach/time.h>
--#include <plat/counter-32k.h>
--
- #include <mach/hardware.h>
--
- #include "common.h"
- /*
-@@ -159,6 +157,98 @@ static __init void omap_init_32k_timer(void)
-                                       OMAP_32K_TICKS_PER_SEC, 1, 0xfffffffe);
- }
-+/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
-+#define OMAP2_32KSYNCNT_REV_OFF               0x0
-+#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
-+#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
-+#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
-+
-+/*
-+ * 32KHz clocksource ... always available, on pretty most chips except
-+ * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-+ * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-+ * but systems won't necessarily want to spend resources that way.
-+ */
-+static void __iomem *sync32k_cnt_reg;
-+
-+static u64 notrace omap_32k_read_sched_clock(void)
-+{
-+      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+}
-+
-+/**
-+ * omap_read_persistent_clock64 -  Return time from a persistent clock.
-+ *
-+ * Reads the time from a source which isn't disabled during PM, the
-+ * 32k sync timer.  Convert the cycles elapsed since last read into
-+ * nsecs and adds to a monotonically increasing timespec64.
-+ */
-+static struct timespec64 persistent_ts;
-+static cycles_t cycles;
-+static unsigned int persistent_mult, persistent_shift;
-+
-+static void omap_read_persistent_clock64(struct timespec64 *ts)
-+{
-+      unsigned long long nsecs;
-+      cycles_t last_cycles;
-+
-+      last_cycles = cycles;
-+      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
-+
-+      nsecs = clocksource_cyc2ns(cycles - last_cycles,
-+                                      persistent_mult, persistent_shift);
-+
-+      timespec64_add_ns(&persistent_ts, nsecs);
-+
-+      *ts = persistent_ts;
-+}
-+
-+/**
-+ * omap_init_clocksource_32k - setup and register counter 32k as a
-+ * kernel clocksource
-+ * @pbase: base addr of counter_32k module
-+ * @size: size of counter_32k to map
-+ *
-+ * Returns 0 upon success or negative error code upon failure.
-+ *
-+ */
-+int __init omap_init_clocksource_32k(void __iomem *vbase)
-+{
-+      int ret;
-+
-+      /*
-+       * 32k sync Counter IP register offsets vary between the
-+       * highlander version and the legacy ones.
-+       * The 'SCHEME' bits(30-31) of the revision register is used
-+       * to identify the version.
-+       */
-+      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
-+                                              OMAP2_32KSYNCNT_REV_SCHEME)
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
-+      else
-+              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
-+
-+      /*
-+       * 120000 rough estimate from the calculations in
-+       * __clocksource_update_freq_scale.
-+       */
-+      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
-+                      32768, NSEC_PER_SEC, 120000);
-+
-+      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
-+                              250, 32, clocksource_mmio_readl_up);
-+      if (ret) {
-+              pr_err("32k_counter: can't register clocksource\n");
-+              return ret;
-+      }
-+
-+      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
-+      register_persistent_clock(omap_read_persistent_clock64);
-+      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
-+
-+      return 0;
-+}
-+
- /*
-  * ---------------------------------------------------------------------------
-  * Timer initialization
-diff --git a/arch/arm/plat-omap/Kconfig b/arch/arm/plat-omap/Kconfig
-index 93fd7fc537cf4..faae8557cd12b 100644
---- a/arch/arm/plat-omap/Kconfig
-+++ b/arch/arm/plat-omap/Kconfig
-@@ -72,23 +72,6 @@ config OMAP_MPU_TIMER
-         timer provides more intra-tick resolution than the 32KHz timer,
-         but consumes more power.
--config OMAP_32K_TIMER
--      bool "Use 32KHz timer"
--      depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS
--      default y if (ARCH_OMAP16XX || ARCH_OMAP2PLUS)
--      help
--        Select this option if you want to enable the OMAP 32KHz timer.
--        This timer saves power compared to the OMAP_MPU_TIMER, and has
--        support for no tick during idle. The 32KHz timer provides less
--        intra-tick resolution than OMAP_MPU_TIMER. The 32KHz timer is
--        currently only available for OMAP16XX, 24XX, 34XX, OMAP4/5 and DRA7XX.
--
--        On OMAP2PLUS this value is only used for CONFIG_HZ and
--        CLOCK_TICK_RATE compile time calculation.
--        The actual timer selection is done in the board file
--        through the (DT_)MACHINE_START structure.
--
--
- config OMAP3_L2_AUX_SECURE_SAVE_RESTORE
-       bool "OMAP3 HS/EMU save and restore for L2 AUX control register"
-       depends on ARCH_OMAP3 && PM
-diff --git a/arch/arm/plat-omap/Makefile b/arch/arm/plat-omap/Makefile
-index 371f2ed00eda2..98a7b607873a2 100644
---- a/arch/arm/plat-omap/Makefile
-+++ b/arch/arm/plat-omap/Makefile
-@@ -6,7 +6,7 @@
- ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/arch/arm/plat-omap/include
- # Common support
--obj-y := sram.o dma.o counter_32k.o
-+obj-y := sram.o dma.o
- # omap_device support (OMAP2+ only at the moment)
-diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
-deleted file mode 100644
-index 7a729ade21057..0000000000000
---- a/arch/arm/plat-omap/counter_32k.c
-+++ /dev/null
-@@ -1,114 +0,0 @@
--// SPDX-License-Identifier: GPL-2.0-only
--/*
-- * OMAP 32ksynctimer/counter_32k-related code
-- *
-- * Copyright (C) 2009 Texas Instruments
-- * Copyright (C) 2010 Nokia Corporation
-- * Tony Lindgren <tony@atomide.com>
-- * Added OMAP4 support - Santosh Shilimkar <santosh.shilimkar@ti.com>
-- *
-- * NOTE: This timer is not the same timer as the old OMAP1 MPU timer.
-- */
--#include <linux/kernel.h>
--#include <linux/init.h>
--#include <linux/clk.h>
--#include <linux/err.h>
--#include <linux/io.h>
--#include <linux/clocksource.h>
--#include <linux/sched_clock.h>
--
--#include <asm/mach/time.h>
--
--#include <plat/counter-32k.h>
--
--/* OMAP2_32KSYNCNT_CR_OFF: offset of 32ksync counter register */
--#define OMAP2_32KSYNCNT_REV_OFF               0x0
--#define OMAP2_32KSYNCNT_REV_SCHEME    (0x3 << 30)
--#define OMAP2_32KSYNCNT_CR_OFF_LOW    0x10
--#define OMAP2_32KSYNCNT_CR_OFF_HIGH   0x30
--
--/*
-- * 32KHz clocksource ... always available, on pretty most chips except
-- * OMAP 730 and 1510.  Other timers could be used as clocksources, with
-- * higher resolution in free-running counter modes (e.g. 12 MHz xtal),
-- * but systems won't necessarily want to spend resources that way.
-- */
--static void __iomem *sync32k_cnt_reg;
--
--static u64 notrace omap_32k_read_sched_clock(void)
--{
--      return sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--}
--
--/**
-- * omap_read_persistent_clock64 -  Return time from a persistent clock.
-- *
-- * Reads the time from a source which isn't disabled during PM, the
-- * 32k sync timer.  Convert the cycles elapsed since last read into
-- * nsecs and adds to a monotonically increasing timespec64.
-- */
--static struct timespec64 persistent_ts;
--static cycles_t cycles;
--static unsigned int persistent_mult, persistent_shift;
--
--static void omap_read_persistent_clock64(struct timespec64 *ts)
--{
--      unsigned long long nsecs;
--      cycles_t last_cycles;
--
--      last_cycles = cycles;
--      cycles = sync32k_cnt_reg ? readl_relaxed(sync32k_cnt_reg) : 0;
--
--      nsecs = clocksource_cyc2ns(cycles - last_cycles,
--                                      persistent_mult, persistent_shift);
--
--      timespec64_add_ns(&persistent_ts, nsecs);
--
--      *ts = persistent_ts;
--}
--
--/**
-- * omap_init_clocksource_32k - setup and register counter 32k as a
-- * kernel clocksource
-- * @pbase: base addr of counter_32k module
-- * @size: size of counter_32k to map
-- *
-- * Returns 0 upon success or negative error code upon failure.
-- *
-- */
--int __init omap_init_clocksource_32k(void __iomem *vbase)
--{
--      int ret;
--
--      /*
--       * 32k sync Counter IP register offsets vary between the
--       * highlander version and the legacy ones.
--       * The 'SCHEME' bits(30-31) of the revision register is used
--       * to identify the version.
--       */
--      if (readl_relaxed(vbase + OMAP2_32KSYNCNT_REV_OFF) &
--                                              OMAP2_32KSYNCNT_REV_SCHEME)
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_HIGH;
--      else
--              sync32k_cnt_reg = vbase + OMAP2_32KSYNCNT_CR_OFF_LOW;
--
--      /*
--       * 120000 rough estimate from the calculations in
--       * __clocksource_update_freq_scale.
--       */
--      clocks_calc_mult_shift(&persistent_mult, &persistent_shift,
--                      32768, NSEC_PER_SEC, 120000);
--
--      ret = clocksource_mmio_init(sync32k_cnt_reg, "32k_counter", 32768,
--                              250, 32, clocksource_mmio_readl_up);
--      if (ret) {
--              pr_err("32k_counter: can't register clocksource\n");
--              return ret;
--      }
--
--      sched_clock_register(omap_32k_read_sched_clock, 32, 32768);
--      register_persistent_clock(omap_read_persistent_clock64);
--      pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n");
--
--      return 0;
--}
-diff --git a/arch/arm/plat-omap/include/plat/counter-32k.h b/arch/arm/plat-omap/include/plat/counter-32k.h
-deleted file mode 100644
-index da000d482ff26..0000000000000
---- a/arch/arm/plat-omap/include/plat/counter-32k.h
-+++ /dev/null
-@@ -1 +0,0 @@
--int omap_init_clocksource_32k(void __iomem *vbase);
--- 
-2.42.0
-
index 2dcdfe160a210f4101e25ed4bca206185ad14c70..6adf10ec4eda726decfc24a1343abbb4b2d294e2 100644 (file)
@@ -4,8 +4,6 @@ mcb-return-actual-parsed-size-when-reading-chameleon.patch
 mcb-lpc-reallocate-memory-region-to-avoid-memory-ove.patch
 virtio_balloon-fix-endless-deflation-and-inflation-on-arm64.patch
 virtio-mmio-fix-memory-leak-of-vm_dev.patch
-arm-omap1-move-32k-counter-from-plat-omap-to-mach-om.patch
-arm-omap-timer32k-fix-all-kernel-doc-warnings.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_tx-whi.patch
 r8169-fix-the-kcsan-reported-data-race-in-rtl_rx-whi.patch
 treewide-spelling-fix-in-comment.patch