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 ---