Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 23 Apr 2010 12:33:06 -0400 | Subject | parport_pc.c and parport_serial.c need improvements | From | Joseph Krahn <> |
| |
In 2005, Russel King cleaned up parport_serial.c to remove redundancy with 8250_pci.c (http://lwn.net/Articles/141484/). In working on fixing the ITE-887x driver, I realized that there is still a lot of redundancy with parport_pc.c. Furthermore, parport_pc seems to have some deficiencies. It does not call pci_disable_device() when unloading the driver (as pci.txt says it should) and seems to be missing power suspend/resume code.
Also, the Super IO code looks rather messy. To work with parport_serial, struct pci_parport_data could include a device_private pointer to attach the serial-port data. The SuperIO code could use this to attach struct superio_struct. Maybe the SuperIO code should be in a separate module (i.e. parport_superio) that depends on parport_pc, similar to parport_serial. In any case, it would be nice to see more comments on why the SuperIO code is designed as it is.
OTOH, maybe parport hardware is simple enough that it is not worth messing with the code as long as it seems to work OK.
Thanks, Joe Krahn
| ![\](/images/icornerr.gif) |