diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-16 01:07:24 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-16 01:07:24 +0000 |
commit | 95db6b748fc86297827fbd9c9ef174d491c9ad89 (patch) | |
tree | 27a92a942821cde1edda9a1b088718d436b3efe4 /drivers/parport | |
parent | 45b27b0a0652331d104c953a5b192d843fff88f8 (diff) |
Merge with Linux 2.3.40.
Diffstat (limited to 'drivers/parport')
-rw-r--r-- | drivers/parport/Config.in | 2 | ||||
-rw-r--r-- | drivers/parport/ieee1284_ops.c | 1 | ||||
-rw-r--r-- | drivers/parport/parport_pc.c | 25 |
3 files changed, 8 insertions, 20 deletions
diff --git a/drivers/parport/Config.in b/drivers/parport/Config.in index 3297568f0..d2af7d8f6 100644 --- a/drivers/parport/Config.in +++ b/drivers/parport/Config.in @@ -14,7 +14,7 @@ if [ "$CONFIG_PARPORT" != "n" ]; then if [ "$CONFIG_PARPORT_PC" = "y" ]; then # Don't bother with this if parport_pc is a module; it only affects # the presence or not of some __init's, which are no-ops for modules. - if [ "$CONFIG_PCMCIA" != "n" ]; then + if [ "$CONFIG_HOTPLUG" = "y" -a "$CONFIG_PCMCIA" != "n" ]; then bool ' Support for PCMCIA management for PC-style ports' CONFIG_PARPORT_PC_PCMCIA fi fi diff --git a/drivers/parport/ieee1284_ops.c b/drivers/parport/ieee1284_ops.c index 41dd5abb9..df2779bb5 100644 --- a/drivers/parport/ieee1284_ops.c +++ b/drivers/parport/ieee1284_ops.c @@ -56,6 +56,7 @@ size_t parport_ieee1284_write_compat (struct parport *port, } port->physport->ieee1284.phase = IEEE1284_PH_FWD_DATA; + parport_write_control (port, ctl); while (count < len) { long expire = jiffies + dev->timeout; long wait = (HZ + 99) / 100; diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index 376d01d30..57e6ac684 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c @@ -153,9 +153,7 @@ static int get_fifo_residue (struct parport *p) const struct parport_pc_private *priv = p->physport->private_data; /* Prevent further data transfer. */ - parport_frob_control (p, - PARPORT_CONTROL_STROBE, - PARPORT_CONTROL_STROBE); + frob_econtrol (p, 0xe0, ECR_TST << 5); /* Adjust for the contents of the FIFO. */ for (residue = priv->fifo_depth; ; residue--) { @@ -171,7 +169,6 @@ static int get_fifo_residue (struct parport *p) /* Reset the FIFO. */ frob_econtrol (p, 0xe0, ECR_PS2 << 5); - parport_frob_control (p, PARPORT_CONTROL_STROBE, 0); /* Now change to config mode and clean up. FIXME */ frob_econtrol (p, 0xe0, ECR_CNF << 5); @@ -500,7 +497,7 @@ static size_t parport_pc_fifo_write_block_pio (struct parport *port, ret = 0; if (!time_before (jiffies, expire)) { /* Timed out. */ - printk (KERN_DEBUG "Timed out\n"); + printk (KERN_DEBUG "FIFO write timed out\n"); break; } ecrval = inb (ECONTROL (port)); @@ -601,7 +598,7 @@ static size_t parport_pc_fifo_write_block_dma (struct parport *port, ret = 0; if (!time_before (jiffies, expire)) { /* Timed out. */ - printk (KERN_DEBUG "Timed out\n"); + printk (KERN_DEBUG "DMA write timed out\n"); break; } /* Is serviceIntr set? */ @@ -677,9 +674,7 @@ size_t parport_pc_compat_write_block_pio (struct parport *port, printk (KERN_DEBUG "%s: FIFO is stuck\n", port->name); /* Prevent further data transfer. */ - parport_frob_control (port, - PARPORT_CONTROL_STROBE, - PARPORT_CONTROL_STROBE); + frob_econtrol (port, 0xe0, ECR_TST << 5); /* Adjust for the contents of the FIFO. */ for (written -= priv->fifo_depth; ; written++) { @@ -692,9 +687,6 @@ size_t parport_pc_compat_write_block_pio (struct parport *port, /* Reset the FIFO and return to PS2 mode. */ frob_econtrol (port, 0xe0, ECR_PS2 << 5); - - /* De-assert strobe. */ - parport_frob_control (port, PARPORT_CONTROL_STROBE, 0); } parport_wait_peripheral (port, @@ -748,9 +740,7 @@ size_t parport_pc_ecp_write_block_pio (struct parport *port, printk (KERN_DEBUG "%s: FIFO is stuck\n", port->name); /* Prevent further data transfer. */ - parport_frob_control (port, - PARPORT_CONTROL_STROBE, - PARPORT_CONTROL_STROBE); + frob_econtrol (port, 0xe0, ECR_TST << 5); /* Adjust for the contents of the FIFO. */ for (written -= priv->fifo_depth; ; written++) { @@ -764,9 +754,6 @@ size_t parport_pc_ecp_write_block_pio (struct parport *port, /* Reset the FIFO and return to PS2 mode. */ frob_econtrol (port, 0xe0, ECR_PS2 << 5); - /* De-assert strobe. */ - parport_frob_control (port, PARPORT_CONTROL_STROBE, 0); - /* Host transfer recovery. */ parport_pc_data_reverse (port); /* Must be in PS2 mode */ udelay (5); @@ -878,7 +865,7 @@ size_t parport_pc_ecp_read_block_pio (struct parport *port, ret = 0; if (!time_before (jiffies, expire)) { /* Timed out. */ - printk (KERN_DEBUG "Timed out\n"); + printk (KERN_DEBUG "PIO read timed out\n"); break; } ecrval = inb (ECONTROL (port)); |