Lines Matching refs:pp
65 struct parport *pp; member
114 struct parport *pp; in async_complete() local
120 pp = priv->pp; in async_complete()
131 if (rq->reg[2] & rq->reg[1] & 0x10 && pp) in async_complete()
132 parport_generic_irq(pp); in async_complete()
211 static int get_1284_register(struct parport *pp, unsigned char reg, unsigned char *val, gfp_t mem_f… in get_1284_register() argument
220 if (!pp) in get_1284_register()
222 priv = pp->private_data; in get_1284_register()
247 static int set_1284_register(struct parport *pp, unsigned char reg, unsigned char val, gfp_t mem_fl… in set_1284_register() argument
252 if (!pp) in set_1284_register()
254 priv = pp->private_data; in set_1284_register()
275 static int change_mode(struct parport *pp, int m) in change_mode() argument
277 struct parport_uss720_private *priv = pp->private_data; in change_mode()
281 if (get_1284_register(pp, 6, ®, GFP_KERNEL)) in change_mode()
289 if (change_mode(pp, ECR_PS2)) in change_mode()
295 unsigned long expire = jiffies + pp->physport->cad->timeout; in change_mode()
301 if (get_1284_register(pp, 6, ®, GFP_KERNEL)) in change_mode()
315 if (set_1284_register(pp, 6, m << 5, GFP_KERNEL)) in change_mode()
317 if (get_1284_register(pp, 6, ®, GFP_KERNEL)) in change_mode()
325 static int clear_epp_timeout(struct parport *pp) in clear_epp_timeout() argument
329 if (get_1284_register(pp, 1, &stat, GFP_KERNEL)) in clear_epp_timeout()
340 struct parport *pp = (struct parport *)dev_id;
341 struct parport_uss720_private *priv = pp->private_data;
348 parport_generic_irq(pp);
353 static void parport_uss720_write_data(struct parport *pp, unsigned char d) in parport_uss720_write_data() argument
355 set_1284_register(pp, 0, d, GFP_KERNEL); in parport_uss720_write_data()
358 static unsigned char parport_uss720_read_data(struct parport *pp) in parport_uss720_read_data() argument
362 if (get_1284_register(pp, 0, &ret, GFP_KERNEL)) in parport_uss720_read_data()
367 static void parport_uss720_write_control(struct parport *pp, unsigned char d) in parport_uss720_write_control() argument
369 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_write_control()
372 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_write_control()
377 static unsigned char parport_uss720_read_control(struct parport *pp) in parport_uss720_read_control() argument
379 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_read_control()
383 static unsigned char parport_uss720_frob_control(struct parport *pp, unsigned char mask, unsigned c… in parport_uss720_frob_control() argument
385 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_frob_control()
391 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_frob_control()
397 static unsigned char parport_uss720_read_status(struct parport *pp) in parport_uss720_read_status() argument
401 if (get_1284_register(pp, 1, &ret, GFP_KERNEL)) in parport_uss720_read_status()
406 static void parport_uss720_disable_irq(struct parport *pp) in parport_uss720_disable_irq() argument
408 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_disable_irq()
412 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_disable_irq()
417 static void parport_uss720_enable_irq(struct parport *pp) in parport_uss720_enable_irq() argument
419 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_enable_irq()
423 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_enable_irq()
428 static void parport_uss720_data_forward (struct parport *pp) in parport_uss720_data_forward() argument
430 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_data_forward()
434 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_data_forward()
439 static void parport_uss720_data_reverse (struct parport *pp) in parport_uss720_data_reverse() argument
441 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_data_reverse()
445 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_data_reverse()
456 static void parport_uss720_save_state(struct parport *pp, struct parport_state *s) in parport_uss720_save_state() argument
458 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_save_state()
461 if (get_1284_register(pp, 2, NULL, GFP_ATOMIC)) in parport_uss720_save_state()
468 static void parport_uss720_restore_state(struct parport *pp, struct parport_state *s) in parport_uss720_restore_state() argument
470 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_restore_state()
472 set_1284_register(pp, 2, s->u.pc.ctr, GFP_ATOMIC); in parport_uss720_restore_state()
473 set_1284_register(pp, 6, s->u.pc.ecr, GFP_ATOMIC); in parport_uss720_restore_state()
474 get_1284_register(pp, 2, NULL, GFP_ATOMIC); in parport_uss720_restore_state()
479 static size_t parport_uss720_epp_read_data(struct parport *pp, void *buf, size_t length, int flags) in parport_uss720_epp_read_data() argument
481 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_read_data()
484 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_read_data()
487 if (get_1284_register(pp, 4, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_read_data()
491 clear_epp_timeout(pp); in parport_uss720_epp_read_data()
495 change_mode(pp, ECR_PS2); in parport_uss720_epp_read_data()
499 static size_t parport_uss720_epp_write_data(struct parport *pp, const void *buf, size_t length, int… in parport_uss720_epp_write_data() argument
502 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_data()
505 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_data()
508 if (set_1284_register(pp, 4, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_write_data()
511 if (get_1284_register(pp, 1, NULL, GFP_KERNEL)) in parport_uss720_epp_write_data()
514 clear_epp_timeout(pp); in parport_uss720_epp_write_data()
518 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_data()
521 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_data()
528 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_data()
533 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_data()
538 static size_t parport_uss720_epp_read_addr(struct parport *pp, void *buf, size_t length, int flags) in parport_uss720_epp_read_addr() argument
540 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_read_addr()
543 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_read_addr()
546 if (get_1284_register(pp, 3, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_read_addr()
550 clear_epp_timeout(pp); in parport_uss720_epp_read_addr()
554 change_mode(pp, ECR_PS2); in parport_uss720_epp_read_addr()
558 static size_t parport_uss720_epp_write_addr(struct parport *pp, const void *buf, size_t length, int… in parport_uss720_epp_write_addr() argument
560 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_addr()
563 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_addr()
566 if (set_1284_register(pp, 3, *(char *)buf, GFP_KERNEL)) in parport_uss720_epp_write_addr()
569 if (get_1284_register(pp, 1, NULL, GFP_KERNEL)) in parport_uss720_epp_write_addr()
572 clear_epp_timeout(pp); in parport_uss720_epp_write_addr()
576 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_addr()
580 static size_t parport_uss720_ecp_write_data(struct parport *pp, const void *buffer, size_t len, int… in parport_uss720_ecp_write_data() argument
582 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_ecp_write_data()
589 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_write_data()
594 change_mode(pp, ECR_PS2); in parport_uss720_ecp_write_data()
598 static size_t parport_uss720_ecp_read_data(struct parport *pp, void *buffer, size_t len, int flags) in parport_uss720_ecp_read_data() argument
600 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_ecp_read_data()
607 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_read_data()
612 change_mode(pp, ECR_PS2); in parport_uss720_ecp_read_data()
616 static size_t parport_uss720_ecp_write_addr(struct parport *pp, const void *buffer, size_t len, int… in parport_uss720_ecp_write_addr() argument
620 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_write_addr()
623 if (set_1284_register(pp, 5, *(char *)buffer, GFP_KERNEL)) in parport_uss720_ecp_write_addr()
627 change_mode(pp, ECR_PS2); in parport_uss720_ecp_write_addr()
631 static size_t parport_uss720_write_compat(struct parport *pp, const void *buffer, size_t len, int f… in parport_uss720_write_compat() argument
633 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_write_compat()
640 if (change_mode(pp, ECR_PPF)) in parport_uss720_write_compat()
645 change_mode(pp, ECR_PS2); in parport_uss720_write_compat()
696 struct parport *pp; in uss720_probe() local
722 priv->pp = NULL; in uss720_probe()
727 pp = parport_register_port(0, PARPORT_IRQ_NONE, PARPORT_DMA_NONE, &parport_uss720_ops); in uss720_probe()
728 if (!pp) { in uss720_probe()
733 priv->pp = pp; in uss720_probe()
734 pp->private_data = priv; in uss720_probe()
735 …pp->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_TRISTATE | PARPORT_MODE_EPP | PARPORT_MODE_ECP | PAR… in uss720_probe()
738 set_1284_register(pp, 7, 0x00, GFP_KERNEL); in uss720_probe()
739 set_1284_register(pp, 6, 0x30, GFP_KERNEL); /* PS/2 mode */ in uss720_probe()
740 set_1284_register(pp, 2, 0x0c, GFP_KERNEL); in uss720_probe()
742 get_1284_register(pp, 0, ®, GFP_KERNEL); in uss720_probe()
748 parport_announce_port(pp); in uss720_probe()
750 usb_set_intfdata(intf, pp); in uss720_probe()
761 struct parport *pp = usb_get_intfdata(intf); in uss720_disconnect() local
767 if (pp) { in uss720_disconnect()
768 priv = pp->private_data; in uss720_disconnect()
771 priv->pp = NULL; in uss720_disconnect()
773 parport_remove_port(pp); in uss720_disconnect()
774 parport_put_port(pp); in uss720_disconnect()