mos_parport 83 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 251 drivers/usb/serial/mos7720.c static inline int mos7715_change_mode(struct mos7715_parport *mos_parport, mos_parport 254 drivers/usb/serial/mos7720.c mos_parport->shadowECR = mode; mos_parport 255 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_ECR, mos_parport 256 drivers/usb/serial/mos7720.c mos_parport->shadowECR); mos_parport 262 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = mos_parport 265 drivers/usb/serial/mos7720.c kfree(mos_parport); mos_parport 272 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = urbtrack->mos_parport; mos_parport 277 drivers/usb/serial/mos7720.c kref_put(&mos_parport->ref_count, destroy_mos_parport); mos_parport 289 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = (void *)_mos_parport; mos_parport 295 drivers/usb/serial/mos7720.c if (unlikely(mos_parport->serial == NULL)) mos_parport 298 drivers/usb/serial/mos7720.c dev = &mos_parport->serial->dev->dev; mos_parport 301 drivers/usb/serial/mos7720.c if (!mutex_trylock(&mos_parport->serial->disc_mutex)) { mos_parport 303 drivers/usb/serial/mos7720.c tasklet_schedule(&mos_parport->urb_tasklet); mos_parport 308 drivers/usb/serial/mos7720.c if (unlikely(mos_parport->serial->disconnected)) { mos_parport 309 drivers/usb/serial/mos7720.c mutex_unlock(&mos_parport->serial->disc_mutex); mos_parport 313 drivers/usb/serial/mos7720.c spin_lock_irqsave(&mos_parport->listlock, flags); mos_parport 314 drivers/usb/serial/mos7720.c if (list_empty(&mos_parport->deferred_urbs)) { mos_parport 315 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 316 drivers/usb/serial/mos7720.c mutex_unlock(&mos_parport->serial->disc_mutex); mos_parport 322 drivers/usb/serial/mos7720.c list_for_each_safe(cursor, next, &mos_parport->deferred_urbs) mos_parport 323 drivers/usb/serial/mos7720.c list_move_tail(cursor, &mos_parport->active_urbs); mos_parport 324 drivers/usb/serial/mos7720.c list_for_each_entry_safe(urbtrack, tmp, &mos_parport->active_urbs, mos_parport 334 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 335 drivers/usb/serial/mos7720.c mutex_unlock(&mos_parport->serial->disc_mutex); mos_parport 349 drivers/usb/serial/mos7720.c spin_lock_irqsave(&urbtrack->mos_parport->listlock, flags); mos_parport 351 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&urbtrack->mos_parport->listlock, flags); mos_parport 355 drivers/usb/serial/mos7720.c static int write_parport_reg_nonblock(struct mos7715_parport *mos_parport, mos_parport 361 drivers/usb/serial/mos7720.c struct usb_serial *serial = mos_parport->serial; mos_parport 389 drivers/usb/serial/mos7720.c kref_get(&mos_parport->ref_count); mos_parport 390 drivers/usb/serial/mos7720.c urbtrack->mos_parport = mos_parport; mos_parport 399 drivers/usb/serial/mos7720.c spin_lock_irqsave(&mos_parport->listlock, flags); mos_parport 401 drivers/usb/serial/mos7720.c &mos_parport->deferred_urbs); mos_parport 402 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 403 drivers/usb/serial/mos7720.c tasklet_schedule(&mos_parport->urb_tasklet); mos_parport 416 drivers/usb/serial/mos7720.c spin_lock_irqsave(&mos_parport->listlock, flags); mos_parport 417 drivers/usb/serial/mos7720.c list_add_tail(&urbtrack->urblist_entry, &mos_parport->active_urbs); mos_parport 418 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 424 drivers/usb/serial/mos7720.c spin_lock_irqsave(&mos_parport->listlock, flags); mos_parport 426 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 447 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 450 drivers/usb/serial/mos7720.c mos_parport = pp->private_data; mos_parport 451 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) { mos_parport 456 drivers/usb/serial/mos7720.c mos_parport->msg_pending = true; /* synch usb call pending */ mos_parport 457 drivers/usb/serial/mos7720.c reinit_completion(&mos_parport->syncmsg_compl); mos_parport 460 drivers/usb/serial/mos7720.c mutex_lock(&mos_parport->serial->disc_mutex); mos_parport 461 drivers/usb/serial/mos7720.c if (mos_parport->serial->disconnected) { mos_parport 463 drivers/usb/serial/mos7720.c mutex_unlock(&mos_parport->serial->disc_mutex); mos_parport 464 drivers/usb/serial/mos7720.c mos_parport->msg_pending = false; mos_parport 465 drivers/usb/serial/mos7720.c complete(&mos_parport->syncmsg_compl); mos_parport 478 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 479 drivers/usb/serial/mos7720.c mutex_unlock(&mos_parport->serial->disc_mutex); mos_parport 480 drivers/usb/serial/mos7720.c mos_parport->msg_pending = false; mos_parport 481 drivers/usb/serial/mos7720.c complete(&mos_parport->syncmsg_compl); mos_parport 486 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 490 drivers/usb/serial/mos7720.c mos7715_change_mode(mos_parport, SPP); mos_parport 491 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DPR, (__u8)d); mos_parport 497 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 502 drivers/usb/serial/mos7720.c read_mos_reg(mos_parport->serial, dummy, MOS7720_DPR, &d); mos_parport 509 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 514 drivers/usb/serial/mos7720.c data = ((__u8)d & 0x0f) | (mos_parport->shadowDCR & 0xf0); mos_parport 515 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, data); mos_parport 516 drivers/usb/serial/mos7720.c mos_parport->shadowDCR = data; mos_parport 522 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 526 drivers/usb/serial/mos7720.c mos_parport = pp->private_data; mos_parport 527 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) { mos_parport 531 drivers/usb/serial/mos7720.c dcr = mos_parport->shadowDCR & 0x0f; mos_parport 540 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 547 drivers/usb/serial/mos7720.c mos_parport->shadowDCR = (mos_parport->shadowDCR & (~mask)) ^ val; mos_parport 548 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, mos_parport 549 drivers/usb/serial/mos7720.c mos_parport->shadowDCR); mos_parport 550 drivers/usb/serial/mos7720.c dcr = mos_parport->shadowDCR & 0x0f; mos_parport 558 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 561 drivers/usb/serial/mos7720.c mos_parport = pp->private_data; mos_parport 562 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) { /* release called */ mos_parport 566 drivers/usb/serial/mos7720.c status = atomic_read(&mos_parport->shadowDSR) & 0xf8; mos_parport 581 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 585 drivers/usb/serial/mos7720.c mos7715_change_mode(mos_parport, PS2); mos_parport 586 drivers/usb/serial/mos7720.c mos_parport->shadowDCR &= ~0x20; mos_parport 587 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, mos_parport 588 drivers/usb/serial/mos7720.c mos_parport->shadowDCR); mos_parport 594 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 598 drivers/usb/serial/mos7720.c mos7715_change_mode(mos_parport, PS2); mos_parport 599 drivers/usb/serial/mos7720.c mos_parport->shadowDCR |= 0x20; mos_parport 600 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, mos_parport 601 drivers/usb/serial/mos7720.c mos_parport->shadowDCR); mos_parport 616 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 619 drivers/usb/serial/mos7720.c mos_parport = pp->private_data; mos_parport 620 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) { /* release called */ mos_parport 624 drivers/usb/serial/mos7720.c s->u.pc.ctr = mos_parport->shadowDCR; mos_parport 625 drivers/usb/serial/mos7720.c s->u.pc.ecr = mos_parport->shadowECR; mos_parport 633 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 636 drivers/usb/serial/mos7720.c mos_parport = pp->private_data; mos_parport 637 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) { /* release called */ mos_parport 641 drivers/usb/serial/mos7720.c write_parport_reg_nonblock(mos_parport, MOS7720_DCR, mos_parport 642 drivers/usb/serial/mos7720.c mos_parport->shadowDCR); mos_parport 643 drivers/usb/serial/mos7720.c write_parport_reg_nonblock(mos_parport, MOS7720_ECR, mos_parport 644 drivers/usb/serial/mos7720.c mos_parport->shadowECR); mos_parport 653 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = pp->private_data; mos_parport 658 drivers/usb/serial/mos7720.c mos7715_change_mode(mos_parport, PPF); mos_parport 659 drivers/usb/serial/mos7720.c retval = usb_bulk_msg(mos_parport->serial->dev, mos_parport 660 drivers/usb/serial/mos7720.c usb_sndbulkpipe(mos_parport->serial->dev, 2), mos_parport 665 drivers/usb/serial/mos7720.c dev_err(&mos_parport->serial->dev->dev, mos_parport 705 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport; mos_parport 708 drivers/usb/serial/mos7720.c mos_parport = kzalloc(sizeof(struct mos7715_parport), GFP_KERNEL); mos_parport 709 drivers/usb/serial/mos7720.c if (!mos_parport) mos_parport 712 drivers/usb/serial/mos7720.c mos_parport->msg_pending = false; mos_parport 713 drivers/usb/serial/mos7720.c kref_init(&mos_parport->ref_count); mos_parport 714 drivers/usb/serial/mos7720.c spin_lock_init(&mos_parport->listlock); mos_parport 715 drivers/usb/serial/mos7720.c INIT_LIST_HEAD(&mos_parport->active_urbs); mos_parport 716 drivers/usb/serial/mos7720.c INIT_LIST_HEAD(&mos_parport->deferred_urbs); mos_parport 717 drivers/usb/serial/mos7720.c usb_set_serial_data(serial, mos_parport); /* hijack private pointer */ mos_parport 718 drivers/usb/serial/mos7720.c mos_parport->serial = serial; mos_parport 719 drivers/usb/serial/mos7720.c tasklet_init(&mos_parport->urb_tasklet, send_deferred_urbs, mos_parport 720 drivers/usb/serial/mos7720.c (unsigned long) mos_parport); mos_parport 721 drivers/usb/serial/mos7720.c init_completion(&mos_parport->syncmsg_compl); mos_parport 724 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_PP_REG, (__u8)0x80); mos_parport 725 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_PP_REG, (__u8)0x00); mos_parport 728 drivers/usb/serial/mos7720.c mos_parport->shadowDCR = DCR_INIT_VAL; mos_parport 729 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, mos_parport 730 drivers/usb/serial/mos7720.c mos_parport->shadowDCR); mos_parport 731 drivers/usb/serial/mos7720.c mos_parport->shadowECR = ECR_INIT_VAL; mos_parport 732 drivers/usb/serial/mos7720.c write_mos_reg(mos_parport->serial, dummy, MOS7720_ECR, mos_parport 733 drivers/usb/serial/mos7720.c mos_parport->shadowECR); mos_parport 736 drivers/usb/serial/mos7720.c mos_parport->pp = parport_register_port(0, PARPORT_IRQ_NONE, mos_parport 739 drivers/usb/serial/mos7720.c if (mos_parport->pp == NULL) { mos_parport 742 drivers/usb/serial/mos7720.c kref_put(&mos_parport->ref_count, destroy_mos_parport); mos_parport 745 drivers/usb/serial/mos7720.c mos_parport->pp->private_data = mos_parport; mos_parport 746 drivers/usb/serial/mos7720.c mos_parport->pp->modes = PARPORT_MODE_COMPAT | PARPORT_MODE_PCSPP; mos_parport 747 drivers/usb/serial/mos7720.c mos_parport->pp->dev = &serial->interface->dev; mos_parport 748 drivers/usb/serial/mos7720.c parport_announce_port(mos_parport->pp); mos_parport 901 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = port->serial->private; mos_parport 902 drivers/usb/serial/mos7720.c if (unlikely(mos_parport == NULL)) mos_parport 904 drivers/usb/serial/mos7720.c atomic_set(&mos_parport->shadowDSR, data[2]); mos_parport 1872 drivers/usb/serial/mos7720.c struct mos7715_parport *mos_parport = mos_parport 1877 drivers/usb/serial/mos7720.c mos_parport->pp->private_data = NULL; mos_parport 1881 drivers/usb/serial/mos7720.c if (mos_parport->msg_pending) mos_parport 1882 drivers/usb/serial/mos7720.c wait_for_completion_timeout(&mos_parport->syncmsg_compl, mos_parport 1885 drivers/usb/serial/mos7720.c parport_remove_port(mos_parport->pp); mos_parport 1887 drivers/usb/serial/mos7720.c mos_parport->serial = NULL; mos_parport 1890 drivers/usb/serial/mos7720.c tasklet_kill(&mos_parport->urb_tasklet); mos_parport 1893 drivers/usb/serial/mos7720.c spin_lock_irqsave(&mos_parport->listlock, flags); mos_parport 1895 drivers/usb/serial/mos7720.c &mos_parport->active_urbs, mos_parport 1898 drivers/usb/serial/mos7720.c spin_unlock_irqrestore(&mos_parport->listlock, flags); mos_parport 1899 drivers/usb/serial/mos7720.c parport_del_port(mos_parport->pp); mos_parport 1901 drivers/usb/serial/mos7720.c kref_put(&mos_parport->ref_count, destroy_mos_parport);