[PATCH 2/8] Staging: unisys: Cleanup macros to get rid of goto statements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Remove the following macros:
	TRY
	CHKFD
	CHKDD
	CHKFDX
	CHKDDX
	ADDPROCLINE
	TRY_WPOSTCODE_1
	TRY_WPOSTCODE_2
	FAIL_WPOSTCODE_2
	FAIL_WPOSTCODE_3

Part of a series to get rid of goto statements embedded in macros.  I'm
breaking this up into a series of smaller patches for easier review.  The later
patches in the series will actually remove the goto statements.

Signed-off-by: Ken Cox <jkc@xxxxxxxxxx>
---
 drivers/staging/unisys/include/timskmod.h          | 83 ----------------------
 .../unisys/visorchipset/visorchipset_main.c        | 27 ++++---
 2 files changed, 18 insertions(+), 92 deletions(-)

diff --git a/drivers/staging/unisys/include/timskmod.h b/drivers/staging/unisys/include/timskmod.h
index c4262ab..413a367 100644
--- a/drivers/staging/unisys/include/timskmod.h
+++ b/drivers/staging/unisys/include/timskmod.h
@@ -155,44 +155,10 @@ typedef long VMMIO32;/**< #VMMIO pointing to 32-bit data */
 		POSTCODE_LINUX_2(EVENT_PC, DIAG_SEVERITY_ERR);		\
 		RETINT(status);						\
 	} while (0)
-#define FAIL_WPOSTCODE_2(msg, status, EVENT_PC, pcval32bit) do {          \
-		ERRDRV("'%s'"						\
-		       ": error (status=%d)\n",				\
-		       msg, status);					\
-		POSTCODE_LINUX_3(EVENT_PC, pcval32bit, DIAG_SEVERITY_ERR); \
-		RETINT(status);						\
-	} while (0)
-#define FAIL_WPOSTCODE_3(msg, status, EVENT_PC, pcval16bit1, pcval16bit2) \
-	do {								\
-		ERRDRV("'%s'"						\
-		       ": error (status=%d)\n",				\
-		       msg, status);					\
-		POSTCODE_LINUX_4(EVENT_PC, pcval16bit1, pcval16bit2,	\
-				 DIAG_SEVERITY_ERR);			\
-		RETINT(status);						\
-	} while (0)
 /** Try to evaulate the provided expression, and do a RETINT(x) iff
  *  the expression evaluates to < 0.
  *  @param x the expression to try
  */
