ssize_t mcu_revision_show(struct device *dev, struct device_attribute *attr, char *buf) { struct ssp_data *data = dev_get_drvdata(dev); #if defined(CONFIG_MACH_JACTIVE_ATT) || defined(CONFIG_MACH_JACTIVE_EUR) return sprintf(buf, "AT01%u,AT01%u\n", data->uCurFirmRev, get_module_rev(data)); #else return sprintf(buf, "AT01%u,AT01%u\n", get_module_rev(data), data->uCurFirmRev); #endif }
int check_fwbl(struct ssp_data *data) { int iRet; unsigned int fw_revision; fw_revision = get_module_rev(data); data->uCurFirmRev = get_firmware_rev(data); if ((data->uCurFirmRev == SSP_INVALID_REVISION) \ || (data->uCurFirmRev == SSP_INVALID_REVISION2)) { iRet = check_bootloader(data, BL_WAITING_BOOTLOAD_CMD); if (iRet >= 0) pr_info("[SSP] ssp_load_fw_bootmode\n"); else { pr_warn("[SSP] Firm Rev is invalid(%8u). Retry.\n", data->uCurFirmRev); data->uCurFirmRev = get_firmware_rev(data); } data->uCurFirmRev = SSP_INVALID_REVISION; pr_err("[SSP] SSP_INVALID_REVISION\n"); return FW_DL_STATE_NEED_TO_SCHEDULE; } else { if (data->uCurFirmRev != fw_revision) { pr_info("[SSP] MCU Firm Rev : Old = %8u, New = %8u\n", data->uCurFirmRev, fw_revision); return FW_DL_STATE_NEED_TO_SCHEDULE; } pr_info("[SSP] MCU Firm Rev : Old = %8u, New = %8u\n", data->uCurFirmRev, fw_revision); } return FW_DL_STATE_NONE; }
ssize_t mcu_revision_show(struct device *dev, struct device_attribute *attr, char *buf) { struct ssp_data *data = dev_get_drvdata(dev); return sprintf(buf, "ST01%u,ST01%u\n", get_module_rev(data), data->uCurFirmRev); }