This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / drivers / i2c / busses / scx200_acb.c
index 1c4159a..62b7614 100644 (file)
@@ -45,7 +45,8 @@ MODULE_LICENSE("GPL");
 
 #define MAX_DEVICES 4
 static int base[MAX_DEVICES] = { 0x820, 0x840 };
-module_param_array(base, int, NULL, 0);
+static int num_base;
+module_param_array(base, int, num_base, 0);
 MODULE_PARM_DESC(base, "Base addresses for the ACCESS.bus controllers");
 
 #ifdef DEBUG
@@ -402,9 +403,9 @@ static struct i2c_algorithm scx200_acb_algorithm = {
        .functionality  = scx200_acb_func,
 };
 
-static struct scx200_acb_iface *scx200_acb_list;
+struct scx200_acb_iface *scx200_acb_list;
 
-static int scx200_acb_probe(struct scx200_acb_iface *iface)
+int scx200_acb_probe(struct scx200_acb_iface *iface)
 {
        u8 val;
 
@@ -502,12 +503,6 @@ static int  __init scx200_acb_create(int base, int index)
        return rc;
 }
 
-static struct pci_device_id scx200[] = {
-       { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SCx200_BRIDGE) },
-       { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SC1100_BRIDGE) },
-       { },
-};
-
 static int __init scx200_acb_init(void)
 {
        int i;
@@ -516,7 +511,12 @@ static int __init scx200_acb_init(void)
        pr_debug(NAME ": NatSemi SCx200 ACCESS.bus Driver\n");
 
        /* Verify that this really is a SCx200 processor */
-       if (pci_dev_present(scx200) == 0)
+       if (pci_find_device(PCI_VENDOR_ID_NS,
+                           PCI_DEVICE_ID_NS_SCx200_BRIDGE,
+                           NULL) == NULL
+           && pci_find_device(PCI_VENDOR_ID_NS,
+                              PCI_DEVICE_ID_NS_SC1100_BRIDGE,
+                              NULL) == NULL)
                return -ENODEV;
 
        rc = -ENXIO;