Re: [PATCH 03/11] m68k: set arch_gettimeoffset directly

2012-11-11 Thread Phil Blundell
On Thu, 2012-11-08 at 14:01 -0700, Stephen Warren wrote:
> From: Stephen Warren 
> 
> remove m68k's mach_gettimeoffset function pointer, and instead directly
> set the arch_gettimeoffset function pointer. This requires multiplying
> all function results by 1000, since the removed m68k_gettimeoffset() did
> this. Also, s/unsigned long/u32/ just to make the function prototypes
> exactly match that of arch_gettimeoffset.
> 
> Cc: Geert Uytterhoeven 
> Cc: Philip Blundell 

Acked-by: Phil Blundell 

> Cc: Joshua Thompson 
> Cc: Sam Creasey 
> Signed-off-by: Stephen Warren 


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 03/11] m68k: set arch_gettimeoffset directly

2012-11-11 Thread Geert Uytterhoeven
On Thu, Nov 8, 2012 at 10:01 PM, Stephen Warren  wrote:
> From: Stephen Warren 
>
> remove m68k's mach_gettimeoffset function pointer, and instead directly
> set the arch_gettimeoffset function pointer. This requires multiplying
> all function results by 1000, since the removed m68k_gettimeoffset() did
> this. Also, s/unsigned long/u32/ just to make the function prototypes
> exactly match that of arch_gettimeoffset.
>
> Cc: Geert Uytterhoeven 

Acked-by: Geert Uytterhoeven 

