Lines Matching refs:port

36 /* This driver should, in theory, work with any parallel port that has an
75 * finds them. This means that if you only have one port, it will be bound
158 /* --- low-level port access ----------------------------------- */
160 #define r_dtr(x) (parport_read_data(lp_table[(x)].dev->port))
161 #define r_str(x) (parport_read_status(lp_table[(x)].dev->port))
162 #define w_ctr(x,y) do { parport_write_control(lp_table[(x)].dev->port, (y)); } while (0)
163 #define w_dtr(x,y) do { parport_write_data(lp_table[(x)].dev->port, (y)); } while (0)
195 static int lp_negotiate(struct parport * port, int mode)
197 if (parport_negotiate (port, mode) != 0) {
199 parport_negotiate (port, mode);
225 polling = lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE;
298 struct parport *port = lp_table[minor].dev->port;
329 lp_table[minor].current_mode = lp_negotiate (port,
339 written = parport_write (port, kbuf, copy_size);
358 parport_negotiate (lp_table[minor].dev->port,
376 = lp_negotiate (port,
398 parport_negotiate (lp_table[minor].dev->port,
417 struct parport *port = lp_table[minor].dev->port;
435 parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
436 if (parport_negotiate (lp_table[minor].dev->port,
443 retval = parport_read (port, kbuf, count);
455 if (lp_table[minor].dev->port->irq == PARPORT_IRQ_NONE) {
456 parport_negotiate (lp_table[minor].dev->port,
459 if (parport_negotiate (lp_table[minor].dev->port,
477 parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
544 if ( (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) &&
545 !parport_negotiate (lp_table[minor].dev->port,
553 parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
566 parport_negotiate (lp_table[minor].dev->port, IEEE1284_MODE_COMPAT);
773 struct parport *port = dev->port;
783 parport_negotiate (port, IEEE1284_MODE_COMPAT);
793 written = parport_write (port, s, canwrite);
811 written = parport_write (port, crlf, i);
870 static int lp_register(int nr, struct parport *port)
872 lp_table[nr].dev = parport_register_device(port, "lp",
882 device_create(lp_class, port->dev, MKDEV(LP_MAJOR, nr), NULL,
885 printk(KERN_INFO "lp%d: using %s (%s).\n", nr, port->name,
886 (port->irq == PARPORT_IRQ_NONE)?"polling":"interrupt-driven");
890 if (port->modes & PARPORT_MODE_SAFEININT) {
892 console_registered = port;
896 CONSOLE_LP, port->name);
903 static void lp_attach (struct parport *port)
911 port->probe_info[0].class != PARPORT_CLASS_PRINTER)
914 printk(KERN_INFO "lp: ignoring parallel port (max. %d)\n",LP_NO);
917 if (!lp_register(lp_count, port))
923 if (port->number == parport_nr[i]) {
924 if (!lp_register(i, port))
933 static void lp_detach (struct parport *port)
937 if (console_registered == port) {
1027 printk(KERN_ERR "lp: bad port specifier `%s'\n", parport[n]);