move SIIG combo cards support to parport_serial.c
PATCH 1/1 move SIIG combo cards support to parport_serial.c
Hi all,
These patches move SIIG serial & parallel combo cards support from serial and parport drivers to parport_serial.c (where IMHO it must be).
Untested, but compiles and should work :))
These patches were sended to LKML some months ago, but seems like they was lost somewhere and I can't remember any answer.
Best regards.
Signature · 2 lines
Andrey Panin | Embedded systems software engineer [email protected] | PGP key: http://www.orbita1.ru/~pazke/AndreyPanin.asc
linux/drivers/parport/parport_pc.c renamed from linux.vanilla/drivers/parport/parport_pc.c +1 -61
@@ -2628,25 +2628,10 @@enum parport_pc_pci_cards { - siig_1s1p_10x_550 = last_sio, - siig_1s1p_10x_650, - siig_1s1p_10x_850, - siig_1p_10x, + siig_1p_10x = last_sio, siig_2p_10x, - siig_2s1p_10x_550, - siig_2s1p_10x_650, - siig_2s1p_10x_850, siig_1p_20x, siig_2p_20x, - siig_2p1s_20x_550, - siig_2p1s_20x_650, - siig_2p1s_20x_850, - siig_1s1p_20x_550, - siig_1s1p_20x_650, - siig_1s1p_20x_850, - siig_2s1p_20x_550, - siig_2s1p_20x_650, - siig_2s1p_20x_850, lava_parallel, lava_parallel_dual_a, lava_parallel_dual_b,
@@ -2698,25 +2683,10 @@BAR is 6) */ } addr[4 ]; } cards[] __devinitdata = { - /* siig_1s1p_10x_550 */ { 1, { { 3, 4 }, } }, - /* siig_1s1p_10x_650 */ { 1, { { 3, 4 }, } }, - /* siig_1s1p_10x_850 */ { 1, { { 3, 4 }, } }, /* siig_1p_10x */ { 1, { { 2, 3 }, } }, /* siig_2p_10x */ { 2, { { 2, 3 }, { 4, 5 }, } }, - /* siig_2s1p_10x_550 */ { 1, { { 4, 5 }, } }, - /* siig_2s1p_10x_650 */ { 1, { { 4, 5 }, } }, - /* siig_2s1p_10x_850 */ { 1, { { 4, 5 }, } }, /* siig_1p_20x */ { 1, { { 0, 1 }, } }, /* siig_2p_20x */ { 2, { { 0, 1 }, { 2, 3 }, } }, - /* siig_2p1s_20x_550 */ { 2, { { 1, 2 }, { 3, 4 }, } }, - /* siig_2p1s_20x_650 */ { 2, { { 1, 2 }, { 3, 4 }, } }, - /* siig_2p1s_20x_850 */ { 2, { { 1, 2 }, { 3, 4 }, } }, - /* siig_1s1p_20x_550 */ { 1, { { 1, 2 }, } }, - /* siig_1s1p_20x_650 */ { 1, { { 1, 2 }, } }, - /* siig_1s1p_20x_850 */ { 1, { { 1, 2 }, } }, - /* siig_2s1p_20x_550 */ { 1, { { 2, 3 }, } }, - /* siig_2s1p_20x_650 */ { 1, { { 2, 3 }, } }, - /* siig_2s1p_20x_850 */ { 1, { { 2, 3 }, } }, /* lava_parallel */ { 1, { { 0, -1 }, } }, /* lava_parallel_dual_a */ { 1, { { 0, -1 }, } }, /* lava_parallel_dual_b */ { 1, { { 0, -1 }, } },
@@ -2767,44 +2737,14 @@ PCI_ANY_ID, PCI_ANY_ID, 0, 0, sio_ite_8872 },/* PCI cards */ - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_10x_550, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1s1p_10x_550 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_10x_650, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1s1p_10x_650 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_10x_850, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1s1p_10x_850 }, { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1P_10x, PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1p_10x }, { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2P_10x, PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2p_10x }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_10x_550, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_10x_550 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_10x_650, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_10x_650 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_10x_850, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_10x_850 }, { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1P_20x, PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1p_20x }, { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2P_20x, PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2p_20x }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2P1S_20x_550, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2p1s_20x_550 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2P1S_20x_650, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2p1s_20x_650 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2P1S_20x_850, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2p1s_20x_850 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_20x_550, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_20x_550 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_20x_650, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1s1p_20x_650 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_1S1P_20x_850, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_1s1p_20x_850 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_20x_550, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_20x_550 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_20x_650, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_20x_650 }, - { PCI_VENDOR_ID_SIIG, PCI_DEVICE_ID_SIIG_2S1P_20x_850, - PCI_ANY_ID, PCI_ANY_ID, 0, 0, siig_2s1p_20x_850 }, { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_PARALLEL, PCI_ANY_ID, PCI_ANY_ID, 0, 0, lava_parallel }, { PCI_VENDOR_ID_LAVA, PCI_DEVICE_ID_LAVA_DUAL_PAR_A,
linux/drivers/parport/parport_serial.c renamed from linux.vanilla/drivers/parport/parport_serial.c +56 -0
86 lines not on this page · raw message
linux/drivers/char/serial.c renamed from linux.vanilla/drivers/char/serial.c +6 -47
104 lines not on this page · raw message
linux/include/linux/serialP.h renamed from linux.vanilla/include/linux/serialP.h +3 -0
@@ -157,6 +157,9 @@struct pci_dev *dev; }; +extern int pci_siig10x_fn (struct pci_dev *dev,struct pci_board *board,int enable); +extern int pci_siig20x_fn (struct pci_dev *dev,struct pci_board *board,int enable); +#ifndef PCI_ANY_ID #define PCI_ANY_ID (~0)#endif
Quoted 4 lines · Andrey Panin
Untested, but compiles and should work :))
These patches were sended to LKML some months ago, but seems like they was lost somewhere and I can't remember any answer.
I'm waiting for someone to tell me that it still works. :-)
Tim.
*/
Quoted 8 lines · Tim Waugh
Quoted 4 lines · Andrey Panin
Untested, but compiles and should work :))
These patches were sended to LKML some months ago, but seems like they was lost somewhere and I can't remember any answer.
I'm waiting for someone to tell me that it still works. :-)
I'm still waiting for people to test out the new serial layer and report all the bugs that are bound to be in there. 8)
One you're happy with the changes, I'll put them into my serial cvs.
--
Russell King ([email protected]) The developer of ARM Linux
http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 8 lines · Russell King
Quoted 7 lines · Tim Waugh
Quoted 4 lines · Andrey Panin
Untested, but compiles and should work :))
These patches were sended to LKML some months ago, but seems like they was lost somewhere and I can't remember any answer.
Quoted 6 lines
Quoted 1 line
I'm waiting for someone to tell me that it still works. :-)
I'm still waiting for people to test out the new serial layer and report all the bugs that are bound to be in there. 8)
One you're happy with the changes, I'll put them into my serial cvs.
Can I download it not using cvs, to test it with my PCI serial card and ISAPNP modem on SMP motherboard ?
Signature · 2 lines
Andrey Panin | Embedded systems software engineer [email protected] | PGP key: http://www.orbita1.ru/~pazke/AndreyPanin.asc
Report - fixes needed
I've done some grep'ing for some possible fixes required in 2.5.1 (final). The problems are:
- changing of member cmd in 'struct request' to a char array from int
- changing of blk_init_queue() to take 3 args not 2
- use of the removed member b_reqnext in 'struct buffer_head'
Note there are probably some files I have missed due to not thinking generally enough and there will be false matches also. As you can probably tell from the below I'm definitely not a grep wizard so if someone can think of a way to search for code like
printk(" ... %d ... ", ..., rq->cmd, ...);that will turn up more things in need of fixing.
Sorry if this info has already been found - I couldn't find an overall report like this in the archives.
1)
Look for possible invalid use of altered member cmd from struct request
- search for this kind of thing
switch (rq->cmd)
{
case READ:
...grep "switch[[:space:]]*([a-zA-Z0-9_]*->cmd[[:space:]]*)" grep "switch[[:space:]]*([a-zA-Z0-9_]*\.cmd[[:space:]]*)"
then filter on
grep "struct[[:space:]]*request[[:space:]]"
drivers/block/cpqarray.cdrivers/ide/ide-floppy.cdrivers/ide/ide-tape.cdrivers/s390/block/xpram.cdrivers/mtd/mtdblock.cdrivers/mtd/mtdblock_ro.c
----------
2)
Look for possible invalid use of altered member cmd from struct request
- search for this kind of thing
if (rq->cmd == READ) {
...and
rq->cmd = READ;
grep -- "->cmd[[:space:]]*="
then filter on
grep "struct[[:space:]]*request[[:space:]]"
include/linux/ide.h : Documentation changedrivers/block/nbd.cdrivers/sbus/char/jsflash.cdrivers/ide/icside.cdrivers/ide/ide-cd.cdrivers/ide/ide-floppy.cdrivers/ide/ide-tape.cdrivers/ide/pdc4030.cdrivers/acorn/block/mfmhd.cdrivers/s390/block/dasd.cdrivers/s390/block/dasd_diag.cdrivers/s390/block/dasd_eckd.cdrivers/s390/block/dasd_fba.cdrivers/mtd/nftlcore.cdrivers/message/i2o/i2o_block.c
--------------
3)
Search for use of blk_init_queue() with only two args.
grep -l blk_init_queue[[:space:]]*([^,]*,[^,)]*)
drivers/s390/char/tapedefs.h : OK - compatibility with older kernels. arch/m68k/atari/stram.cdrivers/block/DAC960.cdrivers/cdrom/aztcd.cdrivers/cdrom/cm206.cdrivers/cdrom/gscd.cdrivers/cdrom/mcd.cdrivers/cdrom/mcdx.cdrivers/cdrom/optcd.cdrivers/cdrom/sbpcd.cdrivers/cdrom/sjcd.cdrivers/cdrom/sonycd535.cdrivers/sbus/char/jsflash.cdrivers/acorn/block/fd1772.cdrivers/acorn/block/mfmhd.cdrivers/s390/block/dasd.cdrivers/s390/block/xpram.cdrivers/s390/char/tapeblock.cdrivers/mtd/ftl.cdrivers/mtd/mtdblock.cdrivers/mtd/mtdblock_ro.cdrivers/mtd/nftlcore.cdrivers/message/i2o/i2o_block.c
-------
4)
Search for use of removed member b_reqnext in struct buffer_head.
fgrep "b_reqnext"
include/linux/raid/raid5.h : documentation changearch/cris/drivers/ide.cdrivers/block/acsi.cdrivers/scsi/scsi_debug.cdrivers/ide/icside.cdrivers/ide/ide-pmac.cdrivers/ide/ide-tape.cdrivers/s390/block/dasd_diag.cdrivers/s390/block/dasd_eckd.cdrivers/s390/block/dasd_fba.cdrivers/s390/char/tape34xx.cdrivers/s390/char/tapeblock.cdrivers/md/raid5.c