[PATCH 088/141] staging: unisys: remove charqueue.c

Benjamin Romer benjamin.romer at unisys.com
Tue May 5 22:37:05 UTC 2015


From: Erik Arfvidson <erik.arfvidson at unisys.com>

This patch removes charqueue.[ch] since it no longer called

Signed-off-by: Erik Arfvidson <erik.arfvidson at unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer at unisys.com>
---
 drivers/staging/unisys/visorutil/Makefile    |   2 +-
 drivers/staging/unisys/visorutil/charqueue.c | 127 ---------------------------
 drivers/staging/unisys/visorutil/charqueue.h |  37 --------
 3 files changed, 1 insertion(+), 165 deletions(-)
 delete mode 100644 drivers/staging/unisys/visorutil/charqueue.c
 delete mode 100644 drivers/staging/unisys/visorutil/charqueue.h

diff --git a/drivers/staging/unisys/visorutil/Makefile b/drivers/staging/unisys/visorutil/Makefile
index 88db085..8f6a3e3 100644
--- a/drivers/staging/unisys/visorutil/Makefile
+++ b/drivers/staging/unisys/visorutil/Makefile
@@ -4,6 +4,6 @@
 
 obj-$(CONFIG_UNISYS_VISORUTIL)	+= visorutil.o
 
-visorutil-y := charqueue.o periodic_work.o
+visorutil-y := periodic_work.o
 
 ccflags-y += -Idrivers/staging/unisys/include
diff --git a/drivers/staging/unisys/visorutil/charqueue.c b/drivers/staging/unisys/visorutil/charqueue.c
deleted file mode 100644
index f222719..0000000
--- a/drivers/staging/unisys/visorutil/charqueue.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/* charqueue.c
- *
- * Copyright (C) 2010 - 2013 UNISYS CORPORATION
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
- * NON INFRINGEMENT.  See the GNU General Public License for more
- * details.
- */
-
-/*
- *  Simple character queue implementation for Linux kernel mode.
- */
-
-#include "charqueue.h"
-
-#define MYDRVNAME "charqueue"
-
-#define IS_EMPTY(charqueue) (charqueue->head == charqueue->tail)
-
-struct charqueue {
-	int alloc_size;
-	int nslots;
-	spinlock_t lock; /* read/write lock for this structure */
-	int head, tail;
-	unsigned char buf[0];
-};
-
-struct charqueue *visor_charqueue_create(ulong nslots)
-{
-	int alloc_size = sizeof(struct charqueue) + nslots + 1;
-	struct charqueue *cq;
-
-	cq = kmalloc(alloc_size, GFP_KERNEL|__GFP_NORETRY);
-	if (cq == NULL)
-		return NULL;
-	cq->alloc_size = alloc_size;
-	cq->nslots = nslots;
-	cq->head = 0;
-	cq->tail = 0;
-	spin_lock_init(&cq->lock);
-	return cq;
-}
-EXPORT_SYMBOL_GPL(visor_charqueue_create);
-
-void visor_charqueue_enqueue(struct charqueue *charqueue, unsigned char c)
-{
-	int alloc_slots = charqueue->nslots+1;  /* 1 slot is always empty */
-
-	spin_lock(&charqueue->lock);
-	charqueue->head = (charqueue->head+1) % alloc_slots;
-	if (charqueue->head == charqueue->tail)
-		/* overflow; overwrite the oldest entry */
-		charqueue->tail = (charqueue->tail+1) % alloc_slots;
-	charqueue->buf[charqueue->head] = c;
-	spin_unlock(&charqueue->lock);
-}
-EXPORT_SYMBOL_GPL(visor_charqueue_enqueue);
-
-bool visor_charqueue_is_empty(struct charqueue *charqueue)
-{
-	bool b;
-
-	spin_lock(&charqueue->lock);
-	b = IS_EMPTY(charqueue);
-	spin_unlock(&charqueue->lock);
-	return b;
-}
-EXPORT_SYMBOL_GPL(visor_charqueue_is_empty);
-
-static int charqueue_dequeue_1(struct charqueue *charqueue)
-{
-	int alloc_slots = charqueue->nslots + 1;  /* 1 slot is always empty */
-
-	if (IS_EMPTY(charqueue))
-		return -1;
-	charqueue->tail = (charqueue->tail+1) % alloc_slots;
-	return charqueue->buf[charqueue->tail];
-}
-
-int charqueue_dequeue(struct charqueue *charqueue)
-{
-	int rc;
-
-	spin_lock(&charqueue->lock);
-	rc = charqueue_dequeue_1(charqueue);
-	spin_unlock(&charqueue->lock);
-	return rc;
-}
-
-int visor_charqueue_dequeue_n(struct charqueue *charqueue, unsigned char *buf,
-			      int n)
-{
-	int rc, counter = 0, c;
-
-	spin_lock(&charqueue->lock);
-	for (;;) {
-		if (n <= 0)
-			break;  /* no more buffer space */
-		c = charqueue_dequeue_1(charqueue);
-		if (c < 0)
-			break;  /* no more input */
-		*buf = (unsigned char)(c);
-		buf++;
-		n--;
-		counter++;
-	}
-	rc = counter;
-	spin_unlock(&charqueue->lock);
-	return rc;
-}
-EXPORT_SYMBOL_GPL(visor_charqueue_dequeue_n);
-
-void visor_charqueue_destroy(struct charqueue *charqueue)
-{
-	if (charqueue == NULL)
-		return;
-	kfree(charqueue);
-}
-EXPORT_SYMBOL_GPL(visor_charqueue_destroy);
diff --git a/drivers/staging/unisys/visorutil/charqueue.h b/drivers/staging/unisys/visorutil/charqueue.h
deleted file mode 100644
index 70fe26b..0000000
--- a/drivers/staging/unisys/visorutil/charqueue.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* charqueue.h
- *
- * Copyright (C) 2010 - 2013 UNISYS CORPORATION
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
- * NON INFRINGEMENT.  See the GNU General Public License for more
- * details.
- */
-
-#ifndef __CHARQUEUE_H__
-#define __CHARQUEUE_H__
-
-#include "timskmod.h"
-
-/* struct charqueue is an opaque structure to users.
- * Fields are declared only in the implementation .c files.
- */
-struct charqueue;
-
-struct charqueue *visor_charqueue_create(ulong nslots);
-void visor_charqueue_enqueue(struct charqueue *charqueue, unsigned char c);
-int charqueue_dequeue(struct charqueue *charqueue);
-int visor_charqueue_dequeue_n(struct charqueue *charqueue, unsigned char *buf,
-			      int n);
-bool visor_charqueue_is_empty(struct charqueue *charqueue);
-void visor_charqueue_destroy(struct charqueue *charqueue);
-
-#endif
-
-- 
2.1.4



More information about the devel mailing list