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);