2011-02-01 13:55:10

by Thomas Gleixner

[permalink] [raw]
Subject: [patch 14/28] posix-timers: Remove useless res field from k_clock

The res member of kclock is only used by mmtimer.c, but even there it
contains redundant information. Remove the field and fixup mmtimer.

Signed-off-by: Thomas Gleixner <[email protected]>
Cc: John Stultz <[email protected]>
Cc: Richard Cochran <[email protected]>
---
drivers/char/mmtimer.c | 5 ++---
include/linux/posix-timers.h | 1 -
kernel/posix-timers.c | 2 --
3 files changed, 2 insertions(+), 6 deletions(-)

Index: linux-2.6-tip/drivers/char/mmtimer.c
===================================================================
--- linux-2.6-tip.orig/drivers/char/mmtimer.c
+++ linux-2.6-tip/drivers/char/mmtimer.c
@@ -768,12 +768,11 @@ static int sgi_timer_set(struct k_itimer
static int sgi_clock_getres(const clockid_t which_clock, struct timespec *tp)
{
tp->tv_sec = 0;
- tp->tv_nsec = sgi_clock.res;
+ tp->tv_nsec = sgi_clock_period;
return 0;
}

static struct k_clock sgi_clock = {
- .res = 0,
.clock_set = sgi_clock_set,
.clock_get = sgi_clock_get,
.clock_getres = sgi_clock_getres,
@@ -840,7 +839,7 @@ static int __init mmtimer_init(void)
(unsigned long) node);
}

- sgi_clock_period = sgi_clock.res = NSEC_PER_SEC / sn_rtc_cycles_per_second;
+ sgi_clock_period = NSEC_PER_SEC / sn_rtc_cycles_per_second;
register_posix_clock(CLOCK_SGI_CYCLE, &sgi_clock);

printk(KERN_INFO "%s: v%s, %ld MHz\n", MMTIMER_DESC, MMTIMER_VERSION,
Index: linux-2.6-tip/include/linux/posix-timers.h
===================================================================
--- linux-2.6-tip.orig/include/linux/posix-timers.h
+++ linux-2.6-tip/include/linux/posix-timers.h
@@ -67,7 +67,6 @@ struct k_itimer {
};

struct k_clock {
- int res; /* in nanoseconds */
int (*clock_getres) (const clockid_t which_clock, struct timespec *tp);
int (*clock_set) (const clockid_t which_clock,
const struct timespec *tp);
Index: linux-2.6-tip/kernel/posix-timers.c
===================================================================
--- linux-2.6-tip.orig/kernel/posix-timers.c
+++ linux-2.6-tip/kernel/posix-timers.c
@@ -204,8 +204,6 @@ static inline int invalid_clockid(const
return 1;
if (posix_clocks[which_clock].clock_getres != NULL)
return 0;
- if (posix_clocks[which_clock].res != 0)
- return 0;
return 1;
}



2011-02-01 21:18:59

by john stultz

[permalink] [raw]
Subject: Re: [patch 14/28] posix-timers: Remove useless res field from k_clock

On Tue, 2011-02-01 at 13:51 +0000, Thomas Gleixner wrote:
> plain text document attachment
> (posix-timers-remove-unused-res-field.patch)
> The res member of kclock is only used by mmtimer.c, but even there it
> contains redundant information. Remove the field and fixup mmtimer.
>
> Signed-off-by: Thomas Gleixner <[email protected]>
> Cc: John Stultz <[email protected]>
> Cc: Richard Cochran <[email protected]>

Acked-by: John Stultz <[email protected]>

2011-02-02 22:01:10

by Thomas Gleixner

[permalink] [raw]
Subject: [tip:timers/core] posix-timers: Remove useless res field from k_clock

Commit-ID: ebaac757acae0431e2c79c00e09f1debdabbddd7
Gitweb: http://git.kernel.org/tip/ebaac757acae0431e2c79c00e09f1debdabbddd7
Author: Thomas Gleixner <[email protected]>
AuthorDate: Tue, 1 Feb 2011 13:51:56 +0000
Committer: Thomas Gleixner <[email protected]>
CommitDate: Wed, 2 Feb 2011 15:28:15 +0100

posix-timers: Remove useless res field from k_clock

The res member of kclock is only used by mmtimer.c, but even there it
contains redundant information. Remove the field and fixup mmtimer.

Signed-off-by: Thomas Gleixner <[email protected]>
Acked-by: John Stultz <[email protected]>
Tested-by: Richard Cochran <[email protected]>
LKML-Reference: <[email protected]>
---
drivers/char/mmtimer.c | 5 ++---
include/linux/posix-timers.h | 1 -
kernel/posix-timers.c | 2 --
3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index 141ffae..ff41eb3 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -768,12 +768,11 @@ static int sgi_timer_set(struct k_itimer *timr, int flags,
static int sgi_clock_getres(const clockid_t which_clock, struct timespec *tp)
{
tp->tv_sec = 0;
- tp->tv_nsec = sgi_clock.res;
+ tp->tv_nsec = sgi_clock_period;
return 0;
}

static struct k_clock sgi_clock = {
- .res = 0,
.clock_set = sgi_clock_set,
.clock_get = sgi_clock_get,
.clock_getres = sgi_clock_getres,
@@ -840,7 +839,7 @@ static int __init mmtimer_init(void)
(unsigned long) node);
}

- sgi_clock_period = sgi_clock.res = NSEC_PER_SEC / sn_rtc_cycles_per_second;
+ sgi_clock_period = NSEC_PER_SEC / sn_rtc_cycles_per_second;
register_posix_clock(CLOCK_SGI_CYCLE, &sgi_clock);

printk(KERN_INFO "%s: v%s, %ld MHz\n", MMTIMER_DESC, MMTIMER_VERSION,
diff --git a/include/linux/posix-timers.h b/include/linux/posix-timers.h
index 4aaf0c5..ef574d1 100644
--- a/include/linux/posix-timers.h
+++ b/include/linux/posix-timers.h
@@ -67,7 +67,6 @@ struct k_itimer {
};

struct k_clock {
- int res; /* in nanoseconds */
int (*clock_getres) (const clockid_t which_clock, struct timespec *tp);
int (*clock_set) (const clockid_t which_clock,
const struct timespec *tp);
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c
index 748497f..f9142a9 100644
--- a/kernel/posix-timers.c
+++ b/kernel/posix-timers.c
@@ -204,8 +204,6 @@ static inline int invalid_clockid(const clockid_t which_clock)
return 1;
if (posix_clocks[which_clock].clock_getres != NULL)
return 0;
- if (posix_clocks[which_clock].res != 0)
- return 0;
return 1;
}