From f8bd7766a681d3c4bc0320950c917cf33ea9bd36 Mon Sep 17 00:00:00 2001 From: Samuel Iglesias Gonsalvez Date: Mon, 10 Dec 2012 11:50:00 +0100 Subject: [PATCH] --- yaml --- r: 354935 b: refs/heads/master c: a1da13a67afa45cf996ae9325030dd86c26573fc h: refs/heads/master i: 354933: f690662bd17350b1fc3d29b82e8c4ba69236cd04 354931: c9903c25ab153011f7ab93a0e167fbc78ab616a0 354927: 8aa078fbb7ef4ad01c24b1f77d63cfb5d31efbf9 v: v3 --- [refs] | 2 +- trunk/drivers/ipack/devices/ipoctal.c | 19 +++---------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/[refs] b/[refs] index ed8fc536c15f..56202d36e60f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7e5730d7c22267e406454b5cff0c40e4ebf9a0da +refs/heads/master: a1da13a67afa45cf996ae9325030dd86c26573fc diff --git a/trunk/drivers/ipack/devices/ipoctal.c b/trunk/drivers/ipack/devices/ipoctal.c index 8d0a86631908..18f9cf1ffe2b 100644 --- a/trunk/drivers/ipack/devices/ipoctal.c +++ b/trunk/drivers/ipack/devices/ipoctal.c @@ -20,7 +20,6 @@ #include #include #include -#include #include #include #include "ipoctal.h" @@ -42,7 +41,6 @@ struct ipoctal_channel { union scc2698_channel __iomem *regs; union scc2698_block __iomem *block_regs; unsigned int board_id; - unsigned char *board_write; u8 isr_rx_rdy_mask; u8 isr_tx_rdy_mask; }; @@ -51,7 +49,6 @@ struct ipoctal { struct ipack_device *dev; unsigned int board_id; struct ipoctal_channel channel[NR_CHANNELS]; - unsigned char write; struct tty_driver *tty_drv; u8 __iomem *mem8_space; u8 __iomem *int_space; @@ -181,10 +178,8 @@ static void ipoctal_irq_tx(struct ipoctal_channel *channel) channel->nb_bytes--; if (channel->nb_bytes == 0 && - channel->board_id != IPACK1_DEVICE_ID_SBS_OCTAL_485) { - *channel->board_write = 1; - wake_up_interruptible(&channel->queue); - } + channel->board_id != IPACK1_DEVICE_ID_SBS_OCTAL_485) + iowrite8(CR_DISABLE_TX, &channel->regs->w.cr); } static void ipoctal_irq_channel(struct ipoctal_channel *channel) @@ -207,8 +202,7 @@ static void ipoctal_irq_channel(struct ipoctal_channel *channel) iowrite8(CR_DISABLE_TX, &channel->regs->w.cr); iowrite8(CR_CMD_NEGATE_RTSN, &channel->regs->w.cr); iowrite8(CR_ENABLE_RX, &channel->regs->w.cr); - *channel->board_write = 1; - wake_up_interruptible(&channel->queue); + iowrite8(CR_DISABLE_TX, &channel->regs->w.cr); } /* RX data */ @@ -302,7 +296,6 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr, struct ipoctal_channel *channel = &ipoctal->channel[i]; channel->regs = chan_regs + i; channel->block_regs = block_regs + (i >> 1); - channel->board_write = &ipoctal->write; channel->board_id = ipoctal->board_id; if (i & 1) { channel->isr_tx_rdy_mask = ISR_TxRDY_B; @@ -385,8 +378,6 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr, ipoctal_reset_stats(&channel->stats); channel->nb_bytes = 0; - init_waitqueue_head(&channel->queue); - spin_lock_init(&channel->lock); channel->pointer_read = 0; channel->pointer_write = 0; @@ -450,10 +441,6 @@ static int ipoctal_write_tty(struct tty_struct *tty, * operations */ iowrite8(CR_ENABLE_TX, &channel->regs->w.cr); - wait_event_interruptible(channel->queue, *channel->board_write); - iowrite8(CR_DISABLE_TX, &channel->regs->w.cr); - - *channel->board_write = 0; return char_copied; }