summaryrefslogtreecommitdiffstats
path: root/drivers/acorn
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-02-04 07:40:19 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-02-04 07:40:19 +0000
commit33263fc5f9ac8e8cb2b22d06af3ce5ac1dd815e4 (patch)
tree2d1b86a40bef0958a68cf1a2eafbeb0667a70543 /drivers/acorn
parent216f5f51aa02f8b113aa620ebc14a9631a217a00 (diff)
Merge with Linux 2.3.32.
Diffstat (limited to 'drivers/acorn')
-rw-r--r--drivers/acorn/char/Makefile24
-rw-r--r--drivers/acorn/char/mouse_rpc.c18
-rw-r--r--drivers/acorn/char/serial-atomwide.c5
-rw-r--r--drivers/acorn/char/serial-card.c22
-rw-r--r--drivers/acorn/char/serial-dualsp.c5
-rw-r--r--drivers/acorn/scsi/fas216.c2
-rw-r--r--drivers/acorn/scsi/powertec.c5
7 files changed, 46 insertions, 35 deletions
diff --git a/drivers/acorn/char/Makefile b/drivers/acorn/char/Makefile
index c3c6f67ba..bcbb4ba70 100644
--- a/drivers/acorn/char/Makefile
+++ b/drivers/acorn/char/Makefile
@@ -9,40 +9,40 @@
# parent makes..
#
-L_TARGET := acorn-char.a
+O_TARGET := acorn-char.o
M_OBJS :=
-L_OBJS :=
+O_OBJS :=
-L_OBJS_arc := keyb_arc.o
-L_OBJS_a5k := keyb_arc.o
-L_OBJS_rpc := keyb_ps2.o
+O_OBJS_arc := keyb_arc.o
+O_OBJS_a5k := keyb_arc.o
+O_OBJS_rpc := keyb_ps2.o
ifeq ($(MACHINE),rpc)
- ifeq ($(CONFIG_MOUSE),y)
- LX_OBJS += mouse_rpc.o
+ ifeq ($(CONFIG_BUSMOUSE),y)
+ OX_OBJS += mouse_rpc.o
else
- ifeq ($(CONFIG_MOUSE),m)
+ ifeq ($(CONFIG_BUSMOUSE),m)
MX_OBJS += mouse_rpc.o
endif
endif
endif
ifeq ($(CONFIG_ATOMWIDE_SERIAL),y)
- L_OBJS += serial-atomwide.o
+ O_OBJS += serial-atomwide.o
else
ifeq ($(CONFIG_ATOMWIDE_SERIAL),m)
- M_OBJS += serial-atomwide.o
+ O_OBJS += serial-atomwide.o
endif
endif
ifeq ($(CONFIG_DUALSP_SERIAL),y)
- L_OBJS += serial-dualsp.o
+ O_OBJS += serial-dualsp.o
else
ifeq ($(CONFIG_DUALSP_SERIAL),m)
M_OBJS += serial-dualsp.o
endif
endif
-L_OBJS += $(L_OBJS_$(MACHINE))
+O_OBJS += $(O_OBJS_$(MACHINE))
include $(TOPDIR)/Rules.make
diff --git a/drivers/acorn/char/mouse_rpc.c b/drivers/acorn/char/mouse_rpc.c
index fcaf57c5c..68b1b9642 100644
--- a/drivers/acorn/char/mouse_rpc.c
+++ b/drivers/acorn/char/mouse_rpc.c
@@ -12,6 +12,7 @@
#include <linux/sched.h>
#include <linux/ptrace.h>
#include <linux/interrupt.h>
+#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/irq.h>
@@ -48,8 +49,7 @@ static struct busmouse rpcmouse = {
6, "arcmouse", NULL, NULL, 7
};
-int
-mouse_rpc_init(void)
+static int __init mouse_rpc_init(void)
{
mousedev = register_busmouse(&rpcmouse);
@@ -69,19 +69,13 @@ mouse_rpc_init(void)
return mousedev >= 0 ? 0 : -ENODEV;
}
-#ifdef MODULE
-int
-init_module(void)
-{
- return mouse_rpc_init();
-}
-
-int
-cleanup_module(void)
+static void __exit mouse_rpc_exit(void)
{
if (mousedev >= 0) {
unregister_busmouse(mousedev);
free_irq(IRQ_VSYNCPULSE, &mousedev);
}
}
-#endif
+
+module_init(mouse_rpc_init);
+module_exit(mouse_rpc_exit);
diff --git a/drivers/acorn/char/serial-atomwide.c b/drivers/acorn/char/serial-atomwide.c
index f9bef2dd8..89f5e171d 100644
--- a/drivers/acorn/char/serial-atomwide.c
+++ b/drivers/acorn/char/serial-atomwide.c
@@ -12,9 +12,12 @@
#define MY_CARD_LIST { MANU_ATOMWIDE, PROD_ATOMWIDE_3PSERIAL }
#define MY_NUMPORTS 3
#define MY_BAUD_BASE (7372800 / 16)
-#define MY_INIT atomwide_serial_init
#define MY_BASE_ADDRESS(ec) \
ecard_address ((ec), ECARD_IOC, ECARD_SLOW) + (0x2000 >> 2)
#define MY_PORT_ADDRESS(port,cardaddr) \
((cardaddr) + 0x200 - (port) * 0x100)
+
+#define INIT serial_card_atomwide_init
+#define EXIT serial_card_atomwide_exit
+
#include "serial-card.c"
diff --git a/drivers/acorn/char/serial-card.c b/drivers/acorn/char/serial-card.c
index a1ea1c61f..d9d73fa9e 100644
--- a/drivers/acorn/char/serial-card.c
+++ b/drivers/acorn/char/serial-card.c
@@ -1,7 +1,7 @@
/*
* linux/arch/arm/drivers/char/serial-card.c
*
- * Copyright (c) 1996 Russell King.
+ * Copyright (c) 1996-1999 Russell King.
*
* A generic handler of serial expansion cards that use 16550s or
* the like.
@@ -22,9 +22,13 @@
* 22-04-1998 RMK Removed old register_pre_init_serial
*/
#include <linux/module.h>
+#include <linux/types.h>
#include <linux/serial.h>
#include <linux/errno.h>
+#include <linux/init.h>
+
#include <asm/ecard.h>
+#include <asm/string.h>
#ifndef NUM_SERIALS
#define NUM_SERIALS MY_NUMPORTS * MAX_ECARDS
@@ -42,8 +46,6 @@ static struct expansion_card *expcard[MAX_ECARDS];
__serial_addr[__serial_pcount] = (addr); \
__serial_pcount += 1; \
} while (0)
-#undef MY_INIT
-#define MY_INIT init_module
#else
#define ADD_ECARD(ec,card)
#define ADD_PORT(port,addr)
@@ -55,6 +57,7 @@ static inline int serial_register_onedev (unsigned long port, int irq)
{
struct serial_struct req;
+ memset(&req, 0, sizeof(req));
req.baud_base = MY_BAUD_BASE;
req.irq = irq;
req.port = port;
@@ -63,7 +66,7 @@ static inline int serial_register_onedev (unsigned long port, int irq)
return register_serial(&req);
}
-int MY_INIT (void)
+static int __init INIT (void)
{
int card = 0;
@@ -101,9 +104,9 @@ int MY_INIT (void)
return card ? 0 : -ENODEV;
}
-#ifdef MODULE
-void cleanup_module (void)
+static void __exit EXIT (void)
{
+#ifdef MODULE
int i;
for (i = 0; i < __serial_pcount; i++) {
@@ -114,5 +117,10 @@ void cleanup_module (void)
for (i = 0; i < MAX_ECARDS; i++)
if (expcard[i])
ecard_release (expcard[i]);
-}
#endif
+}
+
+EXPORT_NO_SYMBOLS;
+
+module_init(INIT);
+module_exit(EXIT);
diff --git a/drivers/acorn/char/serial-dualsp.c b/drivers/acorn/char/serial-dualsp.c
index 6a9df7599..734352b31 100644
--- a/drivers/acorn/char/serial-dualsp.c
+++ b/drivers/acorn/char/serial-dualsp.c
@@ -9,9 +9,12 @@
#define MY_CARD_LIST { MANU_SERPORT, PROD_SERPORT_DSPORT }
#define MY_NUMPORTS 2
#define MY_BAUD_BASE (3686400 / 16)
-#define MY_INIT dualsp_serial_init
#define MY_BASE_ADDRESS(ec) \
ecard_address (ec, ECARD_IOC, ECARD_SLOW) + (0x2000 >> 2)
#define MY_PORT_ADDRESS(port,cardaddress) \
((cardaddress) + (port) * 8)
+
+#define INIT serial_card_dualsp_init
+#define EXIT serial_card_dualsp_exit
+
#include "serial-card.c"
diff --git a/drivers/acorn/scsi/fas216.c b/drivers/acorn/scsi/fas216.c
index b54080ead..744480f51 100644
--- a/drivers/acorn/scsi/fas216.c
+++ b/drivers/acorn/scsi/fas216.c
@@ -1247,7 +1247,6 @@ unrecognised:
printk("%s%02X", i & 31 ? " " : "\n ", message[i]);
printk("\n");
-reject_message:
/*
* Something strange seems to be happening here -
* I can't use SETATN since the chip gives me an
@@ -1822,6 +1821,7 @@ static void fas216_done(FAS216_Info *info, unsigned int result)
case READ_CAPACITY:
case TEST_UNIT_READY:
case MODE_SENSE:
+ case REQUEST_SENSE:
break;
default:
diff --git a/drivers/acorn/scsi/powertec.c b/drivers/acorn/scsi/powertec.c
index f65ea120a..59d83dc1a 100644
--- a/drivers/acorn/scsi/powertec.c
+++ b/drivers/acorn/scsi/powertec.c
@@ -256,6 +256,9 @@ powertecscsi_detect(Scsi_Host_Template *tpnt)
host->dma_channel = ecs[count]->dma;
info = (PowerTecScsi_Info *)host->hostdata;
+ if (host->dma_channel != NO_DMA)
+ set_dma_speed(host->dma_channel, 180);
+
info->control.term_port = host->io_port + POWERTEC_TERM_CONTROL;
info->control.terms = term[count] ? POWERTEC_TERM_ENABLE : 0;
powertecscsi_terminator_ctl(host, info->control.terms);
@@ -268,7 +271,7 @@ powertecscsi_detect(Scsi_Host_Template *tpnt)
info->info.ifcfg.select_timeout = 255;
info->info.ifcfg.asyncperiod = POWERTEC_ASYNC_PERIOD;
info->info.ifcfg.sync_max_depth = POWERTEC_SYNC_DEPTH;
- info->info.ifcfg.cntl3 = /*CNTL3_BS8 |*/ CNTL3_FASTSCSI | CNTL3_FASTCLK;
+ info->info.ifcfg.cntl3 = CNTL3_BS8 | CNTL3_FASTSCSI | CNTL3_FASTCLK;
info->info.ifcfg.disconnect_ok = 1;
info->info.ifcfg.wide_max_size = 0;
info->info.dma.setup = powertecscsi_dma_setup;