Loading drivers/net/wan/n2.c +18 −38 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ #include <asm/io.h> #include "hd64570.h" static const char *version = "SDL RISCom/N2 driver version: 1.15"; static const char *devname = "RISCom/N2"; Loading Loading @@ -64,11 +63,9 @@ static char *hw; /* pointer to hw=xxx command line string */ #define PCR_ENWIN 4 /* Open window */ #define PCR_BUS16 8 /* 16-bit bus */ /* Memory Base Address Register */ #define N2_BAR 2 /* Page Scan Register */ #define N2_PSR 4 #define WIN16K 0x00 Loading @@ -78,7 +75,6 @@ static char *hw; /* pointer to hw=xxx command line string */ #define PSR_DMAEN 0x80 #define PSR_PAGEBITS 0x0F /* Modem Control Reg */ #define N2_MCR 6 #define CLOCK_OUT_PORT1 0x80 Loading @@ -90,7 +86,6 @@ static char *hw; /* pointer to hw=xxx command line string */ #define DTR_PORT1 0x02 #define DTR_PORT0 0x01 typedef struct port_s { struct net_device *dev; struct card_s *card; Loading @@ -108,8 +103,6 @@ typedef struct port_s { u8 log_node; /* logical port # */ } port_t; typedef struct card_s { u8 __iomem *winbase; /* ISA window base address */ u32 phy_winbase; /* ISA physical base address */ Loading @@ -124,11 +117,9 @@ typedef struct card_s { struct card_s *next_card; } card_t; static card_t *first_card; static card_t **new_card = &first_card; #define sca_reg(reg, card) (0x8000 | (card)->io | \ ((reg) & 0x0F) | (((reg) & 0xF0) << 6)) #define sca_in(reg, card) inb(sca_reg(reg, card)) Loading @@ -144,23 +135,20 @@ static card_t **new_card = &first_card; #define get_port(card, port) ((card)->ports[port].valid ? \ &(card)->ports[port] : NULL) static __inline__ u8 sca_get_page(card_t *card) { return inb(card->io + N2_PSR) & PSR_PAGEBITS; } static __inline__ void openwin(card_t *card, u8 page) { u8 psr = inb(card->io + N2_PSR); outb((psr & ~PSR_PAGEBITS) | page, card->io + N2_PSR); } #include "hd64570.c" static void n2_set_iface(port_t *port) { card_t *card = port->card; Loading Loading @@ -203,13 +191,12 @@ static void n2_set_iface(port_t *port) sca_set_port(port); } static int n2_open(struct net_device *dev) { port_t *port = dev_to_port(dev); int io = port->card->io; u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1:TX422_PORT0); u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); int result; result = hdlc_open(dev); Loading @@ -226,13 +213,12 @@ static int n2_open(struct net_device *dev) return 0; } static int n2_close(struct net_device *dev) { port_t *port = dev_to_port(dev); int io = port->card->io; u8 mcr = inb(io+N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); sca_close(dev); mcr |= port->phy_node ? DTR_PORT1 : DTR_PORT0; /* set DTR OFF */ Loading @@ -241,8 +227,6 @@ static int n2_close(struct net_device *dev) return 0; } static int n2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { const size_t size = sizeof(sync_serial_settings); Loading Loading @@ -295,8 +279,6 @@ static int n2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) } } static void n2_destroy_card(card_t *card) { int cnt; Loading @@ -304,6 +286,7 @@ static void n2_destroy_card(card_t *card) for (cnt = 0; cnt < 2; cnt++) if (card->ports[cnt].card) { struct net_device *dev = port_to_dev(&card->ports[cnt]); unregister_hdlc_device(dev); } Loading Loading @@ -354,7 +337,7 @@ static int __init n2_run(unsigned long io, unsigned long irq, } card = kzalloc(sizeof(card_t), GFP_KERNEL); if (card == NULL) if (!card) return -ENOBUFS; card->ports[0].dev = alloc_hdlcdev(&card->ports[0]); Loading Loading @@ -486,11 +469,9 @@ static int __init n2_run(unsigned long io, unsigned long irq, return 0; } static int __init n2_init(void) { if (hw==NULL) { if (!hw) { #ifdef MODULE pr_info("no card initialized\n"); #endif Loading Loading @@ -539,19 +520,18 @@ static int __init n2_init(void) return first_card ? 0 : -EINVAL; } static void __exit n2_cleanup(void) { card_t *card = first_card; while (card) { card_t *ptr = card; card = card->next_card; n2_destroy_card(ptr); } } module_init(n2_init); module_exit(n2_cleanup); Loading Loading
drivers/net/wan/n2.c +18 −38 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ #include <asm/io.h> #include "hd64570.h" static const char *version = "SDL RISCom/N2 driver version: 1.15"; static const char *devname = "RISCom/N2"; Loading Loading @@ -64,11 +63,9 @@ static char *hw; /* pointer to hw=xxx command line string */ #define PCR_ENWIN 4 /* Open window */ #define PCR_BUS16 8 /* 16-bit bus */ /* Memory Base Address Register */ #define N2_BAR 2 /* Page Scan Register */ #define N2_PSR 4 #define WIN16K 0x00 Loading @@ -78,7 +75,6 @@ static char *hw; /* pointer to hw=xxx command line string */ #define PSR_DMAEN 0x80 #define PSR_PAGEBITS 0x0F /* Modem Control Reg */ #define N2_MCR 6 #define CLOCK_OUT_PORT1 0x80 Loading @@ -90,7 +86,6 @@ static char *hw; /* pointer to hw=xxx command line string */ #define DTR_PORT1 0x02 #define DTR_PORT0 0x01 typedef struct port_s { struct net_device *dev; struct card_s *card; Loading @@ -108,8 +103,6 @@ typedef struct port_s { u8 log_node; /* logical port # */ } port_t; typedef struct card_s { u8 __iomem *winbase; /* ISA window base address */ u32 phy_winbase; /* ISA physical base address */ Loading @@ -124,11 +117,9 @@ typedef struct card_s { struct card_s *next_card; } card_t; static card_t *first_card; static card_t **new_card = &first_card; #define sca_reg(reg, card) (0x8000 | (card)->io | \ ((reg) & 0x0F) | (((reg) & 0xF0) << 6)) #define sca_in(reg, card) inb(sca_reg(reg, card)) Loading @@ -144,23 +135,20 @@ static card_t **new_card = &first_card; #define get_port(card, port) ((card)->ports[port].valid ? \ &(card)->ports[port] : NULL) static __inline__ u8 sca_get_page(card_t *card) { return inb(card->io + N2_PSR) & PSR_PAGEBITS; } static __inline__ void openwin(card_t *card, u8 page) { u8 psr = inb(card->io + N2_PSR); outb((psr & ~PSR_PAGEBITS) | page, card->io + N2_PSR); } #include "hd64570.c" static void n2_set_iface(port_t *port) { card_t *card = port->card; Loading Loading @@ -203,13 +191,12 @@ static void n2_set_iface(port_t *port) sca_set_port(port); } static int n2_open(struct net_device *dev) { port_t *port = dev_to_port(dev); int io = port->card->io; u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1:TX422_PORT0); u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); int result; result = hdlc_open(dev); Loading @@ -226,13 +213,12 @@ static int n2_open(struct net_device *dev) return 0; } static int n2_close(struct net_device *dev) { port_t *port = dev_to_port(dev); int io = port->card->io; u8 mcr = inb(io+N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); u8 mcr = inb(io + N2_MCR) | (port->phy_node ? TX422_PORT1 : TX422_PORT0); sca_close(dev); mcr |= port->phy_node ? DTR_PORT1 : DTR_PORT0; /* set DTR OFF */ Loading @@ -241,8 +227,6 @@ static int n2_close(struct net_device *dev) return 0; } static int n2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { const size_t size = sizeof(sync_serial_settings); Loading Loading @@ -295,8 +279,6 @@ static int n2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) } } static void n2_destroy_card(card_t *card) { int cnt; Loading @@ -304,6 +286,7 @@ static void n2_destroy_card(card_t *card) for (cnt = 0; cnt < 2; cnt++) if (card->ports[cnt].card) { struct net_device *dev = port_to_dev(&card->ports[cnt]); unregister_hdlc_device(dev); } Loading Loading @@ -354,7 +337,7 @@ static int __init n2_run(unsigned long io, unsigned long irq, } card = kzalloc(sizeof(card_t), GFP_KERNEL); if (card == NULL) if (!card) return -ENOBUFS; card->ports[0].dev = alloc_hdlcdev(&card->ports[0]); Loading Loading @@ -486,11 +469,9 @@ static int __init n2_run(unsigned long io, unsigned long irq, return 0; } static int __init n2_init(void) { if (hw==NULL) { if (!hw) { #ifdef MODULE pr_info("no card initialized\n"); #endif Loading Loading @@ -539,19 +520,18 @@ static int __init n2_init(void) return first_card ? 0 : -EINVAL; } static void __exit n2_cleanup(void) { card_t *card = first_card; while (card) { card_t *ptr = card; card = card->next_card; n2_destroy_card(ptr); } } module_init(n2_init); module_exit(n2_cleanup); Loading