mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
parport: remove unused dead code from lowlevel drivers
This unused code has been untouched for over 7 years and must go. Signed-off-by: Matt Porter <mporter@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1790625feb
commit
991214386d
5 changed files with 0 additions and 377 deletions
|
@ -48,23 +48,6 @@ static unsigned char amiga_read_data(struct parport *p)
|
|||
return ciaa.prb;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static unsigned char control_pc_to_amiga(unsigned char control)
|
||||
{
|
||||
unsigned char ret = 0;
|
||||
|
||||
if (control & PARPORT_CONTROL_SELECT) /* XXX: What is SELECP? */
|
||||
;
|
||||
if (control & PARPORT_CONTROL_INIT) /* INITP */
|
||||
/* reset connected to cpu reset pin */;
|
||||
if (control & PARPORT_CONTROL_AUTOFD) /* AUTOLF */
|
||||
/* Not connected */;
|
||||
if (control & PARPORT_CONTROL_STROBE) /* Strobe */
|
||||
/* Handled only directly by hardware */;
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned char control_amiga_to_pc(unsigned char control)
|
||||
{
|
||||
return PARPORT_CONTROL_SELECT |
|
||||
|
@ -95,25 +78,6 @@ static unsigned char amiga_frob_control( struct parport *p, unsigned char mask,
|
|||
return old;
|
||||
}
|
||||
|
||||
#if 0 /* currently unused */
|
||||
static unsigned char status_pc_to_amiga(unsigned char status)
|
||||
{
|
||||
unsigned char ret = 1;
|
||||
|
||||
if (status & PARPORT_STATUS_BUSY) /* Busy */
|
||||
ret &= ~1;
|
||||
if (status & PARPORT_STATUS_ACK) /* Ack */
|
||||
/* handled in hardware */;
|
||||
if (status & PARPORT_STATUS_PAPEROUT) /* PaperOut */
|
||||
ret |= 2;
|
||||
if (status & PARPORT_STATUS_SELECT) /* select */
|
||||
ret |= 4;
|
||||
if (status & PARPORT_STATUS_ERROR) /* error */
|
||||
/* not connected */;
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned char status_amiga_to_pc(unsigned char status)
|
||||
{
|
||||
unsigned char ret = PARPORT_STATUS_BUSY | PARPORT_STATUS_ACK | PARPORT_STATUS_ERROR;
|
||||
|
|
|
@ -130,15 +130,6 @@ parport_atari_data_forward(struct parport *p)
|
|||
static void
|
||||
parport_atari_data_reverse(struct parport *p)
|
||||
{
|
||||
#if 0 /* too dangerous, can kill sound chip */
|
||||
unsigned long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
/* Soundchip port B as input. */
|
||||
sound_ym.rd_data_reg_sel = 7;
|
||||
sound_ym.wd_data = sound_ym.rd_data_reg_sel & ~0x40;
|
||||
local_irq_restore(flags);
|
||||
#endif
|
||||
}
|
||||
|
||||
static struct parport_operations parport_atari_ops = {
|
||||
|
|
|
@ -147,25 +147,6 @@ DPRINTK(KERN_DEBUG "frob_control mask %02x, value %02x\n",mask,val);
|
|||
return old;
|
||||
}
|
||||
|
||||
#if 0 /* currently unused */
|
||||
static unsigned char status_pc_to_mfc3(unsigned char status)
|
||||
{
|
||||
unsigned char ret = 1;
|
||||
|
||||
if (status & PARPORT_STATUS_BUSY) /* Busy */
|
||||
ret &= ~1;
|
||||
if (status & PARPORT_STATUS_ACK) /* Ack */
|
||||
ret |= 8;
|
||||
if (status & PARPORT_STATUS_PAPEROUT) /* PaperOut */
|
||||
ret |= 2;
|
||||
if (status & PARPORT_STATUS_SELECT) /* select */
|
||||
ret |= 4;
|
||||
if (status & PARPORT_STATUS_ERROR) /* error */
|
||||
ret |= 16;
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned char status_mfc3_to_pc(unsigned char status)
|
||||
{
|
||||
unsigned char ret = PARPORT_STATUS_BUSY;
|
||||
|
@ -184,14 +165,6 @@ static unsigned char status_mfc3_to_pc(unsigned char status)
|
|||
return ret;
|
||||
}
|
||||
|
||||
#if 0 /* currently unused */
|
||||
static void mfc3_write_status( struct parport *p, unsigned char status)
|
||||
{
|
||||
DPRINTK(KERN_DEBUG "write_status %02x\n",status);
|
||||
pia(p)->ppra = (pia(p)->ppra & 0xe0) | status_pc_to_mfc3(status);
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned char mfc3_read_status(struct parport *p)
|
||||
{
|
||||
unsigned char status;
|
||||
|
@ -201,14 +174,6 @@ DPRINTK(KERN_DEBUG "read_status %02x\n", status);
|
|||
return status;
|
||||
}
|
||||
|
||||
#if 0 /* currently unused */
|
||||
static void mfc3_change_mode( struct parport *p, int m)
|
||||
{
|
||||
/* XXX: This port only has one mode, and I am
|
||||
not sure about the corresponding PC-style mode*/
|
||||
}
|
||||
#endif
|
||||
|
||||
static int use_cnt = 0;
|
||||
|
||||
static irqreturn_t mfc3_interrupt(int irq, void *dev_id)
|
||||
|
|
|
@ -197,54 +197,6 @@ static int change_mode(struct parport *p, int m)
|
|||
ECR_WRITE(p, oecr);
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PARPORT_1284
|
||||
/* Find FIFO lossage; FIFO is reset */
|
||||
#if 0
|
||||
static int get_fifo_residue(struct parport *p)
|
||||
{
|
||||
int residue;
|
||||
int cnfga;
|
||||
const struct parport_pc_private *priv = p->physport->private_data;
|
||||
|
||||
/* Adjust for the contents of the FIFO. */
|
||||
for (residue = priv->fifo_depth; ; residue--) {
|
||||
if (inb(ECONTROL(p)) & 0x2)
|
||||
/* Full up. */
|
||||
break;
|
||||
|
||||
outb(0, FIFO(p));
|
||||
}
|
||||
|
||||
printk(KERN_DEBUG "%s: %d PWords were left in FIFO\n", p->name,
|
||||
residue);
|
||||
|
||||
/* Reset the FIFO. */
|
||||
frob_set_mode(p, ECR_PS2);
|
||||
|
||||
/* Now change to config mode and clean up. FIXME */
|
||||
frob_set_mode(p, ECR_CNF);
|
||||
cnfga = inb(CONFIGA(p));
|
||||
printk(KERN_DEBUG "%s: cnfgA contains 0x%02x\n", p->name, cnfga);
|
||||
|
||||
if (!(cnfga & (1<<2))) {
|
||||
printk(KERN_DEBUG "%s: Accounting for extra byte\n", p->name);
|
||||
residue++;
|
||||
}
|
||||
|
||||
/* Don't care about partial PWords until support is added for
|
||||
* PWord != 1 byte. */
|
||||
|
||||
/* Back to PS2 mode. */
|
||||
frob_set_mode(p, ECR_PS2);
|
||||
|
||||
DPRINTK(KERN_DEBUG
|
||||
"*** get_fifo_residue: done residue collecting (ecr = 0x%2.2x)\n",
|
||||
inb(ECONTROL(p)));
|
||||
return residue;
|
||||
}
|
||||
#endif /* 0 */
|
||||
#endif /* IEEE 1284 support */
|
||||
#endif /* FIFO support */
|
||||
|
||||
/*
|
||||
|
@ -940,234 +892,6 @@ static size_t parport_pc_ecp_write_block_pio(struct parport *port,
|
|||
|
||||
return written;
|
||||
}
|
||||
|
||||
#if 0
|
||||
static size_t parport_pc_ecp_read_block_pio(struct parport *port,
|
||||
void *buf, size_t length,
|
||||
int flags)
|
||||
{
|
||||
size_t left = length;
|
||||
size_t fifofull;
|
||||
int r;
|
||||
const int fifo = FIFO(port);
|
||||
const struct parport_pc_private *priv = port->physport->private_data;
|
||||
const int fifo_depth = priv->fifo_depth;
|
||||
char *bufp = buf;
|
||||
|
||||
port = port->physport;
|
||||
DPRINTK(KERN_DEBUG "parport_pc: parport_pc_ecp_read_block_pio\n");
|
||||
dump_parport_state("enter fcn", port);
|
||||
|
||||
/* Special case: a timeout of zero means we cannot call schedule().
|
||||
* Also if O_NONBLOCK is set then use the default implementation. */
|
||||
if (port->cad->timeout <= PARPORT_INACTIVITY_O_NONBLOCK)
|
||||
return parport_ieee1284_ecp_read_data(port, buf,
|
||||
length, flags);
|
||||
|
||||
if (port->ieee1284.mode == IEEE1284_MODE_ECPRLE) {
|
||||
/* If the peripheral is allowed to send RLE compressed
|
||||
* data, it is possible for a byte to expand to 128
|
||||
* bytes in the FIFO. */
|
||||
fifofull = 128;
|
||||
} else {
|
||||
fifofull = fifo_depth;
|
||||
}
|
||||
|
||||
/* If the caller wants less than a full FIFO's worth of data,
|
||||
* go through software emulation. Otherwise we may have to throw
|
||||
* away data. */
|
||||
if (length < fifofull)
|
||||
return parport_ieee1284_ecp_read_data(port, buf,
|
||||
length, flags);
|
||||
|
||||
if (port->ieee1284.phase != IEEE1284_PH_REV_IDLE) {
|
||||
/* change to reverse-idle phase (must be in forward-idle) */
|
||||
|
||||
/* Event 38: Set nAutoFd low (also make sure nStrobe is high) */
|
||||
parport_frob_control(port,
|
||||
PARPORT_CONTROL_AUTOFD
|
||||
| PARPORT_CONTROL_STROBE,
|
||||
PARPORT_CONTROL_AUTOFD);
|
||||
parport_pc_data_reverse(port); /* Must be in PS2 mode */
|
||||
udelay(5);
|
||||
/* Event 39: Set nInit low to initiate bus reversal */
|
||||
parport_frob_control(port,
|
||||
PARPORT_CONTROL_INIT,
|
||||
0);
|
||||
/* Event 40: Wait for nAckReverse (PError) to go low */
|
||||
r = parport_wait_peripheral(port, PARPORT_STATUS_PAPEROUT, 0);
|
||||
if (r) {
|
||||
printk(KERN_DEBUG "%s: PE timeout Event 40 (%d) "
|
||||
"in ecp_read_block_pio\n", port->name, r);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Set up ECP FIFO mode.*/
|
||||
/* parport_pc_frob_control(port,
|
||||
PARPORT_CONTROL_STROBE |
|
||||
PARPORT_CONTROL_AUTOFD,
|
||||
PARPORT_CONTROL_AUTOFD); */
|
||||
r = change_mode(port, ECR_ECP); /* ECP FIFO */
|
||||
if (r)
|
||||
printk(KERN_DEBUG "%s: Warning change_mode ECR_ECP failed\n",
|
||||
port->name);
|
||||
|
||||
port->ieee1284.phase = IEEE1284_PH_REV_DATA;
|
||||
|
||||
/* the first byte must be collected manually */
|
||||
dump_parport_state("pre 43", port);
|
||||
/* Event 43: Wait for nAck to go low */
|
||||
r = parport_wait_peripheral(port, PARPORT_STATUS_ACK, 0);
|
||||
if (r) {
|
||||
/* timed out while reading -- no data */
|
||||
printk(KERN_DEBUG "PIO read timed out (initial byte)\n");
|
||||
goto out_no_data;
|
||||
}
|
||||
/* read byte */
|
||||
*bufp++ = inb(DATA(port));
|
||||
left--;
|
||||
dump_parport_state("43-44", port);
|
||||
/* Event 44: nAutoFd (HostAck) goes high to acknowledge */
|
||||
parport_pc_frob_control(port,
|
||||
PARPORT_CONTROL_AUTOFD,
|
||||
0);
|
||||
dump_parport_state("pre 45", port);
|
||||
/* Event 45: Wait for nAck to go high */
|
||||
/* r = parport_wait_peripheral(port, PARPORT_STATUS_ACK,
|
||||
PARPORT_STATUS_ACK); */
|
||||
dump_parport_state("post 45", port);
|
||||
r = 0;
|
||||
if (r) {
|
||||
/* timed out while waiting for peripheral to respond to ack */
|
||||
printk(KERN_DEBUG "ECP PIO read timed out (waiting for nAck)\n");
|
||||
|
||||
/* keep hold of the byte we've got already */
|
||||
goto out_no_data;
|
||||
}
|
||||
/* Event 46: nAutoFd (HostAck) goes low to accept more data */
|
||||
parport_pc_frob_control(port,
|
||||
PARPORT_CONTROL_AUTOFD,
|
||||
PARPORT_CONTROL_AUTOFD);
|
||||
|
||||
|
||||
dump_parport_state("rev idle", port);
|
||||
/* Do the transfer. */
|
||||
while (left > fifofull) {
|
||||
int ret;
|
||||
unsigned long expire = jiffies + port->cad->timeout;
|
||||
unsigned char ecrval = inb(ECONTROL(port));
|
||||
|
||||
if (need_resched() && time_before(jiffies, expire))
|
||||
/* Can't yield the port. */
|
||||
schedule();
|
||||
|
||||
/* At this point, the FIFO may already be full. In
|
||||
* that case ECP is already holding back the
|
||||
* peripheral (assuming proper design) with a delayed
|
||||
* handshake. Work fast to avoid a peripheral
|
||||
* timeout. */
|
||||
|
||||
if (ecrval & 0x01) {
|
||||
/* FIFO is empty. Wait for interrupt. */
|
||||
dump_parport_state("FIFO empty", port);
|
||||
|
||||
/* Anyone else waiting for the port? */
|
||||
if (port->waithead) {
|
||||
printk(KERN_DEBUG "Somebody wants the port\n");
|
||||
break;
|
||||
}
|
||||
|
||||
/* Clear serviceIntr */
|
||||
ECR_WRITE(port, ecrval & ~(1<<2));
|
||||
false_alarm:
|
||||
dump_parport_state("waiting", port);
|
||||
ret = parport_wait_event(port, HZ);
|
||||
DPRINTK(KERN_DEBUG "parport_wait_event returned %d\n",
|
||||
ret);
|
||||
if (ret < 0)
|
||||
break;
|
||||
ret = 0;
|
||||
if (!time_before(jiffies, expire)) {
|
||||
/* Timed out. */
|
||||
dump_parport_state("timeout", port);
|
||||
printk(KERN_DEBUG "PIO read timed out\n");
|
||||
break;
|
||||
}
|
||||
ecrval = inb(ECONTROL(port));
|
||||
if (!(ecrval & (1<<2))) {
|
||||
if (need_resched() &&
|
||||
time_before(jiffies, expire)) {
|
||||
schedule();
|
||||
}
|
||||
goto false_alarm;
|
||||
}
|
||||
|
||||
/* Depending on how the FIFO threshold was
|
||||
* set, how long interrupt service took, and
|
||||
* how fast the peripheral is, we might be
|
||||
* lucky and have a just filled FIFO. */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ecrval & 0x02) {
|
||||
/* FIFO is full. */
|
||||
dump_parport_state("FIFO full", port);
|
||||
insb(fifo, bufp, fifo_depth);
|
||||
bufp += fifo_depth;
|
||||
left -= fifo_depth;
|
||||
continue;
|
||||
}
|
||||
|
||||
DPRINTK(KERN_DEBUG
|
||||
"*** ecp_read_block_pio: reading one byte from the FIFO\n");
|
||||
|
||||
/* FIFO not filled. We will cycle this loop for a while
|
||||
* and either the peripheral will fill it faster,
|
||||
* tripping a fast empty with insb, or we empty it. */
|
||||
*bufp++ = inb(fifo);
|
||||
left--;
|
||||
}
|
||||
|
||||
/* scoop up anything left in the FIFO */
|
||||
while (left && !(inb(ECONTROL(port) & 0x01))) {
|
||||
*bufp++ = inb(fifo);
|
||||
left--;
|
||||
}
|
||||
|
||||
port->ieee1284.phase = IEEE1284_PH_REV_IDLE;
|
||||
dump_parport_state("rev idle2", port);
|
||||
|
||||
out_no_data:
|
||||
|
||||
/* Go to forward idle mode to shut the peripheral up (event 47). */
|
||||
parport_frob_control(port, PARPORT_CONTROL_INIT, PARPORT_CONTROL_INIT);
|
||||
|
||||
/* event 49: PError goes high */
|
||||
r = parport_wait_peripheral(port,
|
||||
PARPORT_STATUS_PAPEROUT,
|
||||
PARPORT_STATUS_PAPEROUT);
|
||||
if (r) {
|
||||
printk(KERN_DEBUG
|
||||
"%s: PE timeout FWDIDLE (%d) in ecp_read_block_pio\n",
|
||||
port->name, r);
|
||||
}
|
||||
|
||||
port->ieee1284.phase = IEEE1284_PH_FWD_IDLE;
|
||||
|
||||
/* Finish up. */
|
||||
{
|
||||
int lost = get_fifo_residue(port);
|
||||
if (lost)
|
||||
/* Shouldn't happen with compliant peripherals. */
|
||||
printk(KERN_DEBUG "%s: DATA LOSS (%d bytes)!\n",
|
||||
port->name, lost);
|
||||
}
|
||||
|
||||
dump_parport_state("fwd idle", port);
|
||||
return length - left;
|
||||
}
|
||||
#endif /* 0 */
|
||||
#endif /* IEEE 1284 support */
|
||||
#endif /* Allowed to use FIFO/DMA */
|
||||
|
||||
|
|
|
@ -82,27 +82,6 @@ static unsigned char parport_sunbpp_read_data(struct parport *p)
|
|||
return sbus_readb(®s->p_dr);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void control_pc_to_sunbpp(struct parport *p, unsigned char status)
|
||||
{
|
||||
struct bpp_regs __iomem *regs = (struct bpp_regs __iomem *)p->base;
|
||||
unsigned char value_tcr = sbus_readb(®s->p_tcr);
|
||||
unsigned char value_or = sbus_readb(®s->p_or);
|
||||
|
||||
if (status & PARPORT_CONTROL_STROBE)
|
||||
value_tcr |= P_TCR_DS;
|
||||
if (status & PARPORT_CONTROL_AUTOFD)
|
||||
value_or |= P_OR_AFXN;
|
||||
if (status & PARPORT_CONTROL_INIT)
|
||||
value_or |= P_OR_INIT;
|
||||
if (status & PARPORT_CONTROL_SELECT)
|
||||
value_or |= P_OR_SLCT_IN;
|
||||
|
||||
sbus_writeb(value_or, ®s->p_or);
|
||||
sbus_writeb(value_tcr, ®s->p_tcr);
|
||||
}
|
||||
#endif
|
||||
|
||||
static unsigned char status_sunbpp_to_pc(struct parport *p)
|
||||
{
|
||||
struct bpp_regs __iomem *regs = (struct bpp_regs __iomem *)p->base;
|
||||
|
|
Loading…
Reference in a new issue