staging: unisys: refactor my_device_changestate()
[firefly-linux-kernel-4.4.55.git] / drivers / staging / unisys / visorchipset / visorchipset_main.c
index c1bcc4af7a7f579777da761d4b5dba65ae42315e..9327837ee449e597a4c5a2a4c43170a93111a527 100644 (file)
@@ -1028,50 +1028,49 @@ static void
 bus_create(struct controlvm_message *inmsg)
 {
        struct controlvm_message_packet *cmd = &inmsg->cmd;
-       ulong busNo = cmd->create_bus.bus_no;
+       ulong bus_no = cmd->create_bus.bus_no;
        int rc = CONTROLVM_RESP_SUCCESS;
-       struct visorchipset_bus_info *pBusInfo = NULL;
+       struct visorchipset_bus_info *bus_info = NULL;
 
-
-       pBusInfo = findbus(&bus_info_list, busNo);
-       if (pBusInfo && (pBusInfo->state.created == 1)) {
-               POSTCODE_LINUX_3(BUS_CREATE_FAILURE_PC, busNo,
+       bus_info = findbus(&bus_info_list, bus_no);
+       if (bus_info && (bus_info->state.created == 1)) {
+               POSTCODE_LINUX_3(BUS_CREATE_FAILURE_PC, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_ALREADY_DONE;
-               goto Away;
+               goto cleanup;
        }
-       pBusInfo = kzalloc(sizeof(struct visorchipset_bus_info), GFP_KERNEL);
-       if (!pBusInfo) {
-               POSTCODE_LINUX_3(BUS_CREATE_FAILURE_PC, busNo,
+       bus_info = kzalloc(sizeof(*bus_info), GFP_KERNEL);
+       if (!bus_info) {
+               POSTCODE_LINUX_3(BUS_CREATE_FAILURE_PC, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_KMALLOC_FAILED;
-               goto Away;
+               goto cleanup;
        }
 
-       INIT_LIST_HEAD(&pBusInfo->entry);
-       pBusInfo->bus_no = busNo;
-       pBusInfo->dev_no = cmd->create_bus.dev_count;
+       INIT_LIST_HEAD(&bus_info->entry);
+       bus_info->bus_no = bus_no;
+       bus_info->dev_no = cmd->create_bus.dev_count;
 
-       POSTCODE_LINUX_3(BUS_CREATE_ENTRY_PC, busNo, POSTCODE_SEVERITY_INFO);
+       POSTCODE_LINUX_3(BUS_CREATE_ENTRY_PC, bus_no, POSTCODE_SEVERITY_INFO);
 
        if (inmsg->hdr.flags.test_message == 1)
-               pBusInfo->chan_info.addr_type = ADDRTYPE_LOCALTEST;
+               bus_info->chan_info.addr_type = ADDRTYPE_LOCALTEST;
        else
-               pBusInfo->chan_info.addr_type = ADDRTYPE_LOCALPHYSICAL;
+               bus_info->chan_info.addr_type = ADDRTYPE_LOCALPHYSICAL;
 
-       pBusInfo->flags.server = inmsg->hdr.flags.server;
-       pBusInfo->chan_info.channel_addr = cmd->create_bus.channel_addr;
-       pBusInfo->chan_info.n_channel_bytes = cmd->create_bus.channel_bytes;
-       pBusInfo->chan_info.channel_type_uuid =
+       bus_info->flags.server = inmsg->hdr.flags.server;
+       bus_info->chan_info.channel_addr = cmd->create_bus.channel_addr;
+       bus_info->chan_info.n_channel_bytes = cmd->create_bus.channel_bytes;
+       bus_info->chan_info.channel_type_uuid =
                        cmd->create_bus.bus_data_type_uuid;
-       pBusInfo->chan_info.channel_inst_uuid = cmd->create_bus.bus_inst_uuid;
+       bus_info->chan_info.channel_inst_uuid = cmd->create_bus.bus_inst_uuid;
 
-       list_add(&pBusInfo->entry, &bus_info_list);
+       list_add(&bus_info->entry, &bus_info_list);
 
-       POSTCODE_LINUX_3(BUS_CREATE_EXIT_PC, busNo, POSTCODE_SEVERITY_INFO);
+       POSTCODE_LINUX_3(BUS_CREATE_EXIT_PC, bus_no, POSTCODE_SEVERITY_INFO);
 
-Away:
-       bus_epilog(busNo, CONTROLVM_BUS_CREATE, &inmsg->hdr,
+cleanup:
+       bus_epilog(bus_no, CONTROLVM_BUS_CREATE, &inmsg->hdr,
                   rc, inmsg->hdr.flags.response_expected == 1);
 }
 
@@ -1079,22 +1078,17 @@ static void
 bus_destroy(struct controlvm_message *inmsg)
 {
        struct controlvm_message_packet *cmd = &inmsg->cmd;
-       ulong busNo = cmd->destroy_bus.bus_no;
-       struct visorchipset_bus_info *pBusInfo;
+       ulong bus_no = cmd->destroy_bus.bus_no;
+       struct visorchipset_bus_info *bus_info;
        int rc = CONTROLVM_RESP_SUCCESS;
 
-       pBusInfo = findbus(&bus_info_list, busNo);
-       if (!pBusInfo) {
+       bus_info = findbus(&bus_info_list, bus_no);
+       if (!bus_info)
                rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
-               goto Away;
-       }
-       if (pBusInfo->state.created == 0) {
+       else if (bus_info->state.created == 0)
                rc = -CONTROLVM_RESP_ERROR_ALREADY_DONE;
-               goto Away;
-       }
 
-Away:
-       bus_epilog(busNo, CONTROLVM_BUS_DESTROY, &inmsg->hdr,
+       bus_epilog(bus_no, CONTROLVM_BUS_DESTROY, &inmsg->hdr,
                   rc, inmsg->hdr.flags.response_expected == 1);
 }
 
@@ -1103,44 +1097,39 @@ bus_configure(struct controlvm_message *inmsg,
              struct parser_context *parser_ctx)
 {
        struct controlvm_message_packet *cmd = &inmsg->cmd;
-       ulong busNo = cmd->configure_bus.bus_no;
-       struct visorchipset_bus_info *pBusInfo = NULL;
+       ulong bus_no = cmd->configure_bus.bus_no;
+       struct visorchipset_bus_info *bus_info = NULL;
        int rc = CONTROLVM_RESP_SUCCESS;
        char s[99];
 
-       busNo = cmd->configure_bus.bus_no;
-       POSTCODE_LINUX_3(BUS_CONFIGURE_ENTRY_PC, busNo, POSTCODE_SEVERITY_INFO);
+       bus_no = cmd->configure_bus.bus_no;
+       POSTCODE_LINUX_3(BUS_CONFIGURE_ENTRY_PC, bus_no,
+                        POSTCODE_SEVERITY_INFO);
 
-       pBusInfo = findbus(&bus_info_list, busNo);
-       if (!pBusInfo) {
-               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, busNo,
+       bus_info = findbus(&bus_info_list, bus_no);
+       if (!bus_info) {
+               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
-               goto Away;
-       }
-       if (pBusInfo->state.created == 0) {
-               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, busNo,
+       } else if (bus_info->state.created == 0) {
+               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
-               goto Away;
-       }
-       /* TBD - add this check to other commands also... */
-       if (pBusInfo->pending_msg_hdr.id != CONTROLVM_INVALID) {
-               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, busNo,
+       } else if (bus_info->pending_msg_hdr.id != CONTROLVM_INVALID) {
+               POSTCODE_LINUX_3(BUS_CONFIGURE_FAILURE_PC, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_MESSAGE_ID_INVALID_FOR_CLIENT;
-               goto Away;
-       }
-
-       pBusInfo->partition_handle = cmd->configure_bus.guest_handle;
-       pBusInfo->partition_uuid = parser_id_get(parser_ctx);
-       parser_param_start(parser_ctx, PARSERSTRING_NAME);
-       pBusInfo->name = parser_string_get(parser_ctx);
+       } else {
+               bus_info->partition_handle = cmd->configure_bus.guest_handle;
+               bus_info->partition_uuid = parser_id_get(parser_ctx);
+               parser_param_start(parser_ctx, PARSERSTRING_NAME);
+               bus_info->name = parser_string_get(parser_ctx);
 
-       visorchannel_uuid_id(&pBusInfo->partition_uuid, s);
-       POSTCODE_LINUX_3(BUS_CONFIGURE_EXIT_PC, busNo, POSTCODE_SEVERITY_INFO);
-Away:
-       bus_epilog(busNo, CONTROLVM_BUS_CONFIGURE, &inmsg->hdr,
+               visorchannel_uuid_id(&bus_info->partition_uuid, s);
+               POSTCODE_LINUX_3(BUS_CONFIGURE_EXIT_PC, bus_no,
+                                POSTCODE_SEVERITY_INFO);
+       }
+       bus_epilog(bus_no, CONTROLVM_BUS_CONFIGURE, &inmsg->hdr,
                   rc, inmsg->hdr.flags.response_expected == 1);
 }
 
@@ -1148,101 +1137,98 @@ static void
 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;
-       struct visorchipset_device_info *pDevInfo = NULL;
-       struct visorchipset_bus_info *pBusInfo = NULL;
+       ulong bus_no = cmd->create_device.bus_no;
+       ulong dev_no = cmd->create_device.dev_no;
+       struct visorchipset_device_info *dev_info = NULL;
+       struct visorchipset_bus_info *bus_info = NULL;
        int rc = CONTROLVM_RESP_SUCCESS;
 
-       pDevInfo = finddevice(&dev_info_list, busNo, devNo);
-       if (pDevInfo && (pDevInfo->state.created == 1)) {
-               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, devNo, busNo,
+       dev_info = finddevice(&dev_info_list, bus_no, dev_no);
+       if (dev_info && (dev_info->state.created == 1)) {
+               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_ALREADY_DONE;
-               goto Away;
+               goto cleanup;
        }
-       pBusInfo = findbus(&bus_info_list, busNo);
-       if (!pBusInfo) {
-               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, devNo, busNo,
+       bus_info = findbus(&bus_info_list, bus_no);
+       if (!bus_info) {
+               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
-               goto Away;
+               goto cleanup;
        }
-       if (pBusInfo->state.created == 0) {
-               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, devNo, busNo,
+       if (bus_info->state.created == 0) {
+               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_BUS_INVALID;
-               goto Away;
+               goto cleanup;
        }
-       pDevInfo = kzalloc(sizeof(struct visorchipset_device_info), GFP_KERNEL);
-       if (!pDevInfo) {
-               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, devNo, busNo,
+       dev_info = kzalloc(sizeof(*dev_info), GFP_KERNEL);
+       if (!dev_info) {
+               POSTCODE_LINUX_4(DEVICE_CREATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_KMALLOC_FAILED;
-               goto Away;
+               goto cleanup;
        }
 
-       INIT_LIST_HEAD(&pDevInfo->entry);
-       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,
+       INIT_LIST_HEAD(&dev_info->entry);
+       dev_info->bus_no = bus_no;
+       dev_info->dev_no = dev_no;
+       dev_info->dev_inst_uuid = cmd->create_device.dev_inst_uuid;
+       POSTCODE_LINUX_4(DEVICE_CREATE_ENTRY_PC, dev_no, bus_no,
                         POSTCODE_SEVERITY_INFO);
 
        if (inmsg->hdr.flags.test_message == 1)
-               pDevInfo->chan_info.addr_type = ADDRTYPE_LOCALTEST;
+               dev_info->chan_info.addr_type = ADDRTYPE_LOCALTEST;
        else
-               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 =
+               dev_info->chan_info.addr_type = ADDRTYPE_LOCALPHYSICAL;
+       dev_info->chan_info.channel_addr = cmd->create_device.channel_addr;
+       dev_info->chan_info.n_channel_bytes = cmd->create_device.channel_bytes;
+       dev_info->chan_info.channel_type_uuid =
                        cmd->create_device.data_type_uuid;
-       pDevInfo->chan_info.intr = cmd->create_device.intr;
-       list_add(&pDevInfo->entry, &dev_info_list);
-       POSTCODE_LINUX_4(DEVICE_CREATE_EXIT_PC, devNo, busNo,
+       dev_info->chan_info.intr = cmd->create_device.intr;
+       list_add(&dev_info->entry, &dev_info_list);
+       POSTCODE_LINUX_4(DEVICE_CREATE_EXIT_PC, dev_no, bus_no,
                         POSTCODE_SEVERITY_INFO);
-Away:
+cleanup:
        /* get the bus and devNo for DiagPool channel */
-       if (pDevInfo &&
-           is_diagpool_channel(pDevInfo->chan_info.channel_type_uuid)) {
-               g_diagpool_bus_no = busNo;
-               g_diagpool_dev_no = devNo;
+       if (dev_info &&
+           is_diagpool_channel(dev_info->chan_info.channel_type_uuid)) {
+               g_diagpool_bus_no = bus_no;
+               g_diagpool_dev_no = dev_no;
        }
-       device_epilog(busNo, devNo, segment_state_running,
+       device_epilog(bus_no, dev_no, segment_state_running,
                      CONTROLVM_DEVICE_CREATE, &inmsg->hdr, rc,
                      inmsg->hdr.flags.response_expected == 1,
-                     FOR_VISORBUS(pDevInfo->chan_info.channel_type_uuid));
+                     FOR_VISORBUS(dev_info->chan_info.channel_type_uuid));
 }
 
 static void
 my_device_changestate(struct controlvm_message *inmsg)
 {
        struct controlvm_message_packet *cmd = &inmsg->cmd;
-       ulong busNo = cmd->device_change_state.bus_no;
-       ulong devNo = cmd->device_change_state.dev_no;
+       ulong bus_no = cmd->device_change_state.bus_no;
+       ulong dev_no = cmd->device_change_state.dev_no;
        struct spar_segment_state state = cmd->device_change_state.state;
-       struct visorchipset_device_info *pDevInfo = NULL;
+       struct visorchipset_device_info *dev_info = NULL;
        int rc = CONTROLVM_RESP_SUCCESS;
 
-       pDevInfo = finddevice(&dev_info_list, busNo, devNo);
-       if (!pDevInfo) {
-               POSTCODE_LINUX_4(DEVICE_CHANGESTATE_FAILURE_PC, devNo, busNo,
+       dev_info = finddevice(&dev_info_list, bus_no, dev_no);
+       if (!dev_info) {
+               POSTCODE_LINUX_4(DEVICE_CHANGESTATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_DEVICE_INVALID;
-               goto Away;
-       }
-       if (pDevInfo->state.created == 0) {
-               POSTCODE_LINUX_4(DEVICE_CHANGESTATE_FAILURE_PC, devNo, busNo,
+       } else if (dev_info->state.created == 0) {
+               POSTCODE_LINUX_4(DEVICE_CHANGESTATE_FAILURE_PC, dev_no, bus_no,
                                 POSTCODE_SEVERITY_ERR);
                rc = -CONTROLVM_RESP_ERROR_DEVICE_INVALID;
        }
-Away:
-       if ((rc >= CONTROLVM_RESP_SUCCESS) && pDevInfo)
-               device_epilog(busNo, devNo, state, CONTROLVM_DEVICE_CHANGESTATE,
-                             &inmsg->hdr, rc,
+       if ((rc >= CONTROLVM_RESP_SUCCESS) && dev_info)
+               device_epilog(bus_no, dev_no, state,
+                             CONTROLVM_DEVICE_CHANGESTATE, &inmsg->hdr, rc,
                              inmsg->hdr.flags.response_expected == 1,
                              FOR_VISORBUS(
-                                       pDevInfo->chan_info.channel_type_uuid));
+                                       dev_info->chan_info.channel_type_uuid));
 }
 
 static void