On 14 August 2012 09:27, Juan Quintela <quint...@redhat.com> wrote: > "Peter A. G. Crosthwaite" <peter.crosthwa...@petalogix.com> wrote: >> Hi All. PMM raised a query on a recent series of mine (the SSI series) about >> handling VMSD for devices which define state at multiple levels of the QOM >> heirachy.
> - If you ask me, I would very much preffer something like PCI devices, > where the 1st field of any specific device is the i2c part. This > would achieve two things: > * all i2c devices would have the common fields at the beggining > * we sent the data for one device in one go, so we will never had > trouble making sure that both devices arrive at the same time, in > the right order, etc. > > - I guess there is same reasy why you want to split the device state, > it could be on the other series where I haven't read it though. Really I'm just trying to get clarification on how class hierarchies should handle vmstate. At the moment any device which is a subclass of i2c has a VMSTATE_I2C_SLAVE field corresponding to the element in its struct which is its parent object. This seems a bit odd because surely the parent class should be responsible for its own save/load? I'm also not sure we do this consistently through the whole QOM hierarchy. So what I'm after is not necessarily a patch so much as a decision about which way this should be handled. This would probably be good to put in a section of Anthony's QOM style guide... -- PMM