linux-stable/drivers/parport
Nicos Gollan 7808edcd30 Basic support for Moschip 9900 family I/O chips
Add I/O based support for serial and parallel ports of the following
chips:

Vendor: Moschip (0x9710)

Parts (device IDs)
* 9900 (0x9900)
* 9904 (0x9904
* 9901 (0x9912, also sold as 9912)
* 9922 (0x9922)

On all chips but the 9900, a single port is provided per PCI subdevice
(subvendor-ID 0xA000, subdevice-IDs 0x1000 for serial, 0x2000 for
parallel with proper class codes). In cascading configurations, the
9900 provides two devices per subdevice, with subvendor-ID 0xA000 and
subdevice-IDs 0x30ps where p is the number of parallel ports and s the
number of serial ports.

Basic testing was only done on the serial part of a 9912 to the point
where it can be used for a serial kernel console, and advanced features
are completely untested. It is possible to reduce functionality of the
chips by adding a configuration EEPROM, and the datasheet [1] is
inconsistent w.r.t subdevices in the 4s+2s1p and 2s1p+4s
configurations. The subdevice-ID 0x3012 should likely read 0x3011 with
a serial port in function 3, which would be consistent with the BAR
layouts. For now, the drivers ignore subdevices with ID 0x1000 and no
class code.

The parallel ports are integrated in parport_serial even for purely
parallel parts to reduce the footprint of the patch.

[1] http://www.moschip.com/data/products/MCS9900/MCS9900_Datasheet.pdf

Signed-off-by: Nicos Gollan <gtdev@spearhead.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-06-07 09:35:21 -07:00
..
BUGS-parport
daisy.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ieee1284.c Fix common misspellings 2011-03-31 11:26:23 -03:00
ieee1284_ops.c
Kconfig Fix common misspellings 2011-03-31 11:26:23 -03:00
Makefile
multiface.h
parport_amiga.c m68k: amiga - Parallel port platform device conversion 2010-05-26 19:51:09 +02:00
parport_atari.c m68k: atari - Rename "mfp" to "st_mfp" 2009-02-22 09:23:02 -08:00
parport_ax88796.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
parport_cs.c pcmcia: Convert pcmcia_device_id declarations to const 2011-05-06 07:46:22 +02:00
parport_gsc.c parport: remove driver_data direct access of struct device 2009-06-15 21:30:28 -07:00
parport_gsc.h
parport_ip32.c parport: Drop __TIME__ usage 2011-05-25 22:42:56 +02:00
parport_mfc3.c m68k: parport_mfc3 - Not makes it a bool before the comparison. 2009-12-06 11:18:28 +01:00
parport_pc.c Merge branch 'tty-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 2011-05-23 12:23:20 -07:00
parport_serial.c Basic support for Moschip 9900 family I/O chips 2011-06-07 09:35:21 -07:00
parport_sunbpp.c dt/sparc: Eliminate users of of_platform_{,un}register_driver 2011-02-28 01:36:39 -07:00
probe.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
procfs.c sysctl: Drop & in front of every proc_handler. 2009-11-18 08:37:40 -08:00
share.c parport: make lockdep happy with waitlist_lock 2011-01-26 10:49:59 +10:00
TODO-parport