/* 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;