patch-2.1.82 linux/include/linux/parport_pc.h
Next file: linux/include/linux/pci.h
Previous file: linux/include/linux/parport.h
Back to the patch index
Back to the overall index
- Lines: 118
- Date:
Fri Jan 23 20:04:03 1998
- Orig file:
v2.1.81/linux/include/linux/parport_pc.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -u --recursive --new-file v2.1.81/linux/include/linux/parport_pc.h linux/include/linux/parport_pc.h
@@ -0,0 +1,117 @@
+#ifndef __LINUX_PARPORT_PC_H
+#define __LINUX_PARPORT_PC_H
+
+#include <asm/io.h>
+
+/* --- register definitions ------------------------------- */
+
+#define ECONTROL 0x402
+#define CONFIGB 0x401
+#define CONFIGA 0x400
+#define EPPREG 0x4
+#define CONTROL 0x2
+#define STATUS 0x1
+#define DATA 0
+
+extern __inline__ void parport_pc_write_epp(struct parport *p, unsigned int d)
+{
+ outb(d, p->base+EPPREG);
+}
+
+extern __inline__ unsigned int parport_pc_read_epp(struct parport *p)
+{
+ return (unsigned int)inb(p->base+EPPREG);
+}
+
+extern __inline__ unsigned int parport_pc_read_configb(struct parport *p)
+{
+ return (unsigned int)inb(p->base+CONFIGB);
+}
+
+extern __inline__ void parport_pc_write_data(struct parport *p, unsigned int d)
+{
+ outb(d, p->base+DATA);
+}
+
+extern __inline__ unsigned int parport_pc_read_data(struct parport *p)
+{
+ return (unsigned int)inb(p->base+DATA);
+}
+
+extern __inline__ void parport_pc_write_control(struct parport *p, unsigned int d)
+{
+ outb(d, p->base+CONTROL);
+}
+
+extern __inline__ unsigned int parport_pc_read_control(struct parport *p)
+{
+ return (unsigned int)inb(p->base+CONTROL);
+}
+
+extern __inline__ unsigned int parport_pc_frob_control(struct parport *p, unsigned int mask, unsigned int val)
+{
+ unsigned int old = (unsigned int)inb(p->base+CONTROL);
+ outb(((old & ~mask) ^ val), p->base+CONTROL);
+ return old;
+}
+
+extern __inline__ void parport_pc_write_status(struct parport *p, unsigned int d)
+{
+ outb(d, p->base+STATUS);
+}
+
+extern __inline__ unsigned int parport_pc_read_status(struct parport *p)
+{
+ return (unsigned int)inb(p->base+STATUS);
+}
+
+extern __inline__ void parport_pc_write_econtrol(struct parport *p, unsigned int d)
+{
+ outb(d, p->base+ECONTROL);
+}
+
+extern __inline__ unsigned int parport_pc_read_econtrol(struct parport *p)
+{
+ return (unsigned int)inb(p->base+ECONTROL);
+}
+
+extern __inline__ unsigned int parport_pc_frob_econtrol(struct parport *p, unsigned int mask, unsigned int val)
+{
+ unsigned int old = (unsigned int)inb(p->base+ECONTROL);
+ outb(((old & ~mask) ^ val), p->base+ECONTROL);
+ return old;
+}
+
+extern void parport_pc_change_mode(struct parport *p, int m);
+
+extern void parport_pc_write_fifo(struct parport *p, unsigned int v);
+
+extern unsigned int parport_pc_read_fifo(struct parport *p);
+
+extern void parport_pc_disable_irq(struct parport *p);
+
+extern void parport_pc_enable_irq(struct parport *p);
+
+extern void parport_pc_release_resources(struct parport *p);
+
+extern int parport_pc_claim_resources(struct parport *p);
+
+extern void parport_pc_save_state(struct parport *p, struct parport_state *s);
+
+extern void parport_pc_restore_state(struct parport *p, struct parport_state *s);
+
+extern unsigned int parport_pc_epp_read_block(struct parport *p, void *buf, unsigned int length);
+
+extern unsigned int parport_pc_epp_write_block(struct parport *p, void *buf, unsigned int length);
+
+extern unsigned int parport_pc_ecp_read_block(struct parport *p, void *buf, unsigned int length, void (*fn)(struct parport *, void *, unsigned int), void *handle);
+
+extern unsigned int parport_pc_ecp_write_block(struct parport *p, void *buf, unsigned int length, void (*fn)(struct parport *, void *, unsigned int), void *handle);
+
+extern int parport_pc_examine_irq(struct parport *p);
+
+extern void parport_pc_inc_use_count(void);
+
+extern void parport_pc_dec_use_count(void);
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov