[PATCH] parport: add parallel port support for SGI O2
Add support for the built-in parallel port on SGI O2 (a.k.a. IP32). Define a new configuration option: PARPORT_IP32. The module is named parport_ip32. Hardware support for SPP, EPP and ECP modes along with DMA support when available are currently implemented. Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
bd3bfeb58a
commit
8e75f74428
@ -90,6 +90,15 @@ config PARPORT_ARC
|
|||||||
depends on ARM && PARPORT
|
depends on ARM && PARPORT
|
||||||
select PARPORT_NOT_PC
|
select PARPORT_NOT_PC
|
||||||
|
|
||||||
|
config PARPORT_IP32
|
||||||
|
tristate "SGI IP32 builtin port (EXPERIMENTAL)"
|
||||||
|
depends on SGI_IP32 && PARPORT && EXPERIMENTAL
|
||||||
|
select PARPORT_NOT_PC
|
||||||
|
help
|
||||||
|
Say Y here if you need support for the parallel port on
|
||||||
|
SGI O2 machines. This code is also available as a module (say M),
|
||||||
|
called parport_ip32. If in doubt, saying N is the safe plan.
|
||||||
|
|
||||||
config PARPORT_AMIGA
|
config PARPORT_AMIGA
|
||||||
tristate "Amiga builtin port"
|
tristate "Amiga builtin port"
|
||||||
depends on AMIGA && PARPORT
|
depends on AMIGA && PARPORT
|
||||||
|
@ -17,3 +17,4 @@ obj-$(CONFIG_PARPORT_MFC3) += parport_mfc3.o
|
|||||||
obj-$(CONFIG_PARPORT_ATARI) += parport_atari.o
|
obj-$(CONFIG_PARPORT_ATARI) += parport_atari.o
|
||||||
obj-$(CONFIG_PARPORT_SUNBPP) += parport_sunbpp.o
|
obj-$(CONFIG_PARPORT_SUNBPP) += parport_sunbpp.o
|
||||||
obj-$(CONFIG_PARPORT_GSC) += parport_gsc.o
|
obj-$(CONFIG_PARPORT_GSC) += parport_gsc.o
|
||||||
|
obj-$(CONFIG_PARPORT_IP32) += parport_ip32.o
|
||||||
|
2253
drivers/parport/parport_ip32.c
Normal file
2253
drivers/parport/parport_ip32.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -128,6 +128,11 @@ struct amiga_parport_state {
|
|||||||
unsigned char statusdir;/* ciab.ddrb & 7 */
|
unsigned char statusdir;/* ciab.ddrb & 7 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ip32_parport_state {
|
||||||
|
unsigned int dcr;
|
||||||
|
unsigned int ecr;
|
||||||
|
};
|
||||||
|
|
||||||
struct parport_state {
|
struct parport_state {
|
||||||
union {
|
union {
|
||||||
struct pc_parport_state pc;
|
struct pc_parport_state pc;
|
||||||
@ -135,6 +140,7 @@ struct parport_state {
|
|||||||
struct ax_parport_state ax;
|
struct ax_parport_state ax;
|
||||||
struct amiga_parport_state amiga;
|
struct amiga_parport_state amiga;
|
||||||
/* Atari has not state. */
|
/* Atari has not state. */
|
||||||
|
struct ip32_parport_state ip32;
|
||||||
void *misc;
|
void *misc;
|
||||||
} u;
|
} u;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user