Hi

See attachment for a patch that makes my PCCOM8 "work for me" (TM).

Card is manufactured by decision.com.tw AFAIK. I have no connection
with them other than that I have a few of their serial cards. 

Patch is against the 5.01 serial driver. I'm not suggesting it be
included yet, just looking for comments and/or testers with the 
right card.

TODO:
        0x0002 should be replaced by PCI_DEVICE_ID_DCI_PCCOM8 with
        #define PCI_DEVICE_ID_DCI_PCCOM8  0x0002
        in pci.h (pci_ids.h?) or something but then people without updated
        pci.h are in trouble - perhaps use a #ifdef PCI_DEVICE_ID_DCI_PCCOM8
        so driver will still compile on older kernel/pci.h versions? Yukky
        either way.

        5.01 wouldn't compile in 2.2.16. Had to change the rs_init thing as
        in patch ... Ted?

        Apparently you can jumper the card to do 400K instead of 115K in
        which case the max baud speed will need to be tuned.

PS. Decision have their own patches on their website against
significantly older versions of serial.c which don't have the nifty
generic pci functions. Those patches do support cards other than the
PCCOM8. I've ported those patches to 2.2.16's serial.c if anyone wants
a copy. Available under the no warranty, no support, "works for me but
may eat your hard drive or do other nasty things" licence of course ...

--Craig
--- /usr/src/linux/drivers/char/serial.c        2000/08/09 17:43:57     1.1
+++ /usr/src/linux/drivers/char/serial.c        2000/08/09 19:17:43
@@ -4559,6 +4559,10 @@
                SPCI_FL_BASE0, 1, 520833,
                64, 3, NULL, 0x300 },
 #endif
+       {       PCI_VENDOR_ID_DCI, 0x0002,
+               PCI_ANY_ID, PCI_ANY_ID,
+               SPCI_FL_BASE3, 8, 115200,
+               8 },
        /* Generic serial board */
        {       0, 0,
                0, 0,
@@ -5081,7 +5085,7 @@
 /*
  * The serial driver boot-time initialization code!
  */
-static int __init rs_init(void)
+__initfunc(int rs_init(void))
 {
        int i;
        struct serial_state * state;

Reply via email to