summaryrefslogtreecommitdiffstats
path: root/drivers/staging/ipack
diff options
context:
space:
mode:
authorSamuel Iglesias Gonsalvez <siglesias@igalia.com>2012-09-13 12:32:23 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-09-13 20:21:38 -0700
commitd04600679ba08f40f5a3be597f44250b129af552 (patch)
treedfe338ab641bd013b797509aa9e50eb766078873 /drivers/staging/ipack
parent4514108c5b8088ab4a72ba27eb093882d76619cf (diff)
downloadop-kernel-dev-d04600679ba08f40f5a3be597f44250b129af552.zip
op-kernel-dev-d04600679ba08f40f5a3be597f44250b129af552.tar.gz
Staging: ipack/devices/ipoctal: simplify ipoctal_write_tty()
Remove count_wr and the assigment of nb_bytes = 0 in that function as is useless. Now it returns the count of the characters actually sent. There is other nb_bytes = 0 deleted that has a duplicate a few lines before. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/ipack')
-rw-r--r--drivers/staging/ipack/devices/ipoctal.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/staging/ipack/devices/ipoctal.c b/drivers/staging/ipack/devices/ipoctal.c
index 164e43c..2cdbf28 100644
--- a/drivers/staging/ipack/devices/ipoctal.c
+++ b/drivers/staging/ipack/devices/ipoctal.c
@@ -33,7 +33,6 @@ static const struct tty_operations ipoctal_fops;
struct ipoctal_channel {
struct ipoctal_stats stats;
unsigned int nb_bytes;
- unsigned int count_wr;
wait_queue_head_t queue;
spinlock_t lock;
unsigned int pointer_read;
@@ -189,7 +188,6 @@ static void ipoctal_irq_tx(struct ipoctal_channel *channel)
value = channel->tty_port.xmit_buf[*pointer_write];
iowrite8(value, &channel->regs->w.thr);
channel->stats.tx++;
- channel->count_wr++;
(*pointer_write)++;
*pointer_write = *pointer_write % PAGE_SIZE;
channel->nb_bytes--;
@@ -445,7 +443,6 @@ static int ipoctal_inst_slot(struct ipoctal *ipoctal, unsigned int bus_nr,
spin_lock_init(&channel->lock);
channel->pointer_read = 0;
channel->pointer_write = 0;
- channel->nb_bytes = 0;
tty_dev = tty_register_device(tty, i, NULL);
if (IS_ERR(tty_dev)) {
dev_err(&ipoctal->dev->dev, "Failed to register tty device.\n");
@@ -500,11 +497,9 @@ static int ipoctal_write_tty(struct tty_struct *tty,
const unsigned char *buf, int count)
{
struct ipoctal_channel *channel = tty->driver_data;
+ unsigned int char_copied;
- channel->nb_bytes = 0;
- channel->count_wr = 0;
-
- ipoctal_copy_write_buffer(channel, buf, count);
+ char_copied = ipoctal_copy_write_buffer(channel, buf, count);
/* As the IP-OCTAL 485 only supports half duplex, do it manually */
if (channel->board_id == IPACK1_DEVICE_ID_SBS_OCTAL_485) {
@@ -521,7 +516,7 @@ static int ipoctal_write_tty(struct tty_struct *tty,
iowrite8(CR_DISABLE_TX, &channel->regs->w.cr);
*channel->board_write = 0;
- return channel->count_wr;
+ return char_copied;
}
static int ipoctal_write_room(struct tty_struct *tty)
OpenPOWER on IntegriCloud