patch-2.4.0-test5 linux/drivers/pcmcia/pci_socket.c
Next file: linux/drivers/pcmcia/yenta.c
Previous file: linux/drivers/pcmcia/ds.c
Back to the patch index
Back to the overall index
- Lines: 62
- Date:
Wed Jul 26 14:21:16 2000
- Orig file:
v2.4.0-test4/linux/drivers/pcmcia/pci_socket.c
- Orig date:
Mon Jul 10 16:47:24 2000
diff -u --recursive --new-file v2.4.0-test4/linux/drivers/pcmcia/pci_socket.c linux/drivers/pcmcia/pci_socket.c
@@ -181,6 +181,13 @@
return socket->op->open(socket);
}
+void cardbus_register(pci_socket_t *socket)
+{
+ int nr = socket - pci_socket_array;
+
+ socket->pcmcia_socket = pcmcia_register_socket(nr, &pci_socket_operations, 1);
+}
+
static int __devinit
cardbus_probe (struct pci_dev *dev, const struct pci_device_id *id)
{
@@ -189,14 +196,10 @@
for (s = 0; s < MAX_SOCKETS; s++) {
if (pci_socket_array [s].dev == 0) {
add_pci_socket (s, dev, ¥ta_operations);
- pci_socket_array [s].pcmcia_socket =
- pcmcia_register_socket (s,
- &pci_socket_operations,
- 1);
return 0;
}
}
- return -1;
+ return -ENODEV;
}
static void __devexit cardbus_remove (struct pci_dev *dev)
@@ -222,7 +225,7 @@
}
-static struct pci_device_id cardbus_table [] = { {
+static struct pci_device_id cardbus_table [] __devinitdata = { {
class: PCI_CLASS_BRIDGE_CARDBUS << 8,
class_mask: ~0,
@@ -232,6 +235,7 @@
subdevice: PCI_ANY_ID,
}, { /* all zeroes */ }
};
+MODULE_DEVICE_TABLE(pci, cardbus_table);
static struct pci_driver pci_cardbus_driver = {
name: "cardbus",
@@ -242,12 +246,12 @@
resume: cardbus_resume,
};
-static int __devinit pci_socket_init(void)
+static int __init pci_socket_init(void)
{
return pci_module_init (&pci_cardbus_driver);
}
-static void __devexit pci_socket_exit (void)
+static void __exit pci_socket_exit (void)
{
pci_unregister_driver (&pci_cardbus_driver);
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)