On Mon, 21 Sept 2026 at 22:47, Bernhard Beschow <[email protected]> wrote: > > The previous change rendered the locked attributes unused but they were kept > for migration compatibiliy when backporting. Remove the unneeded attributes > and break migration compatibility since QEMU does not guarantee > compatibility for i.MX devices between feature releases. > > Signed-off-by: Bernhard Beschow <[email protected]> > --- > include/hw/watchdog/wdt_imx2.h | 2 -- > hw/watchdog/wdt_imx2.c | 3 +-- > 2 files changed, 1 insertion(+), 4 deletions(-) > > diff --git a/include/hw/watchdog/wdt_imx2.h b/include/hw/watchdog/wdt_imx2.h > index ad36b8820d..0bf2903959 100644 > --- a/include/hw/watchdog/wdt_imx2.h > +++ b/include/hw/watchdog/wdt_imx2.h > @@ -84,8 +84,6 @@ struct IMX2WdtState { > uint16_t wmcr; > > bool wcr_locked; /* affects WDZST, WDBG, and WDW */ > - bool wcr_wde_locked; /* affects WDE */ > - bool wcr_wdt_locked; /* affects WDT (never cleared) */ > }; > > #endif /* WDT_IMX2_H */ > diff --git a/hw/watchdog/wdt_imx2.c b/hw/watchdog/wdt_imx2.c > index aaf4695db2..c8ea704aa3 100644 > --- a/hw/watchdog/wdt_imx2.c > +++ b/hw/watchdog/wdt_imx2.c > @@ -220,13 +220,12 @@ static const MemoryRegionOps imx2_wdt_ops = { > > static const VMStateDescription vmstate_imx2_wdt = { > .name = "imx2.wdt", > + .version_id = 1, > .fields = (const VMStateField[]) { > VMSTATE_PTIMER(timer, IMX2WdtState), > VMSTATE_PTIMER(itimer, IMX2WdtState), > VMSTATE_BOOL(wicr_locked, IMX2WdtState), > VMSTATE_BOOL(wcr_locked, IMX2WdtState), > - VMSTATE_BOOL(wcr_wde_locked, IMX2WdtState), > - VMSTATE_BOOL(wcr_wdt_locked, IMX2WdtState), > VMSTATE_UINT16(wcr, IMX2WdtState), > VMSTATE_UINT16(wsr, IMX2WdtState), > VMSTATE_UINT16(wrsr, IMX2WdtState),
We could alternatively keep the migration compat by using VMSTATE_UNUSED(1), /* was wcr_wde_locked */ VMSTATE_UNUSED(1), /* was wcr_wdt_locked */ but as you say we don't care about this for imx boards, so bumping the version field is fine. Reviewed-by: Peter Maydell <[email protected]> thanks -- PMM
