diff mbox

audio: es1370: add exit function

Message ID 583d5d12.8529c80a.4a33a.c6f9@mx.google.com
State New
Headers show

Commit Message

Li Qiang Nov. 29, 2016, 10:48 a.m. UTC
From: Li Qiang <liqiang6-s@360.cn>

Currently the es1370 device emulation doesn't have a exit function,
hot unplug this device will leak some leak. Add a exit function to
avoid this.

Signed-off-by: Li Qiang <liqiang6-s@360.cn>
---
 hw/audio/es1370.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Li Qiang Dec. 13, 2016, 8:55 a.m. UTC | #1
ping!

2016-11-29 18:48 GMT+08:00 Li Qiang <liq3ea@gmail.com>:

> From: Li Qiang <liqiang6-s@360.cn>
>
> Currently the es1370 device emulation doesn't have a exit function,
> hot unplug this device will leak some leak. Add a exit function to
> avoid this.
>
> Signed-off-by: Li Qiang <liqiang6-s@360.cn>
> ---
>  hw/audio/es1370.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
> index 8449b5f..8f70f72 100644
> --- a/hw/audio/es1370.c
> +++ b/hw/audio/es1370.c
> @@ -1041,6 +1041,13 @@ static void es1370_realize(PCIDevice *dev, Error
> **errp)
>      es1370_reset (s);
>  }
>
> +static void es1370_exit(PCIDevice *dev)
> +{
> +    ES1370State *s = ES1370(dev);
> +
> +    AUD_remove_card(&s->card);
> +}
> +
>  static int es1370_init (PCIBus *bus)
>  {
>      pci_create_simple (bus, -1, TYPE_ES1370);
> @@ -1053,6 +1060,7 @@ static void es1370_class_init (ObjectClass *klass,
> void *data)
>      PCIDeviceClass *k = PCI_DEVICE_CLASS (klass);
>
>      k->realize = es1370_realize;
> +    k->exit = es1370_exit;
>      k->vendor_id = PCI_VENDOR_ID_ENSONIQ;
>      k->device_id = PCI_DEVICE_ID_ENSONIQ_ES1370;
>      k->class_id = PCI_CLASS_MULTIMEDIA_AUDIO;
> --
> 1.8.3.1
>
>
Marc-André Lureau Dec. 13, 2016, 5:46 p.m. UTC | #2
good, and could be better, see my ac97 review

On Tue, Dec 13, 2016 at 11:57 AM Li Qiang <liq3ea@gmail.com> wrote:

> ping!
>
> 2016-11-29 18:48 GMT+08:00 Li Qiang <liq3ea@gmail.com>:
>
> > From: Li Qiang <liqiang6-s@360.cn>
> >
> > Currently the es1370 device emulation doesn't have a exit function,
> > hot unplug this device will leak some leak. Add a exit function to
> > avoid this.
> >
> > Signed-off-by: Li Qiang <liqiang6-s@360.cn>
> > ---
> >  hw/audio/es1370.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> >
> > diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
> > index 8449b5f..8f70f72 100644
> > --- a/hw/audio/es1370.c
> > +++ b/hw/audio/es1370.c
> > @@ -1041,6 +1041,13 @@ static void es1370_realize(PCIDevice *dev, Error
> > **errp)
> >      es1370_reset (s);
> >  }
> >
> > +static void es1370_exit(PCIDevice *dev)
> > +{
> > +    ES1370State *s = ES1370(dev);
> > +
> > +    AUD_remove_card(&s->card);
> > +}
> > +
> >  static int es1370_init (PCIBus *bus)
> >  {
> >      pci_create_simple (bus, -1, TYPE_ES1370);
> > @@ -1053,6 +1060,7 @@ static void es1370_class_init (ObjectClass *klass,
> > void *data)
> >      PCIDeviceClass *k = PCI_DEVICE_CLASS (klass);
> >
> >      k->realize = es1370_realize;
> > +    k->exit = es1370_exit;
> >      k->vendor_id = PCI_VENDOR_ID_ENSONIQ;
> >      k->device_id = PCI_DEVICE_ID_ENSONIQ_ES1370;
> >      k->class_id = PCI_CLASS_MULTIMEDIA_AUDIO;
> > --
> > 1.8.3.1
> >
> >
>
diff mbox

Patch

diff --git a/hw/audio/es1370.c b/hw/audio/es1370.c
index 8449b5f..8f70f72 100644
--- a/hw/audio/es1370.c
+++ b/hw/audio/es1370.c
@@ -1041,6 +1041,13 @@  static void es1370_realize(PCIDevice *dev, Error **errp)
     es1370_reset (s);
 }
 
+static void es1370_exit(PCIDevice *dev)
+{
+    ES1370State *s = ES1370(dev);
+
+    AUD_remove_card(&s->card);
+}
+
 static int es1370_init (PCIBus *bus)
 {
     pci_create_simple (bus, -1, TYPE_ES1370);
@@ -1053,6 +1060,7 @@  static void es1370_class_init (ObjectClass *klass, void *data)
     PCIDeviceClass *k = PCI_DEVICE_CLASS (klass);
 
     k->realize = es1370_realize;
+    k->exit = es1370_exit;
     k->vendor_id = PCI_VENDOR_ID_ENSONIQ;
     k->device_id = PCI_DEVICE_ID_ENSONIQ_ES1370;
     k->class_id = PCI_CLASS_MULTIMEDIA_AUDIO;