Lines Matching refs:p

84 static void mfc3_write_data(struct parport *p, unsigned char data)  in mfc3_write_data()  argument
88 dummy = pia(p)->pprb; /* clears irq bit */ in mfc3_write_data()
90 pia(p)->pprb = data; in mfc3_write_data()
93 static unsigned char mfc3_read_data(struct parport *p) in mfc3_read_data() argument
96 return pia(p)->pprb; in mfc3_read_data()
128 static void mfc3_write_control(struct parport *p, unsigned char control) in mfc3_write_control() argument
131 pia(p)->ppra = (pia(p)->ppra & 0x1f) | control_pc_to_mfc3(control); in mfc3_write_control()
134 static unsigned char mfc3_read_control( struct parport *p) in mfc3_read_control() argument
137 return control_mfc3_to_pc(pia(p)->ppra & 0xe0); in mfc3_read_control()
140 static unsigned char mfc3_frob_control( struct parport *p, unsigned char mask, unsigned char val) in mfc3_frob_control() argument
145 old = mfc3_read_control(p); in mfc3_frob_control()
146 mfc3_write_control(p, (old & ~mask) ^ val); in mfc3_frob_control()
168 static unsigned char mfc3_read_status(struct parport *p) in mfc3_read_status() argument
172 status = status_mfc3_to_pc(pia(p)->ppra & 0x1f); in mfc3_read_status()
192 static void mfc3_enable_irq(struct parport *p) in mfc3_enable_irq() argument
194 pia(p)->crb |= PIA_C1_ENABLE_IRQ; in mfc3_enable_irq()
197 static void mfc3_disable_irq(struct parport *p) in mfc3_disable_irq() argument
199 pia(p)->crb &= ~PIA_C1_ENABLE_IRQ; in mfc3_disable_irq()
202 static void mfc3_data_forward(struct parport *p) in mfc3_data_forward() argument
205 pia(p)->crb &= ~PIA_DDR; /* make data direction register visible */ in mfc3_data_forward()
206 pia(p)->pddrb = 255; /* all pins output */ in mfc3_data_forward()
207 pia(p)->crb |= PIA_DDR; /* make data register visible - default */ in mfc3_data_forward()
210 static void mfc3_data_reverse(struct parport *p) in mfc3_data_reverse() argument
213 pia(p)->crb &= ~PIA_DDR; /* make data direction register visible */ in mfc3_data_reverse()
214 pia(p)->pddrb = 0; /* all pins input */ in mfc3_data_reverse()
215 pia(p)->crb |= PIA_DDR; /* make data register visible - default */ in mfc3_data_reverse()
226 static void mfc3_save_state(struct parport *p, struct parport_state *s) in mfc3_save_state() argument
228 s->u.amiga.data = pia(p)->pprb; in mfc3_save_state()
229 pia(p)->crb &= ~PIA_DDR; in mfc3_save_state()
230 s->u.amiga.datadir = pia(p)->pddrb; in mfc3_save_state()
231 pia(p)->crb |= PIA_DDR; in mfc3_save_state()
232 s->u.amiga.status = pia(p)->ppra; in mfc3_save_state()
233 pia(p)->cra &= ~PIA_DDR; in mfc3_save_state()
234 s->u.amiga.statusdir = pia(p)->pddrb; in mfc3_save_state()
235 pia(p)->cra |= PIA_DDR; in mfc3_save_state()
238 static void mfc3_restore_state(struct parport *p, struct parport_state *s) in mfc3_restore_state() argument
240 pia(p)->pprb = s->u.amiga.data; in mfc3_restore_state()
241 pia(p)->crb &= ~PIA_DDR; in mfc3_restore_state()
242 pia(p)->pddrb = s->u.amiga.datadir; in mfc3_restore_state()
243 pia(p)->crb |= PIA_DDR; in mfc3_restore_state()
244 pia(p)->ppra = s->u.amiga.status; in mfc3_restore_state()
245 pia(p)->cra &= ~PIA_DDR; in mfc3_restore_state()
246 pia(p)->pddrb = s->u.amiga.statusdir; in mfc3_restore_state()
247 pia(p)->cra |= PIA_DDR; in mfc3_restore_state()
290 struct parport *p; in parport_mfc3_init() local
314 p = parport_register_port((unsigned long)pp, IRQ_AMIGA_PORTS, in parport_mfc3_init()
316 if (!p) in parport_mfc3_init()
319 if (p->irq != PARPORT_IRQ_NONE) { in parport_mfc3_init()
321 if (request_irq(IRQ_AMIGA_PORTS, mfc3_interrupt, IRQF_SHARED, p->name, &pp_mfc3_ops)) in parport_mfc3_init()
324 p->dev = &z->dev; in parport_mfc3_init()
326 this_port[pias++] = p; in parport_mfc3_init()
327 printk(KERN_INFO "%s: Multiface III port using irq\n", p->name); in parport_mfc3_init()
330 p->private_data = (void *)piabase; in parport_mfc3_init()
331 parport_announce_port (p); in parport_mfc3_init()
338 parport_put_port(p); in parport_mfc3_init()