-#define TRY(x) do { int status = (x);                          \
-		if (status < 0)				       \
-			FAIL(__stringify(x), status);	       \
-	} while (0)
-
-#define TRY_WPOSTCODE_1(x, EVENT_PC) do { \
-		int status = (x);	  \
-		if (status < 0)						\
-			FAIL_WPOSTCODE_1(__stringify(x), status, EVENT_PC); \
-	} while (0)
-
-#define TRY_WPOSTCODE_2(x, EVENT_PC, pcval32bit) do { \
-		int status = (x);		      \
-		if (status < 0)						\
-			FAIL_WPOSTCODE_2(__stringify(x), status, EVENT_PC, \
-					 pcval32bit);			\
-	} while (0)
-
 #define ASSERT(cond)                                           \
 	do { if (!(cond))                                      \
 			HUHDRV("ASSERT failed - %s",	       \
@@ -237,19 +203,6 @@ typedef long VMMIO32;/**< #VMMIO pointing to 32-bit data */
 
 /* @} */
 
-/** Used to add a single line to the /proc filesystem buffer */
-#define ADDPROCLINE(buf, bufsize, line, linelen, totallen) \
-	{						   \
-		if ((totallen) + (linelen) >= bufsize)     \
-			RETINT(totallen);		   \
-		if (linelen > 0) {			   \
-			strcat(buf, line);		   \
-			totallen += linelen;		   \
-		}                                          \
-	}
-
-
-
 /** Verifies the consistency of your PRIVATEDEVICEDATA structure using
  *  conventional "signature" fields:
  *  <p>
@@ -272,42 +225,6 @@ typedef long VMMIO32;/**< #VMMIO pointing to 32-bit data */
 	 ((fd)->sig1 == sizeof(PRIVATEFILEDATA)) &&    \
 	 ((fd)->sig2 == fd))
 
-/** Verifies the consistency of a PRIVATEDEVICEDATA structure and reacts
- *  if necessary
- */
-#define CHKDDX(dd, x) (					   \
-			if (!DDLOOKSVALID((dd))) {	   \
-				PRINTKDRV("bad device structure");	\
-				RETINT(x);				\
-			})
-
-/** Verifies the consistency of a PRIVATEDEVICEDATA structure and reacts
- *  if necessary
- */
-#define CHKDD(dd) (							\
-			if (!DDLOOKSVALID(dd)) {			\
-				PRINTKDRV("bad device structure");	\
-				RETVOID;				\
-			})
-
-/** Verifies the consistency of a PRIVATEFILEDATA structure and reacts
- *  if necessary
- */
-#define CHKFDX(fd, x) (					   \
-		if (!FDLOOKSVALID(fd)) {		   \
-			PRINTKDRV("bad file structure");   \
-			RETINT(x);			   \
-		})
-
-/** Verifies the consistency of a PRIVATEFILEDATA structure and reacts
- *  if necessary
- */
-#define CHKFD(fd) (					  \
-		if (!FDLOOKSVALID(fd)) {		  \
-			PRINTKDRV("bad file structure");  \
-			RETVOID;			  \
-		})
-
 /** Locks dd->lockDev if you havn't already locked it */
 #define LOCKDEV(dd)                                                    \
 	{                                                              \
diff --git a/drivers/staging/unisys/visorchipset/visorchipset_main.c b/drivers/staging/unisys/visorchipset/visorchipset_main.c
index e58b136..b0f97db 100644
--- a/drivers/staging/unisys/visorchipset/visorchipset_main.c
+++ b/drivers/staging/unisys/visorchipset/visorchipset_main.c
@@ -2684,14 +2684,21 @@ visorchipset_init(void)
 	memset(&LiveDump_info, 0, sizeof(LiveDump_info));
 	atomic_set(&LiveDump_info.buffers_in_use, 0);
 
-	if (visorchipset_testvnic)
-		FAIL_WPOSTCODE_2("testvnic option no longer supported", x,
-				 CHIPSET_INIT_FAILURE_PC, x);
+	if (visorchipset_testvnic) {
+		ERRDRV("testvnic option no longer supported: (status = %d)\n",
+		       x);
+		POSTCODE_LINUX_3(CHIPSET_INIT_FAILURE_PC, x, DIAG_SEVERITY_ERR);
+		rc = x;
+		goto Away;
+	}
 
 	controlvm_init();
 	MajorDev = MKDEV(visorchipset_major, 0);
-	TRY_WPOSTCODE_1(visorchipset_file_init(MajorDev, &ControlVm_channel),
-			CHIPSET_INIT_FAILURE_PC);
+	rc = visorchipset_file_init(MajorDev, &ControlVm_channel);
+	if (rc < 0)
+		FAIL_WPOSTCODE_1("visorchipset_file_init(MajorDev, &ControlVm_channel)",
+				 rc, CHIPSET_INIT_FAILURE_PC);
+
 	proc_Init();
 	memset(PartitionPropertyNames, 0, sizeof(PartitionPropertyNames));
 	memset(ControlVmPropertyNames, 0, sizeof(ControlVmPropertyNames));
@@ -2760,10 +2767,12 @@ visorchipset_init(void)
 					 -ENOMEM, CREATE_WORKQUEUE_FAILED_PC);
 		Most_recent_message_jiffies = jiffies;
 		Poll_jiffies = POLLJIFFIES_CONTROLVMCHANNEL_FAST;
-		TRY_WPOSTCODE_1(queue_delayed_work
-				(Periodic_controlvm_workqueue,
-				 &Periodic_controlvm_work, Poll_jiffies),
-				QUEUE_DELAYED_WORK_PC);
+		rc = queue_delayed_work(Periodic_controlvm_workqueue,
+					&Periodic_controlvm_work, Poll_jiffies);
+		if (rc < 0)
+			FAIL_WPOSTCODE_1("queue_delayed_work(Periodic_controlvm_workqueue, &Periodic_controlvm_work, Poll_jiffies);",
+					 rc, QUEUE_DELAYED_WORK_PC);
+
 	}
 
 	Visorchipset_platform_device.dev.devt = MajorDev;
-- 
1.8.5.3

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux