static int __devinit xonar_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { static int dev; int err; if (dev >= SNDRV_CARDS) return -ENODEV; if (!enable[dev]) { ++dev; return -ENOENT; } err = oxygen_pci_probe(pci, index[dev], id[dev], THIS_MODULE, xonar_ids, get_xonar_model); if (err >= 0) ++dev; return err; }
static int __devinit generic_oxygen_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { static int dev; int is_meridian; int err; if (dev >= SNDRV_CARDS) return -ENODEV; if (!enable[dev]) { ++dev; return -ENOENT; } is_meridian = pci_id->driver_data; err = oxygen_pci_probe(pci, index[dev], id[dev], is_meridian ? &model_meridian : &model_generic); if (err >= 0) ++dev; return err; }