Commit 246e0cd0 authored by Benjamin Romer's avatar Benjamin Romer Committed by Greg Kroah-Hartman

staging: unisys: refactor VISORCHIPSET_DEVICE_INFO

Remove the typedef and use struct visorchipset_device_info instead. Fix
CamelCase names:

busNo => bus_no
devNo => dev_no
devInstGuid => dev_inst_guid
chanInfo => chan_info
Reserved1 => reserved1
Reserved2 => reserved2
switchNo => switch_no
internalPortNo => internal_port_no
pendingMsgHdr => pending_msg_hdr
Signed-off-by: default avatarBenjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9b1caee7
......@@ -75,30 +75,30 @@ struct visorchipset_channel_info {
* visorchipset_get_client_device_info() or
* visorchipset_get_server_device_info().
*/
typedef struct {
struct visorchipset_device_info {
struct list_head entry;
u32 busNo;
u32 devNo;
uuid_le devInstGuid;
u32 bus_no;
u32 dev_no;
uuid_le dev_inst_uuid;
struct visorchipset_state state;
struct visorchipset_channel_info chanInfo;
u32 Reserved1; /* control_vm_id */
u64 Reserved2;
u32 switchNo; /* when devState.attached==1 */
u32 internalPortNo; /* when devState.attached==1 */
struct controlvm_message_header pendingMsgHdr; /* CONTROLVM_MESSAGE */
struct visorchipset_channel_info chan_info;
u32 reserved1; /* control_vm_id */
u64 reserved2;
u32 switch_no; /* when devState.attached==1 */
u32 internal_port_no; /* when devState.attached==1 */
struct controlvm_message_header pending_msg_hdr;/* CONTROLVM_MESSAGE */
/** For private use by the bus driver */
void *bus_driver_context;
} VISORCHIPSET_DEVICE_INFO;
};
static inline VISORCHIPSET_DEVICE_INFO *
static inline struct visorchipset_device_info *
finddevice(struct list_head *list, u32 busNo, u32 devNo)
{
VISORCHIPSET_DEVICE_INFO *p;
struct visorchipset_device_info *p;
list_for_each_entry(p, list, entry) {
if (p->busNo == busNo && p->devNo == devNo)
if (p->bus_no == busNo && p->dev_no == devNo)
return p;
}
return NULL;
......@@ -106,10 +106,10 @@ finddevice(struct list_head *list, u32 busNo, u32 devNo)
static inline void delbusdevices(struct list_head *list, u32 busNo)
{
VISORCHIPSET_DEVICE_INFO *p, *tmp;
struct visorchipset_device_info *p, *tmp;
list_for_each_entry_safe(p, tmp, list, entry) {
if (p->busNo == busNo) {
if (p->bus_no == busNo) {
list_del(&p->entry);
kfree(p);
}
......@@ -274,7 +274,7 @@ void visorchipset_device_pause_response(ulong busNo, ulong devNo, int response);
BOOL visorchipset_get_bus_info(ulong busNo, VISORCHIPSET_BUS_INFO *busInfo);
BOOL visorchipset_get_device_info(ulong busNo, ulong devNo,
VISORCHIPSET_DEVICE_INFO *devInfo);
struct visorchipset_device_info *devInfo);
BOOL visorchipset_get_switch_info(ulong switchNo,
VISORCHIPSET_SWITCH_INFO *switchInfo);
BOOL visorchipset_get_externalport_info(ulong switchNo, ulong externalPortNo,
......
......@@ -561,10 +561,11 @@ busInfo_clear(void *v)
static void
devInfo_clear(void *v)
{
VISORCHIPSET_DEVICE_INFO *p = (VISORCHIPSET_DEVICE_INFO *) (v);
struct visorchipset_device_info *p =
(struct visorchipset_device_info *)(v);
p->state.created = 0;
memset(p, 0, sizeof(VISORCHIPSET_DEVICE_INFO));
memset(p, 0, sizeof(struct visorchipset_device_info));
}
static u8
......@@ -638,7 +639,7 @@ static void
cleanup_controlvm_structures(void)
{
VISORCHIPSET_BUS_INFO *bi, *tmp_bi;
VISORCHIPSET_DEVICE_INFO *di, *tmp_di;
struct visorchipset_device_info *di, *tmp_di;
list_for_each_entry_safe(bi, tmp_bi, &BusInfoList, entry) {
busInfo_clear(bi);
......@@ -865,7 +866,7 @@ device_changestate_responder(enum controlvm_id cmdId,
ulong busNo, ulong devNo, int response,
struct spar_segment_state responseState)
{
VISORCHIPSET_DEVICE_INFO *p = NULL;
struct visorchipset_device_info *p = NULL;
struct controlvm_message outmsg;
p = finddevice(&DevInfoList, busNo, devNo);
......@@ -873,16 +874,16 @@ device_changestate_responder(enum controlvm_id cmdId,
LOGERR("internal error; busNo=%lu, devNo=%lu", busNo, devNo);
return;
}
if (p->pendingMsgHdr.id == CONTROLVM_INVALID) {
if (p->pending_msg_hdr.id == CONTROLVM_INVALID) {
LOGERR("device_responder no pending msg");
return; /* no controlvm response needed */
}
if (p->pendingMsgHdr.id != cmdId) {
LOGERR("expected=%d, found=%d", cmdId, p->pendingMsgHdr.id);
if (p->pending_msg_hdr.id != cmdId) {
LOGERR("expected=%d, found=%d", cmdId, p->pending_msg_hdr.id);
return;
}
controlvm_init_response(&outmsg, &p->pendingMsgHdr, response);
controlvm_init_response(&outmsg, &p->pending_msg_hdr, response);
outmsg.cmd.device_change_state.bus_no = busNo;
outmsg.cmd.device_change_state.dev_no = devNo;
......@@ -894,14 +895,14 @@ device_changestate_responder(enum controlvm_id cmdId,
return;
}
p->pendingMsgHdr.id = CONTROLVM_INVALID;
p->pending_msg_hdr.id = CONTROLVM_INVALID;
}
static void
device_responder(enum controlvm_id cmdId, ulong busNo, ulong devNo,
int response)
{
VISORCHIPSET_DEVICE_INFO *p = NULL;
struct visorchipset_device_info *p = NULL;
BOOL need_clear = FALSE;
p = finddevice(&DevInfoList, busNo, devNo);
......@@ -916,16 +917,16 @@ device_responder(enum controlvm_id cmdId, ulong busNo, ulong devNo,
need_clear = TRUE;
}
if (p->pendingMsgHdr.id == CONTROLVM_INVALID) {
if (p->pending_msg_hdr.id == CONTROLVM_INVALID) {
LOGERR("device_responder no pending msg");
return; /* no controlvm response needed */
}
if (p->pendingMsgHdr.id != (u32) cmdId) {
LOGERR("expected=%d, found=%d", cmdId, p->pendingMsgHdr.id);
if (p->pending_msg_hdr.id != (u32) cmdId) {
LOGERR("expected=%d, found=%d", cmdId, p->pending_msg_hdr.id);
return;
}
controlvm_respond(&p->pendingMsgHdr, response);
p->pendingMsgHdr.id = CONTROLVM_INVALID;
controlvm_respond(&p->pending_msg_hdr, response);
p->pending_msg_hdr.id = CONTROLVM_INVALID;
if (need_clear)
devInfo_clear(p);
}
......@@ -1005,7 +1006,7 @@ device_epilog(u32 busNo, u32 devNo, struct spar_segment_state state, u32 cmd,
VISORCHIPSET_BUSDEV_NOTIFIERS *notifiers = NULL;
BOOL notified = FALSE;
VISORCHIPSET_DEVICE_INFO *pDevInfo =
struct visorchipset_device_info *pDevInfo =
finddevice(&DevInfoList, busNo, devNo);
char *envp[] = {
"SPARSP_DIAGPOOL_PAUSED_STATE = 1",
......@@ -1021,10 +1022,10 @@ device_epilog(u32 busNo, u32 devNo, struct spar_segment_state state, u32 cmd,
else
notifiers = &BusDev_Client_Notifiers;
if (needResponse) {
memcpy(&pDevInfo->pendingMsgHdr, msgHdr,
memcpy(&pDevInfo->pending_msg_hdr, msgHdr,
sizeof(struct controlvm_message_header));
} else
pDevInfo->pendingMsgHdr.id = CONTROLVM_INVALID;
pDevInfo->pending_msg_hdr.id = CONTROLVM_INVALID;
down(&NotifierLock);
if (response >= 0) {
......@@ -1234,7 +1235,7 @@ my_device_create(struct controlvm_message *inmsg)
struct controlvm_message_packet *cmd = &inmsg->cmd;
ulong busNo = cmd->create_device.bus_no;
ulong devNo = cmd->create_device.dev_no;
VISORCHIPSET_DEVICE_INFO *pDevInfo = NULL;
struct visorchipset_device_info *pDevInfo = NULL;
VISORCHIPSET_BUS_INFO *pBusInfo = NULL;
int rc = CONTROLVM_RESP_SUCCESS;
......@@ -1264,7 +1265,7 @@ my_device_create(struct controlvm_message *inmsg)
rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
goto Away;
}
pDevInfo = kzalloc(sizeof(VISORCHIPSET_DEVICE_INFO), GFP_KERNEL);
pDevInfo = kzalloc(sizeof(struct visorchipset_device_info), GFP_KERNEL);
if (pDevInfo == NULL) {
LOGERR("CONTROLVM_DEVICE_CREATE Failed: busNo=%lu, devNo=%lu kmaloc failed",
busNo, devNo);
......@@ -1275,27 +1276,27 @@ my_device_create(struct controlvm_message *inmsg)
}
INIT_LIST_HEAD(&pDevInfo->entry);
pDevInfo->busNo = busNo;
pDevInfo->devNo = devNo;
pDevInfo->devInstGuid = cmd->create_device.dev_inst_uuid;
pDevInfo->bus_no = busNo;
pDevInfo->dev_no = devNo;
pDevInfo->dev_inst_uuid = cmd->create_device.dev_inst_uuid;
POSTCODE_LINUX_4(DEVICE_CREATE_ENTRY_PC, devNo, busNo,
POSTCODE_SEVERITY_INFO);
if (inmsg->hdr.flags.test_message == 1)
pDevInfo->chanInfo.addr_type = ADDRTYPE_LOCALTEST;
pDevInfo->chan_info.addr_type = ADDRTYPE_LOCALTEST;
else
pDevInfo->chanInfo.addr_type = ADDRTYPE_LOCALPHYSICAL;
pDevInfo->chanInfo.channel_addr = cmd->create_device.channel_addr;
pDevInfo->chanInfo.n_channel_bytes = cmd->create_device.channel_bytes;
pDevInfo->chanInfo.channel_type_uuid =
pDevInfo->chan_info.addr_type = ADDRTYPE_LOCALPHYSICAL;
pDevInfo->chan_info.channel_addr = cmd->create_device.channel_addr;
pDevInfo->chan_info.n_channel_bytes = cmd->create_device.channel_bytes;
pDevInfo->chan_info.channel_type_uuid =
cmd->create_device.data_type_uuid;
pDevInfo->chanInfo.intr = cmd->create_device.intr;
pDevInfo->chan_info.intr = cmd->create_device.intr;
list_add(&pDevInfo->entry, &DevInfoList);
POSTCODE_LINUX_4(DEVICE_CREATE_EXIT_PC, devNo, busNo,
POSTCODE_SEVERITY_INFO);
Away:
/* get the bus and devNo for DiagPool channel */
if (is_diagpool_channel(pDevInfo->chanInfo.channel_type_uuid)) {
if (is_diagpool_channel(pDevInfo->chan_info.channel_type_uuid)) {
g_diagpoolBusNo = busNo;
g_diagpoolDevNo = devNo;
LOGINF("CONTROLVM_DEVICE_CREATE for DiagPool channel: busNo=%lu, devNo=%lu",
......@@ -1304,7 +1305,7 @@ my_device_create(struct controlvm_message *inmsg)
device_epilog(busNo, devNo, segment_state_running,
CONTROLVM_DEVICE_CREATE, &inmsg->hdr, rc,
inmsg->hdr.flags.response_expected == 1,
FOR_VISORBUS(pDevInfo->chanInfo.channel_type_uuid));
FOR_VISORBUS(pDevInfo->chan_info.channel_type_uuid));
}
static void
......@@ -1314,7 +1315,7 @@ my_device_changestate(struct controlvm_message *inmsg)
ulong busNo = cmd->device_change_state.bus_no;
ulong devNo = cmd->device_change_state.dev_no;
struct spar_segment_state state = cmd->device_change_state.state;
VISORCHIPSET_DEVICE_INFO *pDevInfo = NULL;
struct visorchipset_device_info *pDevInfo = NULL;
int rc = CONTROLVM_RESP_SUCCESS;
pDevInfo = finddevice(&DevInfoList, busNo, devNo);
......@@ -1339,7 +1340,7 @@ my_device_changestate(struct controlvm_message *inmsg)
&inmsg->hdr, rc,
inmsg->hdr.flags.response_expected == 1,
FOR_VISORBUS(
pDevInfo->chanInfo.channel_type_uuid));
pDevInfo->chan_info.channel_type_uuid));
}
static void
......@@ -1348,7 +1349,7 @@ my_device_destroy(struct controlvm_message *inmsg)
struct controlvm_message_packet *cmd = &inmsg->cmd;
ulong busNo = cmd->destroy_device.bus_no;
ulong devNo = cmd->destroy_device.dev_no;
VISORCHIPSET_DEVICE_INFO *pDevInfo = NULL;
struct visorchipset_device_info *pDevInfo = NULL;
int rc = CONTROLVM_RESP_SUCCESS;
pDevInfo = finddevice(&DevInfoList, busNo, devNo);
......@@ -1370,7 +1371,7 @@ my_device_destroy(struct controlvm_message *inmsg)
CONTROLVM_DEVICE_DESTROY, &inmsg->hdr, rc,
inmsg->hdr.flags.response_expected == 1,
FOR_VISORBUS(
pDevInfo->chanInfo.channel_type_uuid));
pDevInfo->chan_info.channel_type_uuid));
}
/* When provided with the physical address of the controlvm channel
......@@ -2228,7 +2229,7 @@ EXPORT_SYMBOL_GPL(visorchipset_set_bus_context);
BOOL
visorchipset_get_device_info(ulong busNo, ulong devNo,
VISORCHIPSET_DEVICE_INFO *devInfo)
struct visorchipset_device_info *devInfo)
{
void *p = finddevice(&DevInfoList, busNo, devNo);
......@@ -2236,7 +2237,7 @@ visorchipset_get_device_info(ulong busNo, ulong devNo,
LOGERR("(%lu,%lu) failed", busNo, devNo);
return FALSE;
}
memcpy(devInfo, p, sizeof(VISORCHIPSET_DEVICE_INFO));
memcpy(devInfo, p, sizeof(struct visorchipset_device_info));
return TRUE;
}
EXPORT_SYMBOL_GPL(visorchipset_get_device_info);
......@@ -2244,7 +2245,8 @@ EXPORT_SYMBOL_GPL(visorchipset_get_device_info);
BOOL
visorchipset_set_device_context(ulong busNo, ulong devNo, void *context)
{
VISORCHIPSET_DEVICE_INFO *p = finddevice(&DevInfoList, busNo, devNo);
struct visorchipset_device_info *p =
finddevice(&DevInfoList, busNo, devNo);
if (!p) {
LOGERR("(%lu,%lu) failed", busNo, devNo);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment