diff options
Diffstat (limited to 'drivers/atm')
-rw-r--r-- | drivers/atm/ambassador.c | 7 | ||||
-rw-r--r-- | drivers/atm/fore200e.c | 6 | ||||
-rw-r--r-- | drivers/atm/horizon.c | 12 | ||||
-rw-r--r-- | drivers/atm/iphase.c | 14 | ||||
-rw-r--r-- | drivers/atm/nicstar.c | 8 | ||||
-rw-r--r-- | drivers/atm/suni.c | 4 | ||||
-rw-r--r-- | drivers/atm/zatm.c | 1 |
7 files changed, 30 insertions, 22 deletions
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c index 151704c95..47530fa6f 100644 --- a/drivers/atm/ambassador.c +++ b/drivers/atm/ambassador.c @@ -2372,8 +2372,8 @@ static int __init amb_probe (void) { // read resources from PCI configuration space u8 irq = pci_dev->irq; - u32 * membase = bus_to_virt (pci_dev->resource[0].start); - u32 iobase = pci_dev->resource[1].start; + u32 * membase = bus_to_virt (pci_resource_start (pci_dev, 0)); + u32 iobase = pci_resource_start (pci_dev, 1); void setup_dev (void) { unsigned char pool; @@ -2419,6 +2419,9 @@ static int __init amb_probe (void) { void setup_pci_dev (void) { unsigned char lat; + /* XXX check return value */ + pci_enable_device (pci_dev); + // enable bus master accesses pci_set_master (pci_dev); diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c index d9d5a66c5..6bee2f68d 100644 --- a/drivers/atm/fore200e.c +++ b/drivers/atm/fore200e.c @@ -647,6 +647,9 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index) if (pci_dev == NULL) return NULL; } while (count--); + + if (pci_enable_device(pci_dev)) + return NULL; fore200e = fore200e_kmalloc(sizeof(struct fore200e), GFP_KERNEL); if (fore200e == NULL) @@ -655,7 +658,7 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index) fore200e->bus = bus; fore200e->bus_dev = pci_dev; fore200e->irq = pci_dev->irq; - fore200e->phys_base = (pci_dev->resource[0].start & PCI_BASE_ADDRESS_MEM_MASK); + fore200e->phys_base = pci_resource_start (pci_dev, 0); #if defined(__powerpc__) fore200e->phys_base += KERNELBASE; @@ -663,7 +666,6 @@ fore200e_pca_detect(const struct fore200e_bus* bus, int index) sprintf(fore200e->name, "%s-%d", bus->model_name, index - 1); - pci_enable_device(pci_dev); pci_set_master(pci_dev); return fore200e; diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c index f39845f85..dc39a1ce5 100644 --- a/drivers/atm/horizon.c +++ b/drivers/atm/horizon.c @@ -2759,9 +2759,6 @@ static int __init hrz_probe (void) { PRINTD (DBG_FLOW, "hrz_probe"); - if (!pci_present()) - return 0; - devs = 0; pci_dev = NULL; while ((pci_dev = pci_find_device @@ -2770,8 +2767,8 @@ static int __init hrz_probe (void) { hrz_dev * dev; // adapter slot free, read resources from PCI configuration space - u32 iobase = pci_dev->resource[0].start; - u32 * membase = bus_to_virt (pci_dev->resource[1].start); + u32 iobase = pci_resource_start (pci_dev, 0); + u32 * membase = bus_to_virt (pci_resource_start (pci_dev, 1)); u8 irq = pci_dev->irq; // check IO region @@ -2779,7 +2776,10 @@ static int __init hrz_probe (void) { PRINTD (DBG_WARN, "IO range already in use"); continue; } - + + if (pci_enable_device (pci_dev)) + continue; + dev = kmalloc (sizeof(hrz_dev), GFP_KERNEL); if (!dev) { // perhaps we should be nice: deregister all adapters and abort? diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c index cd1714a53..4882bfe19 100644 --- a/drivers/atm/iphase.c +++ b/drivers/atm/iphase.c @@ -81,7 +81,8 @@ static unsigned char ia_phy_get(struct atm_dev *dev, unsigned long addr); static IADEV *ia_dev[8] = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; static struct atm_dev *_ia_dev[8] = {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL}; static int iadev_count = 0; -static struct timer_list ia_timer; +static void ia_led_timer(unsigned long arg); +static struct timer_list ia_timer = { function: ia_led_timer }; struct atm_vcc *vcc_close_que[100]; static int IA_TX_BUF = DFL_TX_BUFFERS, IA_TX_BUF_SZ = DFL_TX_BUF_SZ; static int IA_RX_BUF = DFL_RX_BUFFERS, IA_RX_BUF_SZ = DFL_RX_BUF_SZ; @@ -2728,11 +2729,7 @@ static int ia_open(struct atm_vcc *vcc, short vpi, int vci) { static u8 first = 1; if (first) { - ia_timer.next = NULL; - ia_timer.prev = NULL; ia_timer.expires = jiffies + 3*HZ; - ia_timer.data = 0UL; - ia_timer.function = ia_led_timer; add_timer(&ia_timer); first = 0; } @@ -3206,6 +3203,7 @@ __initfunc(int ia_detect(void)) IF_INIT(printk("ia detected at bus:%d dev: %d function:%d\n", iadev->pci->bus->number, PCI_SLOT(iadev->pci->devfn), PCI_FUNC(iadev->pci->devfn));) + if (pci_enable_device(iadev->pci)) break; dev = atm_dev_register(DEV_LABEL, &ops, -1, NULL); if (!dev) break; IF_INIT(printk(DEV_LABEL "registered at (itf :%d)\n", @@ -3254,11 +3252,7 @@ int init_module(void) return -ENXIO; } // MOD_INC_USE_COUNT; - ia_timer.next = NULL; - ia_timer.prev = NULL; ia_timer.expires = jiffies + 3*HZ; - ia_timer.data = 0UL; - ia_timer.function = ia_led_timer; add_timer(&ia_timer); return 0; @@ -3319,4 +3313,4 @@ void cleanup_module(void) } #endif - + diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c index 767fd75fb..20d7c0766 100644 --- a/drivers/atm/nicstar.c +++ b/drivers/atm/nicstar.c @@ -452,6 +452,14 @@ static int ns_init_card(int i, struct pci_dev *pcidev) error = 0; + if (pci_enable_device(pcidev)) + { + printk("nicstar%d: can't enable PCI device\n", i); + error = 2; + ns_init_card_error(card, error); + return error; + } + if ((card = kmalloc(sizeof(ns_dev), GFP_KERNEL)) == NULL) { printk("nicstar%d: can't allocate memory for device structure.\n", i); diff --git a/drivers/atm/suni.c b/drivers/atm/suni.c index 0de6e8ead..7af56d481 100644 --- a/drivers/atm/suni.c +++ b/drivers/atm/suni.c @@ -254,8 +254,8 @@ static int suni_start(struct atm_dev *dev) poll_timer.function = suni_hz; poll_timer.data = 1; #if 0 -printk(KERN_DEBUG "[u] p=0x%lx,n=0x%lx\n",(unsigned long) poll_timer.prev, - (unsigned long) poll_timer.next); +printk(KERN_DEBUG "[u] p=0x%lx,n=0x%lx\n",(unsigned long) poll_timer.list.prev, + (unsigned long) poll_timer.list.next); #endif add_timer(&poll_timer); } diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c index 1b68f5529..576f51aad 100644 --- a/drivers/atm/zatm.c +++ b/drivers/atm/zatm.c @@ -1811,6 +1811,7 @@ int __init zatm_detect(void) while ((pci_dev = pci_find_device(PCI_VENDOR_ID_ZEITNET,type ? PCI_DEVICE_ID_ZEITNET_1225 : PCI_DEVICE_ID_ZEITNET_1221, pci_dev))) { + if (pci_enable_device(pci_dev)) break; dev = atm_dev_register(DEV_LABEL,&ops,-1,NULL); if (!dev) break; zatm_dev->pci_dev = pci_dev; |