Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8d7f21d authored by Ken Cox's avatar Ken Cox Committed by Greg Kroah-Hartman
Browse files

Staging: unisys: Clean multiple sparse warnings



Cleaned up multiple sparse warnings, mostly due to improper access of I/O
space.  Also declared functions and variables that were only used locally
as static.

Removed ULTRA_disp_channel_header(), ULTRA_disp_channel(),
ULTRA_disp_vnic_channel() because they were never called.

Signed-off-by: default avatarKen Cox <jkc@redhat.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a1d842e8
Loading
Loading
Loading
Loading
+78 −64
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ ULTRA_CHANNELCLI_STRING(U32 v)

#define ULTRA_CHANNELSRV_IS_READY(x)     ((x) == CHANNELSRV_READY)
#define ULTRA_CHANNEL_SERVER_READY(pChannel) \
	(ULTRA_CHANNELSRV_IS_READY((pChannel)->SrvState))
	(ULTRA_CHANNELSRV_IS_READY(readl(&(pChannel)->SrvState)))

#define ULTRA_VALID_CHANNELCLI_TRANSITION(o, n)				\
	(((((o) == CHANNELCLI_DETACHED) && ((n) == CHANNELCLI_DISABLED)) || \
@@ -144,25 +144,30 @@ ULTRA_CHANNELCLI_STRING(U32 v)
				      line);				\
	} while (0)

#define ULTRA_CHANNEL_CLIENT_TRANSITION(pChan, chanId, field, \
#define ULTRA_CHANNEL_CLIENT_TRANSITION(pChan, chanId,			\
					newstate, logCtx)		\
	do {								\
		ULTRA_CHANNEL_CLIENT_CHK_TRANSITION(			\
			(((CHANNEL_HEADER *)(pChan))->field), newstate, \
			readl(&(((CHANNEL_HEADER __iomem *) \
				 (pChan))->CliStateOS)),		\
			newstate,					\
			chanId, logCtx, __FILE__, __LINE__);		\
		UltraLogEvent(logCtx, CHANNELSTATE_DIAG_EVENTID_TRANSITOK, \
			CHANNELSTATE_DIAG_SEVERITY, \
			      CHANNELSTATE_DIAG_SUBSYS,			\
			      __func__, __LINE__,			\
			      "%s Channel StateTransition (%s) %s(%d)-->%s(%d) @%s:%d\n", \
			      chanId, #field,				\
			      ULTRA_CHANNELCLI_STRING(((CHANNEL_HEADER *) \
						       (pChan))->field), \
			      ((CHANNEL_HEADER *)(pChan))->field,	\
			      chanId, "CliStateOS",			\
			      ULTRA_CHANNELCLI_STRING( \
				      readl(&((CHANNEL_HEADER __iomem *) \
					      (pChan))->CliStateOS)),	\
			      readl(&((CHANNEL_HEADER __iomem *) \
				      (pChan))->CliStateOS),		\
			      ULTRA_CHANNELCLI_STRING(newstate),	\
			      newstate,					\
			      PathName_Last_N_Nodes(__FILE__, 4), __LINE__); \
		((CHANNEL_HEADER *)(pChan))->field = newstate;		\
		writel(newstate, &((CHANNEL_HEADER __iomem *) \
				   (pChan))->CliStateOS);		\
		MEMORYBARRIER;						\
	} while (0)

