Lines Matching defs:mos_parport

242 static inline int mos7715_change_mode(struct mos7715_parport *mos_parport,
245 mos_parport->shadowECR = mode;
246 write_mos_reg(mos_parport->serial, dummy, MOS7720_ECR,
247 mos_parport->shadowECR);
253 struct mos7715_parport *mos_parport =
256 kfree(mos_parport);
273 struct mos7715_parport *mos_parport;
276 mos_parport = pp->private_data;
277 if (unlikely(mos_parport == NULL)) {
282 mos_parport->msg_pending = true; /* synch usb call pending */
283 reinit_completion(&mos_parport->syncmsg_compl);
287 if (work_pending(&mos_parport->work))
288 flush_work(&mos_parport->work);
290 mutex_lock(&mos_parport->serial->disc_mutex);
291 if (mos_parport->serial->disconnected) {
293 mutex_unlock(&mos_parport->serial->disc_mutex);
294 mos_parport->msg_pending = false;
295 complete(&mos_parport->syncmsg_compl);
308 struct mos7715_parport *mos_parport = pp->private_data;
309 mutex_unlock(&mos_parport->serial->disc_mutex);
310 mos_parport->msg_pending = false;
311 complete(&mos_parport->syncmsg_compl);
316 struct mos7715_parport *mos_parport;
318 mos_parport = container_of(work, struct mos7715_parport, work);
320 mutex_lock(&mos_parport->serial->disc_mutex);
323 if (mos_parport->serial->disconnected)
326 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR,
327 mos_parport->shadowDCR);
328 write_mos_reg(mos_parport->serial, dummy, MOS7720_ECR,
329 mos_parport->shadowECR);
331 mutex_unlock(&mos_parport->serial->disc_mutex);
336 struct mos7715_parport *mos_parport = pp->private_data;
340 mos7715_change_mode(mos_parport, SPP);
341 write_mos_reg(mos_parport->serial, dummy, MOS7720_DPR, (__u8)d);
347 struct mos7715_parport *mos_parport = pp->private_data;
352 read_mos_reg(mos_parport->serial, dummy, MOS7720_DPR, &d);
359 struct mos7715_parport *mos_parport = pp->private_data;
364 data = ((__u8)d & 0x0f) | (mos_parport->shadowDCR & 0xf0);
365 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR, data);
366 mos_parport->shadowDCR = data;
372 struct mos7715_parport *mos_parport;
376 mos_parport = pp->private_data;
377 if (unlikely(mos_parport == NULL)) {
381 dcr = mos_parport->shadowDCR & 0x0f;
390 struct mos7715_parport *mos_parport = pp->private_data;
397 mos_parport->shadowDCR = (mos_parport->shadowDCR & (~mask)) ^ val;
398 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR,
399 mos_parport->shadowDCR);
400 dcr = mos_parport->shadowDCR & 0x0f;
408 struct mos7715_parport *mos_parport;
411 mos_parport = pp->private_data;
412 if (unlikely(mos_parport == NULL)) { /* release called */
416 status = atomic_read(&mos_parport->shadowDSR) & 0xf8;
431 struct mos7715_parport *mos_parport = pp->private_data;
435 mos7715_change_mode(mos_parport, PS2);
436 mos_parport->shadowDCR &= ~0x20;
437 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR,
438 mos_parport->shadowDCR);
444 struct mos7715_parport *mos_parport = pp->private_data;
448 mos7715_change_mode(mos_parport, PS2);
449 mos_parport->shadowDCR |= 0x20;
450 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR,
451 mos_parport->shadowDCR);
466 struct mos7715_parport *mos_parport;
469 mos_parport = pp->private_data;
470 if (unlikely(mos_parport == NULL)) { /* release called */
474 s->u.pc.ctr = mos_parport->shadowDCR;
475 s->u.pc.ecr = mos_parport->shadowECR;
483 struct mos7715_parport *mos_parport;
486 mos_parport = pp->private_data;
487 if (unlikely(mos_parport == NULL)) { /* release called */
491 mos_parport->shadowDCR = s->u.pc.ctr;
492 mos_parport->shadowECR = s->u.pc.ecr;
494 schedule_work(&mos_parport->work);
503 struct mos7715_parport *mos_parport = pp->private_data;
508 mos7715_change_mode(mos_parport, PPF);
509 retval = usb_bulk_msg(mos_parport->serial->dev,
510 usb_sndbulkpipe(mos_parport->serial->dev, 2),
515 dev_err(&mos_parport->serial->dev->dev,
555 struct mos7715_parport *mos_parport;
558 mos_parport = kzalloc(sizeof(struct mos7715_parport), GFP_KERNEL);
559 if (!mos_parport)
562 mos_parport->msg_pending = false;
563 kref_init(&mos_parport->ref_count);
564 usb_set_serial_data(serial, mos_parport); /* hijack private pointer */
565 mos_parport->serial = serial;
566 INIT_WORK(&mos_parport->work, deferred_restore_writes);
567 init_completion(&mos_parport->syncmsg_compl);
570 write_mos_reg(mos_parport->serial, dummy, MOS7720_PP_REG, (__u8)0x80);
571 write_mos_reg(mos_parport->serial, dummy, MOS7720_PP_REG, (__u8)0x00);
574 mos_parport->shadowDCR = DCR_INIT_VAL;
575 write_mos_reg(mos_parport->serial, dummy, MOS7720_DCR,
576 mos_parport->shadowDCR);
577 mos_parport->shadowECR = ECR_INIT_VAL;
578 write_mos_reg(mos_parport->serial, dummy, MOS7720_ECR,
579 mos_parport->shadowECR);
582 mos_parport->pp = parport_register_port(0, PARPORT_IRQ_NONE,
585 if (mos_parport->pp == NULL) {
588 kref_put(&mos_parport->ref_count, destroy_mos_parport);
591 mos_parport->pp->private_data = mos_parport;
592 mos_parport->pp->modes = PARPORT_MODE_COMPAT | PARPORT_MODE_PCSPP;
593 mos_parport->pp->dev = &serial->interface->dev;
594 parport_announce_port(mos_parport->pp);
747 struct mos7715_parport *mos_parport = port->serial->private;
748 if (unlikely(mos_parport == NULL))
750 atomic_set(&mos_parport->shadowDSR, data[2]);
1672 struct mos7715_parport *mos_parport =
1677 mos_parport->pp->private_data = NULL;
1681 if (mos_parport->msg_pending)
1682 wait_for_completion_timeout(&mos_parport->syncmsg_compl,
1689 cancel_work_sync(&mos_parport->work);
1691 parport_remove_port(mos_parport->pp);
1693 mos_parport->serial = NULL;
1695 parport_del_port(mos_parport->pp);
1697 kref_put(&mos_parport->ref_count, destroy_mos_parport);