qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 20/45] ide: Provide IDEDeviceInfo method exit


From: Luiz Capitulino
Subject: Re: [Qemu-devel] [PATCH v2 20/45] ide: Provide IDEDeviceInfo method exit()
Date: Thu, 4 Aug 2011 14:48:41 -0300

On Wed,  3 Aug 2011 15:07:59 +0200
Markus Armbruster <address@hidden> wrote:

> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---
>  hw/ide/internal.h |    1 +
>  hw/ide/qdev.c     |   12 ++++++++++++
>  2 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/hw/ide/internal.h b/hw/ide/internal.h
> index 3e56b45..0b0b8a7 100644
> --- a/hw/ide/internal.h
> +++ b/hw/ide/internal.h
> @@ -529,6 +529,7 @@ typedef int (*ide_qdev_initfn)(IDEDevice *dev);
>  struct IDEDeviceInfo {
>      DeviceInfo qdev;
>      ide_qdev_initfn init;
> +    ide_qdev_initfn exit;
>  };
>  
>  #define BM_STATUS_DMAING 0x01
> diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
> index 6bd8d20..3b7b306 100644
> --- a/hw/ide/qdev.c
> +++ b/hw/ide/qdev.c
> @@ -91,9 +91,21 @@ err:
>      return -1;
>  }
>  
> +static int ide_qdev_exit(DeviceState *qdev)
> +{
> +    IDEDevice *dev = DO_UPCAST(IDEDevice, qdev, qdev);
> +    IDEDeviceInfo *info = DO_UPCAST(IDEDeviceInfo, qdev, qdev->info);
> +
> +    if (info->exit) {
> +        return info->exit(dev);
> +    }
> +    return 0;

return info->exit ? info->exit(dev) : 0;

> +}
> +
>  static void ide_qdev_register(IDEDeviceInfo *info)
>  {
>      info->qdev.init = ide_qdev_init;
> +    info->qdev.exit = ide_qdev_exit;
>      info->qdev.bus_info = &ide_bus_info;
>      qdev_register(&info->qdev);
>  }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]