Skip to content
  • Paolo Bonzini's avatar
    virtio-bus: cleanup plug/unplug interface · 5e96f5d2
    Paolo Bonzini authored
    
    
    Right now we have these pairs:
    
    - virtio_bus_plug_device/virtio_bus_destroy_device.  The first
      takes a VirtIODevice, the second takes a VirtioBusState
    
    - device_plugged/device_unplug callbacks in the VirtioBusClass
      (here it's just the naming that is inconsistent)
    
    - virtio_bus_destroy_device is not called by anyone (and since
      it calls qdev_free, it would be called by the proxies---but
      then the callback is useless since the proxies can do whatever
      they want before calling virtio_bus_destroy_device)
    
    And there is a k->init but no k->exit, hence virtio_device_exit is
    overwritten by subclasses (except virtio-9p).  This cleans it up by:
    
    - renaming the device_unplug callback to device_unplugged
    
    - renaming virtio_bus_plug_device to virtio_bus_device_plugged,
      matching the callback name
    
    - renaming virtio_bus_destroy_device to virtio_bus_device_unplugged,
      removing the qdev_free, making it take a VirtIODevice and calling it
      from virtio_device_exit
    
    - adding a k->exit callback
    
    virtio_device_exit is still overwritten, the next patches will fix that.
    
    Cc: qemu-stable@nongnu.org
    Acked-by: default avatarAndreas Faerber <afaerber@suse.de>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    5e96f5d2