Skip to content

Commit

Permalink
Staging: unisys: Cleanup macros to get rid of goto statements
Browse files Browse the repository at this point in the history
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@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Ken Cox authored and Greg Kroah-Hartman committed Mar 19, 2014
1 parent 316d363 commit 9f8d0e8
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 92 deletions.
83 changes: 0 additions & 83 deletions drivers/staging/unisys/include/timskmod.h
Original file line number Diff line number Diff line change
Expand Up @@ -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", \
Expand Down Expand Up @@ -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>
Expand All @@ -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) \
{ \
Expand Down
27 changes: 18 additions & 9 deletions drivers/staging/unisys/visorchipset/visorchipset_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit 9f8d0e8

Please sign in to comment.