Loading drivers/net/wan/pc300too.c +15 −37 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ #define MAX_TX_BUFFERS 10 static int pci_clock_freq = 33000000; static int use_crystal_clock = 0; static int use_crystal_clock; static unsigned int CLOCK_BASE; /* Masks to access the init_ctrl PLX register */ Loading @@ -52,11 +52,9 @@ static unsigned int CLOCK_BASE; #define PC300_CHMEDIA_MASK(port) (0x00000020UL << ((port) * 3)) #define PC300_CTYPE_MASK (0x00000800UL) enum { PC300_RSV = 1, PC300_X21, PC300_TE }; /* card types */ /* * PLX PCI9050-1 local configuration and shared runtime registers. /* PLX PCI9050-1 local configuration and shared runtime registers. * This structure can be used to access 9050 registers (memory mapped). */ typedef struct { Loading @@ -71,8 +69,6 @@ typedef struct { u32 init_ctrl; /* 50h : EEPROM ctrl, Init Ctrl, etc */ } plx9050; typedef struct port_s { struct napi_struct napi; struct net_device *netdev; Loading @@ -90,8 +86,6 @@ typedef struct port_s { u8 chan; /* physical port # - 0 or 1 */ } port_t; typedef struct card_s { int type; /* RSV, X21, etc. */ int n_ports; /* 1 or 2 ports */ Loading @@ -107,13 +101,11 @@ typedef struct card_s { port_t ports[2]; } card_t; #define get_port(card, port) ((port) < (card)->n_ports ? \ (&(card)->ports[port]) : (NULL)) #include "hd64572.c" static void pc300_set_iface(port_t *port) { card_t *card = port->card; Loading Loading @@ -162,13 +154,11 @@ static void pc300_set_iface(port_t *port) } } static int pc300_open(struct net_device *dev) { port_t *port = dev_to_port(dev); int result = hdlc_open(dev); if (result) return result; Loading @@ -177,8 +167,6 @@ static int pc300_open(struct net_device *dev) return 0; } static int pc300_close(struct net_device *dev) { sca_close(dev); Loading @@ -186,8 +174,6 @@ static int pc300_close(struct net_device *dev) return 0; } static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { const size_t size = sizeof(sync_serial_settings); Loading @@ -214,7 +200,6 @@ static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) if (copy_to_user(line, &port->settings, size)) return -EFAULT; return 0; } if (port->card->type == PC300_X21 && Loading Loading @@ -255,8 +240,6 @@ static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) return 0; } static void pc300_pci_remove_one(struct pci_dev *pdev) { int i; Loading Loading @@ -314,7 +297,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, } card = kzalloc(sizeof(card_t), GFP_KERNEL); if (card == NULL) { if (!card) { pci_release_regions(pdev); pci_disable_device(pdev); return -ENOBUFS; Loading @@ -338,9 +321,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, ramphys = pci_resource_start(pdev, 3) & PCI_BASE_ADDRESS_MEM_MASK; card->rambase = pci_ioremap_bar(pdev, 3); if (card->plxbase == NULL || card->scabase == NULL || card->rambase == NULL) { if (!card->plxbase || !card->scabase || !card->rambase) { pr_err("ioremap() failed\n"); pc300_pci_remove_one(pdev); return -ENOMEM; Loading @@ -365,12 +346,14 @@ static int pc300_pci_init_one(struct pci_dev *pdev, else card->n_ports = 2; for (i = 0; i < card->n_ports; i++) if (!(card->ports[i].netdev = alloc_hdlcdev(&card->ports[i]))) { for (i = 0; i < card->n_ports; i++) { card->ports[i].netdev = alloc_hdlcdev(&card->ports[i]); if (!card->ports[i].netdev) { pr_err("unable to allocate memory\n"); pc300_pci_remove_one(pdev); return -ENOMEM; } } /* Reset PLX */ p = &card->plxbase->init_ctrl; Loading Loading @@ -442,6 +425,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, port_t *port = &card->ports[i]; struct net_device *dev = port->netdev; hdlc_device *hdlc = dev_to_hdlc(dev); port->chan = i; spin_lock_init(&port->lock); Loading Loading @@ -472,8 +456,6 @@ static int pc300_pci_init_one(struct pci_dev *pdev, return 0; } static const struct pci_device_id pc300_pci_tbl[] = { { PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, Loading @@ -486,7 +468,6 @@ static const struct pci_device_id pc300_pci_tbl[] = { { 0, } }; static struct pci_driver pc300_pci_driver = { .name = "PC300", .id_table = pc300_pci_tbl, Loading @@ -494,7 +475,6 @@ static struct pci_driver pc300_pci_driver = { .remove = pc300_pci_remove_one, }; static int __init pc300_init_module(void) { if (pci_clock_freq < 1000000 || pci_clock_freq > 80000000) { Loading @@ -511,8 +491,6 @@ static int __init pc300_init_module(void) return pci_register_driver(&pc300_pci_driver); } static void __exit pc300_cleanup_module(void) { pci_unregister_driver(&pc300_pci_driver); Loading Loading
drivers/net/wan/pc300too.c +15 −37 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ #define MAX_TX_BUFFERS 10 static int pci_clock_freq = 33000000; static int use_crystal_clock = 0; static int use_crystal_clock; static unsigned int CLOCK_BASE; /* Masks to access the init_ctrl PLX register */ Loading @@ -52,11 +52,9 @@ static unsigned int CLOCK_BASE; #define PC300_CHMEDIA_MASK(port) (0x00000020UL << ((port) * 3)) #define PC300_CTYPE_MASK (0x00000800UL) enum { PC300_RSV = 1, PC300_X21, PC300_TE }; /* card types */ /* * PLX PCI9050-1 local configuration and shared runtime registers. /* PLX PCI9050-1 local configuration and shared runtime registers. * This structure can be used to access 9050 registers (memory mapped). */ typedef struct { Loading @@ -71,8 +69,6 @@ typedef struct { u32 init_ctrl; /* 50h : EEPROM ctrl, Init Ctrl, etc */ } plx9050; typedef struct port_s { struct napi_struct napi; struct net_device *netdev; Loading @@ -90,8 +86,6 @@ typedef struct port_s { u8 chan; /* physical port # - 0 or 1 */ } port_t; typedef struct card_s { int type; /* RSV, X21, etc. */ int n_ports; /* 1 or 2 ports */ Loading @@ -107,13 +101,11 @@ typedef struct card_s { port_t ports[2]; } card_t; #define get_port(card, port) ((port) < (card)->n_ports ? \ (&(card)->ports[port]) : (NULL)) #include "hd64572.c" static void pc300_set_iface(port_t *port) { card_t *card = port->card; Loading Loading @@ -162,13 +154,11 @@ static void pc300_set_iface(port_t *port) } } static int pc300_open(struct net_device *dev) { port_t *port = dev_to_port(dev); int result = hdlc_open(dev); if (result) return result; Loading @@ -177,8 +167,6 @@ static int pc300_open(struct net_device *dev) return 0; } static int pc300_close(struct net_device *dev) { sca_close(dev); Loading @@ -186,8 +174,6 @@ static int pc300_close(struct net_device *dev) return 0; } static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) { const size_t size = sizeof(sync_serial_settings); Loading @@ -214,7 +200,6 @@ static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) if (copy_to_user(line, &port->settings, size)) return -EFAULT; return 0; } if (port->card->type == PC300_X21 && Loading Loading @@ -255,8 +240,6 @@ static int pc300_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) return 0; } static void pc300_pci_remove_one(struct pci_dev *pdev) { int i; Loading Loading @@ -314,7 +297,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, } card = kzalloc(sizeof(card_t), GFP_KERNEL); if (card == NULL) { if (!card) { pci_release_regions(pdev); pci_disable_device(pdev); return -ENOBUFS; Loading @@ -338,9 +321,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, ramphys = pci_resource_start(pdev, 3) & PCI_BASE_ADDRESS_MEM_MASK; card->rambase = pci_ioremap_bar(pdev, 3); if (card->plxbase == NULL || card->scabase == NULL || card->rambase == NULL) { if (!card->plxbase || !card->scabase || !card->rambase) { pr_err("ioremap() failed\n"); pc300_pci_remove_one(pdev); return -ENOMEM; Loading @@ -365,12 +346,14 @@ static int pc300_pci_init_one(struct pci_dev *pdev, else card->n_ports = 2; for (i = 0; i < card->n_ports; i++) if (!(card->ports[i].netdev = alloc_hdlcdev(&card->ports[i]))) { for (i = 0; i < card->n_ports; i++) { card->ports[i].netdev = alloc_hdlcdev(&card->ports[i]); if (!card->ports[i].netdev) { pr_err("unable to allocate memory\n"); pc300_pci_remove_one(pdev); return -ENOMEM; } } /* Reset PLX */ p = &card->plxbase->init_ctrl; Loading Loading @@ -442,6 +425,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, port_t *port = &card->ports[i]; struct net_device *dev = port->netdev; hdlc_device *hdlc = dev_to_hdlc(dev); port->chan = i; spin_lock_init(&port->lock); Loading Loading @@ -472,8 +456,6 @@ static int pc300_pci_init_one(struct pci_dev *pdev, return 0; } static const struct pci_device_id pc300_pci_tbl[] = { { PCI_VENDOR_ID_CYCLADES, PCI_DEVICE_ID_PC300_RX_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, Loading @@ -486,7 +468,6 @@ static const struct pci_device_id pc300_pci_tbl[] = { { 0, } }; static struct pci_driver pc300_pci_driver = { .name = "PC300", .id_table = pc300_pci_tbl, Loading @@ -494,7 +475,6 @@ static struct pci_driver pc300_pci_driver = { .remove = pc300_pci_remove_one, }; static int __init pc300_init_module(void) { if (pci_clock_freq < 1000000 || pci_clock_freq > 80000000) { Loading @@ -511,8 +491,6 @@ static int __init pc300_init_module(void) return pci_register_driver(&pc300_pci_driver); } static void __exit pc300_cleanup_module(void) { pci_unregister_driver(&pc300_pci_driver); Loading