2006-10-03 22:00:48

by Jim Cromie

[permalink] [raw]
Subject: [patch 2.6.18+ ] scx200_hrt - fix precedence bug manifesting as 27x clock in 1 MHz mode


Fix paren-placement / precedence bug breaking initialization for 1 MHz
clock mode.
Also fixes comment spelling error, and fence-post (off-by-one) error on
symbol
used in request_region.

Signed-off-by: Jim Cromie <[email protected]>
---

drivers/clocksource/scx200_hrt.c | 4 ++--
include/linux/scx200.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

this patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=7242
but I cannot close it, so I'll leave it to those so empowered.

should be ok for -stable, if the spelling correction doesnt break the rules.
The fence-post error is real, just not caught on x86, AFAICT.

Thanks [email protected], [email protected], for the
reports and patch test,
and [email protected] for the independent patch and verification.


diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c debug/drivers/clocksource/scx200_hrt.c
--- ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c 2006-09-19 23:58:35.000000000 -0600
+++ debug/drivers/clocksource/scx200_hrt.c 2006-10-03 14:05:27.000000000 -0600
@@ -63,7 +63,7 @@ static struct clocksource cs_hrt = {

static int __init init_hrt_clocksource(void)
{
- /* Make sure scx200 has initializedd the configuration block */
+ /* Make sure scx200 has initialized the configuration block */
if (!scx200_cb_present())
return -ENODEV;

@@ -76,7 +76,7 @@ static int __init init_hrt_clocksource(v
}

/* write timer config */
- outb(HR_TMEN | (mhz27) ? HR_TMCLKSEL : 0,
+ outb(HR_TMEN | (mhz27 ? HR_TMCLKSEL : 0),
scx200_cb_base + SCx200_TMCNFG_OFFSET);

if (mhz27) {
diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/include/linux/scx200.h debug/include/linux/scx200.h
--- ../linux-2.6.18-sk/include/linux/scx200.h 2006-09-20 00:00:59.000000000 -0600
+++ debug/include/linux/scx200.h 2006-10-03 09:18:50.000000000 -0600
@@ -32,7 +32,7 @@ extern unsigned scx200_cb_base;

/* High Resolution Timer */
#define SCx200_TIMER_OFFSET 0x08
-#define SCx200_TIMER_SIZE 0x05
+#define SCx200_TIMER_SIZE 0x06

/* Clock Generators */
#define SCx200_CLOCKGEN_OFFSET 0x10



2006-10-03 22:42:06

by Jim Cromie

[permalink] [raw]
Subject: Re: [patch 2.6.18+ ] scx200_hrt - fix precedence bug manifesting as 27x clock in 1 MHz mode (resend with preformat)


Fix paren-placement / precedence bug breaking initialization for 1 MHz
clock mode.
Also fix comment spelling error, and fence-post (off-by-one) error on
symbol
used in request_region.

Signed-off-by: Jim Cromie <[email protected]>
---

Oops, fix the <preformat>

drivers/clocksource/scx200_hrt.c | 4 ++--
include/linux/scx200.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

this patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=7242
but I cannot close it, so I'll leave it to those so empowered.

should be ok for -stable, if the spelling correction doesnt break the
rules.
The fence-post error is real, just not caught on x86, AFAICT.

Thanks [email protected], [email protected], for the
reports and patch test,
and [email protected] for the independent patch and verification.

diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c debug/drivers/clocksource/scx200_hrt.c
--- ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c 2006-09-19 23:58:35.000000000 -0600
+++ debug/drivers/clocksource/scx200_hrt.c 2006-10-03 14:05:27.000000000 -0600
@@ -63,7 +63,7 @@ static struct clocksource cs_hrt = {

static int __init init_hrt_clocksource(void)
{
- /* Make sure scx200 has initializedd the configuration block */
+ /* Make sure scx200 has initialized the configuration block */
if (!scx200_cb_present())
return -ENODEV;

@@ -76,7 +76,7 @@ static int __init init_hrt_clocksource(v
}

/* write timer config */
- outb(HR_TMEN | (mhz27) ? HR_TMCLKSEL : 0,
+ outb(HR_TMEN | (mhz27 ? HR_TMCLKSEL : 0),
scx200_cb_base + SCx200_TMCNFG_OFFSET);

if (mhz27) {
diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/include/linux/scx200.h debug/include/linux/scx200.h
--- ../linux-2.6.18-sk/include/linux/scx200.h 2006-09-20 00:00:59.000000000 -0600
+++ debug/include/linux/scx200.h 2006-10-03 09:18:50.000000000 -0600
@@ -32,7 +32,7 @@ extern unsigned scx200_cb_base;

/* High Resolution Timer */
#define SCx200_TIMER_OFFSET 0x08
-#define SCx200_TIMER_SIZE 0x05
+#define SCx200_TIMER_SIZE 0x06

/* Clock Generators */
#define SCx200_CLOCKGEN_OFFSET 0x10


2006-10-03 23:12:40

by john stultz

[permalink] [raw]
Subject: Re: [patch 2.6.18+ ] scx200_hrt - fix precedence bug manifesting as 27x clock in 1 MHz mode (resend with preformat)

On Tue, 2006-10-03 at 16:42 -0600, Jim Cromie wrote:
> Fix paren-placement / precedence bug breaking initialization for 1 MHz
> clock mode.
> Also fix comment spelling error, and fence-post (off-by-one) error on
> symbol
> used in request_region.
>
> Signed-off-by: Jim Cromie <[email protected]>

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

> ---
>
> Oops, fix the <preformat>
>
> drivers/clocksource/scx200_hrt.c | 4 ++--
> include/linux/scx200.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> this patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=7242
> but I cannot close it, so I'll leave it to those so empowered.
>
> should be ok for -stable, if the spelling correction doesnt break the
> rules.
> The fence-post error is real, just not caught on x86, AFAICT.
>
> Thanks [email protected], [email protected], for the
> reports and patch test,
> and [email protected] for the independent patch and verification.
>
> diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c debug/drivers/clocksource/scx200_hrt.c
> --- ../linux-2.6.18-sk/drivers/clocksource/scx200_hrt.c 2006-09-19 23:58:35.000000000 -0600
> +++ debug/drivers/clocksource/scx200_hrt.c 2006-10-03 14:05:27.000000000 -0600
> @@ -63,7 +63,7 @@ static struct clocksource cs_hrt = {
>
> static int __init init_hrt_clocksource(void)
> {
> - /* Make sure scx200 has initializedd the configuration block */
> + /* Make sure scx200 has initialized the configuration block */
> if (!scx200_cb_present())
> return -ENODEV;
>
> @@ -76,7 +76,7 @@ static int __init init_hrt_clocksource(v
> }
>
> /* write timer config */
> - outb(HR_TMEN | (mhz27) ? HR_TMCLKSEL : 0,
> + outb(HR_TMEN | (mhz27 ? HR_TMCLKSEL : 0),
> scx200_cb_base + SCx200_TMCNFG_OFFSET);
>
> if (mhz27) {
> diff -ruNp -X dontdiff -X exclude-diffs ../linux-2.6.18-sk/include/linux/scx200.h debug/include/linux/scx200.h
> --- ../linux-2.6.18-sk/include/linux/scx200.h 2006-09-20 00:00:59.000000000 -0600
> +++ debug/include/linux/scx200.h 2006-10-03 09:18:50.000000000 -0600
> @@ -32,7 +32,7 @@ extern unsigned scx200_cb_base;
>
> /* High Resolution Timer */
> #define SCx200_TIMER_OFFSET 0x08
> -#define SCx200_TIMER_SIZE 0x05
> +#define SCx200_TIMER_SIZE 0x06
>
> /* Clock Generators */
> #define SCx200_CLOCKGEN_OFFSET 0x10
>
>