linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "tip-bot2 for Thomas Gleixner" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Vincenzo Frascino <vincenzo.frascino@arm.com>,
	x86 <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>
Subject: [tip: timers/core] clocksource: Cleanup struct clocksource and documentation
Date: Mon, 17 Feb 2020 15:11:57 -0000	[thread overview]
Message-ID: <158195231767.13786.8973408625937556041.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20200207124402.825471920@linutronix.de>

The following commit has been merged into the timers/core branch of tip:

Commit-ID:     3bd142a46b561a12408e8db78cc6d62eb1c6b84e
Gitweb:        https://git.kernel.org/tip/3bd142a46b561a12408e8db78cc6d62eb1c6b84e
Author:        Thomas Gleixner <tglx@linutronix.de>
AuthorDate:    Fri, 07 Feb 2020 13:38:53 +01:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Mon, 17 Feb 2020 14:40:22 +01:00

clocksource: Cleanup struct clocksource and documentation

Reformat the struct definition, add missing member documentation.
No functional change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lkml.kernel.org/r/20200207124402.825471920@linutronix.de


---
 include/linux/clocksource.h | 87 +++++++++++++++++++-----------------
 1 file changed, 47 insertions(+), 40 deletions(-)

diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h
index b21db53..2c4574b 100644
--- a/include/linux/clocksource.h
+++ b/include/linux/clocksource.h
@@ -32,9 +32,19 @@ struct module;
  *	Provides mostly state-free accessors to the underlying hardware.
  *	This is the structure used for system time.
  *
- * @name:		ptr to clocksource name
- * @list:		list head for registration
- * @rating:		rating value for selection (higher is better)
+ * @read:		Returns a cycle value, passes clocksource as argument
+ * @mask:		Bitmask for two's complement
+ *			subtraction of non 64 bit counters
+ * @mult:		Cycle to nanosecond multiplier
+ * @shift:		Cycle to nanosecond divisor (power of two)
+ * @max_idle_ns:	Maximum idle time permitted by the clocksource (nsecs)
+ * @maxadj:		Maximum adjustment value to mult (~11%)
+ * @archdata:		Optional arch-specific data
+ * @max_cycles:		Maximum safe cycle value which won't overflow on
+ *			multiplication
+ * @name:		Pointer to clocksource name
+ * @list:		List head for registration (internal)
+ * @rating:		Rating value for selection (higher is better)
  *			To avoid rating inflation the following
  *			list should give you a guide as to how
  *			to assign your clocksource a rating
@@ -49,27 +59,23 @@ struct module;
  *			400-499: Perfect
  *				The ideal clocksource. A must-use where
  *				available.
- * @read:		returns a cycle value, passes clocksource as argument
- * @enable:		optional function to enable the clocksource
- * @disable:		optional function to disable the clocksource
- * @mask:		bitmask for two's complement
- *			subtraction of non 64 bit counters
- * @mult:		cycle to nanosecond multiplier
- * @shift:		cycle to nanosecond divisor (power of two)
- * @max_idle_ns:	max idle time permitted by the clocksource (nsecs)
- * @maxadj:		maximum adjustment value to mult (~11%)
- * @max_cycles:		maximum safe cycle value which won't overflow on multiplication
- * @flags:		flags describing special properties
- * @archdata:		arch-specific data
- * @suspend:		suspend function for the clocksource, if necessary
- * @resume:		resume function for the clocksource, if necessary
+ * @flags:		Flags describing special properties
+ * @enable:		Optional function to enable the clocksource
+ * @disable:		Optional function to disable the clocksource
+ * @suspend:		Optional suspend function for the clocksource
+ * @resume:		Optional resume function for the clocksource
  * @mark_unstable:	Optional function to inform the clocksource driver that
  *			the watchdog marked the clocksource unstable
- * @owner:		module reference, must be set by clocksource in modules
+ * @tick_stable:        Optional function called periodically from the watchdog
+ *			code to provide stable syncrhonization points
+ * @wd_list:		List head to enqueue into the watchdog list (internal)
+ * @cs_last:		Last clocksource value for clocksource watchdog
+ * @wd_last:		Last watchdog value corresponding to @cs_last
+ * @owner:		Module reference, must be set by clocksource in modules
  *
  * Note: This struct is not used in hotpathes of the timekeeping code
  * because the timekeeper caches the hot path fields in its own data
- * structure, so no line cache alignment is required,
+ * structure, so no cache line alignment is required,
  *
  * The pointer to the clocksource itself is handed to the read
  * callback. If you need extra information there you can wrap struct
@@ -78,35 +84,36 @@ struct module;
  * structure.
  */
 struct clocksource {
-	u64 (*read)(struct clocksource *cs);
-	u64 mask;
-	u32 mult;
-	u32 shift;
-	u64 max_idle_ns;
-	u32 maxadj;
+	u64			(*read)(struct clocksource *cs);
+	u64			mask;
+	u32			mult;
+	u32			shift;
+	u64			max_idle_ns;
+	u32			maxadj;
 #ifdef CONFIG_ARCH_CLOCKSOURCE_DATA
 	struct arch_clocksource_data archdata;
 #endif
-	u64 max_cycles;
-	const char *name;
-	struct list_head list;
-	int rating;
-	int (*enable)(struct clocksource *cs);
-	void (*disable)(struct clocksource *cs);
-	unsigned long flags;
-	void (*suspend)(struct clocksource *cs);
-	void (*resume)(struct clocksource *cs);
-	void (*mark_unstable)(struct clocksource *cs);
-	void (*tick_stable)(struct clocksource *cs);
+	u64			max_cycles;
+	const char		*name;
+	struct list_head	list;
+	int			rating;
+	unsigned long		flags;
+
+	int			(*enable)(struct clocksource *cs);
+	void			(*disable)(struct clocksource *cs);
+	void			(*suspend)(struct clocksource *cs);
+	void			(*resume)(struct clocksource *cs);
+	void			(*mark_unstable)(struct clocksource *cs);
+	void			(*tick_stable)(struct clocksource *cs);
 
 	/* private: */
 #ifdef CONFIG_CLOCKSOURCE_WATCHDOG
 	/* Watchdog related data, used by the framework */
-	struct list_head wd_list;
-	u64 cs_last;
-	u64 wd_last;
+	struct list_head	wd_list;
+	u64			cs_last;
+	u64			wd_last;
 #endif
-	struct module *owner;
+	struct module		*owner;
 };
 
 /*

  parent reply	other threads:[~2020-02-17 15:12 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-07 12:38 [patch V2 00/17] VDSO consolidation Thomas Gleixner
2020-02-07 12:38 ` [patch V2 01/17] x86/vdso: Mark the TSC clocksource path likely Thomas Gleixner
2020-02-14 12:00   ` Vincenzo Frascino
2020-02-17 15:12   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 02/17] ARM: vdso: Remove unused function Thomas Gleixner
2020-02-14 10:21   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 03/17] lib/vdso: Allow the high resolution parts to be compiled out Thomas Gleixner
2020-02-14 11:54   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 04/17] ARM: vdso: Compile high resolution parts conditionally Thomas Gleixner
2020-02-14 11:55   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 05/17] MIPS: " Thomas Gleixner
2020-02-14 11:55   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 06/17] clocksource: Cleanup struct clocksource and documentation Thomas Gleixner
2020-02-14 11:57   ` Vincenzo Frascino
2020-02-17 15:11   ` tip-bot2 for Thomas Gleixner [this message]
2020-02-07 12:38 ` [patch V2 07/17] x86/vdso: Move VDSO clocksource state tracking to callback Thomas Gleixner
2020-02-14 11:58   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 08/17] clocksource: Add common vdso clock mode storage Thomas Gleixner
2020-02-17 10:36   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 09/17] x86/vdso: Use generic VDSO " Thomas Gleixner
2020-02-14 10:32   ` Paolo Bonzini
2020-02-17 10:57   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 10/17] mips: vdso: " Thomas Gleixner
2020-02-17 10:52   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-17 19:18   ` tip-bot2 for Thomas Gleixner
2020-02-07 12:38 ` [patch V2 11/17] ARM/arm64: vdso: Use common vdso " Thomas Gleixner
2020-02-17 10:43   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-17 19:18   ` tip-bot2 for Thomas Gleixner
     [not found]   ` <CGME20200221115643eucas1p12ecb95c6161853a0e7dfe9207db079be@eucas1p1.samsung.com>
2020-02-21 11:56     ` [patch V2 11/17] " Marek Szyprowski
2020-02-21 13:08       ` Vincenzo Frascino
2020-02-21 18:24       ` Vincenzo Frascino
2020-02-07 12:38 ` [patch V2 12/17] lib/vdso: Cleanup clock mode storage leftovers Thomas Gleixner
2020-02-17 11:04   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-17 19:18   ` tip-bot2 for Thomas Gleixner
2020-02-07 12:39 ` [patch V2 13/17] lib/vdso: Avoid highres update if clocksource is not VDSO capable Thomas Gleixner
2020-02-17 11:07   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-17 19:18   ` tip-bot2 for Thomas Gleixner
2020-02-07 12:39 ` [patch V2 14/17] lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes Thomas Gleixner
2020-02-17 11:12   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Thomas Gleixner
2020-02-17 19:18   ` tip-bot2 for Thomas Gleixner
2020-02-07 12:39 ` [patch V2 15/17] lib/vdso: Allow fixed clock mode Thomas Gleixner
2020-02-17 11:14   ` Vincenzo Frascino
2020-02-17 15:11   ` [tip: timers/core] " tip-bot2 for Christophe Leroy
2020-02-17 19:18   ` tip-bot2 for Christophe Leroy
2020-02-07 12:39 ` [patch V2 16/17] lib/vdso: Allow architectures to override the ns shift operation Thomas Gleixner
2020-02-17 11:15   ` Vincenzo Frascino
2020-02-07 12:39 ` [patch V2 17/17] lib/vdso: Allow architectures to provide the vdso data pointer Thomas Gleixner
2020-02-17 12:09   ` Vincenzo Frascino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=158195231767.13786.8973408625937556041.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vincenzo.frascino@arm.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).