diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 23:48:34 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-05-12 23:48:34 +0000 |
commit | 7fd36ebeeec9244a7431bb010e6e3c5e4848a0d5 (patch) | |
tree | 5fb03a9aafdd1cec5f4f6ff7f1873174cb89b66c /include/asm-s390/chandev.h | |
parent | ba2dacab305c598cd4c34a604f8e276bf5bab5ff (diff) |
Merge with Linux 2.3.99-pre8. Linus must hate me, too man patches ;-)
Diffstat (limited to 'include/asm-s390/chandev.h')
-rw-r--r-- | include/asm-s390/chandev.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/include/asm-s390/chandev.h b/include/asm-s390/chandev.h new file mode 100644 index 000000000..c9e7d2d54 --- /dev/null +++ b/include/asm-s390/chandev.h @@ -0,0 +1,87 @@ +/* + * include/asm-s390/chandev.h + * + * S390 version + * Copyright (C) 2000 IBM Deutschland Entwicklung GmbH, IBM Corporation + * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) + * + */ + +#include <asm/types.h> + +typedef enum +{ + none=0, + ctc=1, + escon=2, + lcs=4, + osad=8, + claw=16, +} chandev_type; + +typedef struct chandev_model_info chandev_model_info; + +struct chandev_model_info +{ + struct chandev_model_info *next; + chandev_type chan_type; + u16 cu_type; + u8 cu_model; + u8 max_port_no; +}; + +typedef struct chandev chandev; +struct chandev +{ + struct chandev *next; + chandev_model_info *model_info; + u16 devno; + int irq; +}; + +typedef struct chandev_noauto_range chandev_noauto_range; +struct chandev_noauto_range +{ + struct chandev_noauto_range *next; + u16 lo_devno; + u16 hi_devno; +}; + +typedef struct chandev_force chandev_force; +struct chandev_force +{ + struct chandev_force *next; + chandev_type chan_type; + s32 devif_num; /* -1 don't care e.g. tr0 implies 0 */ + u16 read_devno; + u16 write_devno; + s16 port_no; /* where available e.g. lcs,-1 don't care */ + u8 do_ip_checksumming; + u8 use_hw_stats; /* where available e.g. lcs */ +}; + + + +typedef struct +{ + s32 devif_num; /* -1 don't care e.g. tr0 implies 0 */ + int read_irq; + int write_irq; + s16 forced_port_no; /* -1 don't care */ + u8 hint_port_no; + u8 max_port_no; + u8 do_ip_checksumming; + u8 use_hw_stats; /* where available e.g. lcs */ +} chandev_probeinfo; + + +typedef int (*chandev_probefunc)(chandev_probeinfo *probeinfo); + + +typedef struct chandev_probelist chandev_probelist; +struct chandev_probelist +{ + struct chandev_probelist *next; + chandev_probefunc probefunc; + chandev_type chan_type; +}; |