aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vme
diff options
context:
space:
mode:
authorMartyn Welch <martyn.welch@ge.com>2010-02-18 10:13:45 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2010-03-03 19:43:01 -0500
commit25331ba2f8e36abe77211765fa879106cdbc43e6 (patch)
tree2df9ffd1752929ceeceb6cb426785afb103fe659 /drivers/staging/vme
parent04e10e15f9509d08c5e2194ea2ae680c013d5b63 (diff)
Staging: vme: ca91cx42 slot detection
Sort out slot detection on the ca91cx42. Signed-off-by: Martyn Welch <martyn.welch@ge.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/vme')
-rw-r--r--drivers/staging/vme/bridges/vme_ca91cx42.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/staging/vme/bridges/vme_ca91cx42.c b/drivers/staging/vme/bridges/vme_ca91cx42.c
index 1edfa442d53..ecd91798667 100644
--- a/drivers/staging/vme/bridges/vme_ca91cx42.c
+++ b/drivers/staging/vme/bridges/vme_ca91cx42.c
@@ -1452,14 +1452,12 @@ static int ca91cx42_crcsr_init(struct vme_bridge *ca91cx42_bridge,
1452 1452
1453 bridge = ca91cx42_bridge->driver_priv; 1453 bridge = ca91cx42_bridge->driver_priv;
1454 1454
1455/* XXX We may need to set this somehow as the Universe II does not support
1456 * geographical addressing.
1457 */
1458#if 0
1459 if (vme_slotnum != -1)
1460 iowrite32(vme_slotnum << 27, bridge->base + VCSR_BS);
1461#endif
1462 slot = ca91cx42_slot_get(ca91cx42_bridge); 1455 slot = ca91cx42_slot_get(ca91cx42_bridge);
1456
1457 /* Write CSR Base Address if slot ID is supplied as a module param */
1458 if (geoid)
1459 iowrite32(geoid << 27, bridge->base + VCSR_BS);
1460
1463 dev_info(&pdev->dev, "CR/CSR Offset: %d\n", slot); 1461 dev_info(&pdev->dev, "CR/CSR Offset: %d\n", slot);
1464 if (slot == 0) { 1462 if (slot == 0) {
1465 dev_err(&pdev->dev, "Slot number is unset, not configuring " 1463 dev_err(&pdev->dev, "Slot number is unset, not configuring "
@@ -1714,10 +1712,6 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1714 1712
1715 if (ca91cx42_crcsr_init(ca91cx42_bridge, pdev)) { 1713 if (ca91cx42_crcsr_init(ca91cx42_bridge, pdev)) {
1716 dev_err(&pdev->dev, "CR/CSR configuration failed.\n"); 1714 dev_err(&pdev->dev, "CR/CSR configuration failed.\n");
1717 retval = -EINVAL;
1718#if 0
1719 goto err_crcsr;
1720#endif
1721 } 1715 }
1722 1716
1723 /* Need to save ca91cx42_bridge pointer locally in link list for use in 1717 /* Need to save ca91cx42_bridge pointer locally in link list for use in
@@ -1736,9 +1730,6 @@ static int ca91cx42_probe(struct pci_dev *pdev, const struct pci_device_id *id)
1736 vme_unregister_bridge(ca91cx42_bridge); 1730 vme_unregister_bridge(ca91cx42_bridge);
1737err_reg: 1731err_reg:
1738 ca91cx42_crcsr_exit(ca91cx42_bridge, pdev); 1732 ca91cx42_crcsr_exit(ca91cx42_bridge, pdev);
1739#if 0
1740err_crcsr:
1741#endif
1742err_lm: 1733err_lm:
1743 /* resources are stored in link list */ 1734 /* resources are stored in link list */
1744 list_for_each(pos, &(ca91cx42_bridge->lm_resources)) { 1735 list_for_each(pos, &(ca91cx42_bridge->lm_resources)) {