Commit 78a768b6 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68knommu: fix 5329 ColdFire periphal addressing
  uclinux: add process name to allocation error message
  m68knommu: correct the mii calculations for 532x ColdFire FEC
  m68knommu: add ColdFire M532x to the FEC configuration options
  m68knommu: fix syscall restarting
  m68knommu: remove the obsolete and long unused comempci chip support
  m68knommu: remove the no longer used PCI support option
  m68knommu: remove obsolete and unused eLIA board
  m68knommu: set NO_DMA
  m68knommu: fix cache flushing for the 527x ColdFire processors
  m68knommu: fix ColdFire 5272 serial baud rates in mcf.c
  m68knommu: use one exist from execption
parents d8204ee2 add8240e
...@@ -51,13 +51,20 @@ static inline void __flush_cache_all(void) ...@@ -51,13 +51,20 @@ static inline void __flush_cache_all(void)
"movec %%d0,%%CACR\n\t" "movec %%d0,%%CACR\n\t"
: : : "d0", "a0" ); : : : "d0", "a0" );
#endif /* CONFIG_M5407 */ #endif /* CONFIG_M5407 */
#if defined(CONFIG_M527x) || defined(CONFIG_M528x) #if defined(CONFIG_M523x) || defined(CONFIG_M527x)
__asm__ __volatile__ (
"movel #0x81400100, %%d0\n\t"
"movec %%d0, %%CACR\n\t"
"nop\n\t"
: : : "d0" );
#endif /* CONFIG_M523x || CONFIG_M527x */
#if defined(CONFIG_M528x)
__asm__ __volatile__ ( __asm__ __volatile__ (
"movel #0x81000200, %%d0\n\t" "movel #0x81000200, %%d0\n\t"
"movec %%d0, %%CACR\n\t" "movec %%d0, %%CACR\n\t"
"nop\n\t" "nop\n\t"
: : : "d0" ); : : : "d0" );
#endif /* CONFIG_M527x || CONFIG_M528x */ #endif /* CONFIG_M528x */
#if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || defined(CONFIG_M5272) #if defined(CONFIG_M5206) || defined(CONFIG_M5206e) || defined(CONFIG_M5272)
__asm__ __volatile__ ( __asm__ __volatile__ (
"movel #0x81000100, %%d0\n\t" "movel #0x81000100, %%d0\n\t"
......
#ifndef _M68KNOMMU_DMA_MAPPING_H #ifndef _M68KNOMMU_DMA_MAPPING_H
#define _M68KNOMMU_DMA_MAPPING_H #define _M68KNOMMU_DMA_MAPPING_H
#ifdef CONFIG_PCI
#include <asm-generic/dma-mapping.h>
#else
#include <asm-generic/dma-mapping-broken.h> #include <asm-generic/dma-mapping-broken.h>
#endif
#endif /* _M68KNOMMU_DMA_MAPPING_H */ #endif /* _M68KNOMMU_DMA_MAPPING_H */
...@@ -230,7 +230,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz ...@@ -230,7 +230,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz
jmp 0xf0000400; \ jmp 0xf0000400; \
"); \ "); \
}) })
#elif defined(CONFIG_NETtel) || defined(CONFIG_eLIA) || \ #elif defined(CONFIG_NETtel) || \
defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA) defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA)
#define HARD_RESET_NOW() ({ \ #define HARD_RESET_NOW() ({ \
asm(" \ asm(" \
......
...@@ -14,6 +14,10 @@ config MMU ...@@ -14,6 +14,10 @@ config MMU
bool bool
default n default n
config NO_DMA
bool
default y
config FPU config FPU
bool bool
default n default n
...@@ -398,12 +402,6 @@ config M5307C3 ...@@ -398,12 +402,6 @@ config M5307C3
help help
Support for the Motorola M5307C3 board. Support for the Motorola M5307C3 board.
config eLIA
bool "Moreton Bay eLIA board support"
depends on M5307
help
Support for the Moreton Bay eLIA board.
config SECUREEDGEMP3 config SECUREEDGEMP3
bool "SnapGear SecureEdge/MP3 platform support" bool "SnapGear SecureEdge/MP3 platform support"
depends on M5307 depends on M5307
...@@ -697,25 +695,8 @@ config ISA_DMA_API ...@@ -697,25 +695,8 @@ config ISA_DMA_API
depends on !M5272 depends on !M5272
default y default y
menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
config PCI
bool "PCI support"
help
Support for PCI bus.
config COMEMPCI
bool "CO-MEM lite PCI controller support"
depends on (M5307 || M5407)
source "drivers/pci/Kconfig"
source "drivers/pcmcia/Kconfig" source "drivers/pcmcia/Kconfig"
source "drivers/pci/hotplug/Kconfig"
endmenu
menu "Executable file formats" menu "Executable file formats"
source "fs/Kconfig.binfmt" source "fs/Kconfig.binfmt"
......
...@@ -41,7 +41,6 @@ board-$(CONFIG_M5271EVB) := M5271EVB ...@@ -41,7 +41,6 @@ board-$(CONFIG_M5271EVB) := M5271EVB
board-$(CONFIG_M5275EVB) := M5275EVB board-$(CONFIG_M5275EVB) := M5275EVB
board-$(CONFIG_M5282EVB) := M5282EVB board-$(CONFIG_M5282EVB) := M5282EVB
board-$(CONFIG_ELITE) := eLITE board-$(CONFIG_ELITE) := eLITE
board-$(CONFIG_eLIA) := eLIA
board-$(CONFIG_NETtel) := NETtel board-$(CONFIG_NETtel) := NETtel
board-$(CONFIG_SECUREEDGEMP3) := MP3 board-$(CONFIG_SECUREEDGEMP3) := MP3
board-$(CONFIG_CLEOPATRA) := CLEOPATRA board-$(CONFIG_CLEOPATRA) := CLEOPATRA
......
...@@ -8,4 +8,3 @@ obj-y += dma.o entry.o init_task.o irq.o m68k_ksyms.o process.o ptrace.o \ ...@@ -8,4 +8,3 @@ obj-y += dma.o entry.o init_task.o irq.o m68k_ksyms.o process.o ptrace.o \
setup.o signal.o syscalltable.o sys_m68k.o time.o traps.o setup.o signal.o syscalltable.o sys_m68k.o time.o traps.o
obj-$(CONFIG_MODULES) += module.o obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_COMEMPCI) += comempci.o
This diff is collapsed.
...@@ -279,6 +279,9 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc, void *fp, ...@@ -279,6 +279,9 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc, void *fp,
struct sigcontext context; struct sigcontext context;
int err = 0; int err = 0;
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
/* get previous context */ /* get previous context */
if (copy_from_user(&context, usc, sizeof(context))) if (copy_from_user(&context, usc, sizeof(context)))
goto badframe; goto badframe;
...@@ -316,6 +319,9 @@ rt_restore_ucontext(struct pt_regs *regs, struct switch_stack *sw, ...@@ -316,6 +319,9 @@ rt_restore_ucontext(struct pt_regs *regs, struct switch_stack *sw,
unsigned long usp; unsigned long usp;
int err; int err;
/* Always make any pending restarted system calls return -EINTR */
current_thread_info()->restart_block.fn = do_no_restart_syscall;
err = __get_user(temp, &uc->uc_mcontext.version); err = __get_user(temp, &uc->uc_mcontext.version);
if (temp != MCONTEXT_VERSION) if (temp != MCONTEXT_VERSION)
goto badframe; goto badframe;
...@@ -692,6 +698,15 @@ handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler) ...@@ -692,6 +698,15 @@ handle_restart(struct pt_regs *regs, struct k_sigaction *ka, int has_handler)
regs->d0 = -EINTR; regs->d0 = -EINTR;
break; break;
case -ERESTART_RESTARTBLOCK:
if (!has_handler) {
regs->d0 = __NR_restart_syscall;
regs->pc -= 2;
break;
}
regs->d0 = -EINTR;
break;
case -ERESTARTSYS: case -ERESTARTSYS:
if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) { if (has_handler && !(ka->sa.sa_flags & SA_RESTART)) {
regs->d0 = -EINTR; regs->d0 = -EINTR;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
.text .text
ALIGN ALIGN
ENTRY(sys_call_table) ENTRY(sys_call_table)
.long sys_ni_syscall /* 0 - old "setup()" system call*/ .long sys_restart_syscall /* 0 - old "setup()" system call */
.long sys_exit .long sys_exit
.long sys_fork .long sys_fork
.long sys_read .long sys_read
......
...@@ -123,7 +123,7 @@ void __init config_BSP(char *commandp, int size) ...@@ -123,7 +123,7 @@ void __init config_BSP(char *commandp, int size)
{ {
mcf_setimr(MCFSIM_IMR_MASKALL); mcf_setimr(MCFSIM_IMR_MASKALL);
#if defined(CONFIG_NETtel) || defined(CONFIG_eLIA) || \ #if defined(CONFIG_NETtel) || \
defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA) defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA)
/* Copy command line from FLASH to local buffer... */ /* Copy command line from FLASH to local buffer... */
memcpy(commandp, (char *) 0xf0004000, size); memcpy(commandp, (char *) 0xf0004000, size);
......
...@@ -41,15 +41,15 @@ extern unsigned int mcf_timerlevel; ...@@ -41,15 +41,15 @@ extern unsigned int mcf_timerlevel;
static struct mcf_platform_uart m532x_uart_platform[] = { static struct mcf_platform_uart m532x_uart_platform[] = {
{ {
.mapbase = MCF_MBAR + MCFUART_BASE1, .mapbase = MCFUART_BASE1,
.irq = MCFINT_VECBASE + MCFINT_UART0, .irq = MCFINT_VECBASE + MCFINT_UART0,
}, },
{ {
.mapbase = MCF_MBAR + MCFUART_BASE2, .mapbase = MCFUART_BASE2,
.irq = MCFINT_VECBASE + MCFINT_UART1, .irq = MCFINT_VECBASE + MCFINT_UART1,
}, },
{ {
.mapbase = MCF_MBAR + MCFUART_BASE3, .mapbase = MCFUART_BASE3,
.irq = MCFINT_VECBASE + MCFINT_UART2, .irq = MCFINT_VECBASE + MCFINT_UART2,
}, },
{ }, { },
...@@ -108,7 +108,7 @@ void mcf_settimericr(unsigned int timer, unsigned int level) ...@@ -108,7 +108,7 @@ void mcf_settimericr(unsigned int timer, unsigned int level)
default: irq = 32; icr = MCFSIM_ICR_TIMER1; break; default: irq = 32; icr = MCFSIM_ICR_TIMER1; break;
} }
icrp = (volatile unsigned char *) (MCF_MBAR + icr); icrp = (volatile unsigned char *) (icr);
*icrp = level; *icrp = level;
mcf_enable_irq0(irq); mcf_enable_irq0(irq);
} }
......
...@@ -215,19 +215,8 @@ ENTRY(fasthandler) ...@@ -215,19 +215,8 @@ ENTRY(fasthandler)
RESTORE_LOCAL RESTORE_LOCAL
ENTRY(ret_from_interrupt) ENTRY(ret_from_interrupt)
moveb %sp@(PT_SR),%d0 /* the fasthandler is confusing me, haven't seen any user */
andl #0x7,%d0 jmp ret_from_exception
jeq 1f
RESTORE_ALL
1:
/* check if we need to do software interrupts */
movel irq_stat+CPUSTAT_SOFTIRQ_PENDING,%d0
jeq ret_from_exception
pea ret_from_exception
jmp do_softirq
/* /*
* Beware - when entering resume, prev (the current task) is * Beware - when entering resume, prev (the current task) is
......
...@@ -1829,7 +1829,7 @@ config 68360_ENET ...@@ -1829,7 +1829,7 @@ config 68360_ENET
config FEC config FEC
bool "FEC ethernet controller (of ColdFire CPUs)" bool "FEC ethernet controller (of ColdFire CPUs)"
depends on M523x || M527x || M5272 || M528x || M520x depends on M523x || M527x || M5272 || M528x || M520x || M532x
help help
Say Y here if you want to use the built-in 10/100 Fast ethernet Say Y here if you want to use the built-in 10/100 Fast ethernet
controller on some Motorola ColdFire processors. controller on some Motorola ColdFire processors.
......
...@@ -1698,7 +1698,7 @@ static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_priva ...@@ -1698,7 +1698,7 @@ static void __inline__ fec_set_mii(struct net_device *dev, struct fec_enet_priva
/* /*
* Set MII speed to 2.5 MHz * Set MII speed to 2.5 MHz
*/ */
fep->phy_speed = ((((MCF_CLK / 2) / (2500000 / 10)) + 5) / 10) * 2; fep->phy_speed = (MCF_CLK / 3) / (2500000 * 2 ) * 2;
fecp->fec_mii_speed = fep->phy_speed; fecp->fec_mii_speed = fep->phy_speed;
fec_restart(dev, 0); fec_restart(dev, 0);
......
...@@ -212,10 +212,18 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -212,10 +212,18 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
{ {
unsigned long flags; unsigned long flags;
unsigned int baud, baudclk; unsigned int baud, baudclk;
#if defined(CONFIG_M5272)
unsigned int baudfr;
#endif
unsigned char mr1, mr2; unsigned char mr1, mr2;
baud = uart_get_baud_rate(port, termios, old, 0, 230400); baud = uart_get_baud_rate(port, termios, old, 0, 230400);
#if defined(CONFIG_M5272)
baudclk = (MCF_BUSCLK / baud) / 32;
baudfr = (((MCF_BUSCLK / baud) + 1) / 2) % 16;
#else
baudclk = ((MCF_BUSCLK / baud) + 16) / 32; baudclk = ((MCF_BUSCLK / baud) + 16) / 32;
#endif
mr1 = MCFUART_MR1_RXIRQRDY | MCFUART_MR1_RXERRCHAR; mr1 = MCFUART_MR1_RXIRQRDY | MCFUART_MR1_RXERRCHAR;
mr2 = 0; mr2 = 0;
...@@ -262,6 +270,9 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios, ...@@ -262,6 +270,9 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
writeb(mr2, port->membase + MCFUART_UMR); writeb(mr2, port->membase + MCFUART_UMR);
writeb((baudclk & 0xff00) >> 8, port->membase + MCFUART_UBG1); writeb((baudclk & 0xff00) >> 8, port->membase + MCFUART_UBG1);
writeb((baudclk & 0xff), port->membase + MCFUART_UBG2); writeb((baudclk & 0xff), port->membase + MCFUART_UBG2);
#if defined(CONFIG_M5272)
writeb((baudfr & 0x0f), port->membase + MCFUART_UFPD);
#endif
writeb(MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER, writeb(MCFUART_UCSR_RXCLKTIMER | MCFUART_UCSR_TXCLKTIMER,
port->membase + MCFUART_UCSR); port->membase + MCFUART_UCSR);
writeb(MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE, writeb(MCFUART_UCR_RXENABLE | MCFUART_UCR_TXENABLE,
......
...@@ -1161,8 +1161,8 @@ error_free: ...@@ -1161,8 +1161,8 @@ error_free:
return ret; return ret;
enomem: enomem:
printk("Allocation of length %lu from process %d failed\n", printk("Allocation of length %lu from process %d (%s) failed\n",
len, current->pid); len, current->pid, current->comm);
show_free_areas(); show_free_areas();
return -ENOMEM; return -ENOMEM;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment