diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-10-20 15:03:30 +0200 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2023-10-27 12:48:57 +0100 |
commit | bf348bf9ab5459004927873c37e79f2040887d22 (patch) | |
tree | d1ec45c2b36f1563455896fbe8253949e7335e5f /hw/arm | |
parent | 25c4ff29d1688989ca6246e1a34e57505283ea2c (diff) | |
download | qemu-bf348bf9ab5459004927873c37e79f2040887d22.zip qemu-bf348bf9ab5459004927873c37e79f2040887d22.tar.gz qemu-bf348bf9ab5459004927873c37e79f2040887d22.tar.bz2 |
hw/arm/pxa2xx: Realize PXA2XX_I2C device before accessing it
qbus_new(), called in i2c_init_bus(), should not be called
on unrealized device.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 20231020130331.50048-10-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm')
-rw-r--r-- | hw/arm/pxa2xx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 601ddd8..f0bf407 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1513,14 +1513,15 @@ PXA2xxI2CState *pxa2xx_i2c_init(hwaddr base, qdev_prop_set_uint32(dev, "size", region_size + 1); qdev_prop_set_uint32(dev, "offset", base & region_size); + /* FIXME: Should the slave device really be on a separate bus? */ + i2cbus = i2c_init_bus(dev, "dummy"); + i2c_dev = SYS_BUS_DEVICE(dev); sysbus_realize_and_unref(i2c_dev, &error_fatal); sysbus_mmio_map(i2c_dev, 0, base & ~region_size); sysbus_connect_irq(i2c_dev, 0, irq); s = PXA2XX_I2C(i2c_dev); - /* FIXME: Should the slave device really be on a separate bus? */ - i2cbus = i2c_init_bus(dev, "dummy"); s->slave = PXA2XX_I2C_SLAVE(i2c_slave_create_simple(i2cbus, TYPE_PXA2XX_I2C_SLAVE, 0)); |