1> Function comments moved to .c file.
2> Use literals in return to improve readability.
3> Do error handling check instead of success check.
4> Redundant ret assignment removed.
Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
#include "iosm_ipc_coredump.h"
-/* Collect coredump data from modem */
+/**
+ * ipc_coredump_collect - To collect coredump
+ * @devlink: Pointer to devlink instance.
+ * @data: Pointer to snapshot
+ * @entry: ID of requested snapshot
+ * @region_size: Region size
+ *
+ * Returns: 0 on success, error on failure
+ */
int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
u32 region_size)
{
*data = data_ptr;
- return ret;
+ return 0;
+
get_cd_fail:
vfree(data_ptr);
return ret;
}
-/* Get coredump list to be collected from modem */
+/**
+ * ipc_coredump_get_list - Get coredump list from modem
+ * @devlink: Pointer to devlink instance.
+ * @cmd: RPSI command to be sent
+ *
+ * Returns: 0 on success, error on failure
+ */
int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd)
{
u32 byte_read, num_entries, file_size;
struct iosm_cd_table *cd_table;
u8 size[MAX_SIZE_LEN], i;
char *filename;
- int ret = 0;
+ int ret;
cd_table = kzalloc(MAX_CD_LIST_SIZE, GFP_KERNEL);
if (!cd_table) {
struct iosm_cd_list list;
} __packed;
-/**
- * ipc_coredump_collect - To collect coredump
- * @devlink: Pointer to devlink instance.
- * @data: Pointer to snapshot
- * @entry: ID of requested snapshot
- * @region_size: Region size
- *
- * Returns: 0 on success, error on failure
- */
int ipc_coredump_collect(struct iosm_devlink *devlink, u8 **data, int entry,
u32 region_size);
-/**
- * ipc_coredump_get_list - Get coredump list
- * @devlink: Pointer to devlink instance.
- * @cmd: RPSI command to be sent
- *
- * Returns: 0 on success, error on failure
- */
int ipc_coredump_get_list(struct iosm_devlink *devlink, u16 cmd);
#endif /* _IOSM_IPC_COREDUMP_H_ */
{
struct iosm_devlink *ipc_devlink = devlink_priv(devlink);
enum iosm_flash_comp_type fls_type;
- u32 rc = -EINVAL;
+ int rc = -EINVAL;
u8 *mdm_rsp;
if (!params->component)
- return rc;
+ return -EINVAL;
mdm_rsp = kzalloc(IOSM_EBL_DW_PACK_SIZE, GFP_KERNEL);
if (!mdm_rsp)
break;
case FLASH_COMP_TYPE_EBL:
rc = ipc_flash_boot_ebl(ipc_devlink, params->fw);
- if (!rc)
- rc = ipc_flash_boot_set_capabilities(ipc_devlink,
- mdm_rsp);
- if (!rc)
- rc = ipc_flash_read_swid(ipc_devlink, mdm_rsp);
+ if (rc)
+ break;
+ rc = ipc_flash_boot_set_capabilities(ipc_devlink, mdm_rsp);
+ if (rc)
+ break;
+ rc = ipc_flash_read_swid(ipc_devlink, mdm_rsp);
break;
case FLASH_COMP_TYPE_FLS:
rc = ipc_flash_send_fls(ipc_devlink, params->fw, mdm_rsp);
.flash_update = ipc_devlink_flash_update,
};
-/* Send command to modem to collect data */
+/**
+ * ipc_devlink_send_cmd - Send command to Modem
+ * @ipc_devlink: Pointer to struct iosm_devlink
+ * @cmd: Command to be sent to modem
+ * @entry: Command entry number
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_devlink_send_cmd(struct iosm_devlink *ipc_devlink, u16 cmd, u32 entry)
{
struct iosm_rpsi_cmd rpsi_cmd;
sizeof(rpsi_cmd));
}
+/* Function to create snapshot */
static int ipc_devlink_coredump_snapshot(struct devlink *dl,
const struct devlink_region_ops *ops,
struct netlink_ext_ack *extack,
if (cd_list->entry == (IOSM_NOF_CD_REGION - 1))
ipc_coredump_get_list(ipc_devlink, rpsi_cmd_coredump_end);
- return rc;
+ return 0;
+
coredump_collect_err:
ipc_coredump_get_list(ipc_devlink, rpsi_cmd_coredump_end);
return rc;
devlink_region_destroy(ipc_devlink->cd_regions[i]);
}
-/* Handle registration to devlink framework */
+/**
+ * ipc_devlink_init - Initialize/register devlink to IOSM driver
+ * @ipc_imem: Pointer to struct iosm_imem
+ *
+ * Returns: Pointer to iosm_devlink on success and NULL on failure
+ */
struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem)
{
struct ipc_chnl_cfg chnl_cfg_flash = { 0 };
return NULL;
}
-/* Handle unregistration of devlink */
+/**
+ * ipc_devlink_deinit - To unintialize the devlink from IOSM driver.
+ * @ipc_devlink: Devlink instance
+ */
void ipc_devlink_deinit(struct iosm_devlink *ipc_devlink)
{
struct devlink *devlink_ctx = ipc_devlink->devlink_ctx;
__le16 crc;
};
-/**
- * ipc_devlink_init - To initialize the devlink to IOSM driver
- * @ipc_imem: Pointer to struct iosm_imem
- *
- * Returns: Pointer to iosm_devlink on success and NULL on failure
- */
struct iosm_devlink *ipc_devlink_init(struct iosm_imem *ipc_imem);
-/**
- * ipc_devlink_deinit - To unintialize the devlink from IOSM driver.
- * @ipc_devlink: Devlink instance
- */
void ipc_devlink_deinit(struct iosm_devlink *ipc_devlink);
-/**
- * ipc_devlink_send_cmd - Send command to Modem
- * @ipc_devlink: Pointer to struct iosm_devlink
- * @cmd: Command to be sent to modem
- * @entry: Command entry number
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_devlink_send_cmd(struct iosm_devlink *ipc_devlink, u16 cmd, u32 entry);
#endif /* _IOSM_IPC_DEVLINK_H */
{
struct iosm_ebl_error *err_info = payload_rsp;
u16 *rsp_code = hdr_rsp;
- int res = 0;
u32 i;
if (*rsp_code == IOSM_EBL_RSP_BUFF) {
err_info->error[i].error_code);
}
}
- res = -EINVAL;
+ return -EINVAL;
}
- return res;
+ return 0;
}
/* Send data to the modem */
return ret;
}
-/* Allocate flash channel and read LER data from modem */
+/**
+ * ipc_flash_link_establish - Flash link establishment
+ * @ipc_imem: Pointer to struct iosm_imem
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_flash_link_establish(struct iosm_imem *ipc_imem)
{
u8 ler_data[IOSM_LER_RSP_SIZE];
if (bytes_read != IOSM_LER_RSP_SIZE)
goto devlink_read_fail;
+
return 0;
devlink_read_fail:
return ret;
}
-/* Set the capabilities for the EBL */
+/**
+ * ipc_flash_boot_set_capabilities - Set modem boot capabilities in flash
+ * @ipc_devlink: Pointer to devlink structure
+ * @mdm_rsp: Pointer to modem response buffer
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_flash_boot_set_capabilities(struct iosm_devlink *ipc_devlink,
u8 *mdm_rsp)
{
- int ret;
-
ipc_devlink->ebl_ctx.ebl_sw_info_version =
ipc_devlink->ebl_ctx.m_ebl_resp[EBL_RSP_SW_INFO_VER];
ipc_devlink->ebl_ctx.m_ebl_resp[EBL_SKIP_ERASE] = IOSM_CAP_NOT_ENHANCED;
/* Write back the EBL capability to modem
* Request Set Protcnf command
*/
- ret = ipc_flash_send_receive(ipc_devlink, FLASH_SET_PROT_CONF,
+ return ipc_flash_send_receive(ipc_devlink, FLASH_SET_PROT_CONF,
ipc_devlink->ebl_ctx.m_ebl_resp,
IOSM_EBL_RSP_SIZE, mdm_rsp);
- return ret;
}
/* Read the SWID type and SWID value from the EBL */
return ret;
}
-/* Flash the individual fls files */
+/**
+ * ipc_flash_send_fls - Inject Modem subsystem fls file to device
+ * @ipc_devlink: Pointer to devlink structure
+ * @fw: FW image
+ * @mdm_rsp: Pointer to modem response buffer
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_flash_send_fls(struct iosm_devlink *ipc_devlink,
const struct firmware *fw, u8 *mdm_rsp)
{
return ret;
}
-/* Inject RPSI */
+/**
+ * ipc_flash_boot_psi - Inject PSI image
+ * @ipc_devlink: Pointer to devlink structure
+ * @fw: FW image
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_flash_boot_psi(struct iosm_devlink *ipc_devlink,
const struct firmware *fw)
{
return ret;
}
-/* Inject EBL */
+/**
+ * ipc_flash_boot_ebl - Inject EBL image
+ * @ipc_devlink: Pointer to devlink structure
+ * @fw: FW image
+ *
+ * Returns: 0 on success and failure value on error
+ */
int ipc_flash_boot_ebl(struct iosm_devlink *ipc_devlink,
const struct firmware *fw)
{
__le32 msg_length;
};
-/**
- * ipc_flash_boot_psi - Inject PSI image
- * @ipc_devlink: Pointer to devlink structure
- * @fw: FW image
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_boot_psi(struct iosm_devlink *ipc_devlink,
const struct firmware *fw);
-/**
- * ipc_flash_boot_ebl - Inject EBL image
- * @ipc_devlink: Pointer to devlink structure
- * @fw: FW image
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_boot_ebl(struct iosm_devlink *ipc_devlink,
const struct firmware *fw);
-/**
- * ipc_flash_boot_set_capabilities - Set modem bool capabilities in flash
- * @ipc_devlink: Pointer to devlink structure
- * @mdm_rsp: Pointer to modem response buffer
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_boot_set_capabilities(struct iosm_devlink *ipc_devlink,
u8 *mdm_rsp);
-/**
- * ipc_flash_link_establish - Flash link establishment
- * @ipc_imem: Pointer to struct iosm_imem
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_link_establish(struct iosm_imem *ipc_imem);
-/**
- * ipc_flash_read_swid - Get swid during flash phase
- * @ipc_devlink: Pointer to devlink structure
- * @mdm_rsp: Pointer to modem response buffer
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_read_swid(struct iosm_devlink *ipc_devlink, u8 *mdm_rsp);
-/**
- * ipc_flash_send_fls - Inject Modem subsystem fls file to device
- * @ipc_devlink: Pointer to devlink structure
- * @fw: FW image
- * @mdm_rsp: Pointer to modem response buffer
- *
- * Returns: 0 on success and failure value on error
- */
int ipc_flash_send_fls(struct iosm_devlink *ipc_devlink,
const struct firmware *fw, u8 *mdm_rsp);
#endif