@@ -314,7 +319,7 @@ typedef struct _SIGNAL_QUEUE_HEADER {
 * is used to pass the EFI_DIAG_CAPTURE_PROTOCOL needed to log messages.
 */
static inline int
ULTRA_check_channel_client(void *pChannel,
ULTRA_check_channel_client(void __iomem *pChannel,
			   GUID expectedTypeGuid,
			   char *channelName,
			   U64 expectedMinBytes,
@@ -324,43 +329,44 @@ ULTRA_check_channel_client(void *pChannel,
{
	if (MEMCMP(&expectedTypeGuid, &Guid0, sizeof(GUID)) != 0)
		/* caller wants us to verify type GUID */
		if (MEMCMP(&(((CHANNEL_HEADER *) (pChannel))->Type),
		if (MEMCMP_IO(&(((CHANNEL_HEADER __iomem *) (pChannel))->Type),
			   &expectedTypeGuid, sizeof(GUID)) != 0) {
			CHANNEL_GUID_MISMATCH(expectedTypeGuid, channelName,
					      "type", expectedTypeGuid,
					      ((CHANNEL_HEADER *)
					      ((CHANNEL_HEADER __iomem *)
					       (pChannel))->Type, fileName,
					      lineNumber, logCtx);
			return 0;
		}
	if (expectedMinBytes > 0)	/* caller wants us to verify
					 * channel size */
		if (((CHANNEL_HEADER *) (pChannel))->Size < expectedMinBytes) {
		if (readq(&((CHANNEL_HEADER __iomem *)
			   (pChannel))->Size) < expectedMinBytes) {
			CHANNEL_U64_MISMATCH(expectedTypeGuid, channelName,
					     "size", expectedMinBytes,
					     ((CHANNEL_HEADER *)
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->Size, fileName,
					     lineNumber, logCtx);
			return 0;
		}
	if (expectedVersionId > 0)	/* caller wants us to verify
					 * channel version */
		if (((CHANNEL_HEADER *) (pChannel))->VersionId !=
		    expectedVersionId) {
		if (readl(&((CHANNEL_HEADER __iomem *) (pChannel))->VersionId)
		    != expectedVersionId) {
			CHANNEL_U32_MISMATCH(expectedTypeGuid, channelName,
					     "version", expectedVersionId,
					     ((CHANNEL_HEADER *)
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->VersionId, fileName,
					     lineNumber, logCtx);
			return 0;
		}
	if (expectedSignature > 0)	/* caller wants us to verify
					 * channel signature */
		if (((CHANNEL_HEADER *) (pChannel))->Signature !=
		    expectedSignature) {
		if (readq(&((CHANNEL_HEADER __iomem *) (pChannel))->Signature)
		    != expectedSignature) {
			CHANNEL_U64_MISMATCH(expectedTypeGuid, channelName,
					     "signature", expectedSignature,
					     ((CHANNEL_HEADER *)
					     ((CHANNEL_HEADER __iomem *)
					      (pChannel))->Signature, fileName,
					     lineNumber, logCtx);
			return 0;
@@ -422,17 +428,18 @@ PathName_Last_N_Nodes(U8 *s, unsigned int n)
}

static inline int
ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
				char *file, int line, char *func)
ULTRA_channel_client_acquire_os(void __iomem *pChannel, U8 *chanId,
				void *logCtx, char *file, int line, char *func)
{
	CHANNEL_HEADER *pChan = (CHANNEL_HEADER *) (pChannel);
	CHANNEL_HEADER __iomem *pChan = pChannel;

	if (pChan->CliStateOS == CHANNELCLI_DISABLED) {
		if ((pChan->
		     CliErrorOS & ULTRA_CLIERROROS_THROTTLEMSG_DISABLED) == 0) {
	if (readl(&pChan->CliStateOS) == CHANNELCLI_DISABLED) {
		if ((readb(&pChan->CliErrorOS)
		     & ULTRA_CLIERROROS_THROTTLEMSG_DISABLED) == 0) {
			/* we are NOT throttling this message */
			pChan->CliErrorOS |=
				ULTRA_CLIERROROS_THROTTLEMSG_DISABLED;
			writeb(readb(&pChan->CliErrorOS) |
			       ULTRA_CLIERROROS_THROTTLEMSG_DISABLED,
			       &pChan->CliErrorOS);
			/* throttle until acquire successful */

			UltraLogEvent(logCtx,
@@ -445,24 +452,25 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
		}
		return 0;
	}
	if ((pChan->CliStateOS != CHANNELCLI_OWNED)
	    && (pChan->CliStateBoot == CHANNELCLI_DISABLED)) {
	if ((readl(&pChan->CliStateOS) != CHANNELCLI_OWNED)
	    && (readl(&pChan->CliStateBoot) == CHANNELCLI_DISABLED)) {
		/* Our competitor is DISABLED, so we can transition to OWNED */
		UltraLogEvent(logCtx, CHANNELSTATE_DIAG_EVENTID_TRANSITOK,
			      CHANNELSTATE_DIAG_SEVERITY,
			      CHANNELSTATE_DIAG_SUBSYS, func, line,
			      "%s Channel StateTransition (%s) %s(%d)-->%s(%d) @%s:%d\n",
			      chanId, "CliStateOS",
			      ULTRA_CHANNELCLI_STRING(pChan->CliStateOS),
			      pChan->CliStateOS,
			      ULTRA_CHANNELCLI_STRING(
				      readl(&pChan->CliStateOS)),
			      readl(&pChan->CliStateOS),
			      ULTRA_CHANNELCLI_STRING(CHANNELCLI_OWNED),
			      CHANNELCLI_OWNED,
			      PathName_Last_N_Nodes((U8 *) file, 4), line);
		pChan->CliStateOS = CHANNELCLI_OWNED;
		writel(CHANNELCLI_OWNED, &pChan->CliStateOS);
		MEMORYBARRIER;
	}
	if (pChan->CliStateOS == CHANNELCLI_OWNED) {
		if (pChan->CliErrorOS != 0) {
	if (readl(&pChan->CliStateOS) == CHANNELCLI_OWNED) {
		if (readb(&pChan->CliErrorOS) != 0) {
			/* we are in an error msg throttling state;
			 * come out of it */
			UltraLogEvent(logCtx,
@@ -472,7 +480,7 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
				      "%s Channel OS client acquire now successful @%s:%d\n",
				      chanId, PathName_Last_N_Nodes((U8 *) file,
								    4), line);
			pChan->CliErrorOS = 0;
			writeb(0, &pChan->CliErrorOS);
		}
		return 1;
	}
@@ -480,13 +488,13 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
	/* We have to do it the "hard way".  We transition to BUSY,
	* and can use the channel iff our competitor has not also
	* transitioned to BUSY. */
	if (pChan->CliStateOS != CHANNELCLI_ATTACHED) {
		if ((pChan->
		     CliErrorOS & ULTRA_CLIERROROS_THROTTLEMSG_NOTATTACHED) ==
		    0) {
	if (readl(&pChan->CliStateOS) != CHANNELCLI_ATTACHED) {
		if ((readb(&pChan->CliErrorOS)
		     & ULTRA_CLIERROROS_THROTTLEMSG_NOTATTACHED) == 0) {
			/* we are NOT throttling this message */
			pChan->CliErrorOS |=
				ULTRA_CLIERROROS_THROTTLEMSG_NOTATTACHED;
			writeb(readb(&pChan->CliErrorOS) |
			       ULTRA_CLIERROROS_THROTTLEMSG_NOTATTACHED,
			       &pChan->CliErrorOS);
			/* throttle until acquire successful */
			UltraLogEvent(logCtx,
				      CHANNELSTATE_DIAG_EVENTID_TRANSITERR,
@@ -494,20 +502,23 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
				      CHANNELSTATE_DIAG_SUBSYS, func, line,
				      "%s Channel StateTransition INVALID! - acquire failed because OS client NOT ATTACHED (state=%s(%d)) @%s:%d\n",
				      chanId,
				      ULTRA_CHANNELCLI_STRING(pChan->CliStateOS),
				      pChan->CliStateOS,
				      ULTRA_CHANNELCLI_STRING(
					      readl(&pChan->CliStateOS)),
				      readl(&pChan->CliStateOS),
				      PathName_Last_N_Nodes((U8 *) file, 4),
				      line);
		}
		return 0;
	}
	pChan->CliStateOS = CHANNELCLI_BUSY;
	writel(CHANNELCLI_BUSY, &pChan->CliStateOS);
	MEMORYBARRIER;
	if (pChan->CliStateBoot == CHANNELCLI_BUSY) {
		if ((pChan->CliErrorOS & ULTRA_CLIERROROS_THROTTLEMSG_BUSY) ==
		    0) {
	if (readl(&pChan->CliStateBoot) == CHANNELCLI_BUSY) {
		if ((readb(&pChan->CliErrorOS)
		     & ULTRA_CLIERROROS_THROTTLEMSG_BUSY) == 0) {
			/* we are NOT throttling this message */
			pChan->CliErrorOS |= ULTRA_CLIERROROS_THROTTLEMSG_BUSY;
			writeb(readb(&pChan->CliErrorOS) |
			       ULTRA_CLIERROROS_THROTTLEMSG_BUSY,
			       &pChan->CliErrorOS);
			/* throttle until acquire successful */
			UltraLogEvent(logCtx,
				      CHANNELSTATE_DIAG_EVENTID_TRANSITBUSY,
@@ -517,11 +528,12 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
				      chanId, PathName_Last_N_Nodes((U8 *) file,
								    4), line);
		}
		pChan->CliStateOS = CHANNELCLI_ATTACHED;	/* reset busy */
		/* reset busy */
		writel(CHANNELCLI_ATTACHED, &pChan->CliStateOS);
		MEMORYBARRIER;
		return 0;
	}
	if (pChan->CliErrorOS != 0) {
	if (readb(&pChan->CliErrorOS) != 0) {
		/* we are in an error msg throttling state; come out of it */
		UltraLogEvent(logCtx, CHANNELSTATE_DIAG_EVENTID_TRANSITOK,
			      CHANNELSTATE_DIAG_SEVERITY,
@@ -529,17 +541,17 @@ ULTRA_channel_client_acquire_os(void *pChannel, U8 *chanId, void *logCtx,
			      "%s Channel OS client acquire now successful @%s:%d\n",
			      chanId, PathName_Last_N_Nodes((U8 *) file, 4),
			      line);
		pChan->CliErrorOS = 0;
		writeb(0, &pChan->CliErrorOS);
	}
	return 1;
}

static inline void
ULTRA_channel_client_release_os(void *pChannel, U8 *chanId, void *logCtx,
				char *file, int line, char *func)
ULTRA_channel_client_release_os(void __iomem *pChannel, U8 *chanId,
				void *logCtx, char *file, int line, char *func)
{
	CHANNEL_HEADER *pChan = (CHANNEL_HEADER *) (pChannel);
	if (pChan->CliErrorOS != 0) {
	CHANNEL_HEADER __iomem *pChan = pChannel;
	if (readb(&pChan->CliErrorOS) != 0) {
		/* we are in an error msg throttling state; come out of it */
		UltraLogEvent(logCtx, CHANNELSTATE_DIAG_EVENTID_TRANSITOK,
			      CHANNELSTATE_DIAG_SEVERITY,
@@ -547,22 +559,23 @@ ULTRA_channel_client_release_os(void *pChannel, U8 *chanId, void *logCtx,
			      "%s Channel OS client error state cleared @%s:%d\n",
			      chanId, PathName_Last_N_Nodes((U8 *) file, 4),
			      line);
		pChan->CliErrorOS = 0;
		writeb(0, &pChan->CliErrorOS);
	}
	if (pChan->CliStateOS == CHANNELCLI_OWNED)
	if (readl(&pChan->CliStateOS) == CHANNELCLI_OWNED)
		return;
	if (pChan->CliStateOS != CHANNELCLI_BUSY) {
	if (readl(&pChan->CliStateOS) != CHANNELCLI_BUSY) {
		UltraLogEvent(logCtx, CHANNELSTATE_DIAG_EVENTID_TRANSITERR,
			      CHANNELSTATE_DIAG_SEVERITY,
			      CHANNELSTATE_DIAG_SUBSYS, func, line,
			      "%s Channel StateTransition INVALID! - release failed because OS client NOT BUSY (state=%s(%d)) @%s:%d\n",
			      chanId,
			      ULTRA_CHANNELCLI_STRING(pChan->CliStateOS),
			      pChan->CliStateOS,
			      ULTRA_CHANNELCLI_STRING(
				      readl(&pChan->CliStateOS)),
			      readl(&pChan->CliStateOS),
			      PathName_Last_N_Nodes((U8 *) file, 4), line);
		/* return; */
	}
	pChan->CliStateOS = CHANNELCLI_ATTACHED;	/* release busy */
	writel(CHANNELCLI_ATTACHED, &pChan->CliStateOS); /* release busy */
}

/*
@@ -584,7 +597,7 @@ ULTRA_channel_client_release_os(void *pChannel, U8 *chanId, void *logCtx,
* full.
*/

unsigned char visor_signal_insert(pCHANNEL_HEADER pChannel, U32 Queue,
unsigned char visor_signal_insert(CHANNEL_HEADER __iomem *pChannel, U32 Queue,
				  void *pSignal);

/*
@@ -606,7 +619,7 @@ unsigned char visor_signal_insert(pCHANNEL_HEADER pChannel, U32 Queue,
* empty.
*/

unsigned char visor_signal_remove(pCHANNEL_HEADER pChannel, U32 Queue,
unsigned char visor_signal_remove(CHANNEL_HEADER __iomem *pChannel, U32 Queue,
				  void *pSignal);

/*
@@ -642,6 +655,7 @@ unsigned int SignalRemoveAll(pCHANNEL_HEADER pChannel, U32 Queue,
* Return value:
* 1 if the signal queue is empty, 0 otherwise.
*/
unsigned char visor_signalqueue_empty(pCHANNEL_HEADER pChannel, U32 Queue);
unsigned char visor_signalqueue_empty(CHANNEL_HEADER __iomem *pChannel,
				      U32 Queue);

#endif
+2 −7
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@
#include "vmcallinterface.h"

#define _ULTRA_CONTROLVM_CHANNEL_INLINE_
#include <linux/dma-direction.h>
#include "controlvmchannel.h"
#include "vbuschannel.h"
#undef _ULTRA_CONTROLVM_CHANNEL_INLINE_
@@ -142,12 +143,6 @@

/* size of cdb - i.e., scsi cmnd */
#define MAX_CMND_SIZE 16
enum dma_data_dir {
	DMA_DIR_BIDIR = 0,
	DMA_DIR_TO_DEV,
	DMA_DIR_FROM_DEV,
	DMA_DIR_NONE
};

#define MAX_SENSE_SIZE 64

@@ -297,7 +292,7 @@ struct uiscmdrsp_scsi {
	struct guest_phys_info gpi_list[MAX_PHYS_INFO];	/* physical address
							 * information for each
							 * fragment */
	enum dma_data_dir data_dir;	/* direction of the data, if any */
	enum dma_data_direction  data_dir; /* direction of the data, if any */
	struct uisscsi_dest vdest;	/* identifies the virtual hba, id,
					 * channel, lun to which cmd was sent */

+27 −19
Original line number Diff line number Diff line
@@ -94,32 +94,40 @@ typedef struct _ULTRA_VBUS_CHANNEL_PROTOCOL {
#define VBUS_CH_SIZE(MAXDEVICES) COVER(VBUS_CH_SIZE_EXACT(MAXDEVICES), 4096)

static INLINE void
ULTRA_VBUS_init_channel(ULTRA_VBUS_CHANNEL_PROTOCOL *x, int bytesAllocated)
ULTRA_VBUS_init_channel(ULTRA_VBUS_CHANNEL_PROTOCOL __iomem *x,
			int bytesAllocated)
{
	/* Please note that the memory at <x> does NOT necessarily have space
	* for DevInfo structs allocated at the end, which is why we do NOT use
	* <bytesAllocated> to clear. */
	MEMSET(x, 0, sizeof(ULTRA_VBUS_CHANNEL_PROTOCOL));
	memset_io(x, 0, sizeof(ULTRA_VBUS_CHANNEL_PROTOCOL));
	if (bytesAllocated < (int) sizeof(ULTRA_VBUS_CHANNEL_PROTOCOL))
		return;
	x->ChannelHeader.VersionId = ULTRA_VBUS_CHANNEL_PROTOCOL_VERSIONID;
	x->ChannelHeader.Signature = ULTRA_VBUS_CHANNEL_PROTOCOL_SIGNATURE;
	x->ChannelHeader.SrvState = CHANNELSRV_READY;
	x->ChannelHeader.HeaderSize = sizeof(x->ChannelHeader);
	x->ChannelHeader.Size = bytesAllocated;
	x->ChannelHeader.Type = UltraVbusChannelProtocolGuid;
	x->ChannelHeader.ZoneGuid = Guid0;
	x->HdrInfo.structBytes = sizeof(ULTRA_VBUS_HEADERINFO);
	x->HdrInfo.chpInfoByteOffset = sizeof(ULTRA_VBUS_HEADERINFO);
	x->HdrInfo.busInfoByteOffset = x->HdrInfo.chpInfoByteOffset
	    + sizeof(ULTRA_VBUS_DEVICEINFO);
	x->HdrInfo.devInfoByteOffset = x->HdrInfo.busInfoByteOffset
	    + sizeof(ULTRA_VBUS_DEVICEINFO);
	x->HdrInfo.deviceInfoStructBytes = sizeof(ULTRA_VBUS_DEVICEINFO);
	writel(ULTRA_VBUS_CHANNEL_PROTOCOL_VERSIONID,
	       &x->ChannelHeader.VersionId);
	writeq(ULTRA_VBUS_CHANNEL_PROTOCOL_SIGNATURE,
	       &x->ChannelHeader.Signature);
	writel(CHANNELSRV_READY, &x->ChannelHeader.SrvState);
	writel(sizeof(x->ChannelHeader), &x->ChannelHeader.HeaderSize);
	writeq(bytesAllocated, &x->ChannelHeader.Size);
	memcpy_toio(&x->ChannelHeader.Type, &UltraVbusChannelProtocolGuid,
		    sizeof(x->ChannelHeader.Type));
	memcpy_toio(&x->ChannelHeader.ZoneGuid, &Guid0,
		    sizeof(x->ChannelHeader.ZoneGuid));
	writel(sizeof(ULTRA_VBUS_HEADERINFO), &x->HdrInfo.structBytes);
	writel(sizeof(ULTRA_VBUS_HEADERINFO), &x->HdrInfo.chpInfoByteOffset);
	writel(readl(&x->HdrInfo.chpInfoByteOffset) +
	       sizeof(ULTRA_VBUS_DEVICEINFO),
	       &x->HdrInfo.busInfoByteOffset);
	writel(readl(&x->HdrInfo.busInfoByteOffset)
	       + sizeof(ULTRA_VBUS_DEVICEINFO),
	       &x->HdrInfo.devInfoByteOffset);
	writel(sizeof(ULTRA_VBUS_DEVICEINFO),
	       &x->HdrInfo.deviceInfoStructBytes);
	bytesAllocated -= (sizeof(ULTRA_CHANNEL_PROTOCOL)
			   + x->HdrInfo.devInfoByteOffset);
	x->HdrInfo.devInfoCount =
	    bytesAllocated / x->HdrInfo.deviceInfoStructBytes;
			   + readl(&x->HdrInfo.devInfoByteOffset));
	writel(bytesAllocated / readl(&x->HdrInfo.deviceInfoStructBytes),
	       &x->HdrInfo.devInfoCount);
}

#pragma pack(pop)
+11 −11
Original line number Diff line number Diff line
@@ -50,12 +50,12 @@ typedef struct _ULTRA_VBUS_DEVICEINFO {
 * to a buffer at <p>, had it been infinitely big.
 */
static inline int
VBUSCHANNEL_sanitize_buffer(char *p, int remain, char *src, int srcmax)
VBUSCHANNEL_sanitize_buffer(char *p, int remain, char __iomem *src, int srcmax)
{
	int chars = 0;
	int nonprintable_streak = 0;
	while (srcmax > 0) {
		if ((*src >= ' ') && (*src < 0x7f)) {
		if ((readb(src) >= ' ') && (readb(src) < 0x7f)) {
			if (nonprintable_streak) {
				if (remain > 0) {
					*p = ' ';
@@ -67,7 +67,7 @@ VBUSCHANNEL_sanitize_buffer(char *p, int remain, char *src, int srcmax)
				nonprintable_streak = 0;
			}
			if (remain > 0) {
				*p = *src;
				*p = readb(src);
				p++;
				remain--;
				chars++;
@@ -146,15 +146,15 @@ VBUSCHANNEL_itoa(char *p, int remain, int num)
 * Returns the number of bytes written to <p>.
 */
static inline int
VBUSCHANNEL_devInfoToStringBuffer(ULTRA_VBUS_DEVICEINFO devInfo,
VBUSCHANNEL_devInfoToStringBuffer(ULTRA_VBUS_DEVICEINFO __iomem *devInfo,
				  char *p, int remain, int devix)
{
	char *psrc;
	char __iomem *psrc;
	int nsrc, x, i, pad;
	int chars = 0;

	psrc = &(devInfo.devType[0]);
	nsrc = sizeof(devInfo.devType);
	psrc = &(devInfo->devType[0]);
	nsrc = sizeof(devInfo->devType);
	if (VBUSCHANNEL_sanitize_buffer(NULL, 0, psrc, nsrc) <= 0)
		return 0;

@@ -183,8 +183,8 @@ VBUSCHANNEL_devInfoToStringBuffer(ULTRA_VBUS_DEVICEINFO devInfo,
	VBUSCHANNEL_ADDACHAR(' ', p, remain, chars);

	/* emit driver name */
	psrc = &(devInfo.drvName[0]);
	nsrc = sizeof(devInfo.drvName);
	psrc = &(devInfo->drvName[0]);
	nsrc = sizeof(devInfo->drvName);
	x = VBUSCHANNEL_sanitize_buffer(p, remain, psrc, nsrc);
	p += x;
	remain -= x;
@@ -195,8 +195,8 @@ VBUSCHANNEL_devInfoToStringBuffer(ULTRA_VBUS_DEVICEINFO devInfo,
	VBUSCHANNEL_ADDACHAR(' ', p, remain, chars);

	/* emit strings */
	psrc = &(devInfo.infoStrings[0]);
	nsrc = sizeof(devInfo.infoStrings);
	psrc = &(devInfo->infoStrings[0]);
	nsrc = sizeof(devInfo->infoStrings);
	x = VBUSCHANNEL_sanitize_buffer(p, remain, psrc, nsrc);
	p += x;
	remain -= x;
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@
#endif	/*  */

/* define subsystem number for AppOS, used in uislib driver  */
#define MDS_APPOS 0x4000000000000000	/* subsystem = 62 - AppOS */
#define MDS_APPOS 0x4000000000000000L	/* subsystem = 62 - AppOS */
typedef enum {		/* VMCALL identification tuples  */
	    /* Note: when a new VMCALL is added:
	     * - the 1st 2 hex digits correspond to one of the
Loading