summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAllen Curtis <acurtis@onz.com>2003-03-24 10:19:28 +1100
committerPaul Mackerras <paulus@samba.org>2003-03-24 10:19:28 +1100
commitbc5cba36542ddff9a75bb2b059824c90e25964d8 (patch)
treeb2b5de666c52c468a2b2491f76677422444e75e4 /arch
parent989ceec22e63fbc671b60b79a0c137bf471fdedb (diff)
PPC32: Updates for the 8260 embedded processor and the EST and TQM boards
Diffstat (limited to 'arch')
-rw-r--r--arch/ppc/8260_io/enet.c2
-rw-r--r--arch/ppc/8260_io/fcc_enet.c4
-rw-r--r--arch/ppc/8260_io/uart.c45
-rw-r--r--arch/ppc/boot/simple/embed_config.c2
-rw-r--r--arch/ppc/kernel/ppc_ksyms.c2
-rw-r--r--arch/ppc/platforms/Makefile2
-rw-r--r--arch/ppc/platforms/est8260.h7
-rw-r--r--arch/ppc/platforms/est8260_setup.c65
-rw-r--r--arch/ppc/platforms/mpc82xx.h42
-rw-r--r--arch/ppc/platforms/tqm8260.h8
-rw-r--r--arch/ppc/platforms/tqm8260_setup.c79
-rw-r--r--arch/ppc/syslib/m8260_setup.c80
12 files changed, 256 insertions, 82 deletions
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index f05960a4b98b..5e06697c88e7 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -807,7 +807,7 @@ int __init scc_enet_init(void)
/* Install our interrupt handler.
*/
- request_8xxirq(SIU_INT_ENET, scc_enet_interrupt, 0, "enet", dev);
+ request_irq(SIU_INT_ENET, scc_enet_interrupt, 0, "enet", dev);
/* Set GSMR_H to enable all normal operating modes.
* Set GSMR_L to enable Ethernet to MC68160.
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index ef6cdf1561f8..041b2b65de61 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -1705,12 +1705,12 @@ init_fcc_startup(fcc_info_t *fip, struct net_device *dev)
/* Install our interrupt handler.
*/
- if (request_8xxirq(fip->fc_interrupt, fcc_enet_interrupt, 0,
+ if (request_irq(fip->fc_interrupt, fcc_enet_interrupt, 0,
"fenet", dev) < 0)
printk("Can't get FCC IRQ %d\n", fip->fc_interrupt);
#ifdef CONFIG_USE_MDIO
- if (request_8xxirq(PHY_INTERRUPT, mii_link_interrupt, 0,
+ if (request_irq(PHY_INTERRUPT, mii_link_interrupt, 0,
"mii", dev) < 0)
printk("Can't get MII IRQ %d\n", fip->fc_interrupt);
#endif /* CONFIG_USE_MDIO */
diff --git a/arch/ppc/8260_io/uart.c b/arch/ppc/8260_io/uart.c
index f7fecd25612f..a79f85304f19 100644
--- a/arch/ppc/8260_io/uart.c
+++ b/arch/ppc/8260_io/uart.c
@@ -3,6 +3,8 @@
* Copyright (c) 1999 Dan Malek (dmalek@jlc.net)
* Copyright (c) 2000 MontaVista Software, Inc. (source@mvista.com)
* 2.3.99 updates
+ * Copyright (c) 2002 Allen Curtis, Ones and Zeros, Inc. (acurtis@onz.com)
+ * 2.5.50 updates
*
* I used the 8xx uart.c driver as the framework for this driver.
* The original code was written for the EST8260 board. I tried to make
@@ -28,6 +30,7 @@
#include <linux/signal.h>
#include <linux/sched.h>
#include <linux/timer.h>
+#include <linux/workqueue.h>
#include <linux/interrupt.h>
#include <linux/tty.h>
#include <linux/tty_flip.h>
@@ -69,9 +72,7 @@
#define TX_WAKEUP ASYNC_SHARE_IRQ
static char *serial_name = "CPM UART driver";
-static char *serial_version = "0.01";
-
-static DECLARE_TASK_QUEUE(tq_serial);
+static char *serial_version = "0.02";
static struct tty_driver serial_driver, callout_driver;
static int serial_refcount;
@@ -201,8 +202,8 @@ typedef struct serial_info {
int blocked_open; /* # of blocked opens */
long session; /* Session of opening process */
long pgrp; /* pgrp of opening process */
- struct tq_struct tqueue;
- struct tq_struct tqueue_hangup;
+ struct work_struct tqueue;
+ struct work_struct tqueue_hangup;
wait_queue_head_t open_wait;
wait_queue_head_t close_wait;
@@ -331,8 +332,7 @@ static _INLINE_ void rs_sched_event(ser_info_t *info,
int event)
{
info->event |= 1 << event;
- queue_task(&info->tqueue, &tq_serial);
- mark_bh(SERIAL_BH);
+ schedule_work(&info->tqueue);
}
static _INLINE_ void receive_chars(ser_info_t *info)
@@ -479,7 +479,7 @@ static _INLINE_ void receive_chars(ser_info_t *info)
info->rx_cur = (cbd_t *)bdp;
- queue_task(&tty->flip.tqueue, &tq_timer);
+ schedule_delayed_work(&tty->flip.work, 1);
}
static _INLINE_ void transmit_chars(ser_info_t *info)
@@ -537,7 +537,7 @@ static _INLINE_ void check_modem_status(struct async_struct *info)
printk("scheduling hangup...");
#endif
MOD_INC_USE_COUNT;
- if (schedule_task(&info->tqueue_hangup) == 0)
+ if (schedule_work(&info->tqueue_hangup) == 0)
MOD_DEC_USE_COUNT;
}
}
@@ -628,11 +628,6 @@ static void rs_8xx_interrupt(int irq, void * dev_id, struct pt_regs * regs)
* interrupt driver proper are done; the interrupt driver schedules
* them using rs_sched_event(), and they get done here.
*/
-static void do_serial_bh(void)
-{
- run_task_queue(&tq_serial);
-}
-
static void do_softint(void *private_)
{
ser_info_t *info = (ser_info_t *) private_;
@@ -651,7 +646,7 @@ static void do_softint(void *private_)
}
/*
- * This routine is called from the scheduler tqueue when the interrupt
+ * This routine is called from the scheduler work queue when the interrupt
* routine has signalled that a hangup has occurred. The path of
* hangup processing is:
*
@@ -1308,7 +1303,7 @@ static void begin_break(ser_info_t *info)
{
volatile cpm8260_t *cp;
uint page, sblock;
- ushort num;
+ int num;
cp = cpmp;
@@ -1352,7 +1347,7 @@ static void end_break(ser_info_t *info)
{
volatile cpm8260_t *cp;
uint page, sblock;
- ushort num;
+ int num;
cp = cpmp;
@@ -1756,7 +1751,7 @@ static void rs_8xx_wait_until_sent(struct tty_struct *tty, int timeout)
*/
char_time = 1;
if (timeout)
- char_time = min(char_time, timeout);
+ char_time = min(char_time, (unsigned long)timeout);
#ifdef SERIAL_DEBUG_RS_WAIT_UNTIL_SENT
printk("In rs_wait_until_sent(%d) check=%lu...", timeout, char_time);
printk("jiff=%lu...", jiffies);
@@ -1980,7 +1975,7 @@ static int rs_8xx_open(struct tty_struct *tty, struct file * filp)
ser_info_t *info;
int retval, line;
- line = MINOR(tty->device) - tty->driver.minor_start;
+ line = minor(tty->device) - tty->driver.minor_start;
if ((line < 0) || (line >= NR_PORTS))
return -ENODEV;
retval = get_async_struct(line, &info);
@@ -2455,7 +2450,7 @@ void kgdb_map_scc(void)
static kdev_t serial_console_device(struct console *c)
{
- return MKDEV(TTY_MAJOR, 64 + c->index);
+ return mk_kdev(TTY_MAJOR, 64 + c->index);
}
@@ -2503,8 +2498,6 @@ int __init rs_8xx_init(void)
volatile immap_t *immap;
volatile iop8260_t *io;
- init_bh(SERIAL_BH, do_serial_bh);
-
show_serial_version();
/* Initialize the tty_driver structure */
@@ -2680,10 +2673,8 @@ int __init rs_8xx_init(void)
init_waitqueue_head(&info->close_wait);
info->magic = SERIAL_MAGIC;
info->flags = state->flags;
- info->tqueue.routine = do_softint;
- info->tqueue.data = info;
- info->tqueue_hangup.routine = do_serial_hangup;
- info->tqueue_hangup.data = info;
+ INIT_WORK(&info->tqueue, do_softint, info);
+ INIT_WORK(&info->tqueue_hangup, do_serial_hangup, info);
info->line = i;
info->state = state;
state->info = (struct async_struct *)info;
@@ -2874,7 +2865,7 @@ int __init rs_8xx_init(void)
/* Install interrupt handler.
*/
- request_8xxirq(state->irq, rs_8xx_interrupt, 0, "uart", info);
+ request_irq(state->irq, rs_8xx_interrupt, 0, "uart", info);
/* Set up the baud rate generator.
*/
diff --git a/arch/ppc/boot/simple/embed_config.c b/arch/ppc/boot/simple/embed_config.c
index f80860d892ff..7acebedfbd86 100644
--- a/arch/ppc/boot/simple/embed_config.c
+++ b/arch/ppc/boot/simple/embed_config.c
@@ -431,7 +431,7 @@ clk_8260(bd_t *bd)
}
#endif
-#ifdef CONFIG_EST8260
+#if defined(CONFIG_EST8260) || defined(CONFIG_TQM8260)
void
embed_config(bd_t **bdp)
{
diff --git a/arch/ppc/kernel/ppc_ksyms.c b/arch/ppc/kernel/ppc_ksyms.c
index 12192810db5d..52bce07df930 100644
--- a/arch/ppc/kernel/ppc_ksyms.c
+++ b/arch/ppc/kernel/ppc_ksyms.c
@@ -337,7 +337,7 @@ EXPORT_SYMBOL(cpm_free_handler);
#if defined(CONFIG_8xx) || defined(CONFIG_4xx)
EXPORT_SYMBOL(__res);
#endif
-#if defined(CONFIG_8xx) || defined(CONFIG_8260)
+#if defined(CONFIG_8xx)
EXPORT_SYMBOL(request_8xxirq);
#endif
diff --git a/arch/ppc/platforms/Makefile b/arch/ppc/platforms/Makefile
index 4c39c6416963..a63cd434abc1 100644
--- a/arch/ppc/platforms/Makefile
+++ b/arch/ppc/platforms/Makefile
@@ -28,6 +28,8 @@ obj-$(CONFIG_PMAC_PBOOK) += sleep.o
obj-$(CONFIG_PPC_RTAS) += error_log.o proc_rtas.o
obj-$(CONFIG_PREP_RESIDUAL) += residual.o
obj-$(CONFIG_ADIR) += adir_setup.o adir_pic.o adir_pci.o
+obj-$(CONFIG_EST8260) += est8260_setup.o
+obj-$(CONFIG_TQM8260) += tqm8260_setup.o
obj-$(CONFIG_EV64260) += ev64260_setup.o
obj-$(CONFIG_GEMINI) += gemini_pci.o gemini_setup.o gemini_prom.o
obj-$(CONFIG_K2) += k2_setup.o k2_pci.o
diff --git a/arch/ppc/platforms/est8260.h b/arch/ppc/platforms/est8260.h
index 8ca998af51c5..14a9c0256380 100644
--- a/arch/ppc/platforms/est8260.h
+++ b/arch/ppc/platforms/est8260.h
@@ -3,8 +3,12 @@
* will soon be removed. All of the clock values are computed from
* the configuration SCMR and the Power-On-Reset word.
*/
+#ifndef __EST8260_PLATFORM
+#define __EST8260_PLATFORM
-#define IMAP_ADDR ((uint)0xf0000000)
+#define IMAP_ADDR ((uint)0xf0000000)
+
+#define BOOTROM_RESTART_ADDR ((uint)0xff000104)
/* A Board Information structure that is given to a program when
@@ -25,3 +29,4 @@ typedef struct bd_info {
extern bd_t m8xx_board_info;
+#endif /* __EST8260_PLATFORM */
diff --git a/arch/ppc/platforms/est8260_setup.c b/arch/ppc/platforms/est8260_setup.c
new file mode 100644
index 000000000000..3aeecfc03a13
--- /dev/null
+++ b/arch/ppc/platforms/est8260_setup.c
@@ -0,0 +1,65 @@
+/*
+ * arch/ppc/platforms/est8260_setup.c
+ *
+ * EST8260 platform support
+ *
+ * Author: Allen Curtis <acurtis@onz.com>
+ * Derived from: m8260_setup.c by Dan Malek, MVista
+ *
+ * Copyright 2002 Ones and Zeros, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#include <linux/config.h>
+#include <linux/seq_file.h>
+
+#include <asm/mpc8260.h>
+#include <asm/machdep.h>
+
+static void (*callback_setup_arch)(void);
+
+extern unsigned char __res[sizeof(bd_t)];
+
+extern void m8260_init(unsigned long r3, unsigned long r4,
+ unsigned long r5, unsigned long r6, unsigned long r7);
+
+static int
+est8260_show_cpuinfo(struct seq_file *m)
+{
+ bd_t *binfo = (bd_t *)__res;
+
+ seq_printf(m, "vendor\t\t: EST Corporation\n"
+ "machine\t\t: SBC8260 PowerPC\n"
+ "\n"
+ "mem size\t\t: 0x%08x\n"
+ "console baud\t\t: %d\n"
+ "\n",
+ binfo->bi_memsize,
+ binfo->bi_baudrate);
+ return 0;
+}
+
+static void __init
+est8260_setup_arch(void)
+{
+ printk("EST SBC8260 Port\n");
+ callback_setup_arch();
+}
+
+void __init
+platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+ unsigned long r6, unsigned long r7)
+{
+ /* Generic 8260 platform initialization */
+ m8260_init(r3, r4, r5, r6, r7);
+
+ /* Anything special for this platform */
+ ppc_md.show_cpuinfo = est8260_show_cpuinfo;
+
+ callback_setup_arch = ppc_md.setup_arch;
+ ppc_md.setup_arch = est8260_setup_arch;
+}
diff --git a/arch/ppc/platforms/mpc82xx.h b/arch/ppc/platforms/mpc82xx.h
new file mode 100644
index 000000000000..02101b3b19e5
--- /dev/null
+++ b/arch/ppc/platforms/mpc82xx.h
@@ -0,0 +1,42 @@
+/*
+ * arch/ppc/platforms/mpc82xx.h
+ *
+ * Board specific support for various 82xx platforms.
+ *
+ * Author: Allen Curtis <acurtis@onz.com>
+ *
+ * Copyright 2002 Ones and Zeros, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+#ifndef __CONFIG_82XX_PLATFORMS
+#define __CONFIG_82XX_PLATFORMS
+
+#ifdef CONFIG_8260
+
+#ifdef CONFIG_EST8260
+#include <platforms/est8260.h>
+#endif
+
+#ifdef CONFIG_SBS8260
+#include <platforms/sbs8260.h>
+#endif
+
+#ifdef CONFIG_RPX6
+#include <platforms/rpxsuper.h>
+#endif
+
+#ifdef CONFIG_WILLOW
+#include <platforms/willow.h>
+#endif
+
+#ifdef CONFIG_TQM8260
+#include <platforms/tqm8260.h>
+#endif
+
+#endif /* CONFIG_8260 */
+
+#endif
diff --git a/arch/ppc/platforms/tqm8260.h b/arch/ppc/platforms/tqm8260.h
index c166f3e74115..dc463c0a6647 100644
--- a/arch/ppc/platforms/tqm8260.h
+++ b/arch/ppc/platforms/tqm8260.h
@@ -4,8 +4,8 @@
* Copyright (c) 2001 Wolfgang Denk (wd@denx.de)
*/
-#ifndef __MACH_TQM8260_H
-#define __MACH_TQM8260_H
+#ifndef __TQM8260_PLATFORM
+#define __TQM8260_PLATFORM
#include <linux/config.h>
@@ -14,4 +14,6 @@
#define IMAP_ADDR ((uint)0xFFF00000)
#define PHY_INTERRUPT 25
-#endif /* __MACH_TQM8260_H */
+#define BOOTROM_RESTART_ADDR ((uint)0x40000104)
+
+#endif /* __TQM8260_PLATFORM */
diff --git a/arch/ppc/platforms/tqm8260_setup.c b/arch/ppc/platforms/tqm8260_setup.c
new file mode 100644
index 000000000000..759c62eda53d
--- /dev/null
+++ b/arch/ppc/platforms/tqm8260_setup.c
@@ -0,0 +1,79 @@
+/*
+ * arch/ppc/platforms/tqm8260_setup.c
+ *
+ * TQM8260 platform support
+ *
+ * Author: Allen Curtis <acurtis@onz.com>
+ * Derived from: m8260_setup.c by Dan Malek, MVista
+ *
+ * Copyright 2002 Ones and Zeros, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#include <linux/config.h>
+#include <linux/seq_file.h>
+
+#include <asm/immap_8260.h>
+#include <asm/mpc8260.h>
+#include <asm/machdep.h>
+
+static void (*callback_setup_arch)(void);
+
+extern unsigned char __res[sizeof(bd_t)];
+
+extern void m8260_init(unsigned long r3, unsigned long r4,
+ unsigned long r5, unsigned long r6, unsigned long r7);
+
+static int
+tqm8260_show_cpuinfo(struct seq_file *m)
+{
+ bd_t *binfo = (bd_t *)__res;
+
+ seq_printf(m, "vendor\t\t: IN2 Systems\n"
+ "machine\t\t: TQM8260 PowerPC\n"
+ "mem size\t\t: 0x%08x\n"
+ "\n",
+ binfo->bi_memsize);
+ return 0;
+}
+
+static int
+tqm8260_set_rtc_time(unsigned long time)
+{
+ ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcnt = time;
+ ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcntsc = 0x3;
+
+ return(0);
+}
+
+static unsigned long
+tqm8260_get_rtc_time(void)
+{
+ return ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcnt;
+}
+
+static void __init
+tqm8260_setup_arch(void)
+{
+ printk("IN2 Systems TQM8260 port\n");
+ callback_setup_arch();
+}
+
+void __init
+platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+ unsigned long r6, unsigned long r7)
+{
+ /* Generic 8260 platform initialization */
+ m8260_init(r3, r4, r5, r6, r7);
+
+ /* Anything special for this platform */
+ ppc_md.show_cpuinfo = tqm8260_show_cpuinfo;
+ ppc_md.set_rtc_time = tqm8260_set_rtc_time;
+ ppc_md.get_rtc_time = tqm8260_get_rtc_time;
+
+ callback_setup_arch = ppc_md.setup_arch;
+ ppc_md.setup_arch = tqm8260_setup_arch;
diff --git a/arch/ppc/syslib/m8260_setup.c b/arch/ppc/syslib/m8260_setup.c
index 93456f6cf6d5..3d0148b4b787 100644
--- a/arch/ppc/syslib/m8260_setup.c
+++ b/arch/ppc/syslib/m8260_setup.c
@@ -63,16 +63,6 @@ m8260_setup_arch(void)
m8260_cpm_reset();
}
-static void
-abort(void)
-{
-#ifdef CONFIG_XMON
- extern void xmon(void *);
- xmon(0);
-#endif
- machine_restart(NULL);
-}
-
/* The decrementer counts at the system (internal) clock frequency
* divided by four.
*/
@@ -93,30 +83,27 @@ m8260_calibrate_decr(void)
*/
static uint rtc_time;
-static static int
+static int
m8260_set_rtc_time(unsigned long time)
{
-#ifdef CONFIG_TQM8260
- ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcnt = time;
- ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcntsc = 0x3;
-#else
rtc_time = time;
-#endif
+
return(0);
}
static unsigned long
m8260_get_rtc_time(void)
{
-#ifdef CONFIG_TQM8260
- return ((immap_t *)IMAP_ADDR)->im_sit.sit_tmcnt;
-#else
/* Get time from the RTC.
*/
return((unsigned long)rtc_time);
-#endif
}
+#ifndef BOOTROM_RESTART_ADDR
+#warning "Using default BOOTROM_RESTART_ADDR!"
+#define BOOTROM_RESTART_ADDR 0xff000104
+#endif
+
static void
m8260_restart(char *cmd)
{
@@ -127,32 +114,28 @@ m8260_restart(char *cmd)
* of the reset vector. If that doesn't work for you, change this
* or the reboot program to send a proper address.
*/
-#ifdef CONFIG_TQM8260
- startaddr = 0x40000104;
-#else
- startaddr = 0xff000104;
-#endif
+ startaddr = BOOTROM_RESTART_ADDR;
if (cmd != NULL) {
if (!strncmp(cmd, "startaddr=", 10))
startaddr = simple_strtoul(&cmd[10], NULL, 0);
}
- m8260_gorom((unsigned int)__pa(__res), startaddr);
+ m8260_gorom((void*)__pa(__res), startaddr);
}
static void
-m8260_power_off(void)
+m8260_halt(void)
{
- m8260_restart(NULL);
+ local_irq_disable();
+ while (1);
}
static void
-m8260_halt(void)
+m8260_power_off(void)
{
- m8260_restart(NULL);
+ m8260_halt();
}
-
static int
m8260_show_percpuinfo(struct seq_file *m, int i)
{
@@ -181,9 +164,6 @@ m8260_init_IRQ(void)
int i;
void cpm_interrupt_init(void);
-#if 0
- ppc8260_pic.irq_offset = 0;
-#endif
for ( i = 0 ; i < NR_SIU_INTS ; i++ )
irq_desc[i].handler = &ppc8260_pic;
@@ -194,7 +174,6 @@ m8260_init_IRQ(void)
immr->im_intctl.ic_siprr = 0x05309770;
immr->im_intctl.ic_scprrh = 0x05309770;
immr->im_intctl.ic_scprrl = 0x05309770;
-
}
/*
@@ -219,12 +198,29 @@ m8260_find_end_of_memory(void)
static void __init
m8260_map_io(void)
{
- io_block_mapping(0xf0000000, 0xf0000000, 0x10000000, _PAGE_IO);
- io_block_mapping(0xe0000000, 0xe0000000, 0x10000000, _PAGE_IO);
+ uint addr;
+
+ /* Map IMMR region to a 256MB BAT */
+ addr = (immr != NULL) ? (uint)immr : IMAP_ADDR;
+ io_block_mapping(addr, addr, 0x10000000, _PAGE_IO);
+
+ /* Map I/O region to a 256MB BAT */
+ io_block_mapping(IO_VIRT_ADDR, IO_PHYS_ADDR, 0x10000000, _PAGE_IO);
}
+/* Inputs:
+ * r3 - Optional pointer to a board information structure.
+ * r4 - Optional pointer to the physical starting address of the init RAM
+ * disk.
+ * r5 - Optional pointer to the physical ending address of the init RAM
+ * disk.
+ * r6 - Optional pointer to the physical starting address of any kernel
+ * command-line parameters.
+ * r7 - Optional pointer to the physical ending address of any kernel
+ * command-line parameters.
+ */
void __init
-platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
+m8260_init(unsigned long r3, unsigned long r4, unsigned long r5,
unsigned long r6, unsigned long r7)
{
parse_bootinfo(find_bootinfo());
@@ -265,11 +261,3 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
ppc_md.setup_io_mappings = m8260_map_io;
}
-/* Mainly for ksyms.
-*/
-int
-request_irq(unsigned int irq, void (*handler)(int, void *, struct pt_regs *),
- unsigned long flag, const char *naem, void *dev)
-{
- panic("request IRQ\n");
-}