After my last patch we have a new header file for HP simulator use.
Here's code to use it for stuff that used to have `extern' statements
inline in the code. Functionality should not change with this patch.
Signed-off-by: Peter Chubb <[EMAIL PROTECTED]>
---
arch/ia64/hp/sim/hpsim_console.c | 1 -
arch/ia64/hp/sim/simeth.c | 12 +++---------
arch/ia64/hp/sim/simscsi.c | 3 +--
include/asm-ia64/hpsim.h | 6 ++++++
4 files changed, 10 insertions(+), 12 deletions(-)
Index: linux-2.6-git/arch/ia64/hp/sim/hpsim_console.c
===================================================================
--- linux-2.6-git.orig/arch/ia64/hp/sim/hpsim_console.c 2007-08-21
13:04:52.000000000 +1000
+++ linux-2.6-git/arch/ia64/hp/sim/hpsim_console.c 2007-08-21
13:20:27.000000000 +1000
@@ -52,21 +52,20 @@ simcons_write (struct console *cons, con
while (count-- > 0) {
ch = *buf++;
ia64_ssc(ch, 0, 0, 0, SSC_PUTCHAR);
if (ch == '\n')
ia64_ssc('\r', 0, 0, 0, SSC_PUTCHAR);
}
}
static struct tty_driver *simcons_console_device (struct console *c, int
*index)
{
- extern struct tty_driver *hp_simserial_driver;
*index = c->index;
return hp_simserial_driver;
}
int simcons_register(void)
{
if (!ia64_platform_is("hpsim"))
return 1;
if (hpsim_cons.flags & CON_ENABLED)
Index: linux-2.6-git/arch/ia64/hp/sim/simeth.c
===================================================================
--- linux-2.6-git.orig/arch/ia64/hp/sim/simeth.c 2007-08-21
13:04:47.000000000 +1000
+++ linux-2.6-git/arch/ia64/hp/sim/simeth.c 2007-08-21 13:20:27.000000000
+1000
@@ -15,39 +15,36 @@
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/inetdevice.h>
#include <linux/if_ether.h>
#include <linux/if_arp.h>
#include <linux/skbuff.h>
#include <linux/notifier.h>
#include <linux/bitops.h>
#include <asm/system.h>
#include <asm/irq.h>
+#include <asm/hpsim.h>
+
+#include "hpsim_ssc.h"
#define SIMETH_RECV_MAX 10
/*
* Maximum possible received frame for Ethernet.
* We preallocate an sk_buff of that size to avoid costly
* memcpy for temporary buffer into sk_buff. We do basically
* what's done in other drivers, like eepro with a ring.
* The difference is, of course, that we don't have real DMA !!!
*/
#define SIMETH_FRAME_SIZE ETH_FRAME_LEN
-#define SSC_NETDEV_PROBE 100
-#define SSC_NETDEV_SEND 101
-#define SSC_NETDEV_RECV 102
-#define SSC_NETDEV_ATTACH 103
-#define SSC_NETDEV_DETACH 104
-
#define NETWORK_INTR 8
struct simeth_local {
struct net_device_stats stats;
int simfd; /* descriptor in the simulator */
};
static int simeth_probe1(void);
static int simeth_open(struct net_device *dev);
static int simeth_close(struct net_device *dev);
@@ -117,23 +114,20 @@ simeth_probe (void)
printk(KERN_INFO "simeth: v%s\n", simeth_version);
r = simeth_probe1();
if (r == 0) register_netdevice_notifier(&simeth_dev_notifier);
return r;
}
-extern long ia64_ssc (long, long, long, long, int);
-extern void ia64_ssc_connect_irq (long intr, long irq);
-
static inline int
netdev_probe(char *name, unsigned char *ether)
{
return ia64_ssc(__pa(name), __pa(ether), 0,0, SSC_NETDEV_PROBE);
}
static inline int
netdev_connect(int irq)
{
Index: linux-2.6-git/arch/ia64/hp/sim/simscsi.c
===================================================================
--- linux-2.6-git.orig/arch/ia64/hp/sim/simscsi.c 2007-08-21
13:04:47.000000000 +1000
+++ linux-2.6-git/arch/ia64/hp/sim/simscsi.c 2007-08-21 13:20:27.000000000
+1000
@@ -7,20 +7,21 @@
*
* 02/01/15 David Mosberger Updated for v2.5.1
* 99/12/18 David Mosberger Added support for READ10/WRITE10 needed by
linux v2.3.33
*/
#include <linux/blkdev.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/timer.h>
#include <asm/irq.h>
+#include "hpsim_ssc.h"
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#define DEBUG_SIMSCSI 0
#define SIMSCSI_REQ_QUEUE_LEN 64
#define DEFAULT_SIMSCSI_ROOT "/var/ski-disks/sd"
@@ -52,22 +53,20 @@ static DECLARE_TASKLET(simscsi_tasklet,
struct disk_req {
unsigned long addr;
unsigned len;
};
struct disk_stat {
int fd;
unsigned count;
};
-extern long ia64_ssc (long arg0, long arg1, long arg2, long arg3, int nr);
-
static int desc[16] = {
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
};
static struct queue_entry {
struct scsi_cmnd *sc;
} queue[SIMSCSI_REQ_QUEUE_LEN];
static int rd, wr;
static atomic_t num_reqs = ATOMIC_INIT(0);
Index: linux-2.6-git/include/asm-ia64/hpsim.h
===================================================================
--- linux-2.6-git.orig/include/asm-ia64/hpsim.h 2007-08-21 13:04:52.000000000
+1000
+++ linux-2.6-git/include/asm-ia64/hpsim.h 2007-08-21 13:20:27.000000000
+1000
@@ -1,10 +1,16 @@
#ifndef _ASMIA64_HPSIM_H
#define _ASMIA64_HPSIM_H
#ifndef CONFIG_HP_SIMSERIAL_CONSOLE
static inline int simcons_register(void) { return 1; }
#else
int simcons_register(void);
#endif
+struct tty_driver;
+extern struct tty_driver *hp_simserial_driver;
+
+void ia64_ssc_connect_irq(long intr, long irq);
+void ia64_ctl_trace(long on);
+
#endif
--
Dr Peter Chubb http://www.gelato.unsw.edu.au peterc AT gelato.unsw.edu.au
http://www.ertos.nicta.com.au ERTOS within National ICT Australia
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html