As part of some ongoing sun4u work, I need to be able to wire the fw_cfg IO interface to a separate IO space by instantiating the qdev device instead of calling fw_cfg_init_io(). This patchset brings FW_CFG_IO in line with FW_CFG_MEM and tidies up the realize methods accordingly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Depends-on: https://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg01994.html <20170707213052.13087-1-ehabk...@redhat.com> v8: - Rebase onto master - Drop patches 1 and 2 since they have already been applied - Drop patch 4 since fw_cfg_unattached_at_realize() isn't required (it was a bug in object_resolve_path_type()) - Add comment on the return value of fw_cfg_find() - Add Reviewed-By from Igor v7: - Remove instance_init() function with assert() - Switch fw_cfg_find() over to use object_resolve_path_type() which removes the need for the fw_cfg device to exist at a fixed QOM path - Switch check for existence of another fw_cfg device over to use the new fw_cfg_find() - Add check for fw_cfg parent at realize time v6: - Revert move of FWCfgEntry from fw_cfg.c to fw_cfg.h from v5 - Add Reviewed-by tag from Laszlo for patch 5 - Add Tested-by tags from Laszlo for the series v5: - Remove unused FWCfgIoState iobase and dma_iobase fields - Add Reviewed-By tags from Laszlo - Update commit message in patch 5 as suggested by Laszlo - Move FWCfgEntry typedef from fw_cfg.h to typedefs.h with the others v4: - Undo accidental typedef change in patch 5 caught in v3 rework v3: - Rework patch 1 to use sysbus_add_io() as suggested by Laszlo - Add Reviewed-By from Laszlo for patch 2 - Fix assert() when instantiating > 1 fw_cfg device (new patch 3) - Rename fw_cfg_init1() to fw_cfg_common_realize() as part of patch 4 v2: - Fix the QOM bug in patch 1 as indicated by Laszlo - Minimise code churn compared to v1 Mark Cave-Ayland (3): fw_cfg: switch fw_cfg_find() to locate the fw_cfg device by type rather than path fw_cfg: move qdev_init_nofail() from fw_cfg_init1() to callers fw_cfg: move QOM type defines and fw_cfg types into fw_cfg.h hw/nvram/fw_cfg.c | 91 +++++++++++++++------------------------------ include/hw/nvram/fw_cfg.h | 50 +++++++++++++++++++++++++ include/qemu/typedefs.h | 1 + 3 files changed, 82 insertions(+), 60 deletions(-) -- 1.7.10.4