On closer inspection, that patch I linked to appears to be incomplete.
Can you try the attached patch, to see if it fixes the
absence-of-serial_cb problem?
Thanks,
Jeff
P.S. I'm surprised serial_cb in 2.4 worked at all, for anybody. I guess
they must be using pcmcia_cs's serial_cb, not the kernel's serial_cb...
--
Jeff Garzik | May you have warm words on a cold evening,
Building 1024 | a full mooon on a dark night,
MandrakeSoft | and a smooth road all the way to your door.
Index: drivers/char/serial.c
===================================================================
RCS file: /cvsroot/gkernel/linux_2_4/drivers/char/serial.c,v
retrieving revision 1.1.1.33
diff -u -r1.1.1.33 serial.c
--- drivers/char/serial.c 2001/03/20 12:59:44 1.1.1.33
+++ drivers/char/serial.c 2001/03/20 15:35:47
@@ -59,8 +59,8 @@
*
*/
-static char *serial_version = "5.05";
-static char *serial_revdate = "2000-12-13";
+static char *serial_version = "5.05a";
+static char *serial_revdate = "2001-03-20";
/*
* Serial driver configuration section. Here are the various options:
@@ -4610,7 +4610,8 @@
* (Should we try to make guesses for multiport serial devices
* later?)
*/
- if ((dev->class >> 8) != PCI_CLASS_COMMUNICATION_SERIAL ||
+ if ((((dev->class >> 8) != PCI_CLASS_COMMUNICATION_SERIAL) &&
+ ((dev->class >> 8) != PCI_CLASS_COMMUNICATION_MODEM)) ||
(dev->class & 0xff) > 6)
return 1;
@@ -4708,6 +4709,8 @@
static struct pci_device_id serial_pci_tbl[] __devinitdata = {
{ PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_COMMUNICATION_SERIAL << 8, 0xffff00, },
+ { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
+ PCI_CLASS_COMMUNICATION_MODEM << 8, 0xffff00, },
{ 0, }
};