> Cc: Philip Blundell 
> Cc: Joshua Thompson 
> Cc: Sam Creasey 
> Signed-off-by: Stephen Warren 
> ---
>  arch/m68k/amiga/config.c|   10 +-
>  arch/m68k/apollo/config.c   |9 -
>  arch/m68k/atari/config.c|4 ++--
>  arch/m68k/atari/time.c  |6 +++---
>  arch/m68k/bvme6000/config.c |   10 +-
>  arch/m68k/hp300/config.c|2 +-
>  arch/m68k/hp300/time.c  |4 ++--
>  arch/m68k/hp300/time.h  |2 +-
>  arch/m68k/include/asm/machdep.h |2 +-
>  arch/m68k/kernel/setup_mm.c |1 -
>  arch/m68k/kernel/time.c |9 -
>  arch/m68k/mac/config.c  |4 ++--
>  arch/m68k/mac/via.c |4 ++--
>  arch/m68k/mvme147/config.c  |8 
>  arch/m68k/mvme16x/config.c  |8 
>  arch/m68k/q40/config.c  |8 
>  arch/m68k/sun3/config.c |4 ++--
>  arch/m68k/sun3/intersil.c   |4 ++--
>  arch/m68k/sun3x/config.c|2 +-
>  arch/m68k/sun3x/time.c  |2 +-
>  arch/m68k/sun3x/time.h  |2 +-
>  21 files changed, 47 insertions(+), 58 deletions(-)
>
> diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c
> index ee01b7a..b819390 100644
> --- a/arch/m68k/amiga/config.c
> +++ b/arch/m68k/amiga/config.c
> @@ -95,7 +95,7 @@ static void amiga_sched_init(irq_handler_t handler);
>  static void amiga_get_model(char *model);
>  static void amiga_get_hardware_list(struct seq_file *m);
>  /* amiga specific timer functions */
> -static unsigned long amiga_gettimeoffset(void);
> +static u32 amiga_gettimeoffset(void);
>  extern void amiga_mksound(unsigned int count, unsigned int ticks);
>  static void amiga_reset(void);
>  extern void amiga_init_sound(void);
> @@ -377,7 +377,7 @@ void __init config_amiga(void)
> mach_init_IRQ= amiga_init_IRQ;
> mach_get_model   = amiga_get_model;
> mach_get_hardware_list = amiga_get_hardware_list;
> -   mach_gettimeoffset   = amiga_gettimeoffset;
> +   arch_gettimeoffset   = amiga_gettimeoffset;
>
> /*
>  * default MAX_DMA=0x on all machines. If we don't do so, the 
> SCSI
> @@ -482,10 +482,10 @@ static void __init amiga_sched_init(irq_handler_t 
> timer_routine)
>  #define TICK_SIZE 1
>
>  /* This is always executed with interrupts disabled.  */
> -static unsigned long amiga_gettimeoffset(void)
> +static u32 amiga_gettimeoffset(void)
>  {
> unsigned short hi, lo, hi2;
> -   unsigned long ticks, offset = 0;
> +   u32 ticks, offset = 0;
>
> /* read CIA B timer A current value */
> hi  = ciab.tahi;
> @@ -507,7 +507,7 @@ static unsigned long amiga_gettimeoffset(void)
> ticks = jiffy_ticks - ticks;
> ticks = (1 * ticks) / jiffy_ticks;
>
> -   return ticks + offset;
> +   return (ticks + offset) * 1000;
>  }
>
>  static void amiga_reset(void)  __noreturn;
> diff --git a/arch/m68k/apollo/config.c b/arch/m68k/apollo/config.c
> index f5565d6..3ea56b9 100644
> --- a/arch/m68k/apollo/config.c
> +++ b/arch/m68k/apollo/config.c
> @@ -26,7 +26,7 @@ u_long apollo_model;
>
>  extern void dn_sched_init(irq_handler_t handler);
>  extern void dn_init_IRQ(void);
> -extern unsigned long dn_gettimeoffset(void);
> +extern u32 dn_gettimeoffset(void);
>  extern int dn_dummy_hwclk(int, struct rtc_time *);
>  extern int dn_dummy_set_clock_mmss(unsigned long);
>  extern void dn_dummy_reset(void);
> @@ -151,7 +151,7 @@ void __init config_apollo(void)
>
> mach_sched_init=dn_sched_init; /* */
> mach_init_IRQ=dn_init_IRQ;
> -   mach_gettimeoffset   = dn_gettimeoffset;
> +   arch_gettimeoffset   = dn_gettimeoffset;
> mach_max_dma_address = 0x;
> mach_hwclk   = dn_dummy_hwclk; /* */
> mach_set_clock_mmss  = dn_dummy_set_clock_mmss; /* */
> @@ -203,10 +203,9 @@ void dn_sched_init(irq_handler_t timer_routine)
> pr_err("Couldn't register timer interrupt\n");
>  }
>
> -unsigned long dn_gettimeoffset(void) {
> -
> +u32 dn_gettimeoffset(void)
> +{
> return 0xdeadbeef;
> -
>  }
>
>  int dn_dummy_hwclk(int op, struct rtc_time *t) {
> diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
> index d8eb327..037c11c 100644
> --- a/arch/m68k/atari/config.c
> +++ b/arch/m68k/atari/config.c
> @@ -74,7 +74,7 @@ static void atari_heartbeat(int on);
>
>  /* atari specific timer functions (in time.c) */
>  extern void atari_sched

[PATCH 03/11] m68k: set arch_gettimeoffset directly

2012-11-08 Thread Stephen Warren
From: Stephen Warren 

remove m68k's mach_gettimeoffset function pointer, and instead directly
set the arch_gettimeoffset function pointer. This requires multiplying
all function results by 1000, since the removed m68k_gettimeoffset() did
this. Also, s/unsigned long/u32/ just to make the function prototypes
exactly match that of arch_gettimeoffset.

Cc: Geert Uytterhoeven 
Cc: Philip Blundell 
Cc: Joshua Thompson 
Cc: Sam Creasey 
Signed-off-by: Stephen Warren 
---
 arch/m68k/amiga/config.c|   10 +-
 arch/m68k/apollo/config.c   |9 -
 arch/m68k/atari/config.c|4 ++--
 arch/m68k/atari/time.c  |6 +++---
 arch/m68k/bvme6000/config.c |   10 +-
 arch/m68k/hp300/config.c|2 +-
 arch/m68k/hp300/time.c  |4 ++--
 arch/m68k/hp300/time.h  |2 +-
 arch/m68k/include/asm/machdep.h |2 +-
 arch/m68k/kernel/setup_mm.c |1 -
 arch/m68k/kernel/time.c |9 -
 arch/m68k/mac/config.c  |4 ++--
 arch/m68k/mac/via.c |4 ++--
 arch/m68k/mvme147/config.c  |8 
 arch/m68k/mvme16x/config.c  |8 
 arch/m68k/q40/config.c  |8 
 arch/m68k/sun3/config.c |4 ++--
 arch/m68k/sun3/intersil.c   |4 ++--
 arch/m68k/sun3x/config.c|2 +-
 arch/m68k/sun3x/time.c  |2 +-
 arch/m68k/sun3x/time.h  |2 +-
 21 files changed, 47 insertions(+), 58 deletions(-)

diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c
index ee01b7a..b819390 100644
--- a/arch/m68k/amiga/config.c
+++ b/arch/m68k/amiga/config.c
@@ -95,7 +95,7 @@ static void amiga_sched_init(irq_handler_t handler);
 static void amiga_get_model(char *model);
 static void amiga_get_hardware_list(struct seq_file *m);
 /* amiga specific timer functions */
-static unsigned long amiga_gettimeoffset(void);
+static u32 amiga_gettimeoffset(void);
 extern void amiga_mksound(unsigned int count, unsigned int ticks);
 static void amiga_reset(void);
 extern void amiga_init_sound(void);
@@ -377,7 +377,7 @@ void __init config_amiga(void)
mach_init_IRQ= amiga_init_IRQ;
mach_get_model   = amiga_get_model;
mach_get_hardware_list = amiga_get_hardware_list;
-   mach_gettimeoffset   = amiga_gettimeoffset;
+   arch_gettimeoffset   = amiga_gettimeoffset;
 
/*
 * default MAX_DMA=0x on all machines. If we don't do so, the 
SCSI
@@ -482,10 +482,10 @@ static void __init amiga_sched_init(irq_handler_t 
timer_routine)
 #define TICK_SIZE 1
 
 /* This is always executed with interrupts disabled.  */
-static unsigned long amiga_gettimeoffset(void)
+static u32 amiga_gettimeoffset(void)
 {
unsigned short hi, lo, hi2;
-   unsigned long ticks, offset = 0;
+   u32 ticks, offset = 0;
 
/* read CIA B timer A current value */
hi  = ciab.tahi;
@@ -507,7 +507,7 @@ static unsigned long amiga_gettimeoffset(void)
ticks = jiffy_ticks - ticks;
ticks = (1 * ticks) / jiffy_ticks;
 
-   return ticks + offset;
+   return (ticks + offset) * 1000;
 }
 
 static void amiga_reset(void)  __noreturn;
diff --git a/arch/m68k/apollo/config.c b/arch/m68k/apollo/config.c
index f5565d6..3ea56b9 100644
--- a/arch/m68k/apollo/config.c
+++ b/arch/m68k/apollo/config.c
@@ -26,7 +26,7 @@ u_long apollo_model;
 
 extern void dn_sched_init(irq_handler_t handler);
 extern void dn_init_IRQ(void);
-extern unsigned long dn_gettimeoffset(void);
+extern u32 dn_gettimeoffset(void);
 extern int dn_dummy_hwclk(int, struct rtc_time *);
 extern int dn_dummy_set_clock_mmss(unsigned long);
 extern void dn_dummy_reset(void);
@@ -151,7 +151,7 @@ void __init config_apollo(void)
 
mach_sched_init=dn_sched_init; /* */
mach_init_IRQ=dn_init_IRQ;
-   mach_gettimeoffset   = dn_gettimeoffset;
+   arch_gettimeoffset   = dn_gettimeoffset;
mach_max_dma_address = 0x;
mach_hwclk   = dn_dummy_hwclk; /* */
mach_set_clock_mmss  = dn_dummy_set_clock_mmss; /* */
@@ -203,10 +203,9 @@ void dn_sched_init(irq_handler_t timer_routine)
pr_err("Couldn't register timer interrupt\n");
 }
 
-unsigned long dn_gettimeoffset(void) {
-
+u32 dn_gettimeoffset(void)
+{
return 0xdeadbeef;
-
 }
 
 int dn_dummy_hwclk(int op, struct rtc_time *t) {
diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
index d8eb327..037c11c 100644
--- a/arch/m68k/atari/config.c
+++ b/arch/m68k/atari/config.c
@@ -74,7 +74,7 @@ static void atari_heartbeat(int on);
 
 /* atari specific timer functions (in time.c) */
 extern void atari_sched_init(irq_handler_t);
-extern unsigned long atari_gettimeoffset (void);
+extern u32 atari_gettimeoffset(void);
 extern int atari_mste_hwclk (int, struct rtc_time *);
 extern int atari_tt_hwclk (int, struct rtc_time *);
 extern int atari_mste_set_clock_mmss (unsigned long);
@@ -204,7 +204,7 @@ void __init config_atar