Lines Matching refs:pp

49 	struct parport *pp;  member
98 struct parport *pp; in async_complete() local
104 pp = priv->pp; in async_complete()
115 if (rq->reg[2] & rq->reg[1] & 0x10 && pp) in async_complete()
116 parport_generic_irq(pp); in async_complete()
192 static int get_1284_register(struct parport *pp, unsigned char reg, unsigned char *val, gfp_t mem_f… in get_1284_register() argument
201 if (!pp) in get_1284_register()
203 priv = pp->private_data; in get_1284_register()
228 static int set_1284_register(struct parport *pp, unsigned char reg, unsigned char val, gfp_t mem_fl… in set_1284_register() argument
233 if (!pp) in set_1284_register()
235 priv = pp->private_data; in set_1284_register()
256 static int change_mode(struct parport *pp, int m) in change_mode() argument
258 struct parport_uss720_private *priv = pp->private_data; in change_mode()
262 if (get_1284_register(pp, 6, &reg, GFP_KERNEL)) in change_mode()
270 if (change_mode(pp, ECR_PS2)) in change_mode()
276 unsigned long expire = jiffies + pp->physport->cad->timeout; in change_mode()
282 if (get_1284_register(pp, 6, &reg, GFP_KERNEL)) in change_mode()
296 if (set_1284_register(pp, 6, m << 5, GFP_KERNEL)) in change_mode()
298 if (get_1284_register(pp, 6, &reg, GFP_KERNEL)) in change_mode()
306 static int clear_epp_timeout(struct parport *pp) in clear_epp_timeout() argument
310 if (get_1284_register(pp, 1, &stat, GFP_KERNEL)) in clear_epp_timeout()
321 struct parport *pp = (struct parport *)dev_id;
322 struct parport_uss720_private *priv = pp->private_data;
329 parport_generic_irq(pp);
334 static void parport_uss720_write_data(struct parport *pp, unsigned char d) in parport_uss720_write_data() argument
336 set_1284_register(pp, 0, d, GFP_KERNEL); in parport_uss720_write_data()
339 static unsigned char parport_uss720_read_data(struct parport *pp) in parport_uss720_read_data() argument
343 if (get_1284_register(pp, 0, &ret, GFP_KERNEL)) in parport_uss720_read_data()
348 static void parport_uss720_write_control(struct parport *pp, unsigned char d) in parport_uss720_write_control() argument
350 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_write_control()
353 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_write_control()
358 static unsigned char parport_uss720_read_control(struct parport *pp) in parport_uss720_read_control() argument
360 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_read_control()
364 static unsigned char parport_uss720_frob_control(struct parport *pp, unsigned char mask, unsigned c… in parport_uss720_frob_control() argument
366 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_frob_control()
372 if (set_1284_register(pp, 2, d, GFP_ATOMIC)) in parport_uss720_frob_control()
378 static unsigned char parport_uss720_read_status(struct parport *pp) in parport_uss720_read_status() argument
382 if (get_1284_register(pp, 1, &ret, GFP_ATOMIC)) in parport_uss720_read_status()
387 static void parport_uss720_disable_irq(struct parport *pp) in parport_uss720_disable_irq() argument
389 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_disable_irq()
393 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_disable_irq()
398 static void parport_uss720_enable_irq(struct parport *pp) in parport_uss720_enable_irq() argument
400 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_enable_irq()
404 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_enable_irq()
409 static void parport_uss720_data_forward (struct parport *pp) in parport_uss720_data_forward() argument
411 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_data_forward()
415 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_data_forward()
420 static void parport_uss720_data_reverse (struct parport *pp) in parport_uss720_data_reverse() argument
422 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_data_reverse()
426 if (set_1284_register(pp, 2, d, GFP_KERNEL)) in parport_uss720_data_reverse()
437 static void parport_uss720_save_state(struct parport *pp, struct parport_state *s) in parport_uss720_save_state() argument
439 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_save_state()
442 if (get_1284_register(pp, 2, NULL, GFP_ATOMIC)) in parport_uss720_save_state()
449 static void parport_uss720_restore_state(struct parport *pp, struct parport_state *s) in parport_uss720_restore_state() argument
451 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_restore_state()
453 set_1284_register(pp, 2, s->u.pc.ctr, GFP_ATOMIC); in parport_uss720_restore_state()
454 set_1284_register(pp, 6, s->u.pc.ecr, GFP_ATOMIC); in parport_uss720_restore_state()
455 get_1284_register(pp, 2, NULL, GFP_ATOMIC); in parport_uss720_restore_state()
460 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
462 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_read_data()
465 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_read_data()
468 if (get_1284_register(pp, 4, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_read_data()
472 clear_epp_timeout(pp); in parport_uss720_epp_read_data()
476 change_mode(pp, ECR_PS2); in parport_uss720_epp_read_data()
480 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
483 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_data()
486 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_data()
489 if (set_1284_register(pp, 4, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_write_data()
492 if (get_1284_register(pp, 1, NULL, GFP_KERNEL)) in parport_uss720_epp_write_data()
495 clear_epp_timeout(pp); in parport_uss720_epp_write_data()
499 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_data()
502 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_data()
509 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_data()
514 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_data()
519 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
521 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_read_addr()
524 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_read_addr()
527 if (get_1284_register(pp, 3, (char *)buf, GFP_KERNEL)) in parport_uss720_epp_read_addr()
531 clear_epp_timeout(pp); in parport_uss720_epp_read_addr()
535 change_mode(pp, ECR_PS2); in parport_uss720_epp_read_addr()
539 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
541 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_epp_write_addr()
544 if (change_mode(pp, ECR_EPP)) in parport_uss720_epp_write_addr()
547 if (set_1284_register(pp, 3, *(char *)buf, GFP_KERNEL)) in parport_uss720_epp_write_addr()
550 if (get_1284_register(pp, 1, NULL, GFP_KERNEL)) in parport_uss720_epp_write_addr()
553 clear_epp_timeout(pp); in parport_uss720_epp_write_addr()
557 change_mode(pp, ECR_PS2); in parport_uss720_epp_write_addr()
561 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
563 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_ecp_write_data()
570 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_write_data()
575 change_mode(pp, ECR_PS2); in parport_uss720_ecp_write_data()
579 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
581 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_ecp_read_data()
588 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_read_data()
593 change_mode(pp, ECR_PS2); in parport_uss720_ecp_read_data()
597 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
601 if (change_mode(pp, ECR_ECP)) in parport_uss720_ecp_write_addr()
604 if (set_1284_register(pp, 5, *(char *)buffer, GFP_KERNEL)) in parport_uss720_ecp_write_addr()
608 change_mode(pp, ECR_PS2); in parport_uss720_ecp_write_addr()
612 static size_t parport_uss720_write_compat(struct parport *pp, const void *buffer, size_t len, int f… in parport_uss720_write_compat() argument
614 struct parport_uss720_private *priv = pp->private_data; in parport_uss720_write_compat()
621 if (change_mode(pp, ECR_PPF)) in parport_uss720_write_compat()
626 change_mode(pp, ECR_PS2); in parport_uss720_write_compat()
677 struct parport *pp; in uss720_probe() local
708 priv->pp = NULL; in uss720_probe()
713 pp = parport_register_port(0, PARPORT_IRQ_NONE, PARPORT_DMA_NONE, &parport_uss720_ops); in uss720_probe()
714 if (!pp) { in uss720_probe()
719 priv->pp = pp; in uss720_probe()
720 pp->private_data = priv; in uss720_probe()
721pp->modes = PARPORT_MODE_PCSPP | PARPORT_MODE_TRISTATE | PARPORT_MODE_EPP | PARPORT_MODE_ECP | PAR… in uss720_probe()
724 set_1284_register(pp, 7, 0x00, GFP_KERNEL); in uss720_probe()
725 set_1284_register(pp, 6, 0x30, GFP_KERNEL); /* PS/2 mode */ in uss720_probe()
726 set_1284_register(pp, 2, 0x0c, GFP_KERNEL); in uss720_probe()
728 get_1284_register(pp, 0, &reg, GFP_KERNEL); in uss720_probe()
736 parport_announce_port(pp); in uss720_probe()
738 usb_set_intfdata(intf, pp); in uss720_probe()
749 struct parport *pp = usb_get_intfdata(intf); in uss720_disconnect() local
754 if (pp) { in uss720_disconnect()
755 priv = pp->private_data; in uss720_disconnect()
757 priv->pp = NULL; in uss720_disconnect()
759 parport_remove_port(pp); in uss720_disconnect()
760 parport_put_port(pp); in uss720_disconnect()