Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7452ca51 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull m68knommu from Greg Ungerer:
 "This contains five fixes.  Four fix build problems introduced by
  recent clean up and merging of the m68k timer and ptrace code.  The
  other fixes the 528x ColdFire CPU QSPI base address definition, missed
  in the ColdFire QSPI cleanup."

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68k: make syscall_trace_enter/leave exist for non-MMU classic m68k types
  m68knommu: fix 68360 local setting of timer interrupt handler
  m68knommu: fix 68328 local setting of timer interrupt handler
  m68k: fix inclusion of arch_gettimeoffset for non-MMU 68k classic CPU types
  m68knommu: m528x qspi definition fix
parents b8429719 70c778f7
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -86,7 +86,7 @@
/*
/*
 *	QSPI module.
 *	QSPI module.
 */
 */
#define	MCFQSPI_IOBASE		(MCF_IPSBAR + 0x340)
#define	MCFQSPI_BASE		(MCF_IPSBAR + 0x340)
#define	MCFQSPI_SIZE		0x40
#define	MCFQSPI_SIZE		0x40


#define	MCFQSPI_CS0		147
#define	MCFQSPI_CS0		147
+1 −1
Original line number Original line Diff line number Diff line
@@ -286,7 +286,7 @@ asmlinkage void syscall_trace(void)
	}
	}
}
}


#ifdef CONFIG_COLDFIRE
#if defined(CONFIG_COLDFIRE) || !defined(CONFIG_MMU)
asmlinkage int syscall_trace_enter(void)
asmlinkage int syscall_trace_enter(void)
{
{
	int ret = 0;
	int ret = 0;
+2 −2
Original line number Original line Diff line number Diff line
@@ -85,7 +85,7 @@ void __init time_init(void)
	mach_sched_init(timer_interrupt);
	mach_sched_init(timer_interrupt);
}
}


#ifdef CONFIG_M68KCLASSIC
#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET


u32 arch_gettimeoffset(void)
u32 arch_gettimeoffset(void)
{
{
@@ -108,4 +108,4 @@ static int __init rtc_init(void)


module_init(rtc_init);
module_init(rtc_init);


#endif /* CONFIG_M68KCLASSIC */
#endif /* CONFIG_ARCH_USES_GETTIMEOFFSET */
+4 −2
Original line number Original line Diff line number Diff line
@@ -53,6 +53,7 @@
#endif
#endif


static u32 m68328_tick_cnt;
static u32 m68328_tick_cnt;
static irq_handler_t timer_interrupt;


/***************************************************************************/
/***************************************************************************/


@@ -62,7 +63,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)
	TSTAT &= 0;
	TSTAT &= 0;


	m68328_tick_cnt += TICKS_PER_JIFFY;
	m68328_tick_cnt += TICKS_PER_JIFFY;
	return arch_timer_interrupt(irq, dummy);
	return timer_interrupt(irq, dummy);
}
}


/***************************************************************************/
/***************************************************************************/
@@ -99,7 +100,7 @@ static struct clocksource m68328_clk = {


/***************************************************************************/
/***************************************************************************/


void hw_timer_init(void)
void hw_timer_init(irq_handler_t handler)
{
{
	/* disable timer 1 */
	/* disable timer 1 */
	TCTL = 0;
	TCTL = 0;
@@ -115,6 +116,7 @@ void hw_timer_init(void)
	/* Enable timer 1 */
	/* Enable timer 1 */
	TCTL |= TCTL_TEN;
	TCTL |= TCTL_TEN;
	clocksource_register_hz(&m68328_clk, TICKS_PER_JIFFY*HZ);
	clocksource_register_hz(&m68328_clk, TICKS_PER_JIFFY*HZ);
	timer_interrupt = handler;
}
}


/***************************************************************************/
/***************************************************************************/
+5 −2
Original line number Original line Diff line number Diff line
@@ -35,6 +35,7 @@ extern void m360_cpm_reset(void);
#define OSCILLATOR  (unsigned long int)33000000
#define OSCILLATOR  (unsigned long int)33000000
#endif
#endif


static irq_handler_t timer_interrupt;
unsigned long int system_clock;
unsigned long int system_clock;


extern QUICC *pquicc;
extern QUICC *pquicc;
@@ -52,7 +53,7 @@ static irqreturn_t hw_tick(int irq, void *dummy)


  pquicc->timer_ter1 = 0x0002; /* clear timer event */
  pquicc->timer_ter1 = 0x0002; /* clear timer event */


  return arch_timer_interrupt(irq, dummy);
  return timer_interrupt(irq, dummy);
}
}


static struct irqaction m68360_timer_irq = {
static struct irqaction m68360_timer_irq = {
@@ -61,7 +62,7 @@ static struct irqaction m68360_timer_irq = {
	.handler = hw_tick,
	.handler = hw_tick,
};
};


void hw_timer_init(void)
void hw_timer_init(irq_handler_t handler)
{
{
  unsigned char prescaler;
  unsigned char prescaler;
  unsigned short tgcr_save;
  unsigned short tgcr_save;
@@ -94,6 +95,8 @@ void hw_timer_init(void)


  pquicc->timer_ter1 = 0x0003; /* clear timer events */
  pquicc->timer_ter1 = 0x0003; /* clear timer events */


  timer_interrupt = handler;

  /* enable timer 1 interrupt in CIMR */
  /* enable timer 1 interrupt in CIMR */
  setup_irq(CPMVEC_TIMER1, &m68360_timer_irq);
  setup_irq(CPMVEC_TIMER1, &m68360_timer_irq);