On Wed, 20 May 2026 at 17:33, Philippe Mathieu-Daudé <[email protected]> wrote:
>
> Hi Yucai,
>
> On 27/4/26 14:47, Peter Maydell wrote:
> > +static void imx6ul_lcdif_class_init(ObjectClass *klass, const void *data)
> > +{
> > +    DeviceClass *dc = DEVICE_CLASS(klass);
> > +
> > +    dc->realize = imx6ul_lcdif_realize;
> > +    dc->unrealize = imx6ul_lcdif_unrealize;
> > +    dc->vmsd = &vmstate_imx6ul_lcdif;
> > +    device_class_set_legacy_reset(dc, imx6ul_lcdif_reset);
>
> Please do not use the legacy API. See for example this commit
> to convert to the newer API:
> https://gitlab.com/qemu-project/qemu/-/commit/ce788d3740f

There's not really a problem with continuing to use the legacy
reset API for this kind of "leaf class" device. It has identical
semantics to just providing a 3-phase "hold" reset method, the
compatibility-code is trivial and not a big maintenance burden,
and we're unlikely to convert all 400+ existing users. (Unless
somebody figures out a Coccinelle script for it, in which case
it's just one more file being autoconverted. IIRC the hitch
I ran into was that you need to determine whether the reset
function is called by any other code -- those are probably
not autoconvertible in the way "function only used as the
argument to device_class_legacy_reset()" could be.)

thanks
-- PMM

Reply via email to