[PATCH 10/30] staging: unisys: change periodic_work.[ch] functions from bool to int

Benjamin Romer benjamin.romer at unisys.com
Tue Feb 10 17:58:44 UTC 2015


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

This patch changes the following functions from bool to int:
visor_periodic_work_nextperiod
visor_periodic_work_destroy
visor_periodic_work_stop
visor_periodic_work_start
Also change struct periodic_work variables from bool to int

Signed-off-by: Erik Arfvidson <erik.arfvidson at unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer at unisys.com>
---
 drivers/staging/unisys/include/periodic_work.h   |  6 +--
 drivers/staging/unisys/visorutil/periodic_work.c | 52 ++++++++++++------------
 2 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/drivers/staging/unisys/include/periodic_work.h b/drivers/staging/unisys/include/periodic_work.h
index 26ec10b..63008c6 100644
--- a/drivers/staging/unisys/include/periodic_work.h
+++ b/drivers/staging/unisys/include/periodic_work.h
@@ -31,8 +31,8 @@ struct periodic_work *visor_periodic_work_create(ulong jiffy_interval,
 					void *workfuncarg,
 					const char *devnam);
 void visor_periodic_work_destroy(struct periodic_work *pw);
-BOOL visor_periodic_work_nextperiod(struct periodic_work *pw);
-BOOL visor_periodic_work_start(struct periodic_work *pw);
-BOOL visor_periodic_work_stop(struct periodic_work *pw);
+int visor_periodic_work_nextperiod(struct periodic_work *pw);
+int visor_periodic_work_start(struct periodic_work *pw);
+int visor_periodic_work_stop(struct periodic_work *pw);
 
 #endif
diff --git a/drivers/staging/unisys/visorutil/periodic_work.c b/drivers/staging/unisys/visorutil/periodic_work.c
index 0908bf9..cde3b37 100644
--- a/drivers/staging/unisys/visorutil/periodic_work.c
+++ b/drivers/staging/unisys/visorutil/periodic_work.c
@@ -30,8 +30,8 @@ struct periodic_work {
 	struct delayed_work work;
 	void (*workfunc)(void *);
 	void *workfuncarg;
-	BOOL is_scheduled;
-	BOOL want_to_stop;
+	int is_scheduled;
+	int want_to_stop;
 	ulong jiffy_interval;
 	struct workqueue_struct *workqueue;
 	const char *devnam;
@@ -75,68 +75,68 @@ EXPORT_SYMBOL_GPL(visor_periodic_work_destroy);
 
 /** Call this from your periodic work worker function to schedule the next
  *  call.
- *  If this function returns FALSE, there was a failure and the
+ *  If this function returns 0, there was a failure and the
  *  periodic work is no longer scheduled
  */
-BOOL visor_periodic_work_nextperiod(struct periodic_work *pw)
+int visor_periodic_work_nextperiod(struct periodic_work *pw)
 {
-	BOOL rc = FALSE;
+	int rc = 0;
 
 	write_lock(&pw->lock);
 	if (pw->want_to_stop) {
-		pw->is_scheduled = FALSE;
-		pw->want_to_stop = FALSE;
-		rc = TRUE;  /* yes, TRUE; see visor_periodic_work_stop() */
+		pw->is_scheduled = 0;
+		pw->want_to_stop = 0;
+		rc = 1;  /* yes, TRUE; see visor_periodic_work_stop() */
 		goto unlock;
 	} else if (queue_delayed_work(pw->workqueue, &pw->work,
 				      pw->jiffy_interval) < 0) {
 		ERRDEV(pw->devnam, "queue_delayed_work failed!");
-		pw->is_scheduled = FALSE;
-		rc = FALSE;
+		pw->is_scheduled = 0;
+		rc = 0;
 		goto unlock;
 	}
-	rc = TRUE;
+	rc = 1;
 unlock:
 	write_unlock(&pw->lock);
 	return rc;
 }
 EXPORT_SYMBOL_GPL(visor_periodic_work_nextperiod);
 
-/** This function returns TRUE iff new periodic work was actually started.
- *  If this function returns FALSE, then no work was started
+/** This function returns 1 if new periodic work was actually started.
+ *  If this function returns 0, then no work was started
  *  (either because it was already started, or because of a failure).
  */
-BOOL visor_periodic_work_start(struct periodic_work *pw)
+int visor_periodic_work_start(struct periodic_work *pw)
 {
-	BOOL rc = FALSE;
+	int rc = 0;
 
 	write_lock(&pw->lock);
 	if (pw->is_scheduled) {
-		rc = FALSE;
+		rc = 0;
 		goto unlock;
 	}
 	if (pw->want_to_stop) {
 		ERRDEV(pw->devnam,
 		       "dev_start_periodic_work failed!");
-		rc = FALSE;
+		rc = 0;
 		goto unlock;
 	}
 	INIT_DELAYED_WORK(&pw->work, &periodic_work_func);
 	if (queue_delayed_work(pw->workqueue, &pw->work,
 			       pw->jiffy_interval) < 0) {
 		ERRDEV(pw->devnam, "%s queue_delayed_work failed!", __func__);
-		rc = FALSE;
+		rc = 0;
 		goto unlock;
 	}
-	pw->is_scheduled = TRUE;
-	rc = TRUE;
+	pw->is_scheduled = 1;
+	rc = 1;
 unlock:
 	write_unlock(&pw->lock);
 	return rc;
 }
 EXPORT_SYMBOL_GPL(visor_periodic_work_start);
 
-/** This function returns TRUE iff your call actually stopped the periodic
+/** This function returns 1 iff your call actually stopped the periodic
  *  work.
  *
  *  -- PAY ATTENTION... this is important --
@@ -170,20 +170,20 @@ EXPORT_SYMBOL_GPL(visor_periodic_work_start);
  *     this deadlock, you will get hung up in an infinite loop saying
  *     "waiting for delayed work...".
  */
-BOOL visor_periodic_work_stop(struct periodic_work *pw)
+int visor_periodic_work_stop(struct periodic_work *pw)
 {
-	BOOL stopped_something = FALSE;
+	int stopped_something = 0;
 
 	write_lock(&pw->lock);
 	stopped_something = pw->is_scheduled && (!pw->want_to_stop);
 	while (pw->is_scheduled) {
-		pw->want_to_stop = TRUE;
+		pw->want_to_stop = 1;
 		if (cancel_delayed_work(&pw->work)) {
 			/* We get here if the delayed work was pending as
 			 * delayed work, but was NOT run.
 			 */
 			ASSERT(pw->is_scheduled);
-			pw->is_scheduled = FALSE;
+			pw->is_scheduled = 0;
 		} else {
 			/* If we get here, either the delayed work:
 			 * - was run, OR,
@@ -208,7 +208,7 @@ BOOL visor_periodic_work_stop(struct periodic_work *pw)
 			SLEEPJIFFIES(10);
 			write_lock(&pw->lock);
 		} else {
-			pw->want_to_stop = FALSE;
+			pw->want_to_stop = 0;
 		}
 	}
 	write_unlock(&pw->lock);
-- 
2.1.0



More information about the devel mailing list