diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/fwu_updates/fwu.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/fwu_updates/fwu.c b/lib/fwu_updates/fwu.c index 7f085a0211f..0f5ef2ba515 100644 --- a/lib/fwu_updates/fwu.c +++ b/lib/fwu_updates/fwu.c @@ -656,6 +656,16 @@ __weak void fwu_plat_get_bootidx(uint *boot_idx) } /** + * fwu_platform_hook() - Platform specific processing with FWU metadata + * + * Return: 0 if OK, -ve on error + */ +__weak int fwu_platform_hook(struct udevice *dev, struct fwu_data *data) +{ + return 0; +} + +/** * fwu_update_checks_pass() - Check if FWU update can be done * * Check if the FWU update can be executed. The updates are @@ -712,6 +722,7 @@ static int fwu_boottime_checks(void) { int ret; u32 boot_idx, active_idx; + struct fwu_data *data; ret = uclass_first_device_err(UCLASS_FWU_MDATA, &g_dev); if (ret) { @@ -770,6 +781,13 @@ static int fwu_boottime_checks(void) if (!ret) boottime_check = 1; + data = fwu_get_data(); + ret = fwu_platform_hook(g_dev, data); + if (ret) { + log_err("fwu_platform_hook() failed\n"); + return ret; + } + return 0; } EVENT_SPY_SIMPLE(EVT_MAIN_LOOP, fwu_boottime_checks); |
