Alan Cox wrote:
>
> > I've fixed this here merely by adding an entry to the PCI table of
> > serial.c for PCI_CLASS_COMMUNICATION_OTHER. Is this the best way to fix
> > this? Is there some reason that this shouldn't be done in general? If
> > not, I'd like to see it fix in the kernel proper.
>
> Most class other devices wont be 16x50 compatible.
winmodems are class other
> > It should be noted that the modem is listed in serial.c's pci_boards,
> > perhaps it would be best for the serial driver to list PCI_ID_ANY for a
> > class, and only use pci_boards to further identify serial ports? Or
> > would this be too inefficient to correct for a few misguided hardware
> > makers?
>
> Probably serial.c should look for class serial || (class_other && in table)
no need to consider class other at all, since there are so many
exceptions. Build the serial.c pci table like
board 1
board 2
board 3
class 1
class 2
class 3
Special cases go before the classes. A 16x50 compatible class other is
definitely a special case...
On a side note, an outstanding to-do item for the serial driver is to
move its huge honkin' custom PCI table into the pci_device_id standard
table. The pci_device_id::driver_data member would then become an index
into the smaller custom PCI table.
--
Jeff Garzik | The difference between America and England is that
Building 1024 | the English think 100 miles is a long distance and
MandrakeSoft | the Americans think 100 years is a long time.
| (random fortune)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/