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