lba_pci.c (944d79559d154c12becde0dab327016cf438f46c) | lba_pci.c (cb6fc18e9ca615f03d18e60c49855b434ca2e51e) |
---|---|
1/* 2** 3** PCI Lower Bus Adapter (LBA) manager 4** 5** (c) Copyright 1999,2000 Grant Grundler 6** (c) Copyright 1999,2000 Hewlett-Packard Company 7** 8** This program is free software; you can redistribute it and/or modify --- 1551 unchanged lines hidden (view full) --- 1560#endif 1561 { 1562 cfg_ops = &elroy_cfg_ops; 1563 } 1564 1565 } else if (IS_MERCURY(dev) || IS_QUICKSILVER(dev)) { 1566 func_class &= 0xff; 1567 version = kmalloc(6, GFP_KERNEL); | 1/* 2** 3** PCI Lower Bus Adapter (LBA) manager 4** 5** (c) Copyright 1999,2000 Grant Grundler 6** (c) Copyright 1999,2000 Hewlett-Packard Company 7** 8** This program is free software; you can redistribute it and/or modify --- 1551 unchanged lines hidden (view full) --- 1560#endif 1561 { 1562 cfg_ops = &elroy_cfg_ops; 1563 } 1564 1565 } else if (IS_MERCURY(dev) || IS_QUICKSILVER(dev)) { 1566 func_class &= 0xff; 1567 version = kmalloc(6, GFP_KERNEL); |
1568 sprintf(version,"TR%d.%d",(func_class >> 4),(func_class & 0xf)); | 1568 snprintf(version, 6, "TR%d.%d",(func_class >> 4),(func_class & 0xf)); |
1569 /* We could use one printk for both Elroy and Mercury, 1570 * but for the mask for func_class. 1571 */ 1572 printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", 1573 MODULE_NAME, version, func_class & 0xff, dev->hpa.start); 1574 cfg_ops = &mercury_cfg_ops; 1575 } else { 1576 printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa.start); --- 4 unchanged lines hidden (view full) --- 1581 ** Tell I/O SAPIC driver we have a IRQ handler/region. 1582 */ 1583 tmp_obj = iosapic_register(dev->hpa.start + LBA_IOSAPIC_BASE); 1584 1585 /* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't 1586 ** have an IRT entry will get NULL back from iosapic code. 1587 */ 1588 | 1569 /* We could use one printk for both Elroy and Mercury, 1570 * but for the mask for func_class. 1571 */ 1572 printk(KERN_INFO "%s version %s (0x%x) found at 0x%lx\n", 1573 MODULE_NAME, version, func_class & 0xff, dev->hpa.start); 1574 cfg_ops = &mercury_cfg_ops; 1575 } else { 1576 printk(KERN_ERR "Unknown LBA found at 0x%lx\n", dev->hpa.start); --- 4 unchanged lines hidden (view full) --- 1581 ** Tell I/O SAPIC driver we have a IRQ handler/region. 1582 */ 1583 tmp_obj = iosapic_register(dev->hpa.start + LBA_IOSAPIC_BASE); 1584 1585 /* NOTE: PCI devices (e.g. 103c:1005 graphics card) which don't 1586 ** have an IRT entry will get NULL back from iosapic code. 1587 */ 1588 |
1589 lba_dev = kmalloc(sizeof(struct lba_device), GFP_KERNEL); | 1589 lba_dev = kzalloc(sizeof(struct lba_device), GFP_KERNEL); |
1590 if (!lba_dev) { 1591 printk(KERN_ERR "lba_init_chip - couldn't alloc lba_device\n"); 1592 return(1); 1593 } 1594 | 1590 if (!lba_dev) { 1591 printk(KERN_ERR "lba_init_chip - couldn't alloc lba_device\n"); 1592 return(1); 1593 } 1594 |
1595 memset(lba_dev, 0, sizeof(struct lba_device)); | |
1596 | 1595 |
1597 | |
1598 /* ---------- First : initialize data we already have --------- */ 1599 1600 lba_dev->hw_rev = func_class; 1601 lba_dev->hba.base_addr = addr; 1602 lba_dev->hba.dev = dev; 1603 lba_dev->iosapic_obj = tmp_obj; /* save interrupt handle */ 1604 lba_dev->hba.iommu = sba_get_iommu(dev); /* get iommu data */ 1605 --- 113 unchanged lines hidden --- | 1596 /* ---------- First : initialize data we already have --------- */ 1597 1598 lba_dev->hw_rev = func_class; 1599 lba_dev->hba.base_addr = addr; 1600 lba_dev->hba.dev = dev; 1601 lba_dev->iosapic_obj = tmp_obj; /* save interrupt handle */ 1602 lba_dev->hba.iommu = sba_get_iommu(dev); /* get iommu data */ 1603 --- 113 unchanged lines hidden --- |