Deleted Added
full compact
2c2
< * Copyright (c) 1997 Nicolas Souchu
---
> * Copyright (c) 1997, 1998 Nicolas Souchu
26c26
< * $Id: ppbconf.h,v 1.5 1997/09/01 18:39:37 bde Exp $
---
> * $Id: ppbconf.h,v 1.6 1998/06/07 19:44:21 phk Exp $
40c40,41
< * Parallel Port Chipset modes.
---
> * Parallel Port Chipset mode masks.
> * NIBBLE mode is supposed to be available under each other modes.
42,43c43,45
< #define PPB_AUTODETECT 0x0 /* autodetect */
< #define PPB_NIBBLE 0x1 /* standard 4 bit mode */
---
> #define PPB_COMPATIBLE 0x0 /* Centronics compatible mode */
>
> #define PPB_NIBBLE 0x1 /* reverse 4 bit mode */
45,49c47,48
< #define PPB_EPP 0x3 /* EPP mode, 32 bit */
< #define PPB_ECP_EPP 0x4 /* ECP in EPP mode */
< #define PPB_ECP_PS2 0x5 /* ECP in PS/2 mode */
< #define PPB_ECP 0x6 /* ECP mode */
< #define PPB_UNKNOWN 0x7 /* the last one */
---
> #define PPB_EPP 0x4 /* EPP mode, 32 bit */
> #define PPB_ECP 0x8 /* ECP mode */
51c50
< #define PPB_IS_EPP(mode) (mode == PPB_EPP || mode == PPB_ECP_EPP)
---
> #define PPB_SPP PPB_NIBBLE|PPB_PS2
52a52
> #define PPB_IS_EPP(mode) (mode & PPB_EPP)
54a55,56
> #define n(flags) (~(flags) & (flags))
>
64a67,72
> #define nSTROBE n(STROBE)
> #define nAUTOFEED n(AUTOFEED)
> #define INIT n(nINIT)
> #define nSELECTIN n(SELECTIN)
> #define nPCD n(PCD)
>
90c98
< * How tsleep () is called in ppb_request_bus ().
---
> * How tsleep() is called in ppb_request_bus().
97c105,109
< struct ppb_data; /* see below */
---
> /*
> * Microsequence stuff.
> */
> #define PPB_MS_MAXLEN 64 /* XXX according to MS_INS_MASK */
> #define PPB_MS_MAXARGS 3 /* according to MS_ARG_MASK */
98a111,132
> /* maximum number of mode dependent
> * submicrosequences for in/out operations
> */
> #define PPB_MAX_XFER 6
>
> union ppb_insarg {
> int i;
> char c;
> void *p;
> int (* f)(void *, char *);
> };
>
> struct ppb_microseq {
> int opcode; /* microins. opcode */
> union ppb_insarg arg[PPB_MS_MAXARGS]; /* arguments */
> };
>
> /* microseqences used for GET/PUT operations */
> struct ppb_xfer {
> struct ppb_microseq *loop; /* the loop microsequence */
> };
>
101a136,146
> struct ppb_data; /* see below */
>
> struct ppb_context {
> int valid; /* 1 if the struct is valid */
> int mode; /* XXX chipset operating mode */
>
> struct microseq *curpc; /* pc in curmsq */
> struct microseq *curmsq; /* currently executed microseqence */
> };
>
>
104a150
> char *name; /* name of the device */
105a152,166
> ushort mode; /* current mode of the device */
> ushort avm; /* available modes of the device */
>
> struct ppb_context ctx; /* context of the device */
>
> /* mode dependent get msq. If NULL,
> * IEEE1284 code is used */
> struct ppb_xfer
> get_xfer[PPB_MAX_XFER];
>
> /* mode dependent put msq. If NULL,
> * IEEE1284 code is used */
> struct ppb_xfer
> put_xfer[PPB_MAX_XFER];
>
121a183,186
> int (*exec_microseq)(int, struct ppb_microseq *, int *);
>
> int (*setmode)(int, int);
>
150d214
<
153d216
< int mode; /* NIBBLE, PS2, EPP, ECP */
167c230
< #define PPB_PnP_STRING_SIZE 160 /* XXX */
---
> #define PPB_PnP_STRING_SIZE 128 /* XXX */
186a250,254
> ushort mode; /* IEEE 1284-1994 mode
> * NIBBLE, PS2, EPP or ECP */
> ushort avm; /* IEEE 1284-1994 available
> * modes */
>
207a276
> extern struct ppb_data *ppb_lookup_link(int);
223,225d291
< extern int ppb_get_mode(struct ppb_device *);
< extern int ppb_get_epp_protocol(struct ppb_device *);
< extern int ppb_get_irq(struct ppb_device *);
226a293,294
> extern int ppb_set_mode(struct ppb_device *, int);
>
230,231c298,305
< #define ppb_outsb_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->outsb_epp) \
---
> #define ppb_get_base_addr(dev) ((dev)->ppb->ppb_link->base)
> #define ppb_get_epp_protocol(dev) ((dev)->ppb->ppb_link->epp_protocol)
> #define ppb_get_irq(dev) ((dev)->ppb->ppb_link->id_irq)
>
> #define ppb_get_mode(dev) ((dev)->mode)
>
> #define ppb_outsb_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->outsb_epp) \
233,234c307,308
< #define ppb_outsw_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->outsw_epp) \
---
> #define ppb_outsw_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->outsw_epp) \
236,237c310,311
< #define ppb_outsl_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->outsl_epp) \
---
> #define ppb_outsl_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->outsl_epp) \
239,240c313,314
< #define ppb_insb_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->insb_epp) \
---
> #define ppb_insb_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->insb_epp) \
242,243c316,317
< #define ppb_insw_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->insw_epp) \
---
> #define ppb_insw_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->insw_epp) \
245,246c319,320
< #define ppb_insl_epp(dev,buf,cnt) \
< (*(dev)->ppb->ppb_link->adapter->insl_epp) \
---
> #define ppb_insl_epp(dev,buf,cnt) \
> (*(dev)->ppb->ppb_link->adapter->insl_epp) \
249c323
< #define ppb_rdtr(dev) (*(dev)->ppb->ppb_link->adapter->r_dtr) \
---
> #define ppb_repp(dev) (*(dev)->ppb->ppb_link->adapter->r_epp) \
251c325
< #define ppb_rstr(dev) (*(dev)->ppb->ppb_link->adapter->r_str) \
---
> #define ppb_recr(dev) (*(dev)->ppb->ppb_link->adapter->r_ecr) \
253c327
< #define ppb_rctr(dev) (*(dev)->ppb->ppb_link->adapter->r_ctr) \
---
> #define ppb_rfifo(dev) (*(dev)->ppb->ppb_link->adapter->r_fifo) \
255c329,336
< #define ppb_repp(dev) (*(dev)->ppb->ppb_link->adapter->r_epp) \
---
> #define ppb_wepp(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_epp) \
> ((dev)->ppb->ppb_link->adapter_unit, byte)
> #define ppb_wecr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_ecr) \
> ((dev)->ppb->ppb_link->adapter_unit, byte)
> #define ppb_wfifo(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_fifo) \
> ((dev)->ppb->ppb_link->adapter_unit, byte)
>
> #define ppb_rdtr(dev) (*(dev)->ppb->ppb_link->adapter->r_dtr) \
257c338
< #define ppb_recr(dev) (*(dev)->ppb->ppb_link->adapter->r_ecr) \
---
> #define ppb_rstr(dev) (*(dev)->ppb->ppb_link->adapter->r_str) \
259c340
< #define ppb_rfifo(dev) (*(dev)->ppb->ppb_link->adapter->r_fifo) \
---
> #define ppb_rctr(dev) (*(dev)->ppb->ppb_link->adapter->r_ctr) \
261,262c342
<
< #define ppb_wdtr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_dtr) \
---
> #define ppb_wdtr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_dtr) \
264c344
< #define ppb_wstr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_str) \
---
> #define ppb_wstr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_str) \
266c346
< #define ppb_wctr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_ctr) \
---
> #define ppb_wctr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_ctr) \
268,273d347
< #define ppb_wepp(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_epp) \
< ((dev)->ppb->ppb_link->adapter_unit, byte)
< #define ppb_wecr(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_ecr) \
< ((dev)->ppb->ppb_link->adapter_unit, byte)
< #define ppb_wfifo(dev,byte) (*(dev)->ppb->ppb_link->adapter->w_fifo) \
< ((dev)->ppb->ppb_link->adapter_unit, byte)