diff options
| author | Padmarao Begari <[email protected]> | 2025-09-12 15:35:38 +0530 |
|---|---|---|
| committer | Michal Simek <[email protected]> | 2025-10-09 09:07:04 +0200 |
| commit | aa4e7f70837fc7f714822de234d30fb13fb29d14 (patch) | |
| tree | 5b92345fae77446582ad7f3c97c72750bb802f63 /lib | |
| parent | 9b68682d1cc1d44a6646bc50c536af91c770c712 (diff) | |
FWU: Add platform hook support for fwu metata
FWU metadata information is unavailable for platform-specific
operations since FWU initialization has not yet occurred.
The initialization function is invoked as part of the main
loop event. To address this, the FWU platform hook function
is introduced during FWU initialization, allowing metadata
processing with platform-specific operations.
Signed-off-by: Padmarao Begari <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Michal Simek <[email protected]>
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); |
