lkml.org 
[lkml]   [2008]   [Nov]   [25]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
FromMagnus Damm <>
DateTue, 25 Nov 2008 22:28:23 +0900
Subject[RFC] Reentrant clock sources
Hi everyone,

Is there any special reason behind the non-reentrant clock source
code? I'm writing some timer help code and getting the struct
clocksource as argument to the callbacks would make the code much
cleaner and better.

Extending the callbacks to be able to start and stop clock sources
for improved power management would be good too in my opinion.
Any thoughts?

I realize that there are quite a few clock source drivers
that need to be modified, any recommendation on which tree
to do it against and how to split up the patch? Thanks.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
---
 include/linux/clocksource.h |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
--- 0001/include/linux/clocksource.h
+++ work/include/linux/clocksource.h	2008-11-25 21:07:13.000000000 +0900
@@ -61,14 +61,14 @@ struct clocksource {
 	char *name;
 	struct list_head list;
 	int rating;
-	cycle_t (*read)(void);
+	cycle_t (*read)(struct clocksource *cs);
 	cycle_t mask;
 	u32 mult;
 	u32 mult_orig;
 	u32 shift;
 	unsigned long flags;
-	cycle_t (*vread)(void);
-	void (*resume)(void);
+	cycle_t (*vread)(struct clocksource *cs);
+	void (*resume)(struct clocksource *cs);
 #ifdef CONFIG_IA64
 	void *fsys_mmio;        /* used by fsyscall asm code */
 #define CLKSRC_FSYS_MMIO_SET(mmio, addr)      ((mmio) = (addr))
@@ -170,7 +170,7 @@ static inline u32 clocksource_hz2mult(u3
  */
 static inline cycle_t clocksource_read(struct clocksource *cs)
 {
-	return cs->read();
+	return cs->read(cs);
 }
 
 /**

\
 
 \ /
  Last update: 2008-11-25 14:33    [from the cache]
©2003-2008