Message ID | 20190904085629.13872-8-shameerali.kolothum.thodi@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM virt: ACPI memory hotplug support | expand |
On Wed, 4 Sep 2019 09:56:25 +0100 Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> wrote: > This is in preparation of using GED device for > system_powerdown event. Make the powerdown notifier > registration independent of create_gpio() fn. > > Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> > Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > hw/arm/virt.c | 12 ++++-------- > include/hw/arm/virt.h | 1 + > 2 files changed, 5 insertions(+), 8 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 95accc28f1..89ee37d7de 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -791,10 +791,6 @@ static void virt_powerdown_req(Notifier *n, void *opaque) > qemu_set_irq(qdev_get_gpio_in(gpio_key_dev, 0), 1); > } > > -static Notifier virt_system_powerdown_notifier = { > - .notify = virt_powerdown_req > -}; > - > static void create_gpio(const VirtMachineState *vms, qemu_irq *pic) > { > char *nodename; > @@ -835,10 +831,6 @@ static void create_gpio(const VirtMachineState *vms, qemu_irq *pic) > KEY_POWER); > qemu_fdt_setprop_cells(vms->fdt, "/gpio-keys/poweroff", > "gpios", phandle, 3, 0); > - > - /* connect powerdown request */ > - qemu_register_powerdown_notifier(&virt_system_powerdown_notifier); > - > g_free(nodename); > } > > @@ -1730,6 +1722,10 @@ static void machvirt_init(MachineState *machine) > vms->acpi_dev = create_acpi_ged(vms, pic); > } > > + /* connect powerdown request */ > + vms->powerdown_notifier.notify = virt_powerdown_req; > + qemu_register_powerdown_notifier(&vms->powerdown_notifier); > + > /* Create mmio transports, so the user can create virtio backends > * (which will be automatically plugged in to the transports). If > * no backend is created the transport will just sit harmlessly idle. > diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h > index 577ee49b4b..0b41083e9d 100644 > --- a/include/hw/arm/virt.h > +++ b/include/hw/arm/virt.h > @@ -137,6 +137,7 @@ typedef struct { > int psci_conduit; > hwaddr highest_gpa; > DeviceState *acpi_dev; > + Notifier powerdown_notifier; > } VirtMachineState; > > #define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 95accc28f1..89ee37d7de 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -791,10 +791,6 @@ static void virt_powerdown_req(Notifier *n, void *opaque) qemu_set_irq(qdev_get_gpio_in(gpio_key_dev, 0), 1); } -static Notifier virt_system_powerdown_notifier = { - .notify = virt_powerdown_req -}; - static void create_gpio(const VirtMachineState *vms, qemu_irq *pic) { char *nodename; @@ -835,10 +831,6 @@ static void create_gpio(const VirtMachineState *vms, qemu_irq *pic) KEY_POWER); qemu_fdt_setprop_cells(vms->fdt, "/gpio-keys/poweroff", "gpios", phandle, 3, 0); - - /* connect powerdown request */ - qemu_register_powerdown_notifier(&virt_system_powerdown_notifier); - g_free(nodename); } @@ -1730,6 +1722,10 @@ static void machvirt_init(MachineState *machine) vms->acpi_dev = create_acpi_ged(vms, pic); } + /* connect powerdown request */ + vms->powerdown_notifier.notify = virt_powerdown_req; + qemu_register_powerdown_notifier(&vms->powerdown_notifier); + /* Create mmio transports, so the user can create virtio backends * (which will be automatically plugged in to the transports). If * no backend is created the transport will just sit harmlessly idle. diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index 577ee49b4b..0b41083e9d 100644 --- a/include/hw/arm/virt.h +++ b/include/hw/arm/virt.h @@ -137,6 +137,7 @@ typedef struct { int psci_conduit; hwaddr highest_gpa; DeviceState *acpi_dev; + Notifier powerdown_notifier; } VirtMachineState; #define VIRT_ECAM_ID(high) (high ? VIRT_HIGH_PCIE_ECAM : VIRT_PCIE_ECAM)