This patchset fixes a number of warnings produced by Linux 3.8 on the vexpress boards resulting from newer kernels prodding more of the SYS_CFG register operations.
Since some of the newly implemented functions expose voltage and oscillator settings which vary in number and value between vexpress daughterboards, these are exposed as qdev properties. The patchset therefore includes implementation of support for (variable length) qdev array properties. These work by initially exposing a "len-arrayname" property; when the device user sets this property to the desired array length, a further set of dynamic "arrayname[0]", "arrayname[1]", etc properties are created so the array elements can be set. Patches 1-5 are some preliminary cleanup and implementation of bits of SYS_CFG that don't require the property arrays. Patch 6 implements the arrays themselves. Patches 7,8 and 9,10 are paired patches which each add an array property to to the arm_sysctl code and then use it. Since I got zero review on the idea of qdev properties this feature is going to go in via arm-devs with the rest of this series... v1->v2 changes: * fixed Andreas' review comments on 'convert to instance_init' patch * rebase on master Peter Maydell (10): hw/vexpress: Pass proc_id via VEDBoardInfo hw/arm_sysctl: Handle SYS_CFGCTRL in a more structured way hw/arm_sysctl: Implement SYS_CFG_MUXFPGA writes as a no-op hw/arm_sysctl: Implement SYS_CFG_DVIMODE as a no-op hw/arm_sysctl: Convert from qdev init to instance_init qdev: Implement (variable length) array properties hw/arm_sysctl: Implement SYS_CFG_VOLT hw/vexpress: Pass voltage sensor properties to sysctl device hw/arm_sysctl: Implement SYS_CFG_OSC function hw/vexpress: Set reset values for daughterboard oscillators hw/arm_sysctl.c | 261 ++++++++++++++++++++++++++++++++++++++++++++++---- hw/qdev-core.h | 3 + hw/qdev-properties.c | 104 ++++++++++++++++++++ hw/qdev-properties.h | 39 ++++++++ hw/vexpress.c | 81 +++++++++++++--- 5 files changed, 457 insertions(+), 31 deletions(-) -- 1.7.9.5