114 lines
2.8 KiB
C
114 lines
2.8 KiB
C
/* Space.c */
|
|
/* Holds initial configuration information for devices. */
|
|
#include "dev.h"
|
|
#include <linux/stddef.h>
|
|
#include <linux/config.h>
|
|
|
|
#ifdef ETHERLINK1
|
|
extern void etherlink_init(struct device *);
|
|
|
|
static struct device el_dev = {
|
|
"if3c501",
|
|
0, 0, 0, 0, /* memory rx_end, rx_start, end, start are autoconfiged. */
|
|
ETHERLINK1, 9, 0,0,0,0,0, /* base i/o address, irq, and flags. */
|
|
NULL, etherlink_init, 0, {NULL}, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0, {0,}, {0,}, 0
|
|
};
|
|
#endif
|
|
|
|
#ifdef EI8390
|
|
extern void ethif_init(struct device *);
|
|
|
|
static struct device el3c503_dev = {
|
|
"eth_if",
|
|
0, 0, 0, 0, /* memory rx_end, rx_start, end, start are autoconfiged. */
|
|
0x300, 5, 0,0,0,0,0, /* base i/o address, irq, and flags. */
|
|
#ifdef ETHERLINK1
|
|
&el_dev,
|
|
#else
|
|
NULL,
|
|
#endif
|
|
ethif_init, 0, {NULL}, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
|
NULL, NULL, NULL, NULL, 0, 0, 0, {0,}, {0,}, 0
|
|
};
|
|
#endif
|
|
extern void wd8003_init(struct device *);
|
|
|
|
static struct device wd8003_dev =
|
|
{
|
|
"eth0",
|
|
0xd2000, /* recv memory end. */
|
|
0xd0600, /* recv memory start. */
|
|
0xd2000, /* memory end. */
|
|
0xd0000, /* memory start. */
|
|
0x280, /* base i/o address. */
|
|
5, /* irq */
|
|
0,0,0,0,0, /* flags */
|
|
#ifdef EI8390
|
|
&el3c503_dev, /* next device */
|
|
#elif defined(ETHERLINK1)
|
|
&el_dev, /* next device */
|
|
#else
|
|
NULL, /* next device */
|
|
#endif
|
|
wd8003_init,
|
|
/* wd8003_init should set up the rest. */
|
|
0, /* trans start. */
|
|
{NULL}, /* buffs */
|
|
NULL, /* backlog */
|
|
NULL, /* open */
|
|
NULL, /* stop */
|
|
NULL, /* hard_start_xmit */
|
|
NULL, /* hard_header */
|
|
NULL, /* add arp */
|
|
NULL, /* queue xmit */
|
|
NULL, /* rebuild header */
|
|
NULL, /* type_trans */
|
|
NULL, /* send_packet */
|
|
NULL, /* private */
|
|
0, /* type. */
|
|
0, /* hard_header_len */
|
|
0, /* mtu */
|
|
{0,}, /* broadcast address */
|
|
{0,}, /* device address */
|
|
0 /* addr len */
|
|
};
|
|
|
|
extern void loopback_init(struct device *dev);
|
|
|
|
static struct device loopback_dev =
|
|
{
|
|
"loopback",
|
|
-1, /* recv memory end. */
|
|
0x0, /* recv memory start. */
|
|
-1, /* memory end. */
|
|
0, /* memory start. */
|
|
0, /* base i/o address. */
|
|
0, /* irq */
|
|
0,0,1,0,0, /* flags */
|
|
&wd8003_dev, /* next device */
|
|
loopback_init,
|
|
/* loopback_init should set up the rest. */
|
|
0, /* trans start. */
|
|
{NULL}, /* buffs */
|
|
NULL, /* backlog */
|
|
NULL, /* open */
|
|
NULL, /* stop */
|
|
NULL, /* hard_start_xmit */
|
|
NULL, /* hard_header */
|
|
NULL, /* add arp */
|
|
NULL, /* queue xmit */
|
|
NULL, /* rebuild header */
|
|
NULL, /* type_trans */
|
|
NULL, /* send_packet */
|
|
NULL, /* private */
|
|
0, /* type. */
|
|
0, /* hard_header_len */
|
|
0, /* mtu */
|
|
{0,}, /* broadcast address */
|
|
{0,}, /* device address */
|
|
0 /* addr len */
|
|
};
|
|
|
|
struct device *dev_base = &loopback_dev;
|