diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-06-30 00:21:34 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-06-30 00:21:34 +0000 |
commit | 3917ac5846dd0f9ad1238166f90caab9912052e6 (patch) | |
tree | 1c298935def4f29edb39192365a65d73de999155 /include/linux/lp.h | |
parent | af2f803c8b2d469fe38e4a7ce952658dfcb6681a (diff) |
o Merge with Linux 2.1.100.
o Cleanup the machine dependencies of floppy and rtc. The driver for
the Dallas thingy in the Indy is still missing.
o Handle allocation of zero'd pages correct for R4000SC / R4400SC.
o Page colouring shit to match the virtual and physical colour of all
mapped pages. This tends to produce extreme fragmentation problems,
so it's deactivated for now. Users of R4000SC / R4400SC may re-enable
the code in arch/mips/mm/init.c by removing the definition of
CONF_GIVE_A_SHIT_ABOUT_COLOURS. Should get them somewhat further -
but don't shake to hard ...
o Fixed ptrace(2)-ing of syscalls, strace is now working again.
o Fix the interrupt forwarding from the keyboard driver to the psaux
driver, PS/2 mice are now working on the Indy. The fix is somewhat
broken as it prevents generic kernels for Indy and machines which handle
things different.
o Things I can't remember.
Diffstat (limited to 'include/linux/lp.h')
-rw-r--r-- | include/linux/lp.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/include/linux/lp.h b/include/linux/lp.h index ba2e34f07..b50c6b434 100644 --- a/include/linux/lp.h +++ b/include/linux/lp.h @@ -20,11 +20,14 @@ #define LP_EXIST 0x0001 #define LP_SELEC 0x0002 #define LP_BUSY 0x0004 +#define LP_BUSY_BIT_POS 2 #define LP_OFFL 0x0008 #define LP_NOPA 0x0010 #define LP_ERR 0x0020 #define LP_ABORT 0x0040 +#ifdef LP_NEED_CAREFUL #define LP_CAREFUL 0x0080 +#endif #define LP_ABORTOPEN 0x0100 /* timeout for each character. This is relative to bus cycles -- it @@ -67,14 +70,18 @@ or 0 for polling (no IRQ) */ #define LPGETIRQ 0x0606 /* get the current IRQ number */ #define LPWAIT 0x0608 /* corresponds to LP_INIT_WAIT */ +#ifdef LP_NEED_CAREFUL #define LPCAREFUL 0x0609 /* call with TRUE arg to require out-of-paper, off- line, and error indicators good on all writes, FALSE to ignore them. Default is ignore. */ +#endif #define LPABORTOPEN 0x060a /* call with TRUE arg to abort open() on error, FALSE to ignore error. Default is ignore. */ #define LPGETSTATUS 0x060b /* return LP_S(minor) */ #define LPRESET 0x060c /* reset printer */ +#ifdef LP_STATS #define LPGETSTATS 0x060d /* get statistics (struct lp_stats) */ +#endif #define LPGETFLAGS 0x060e /* get status flags */ /* timeout for printk'ing a timeout, in jiffies (100ths of a second). @@ -90,11 +97,14 @@ #define LP_WAIT(minor) lp_table[(minor)].wait /* strobe wait */ #define LP_IRQ(minor) lp_table[(minor)].dev->port->irq /* interrupt # */ /* 0 means polled */ +#ifdef LP_STATS #define LP_STAT(minor) lp_table[(minor)].stats /* statistics area */ +#endif #define LP_BUFFER_SIZE 256 #define LP_BASE(x) lp_table[(x)].dev->port->base +#ifdef LP_STATS struct lp_stats { unsigned long chars; unsigned long sleeps; @@ -103,6 +113,7 @@ struct lp_stats { unsigned int meanwait; unsigned int mdev; }; +#endif struct lp_struct { struct pardevice *dev; @@ -111,10 +122,13 @@ struct lp_struct { unsigned int time; unsigned int wait; char *lp_buffer; +#ifdef LP_STATS unsigned int lastcall; unsigned int runchars; - unsigned int waittime; struct lp_stats stats; +#endif + struct wait_queue *wait_q; + unsigned int last_error; }; /* @@ -160,7 +174,7 @@ struct lp_struct { */ #define LP_DELAY 50 -#define LP_POLLING(minor) (lp_table[(minor)].dev->port->irq == PARPORT_IRQ_NONE) +#define LP_POLLED(minor) (lp_table[(minor)].dev->port->irq == PARPORT_IRQ_NONE) #define LP_PREEMPTED(minor) (lp_table[(minor)].dev->port->waithead != NULL) /* |