parport_pc.c and parport_serial.c need improvements

From: Joseph Krahn
Date: Fri Apr 23 2010 - 12:33:17 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/