diff options
author | bryanv <bryanv@FreeBSD.org> | 2013-09-01 04:20:23 +0000 |
---|---|---|
committer | bryanv <bryanv@FreeBSD.org> | 2013-09-01 04:20:23 +0000 |
commit | a9e07a227ed77a42f0ffc03714a5dee3148e6bcc (patch) | |
tree | 9acaab66def82fcd9a66ce202baca1a639dcbf89 | |
parent | f175a1e7f9ee74ccf0005d916bdd3fc622355974 (diff) | |
download | FreeBSD-src-a9e07a227ed77a42f0ffc03714a5dee3148e6bcc.zip FreeBSD-src-a9e07a227ed77a42f0ffc03714a5dee3148e6bcc.tar.gz |
Add optional VirtIO device method for post-attach notifications
This is called after the parent device (ie virito_pci) has
completed the device attachment/initialization.
-rw-r--r-- | sys/dev/virtio/pci/virtio_pci.c | 4 | ||||
-rw-r--r-- | sys/dev/virtio/virtio_if.m | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/sys/dev/virtio/pci/virtio_pci.c b/sys/dev/virtio/pci/virtio_pci.c index b3df3d9..dcd82ec 100644 --- a/sys/dev/virtio/pci/virtio_pci.c +++ b/sys/dev/virtio/pci/virtio_pci.c @@ -757,8 +757,10 @@ vtpci_probe_and_attach_child(struct vtpci_softc *sc) vtpci_release_child_resources(sc); /* Reset status for future attempt. */ vtpci_set_status(dev, VIRTIO_CONFIG_STATUS_ACK); - } else + } else { vtpci_set_status(dev, VIRTIO_CONFIG_STATUS_DRIVER_OK); + VIRTIO_ATTACH_COMPLETED(child); + } } static int diff --git a/sys/dev/virtio/virtio_if.m b/sys/dev/virtio/virtio_if.m index 9a99d37..521f4b8 100644 --- a/sys/dev/virtio/virtio_if.m +++ b/sys/dev/virtio/virtio_if.m @@ -31,6 +31,18 @@ INTERFACE virtio; CODE { static int + virtio_default_attach_completed(device_t dev) + { + return (0); + } +}; + +METHOD int attach_completed { + device_t dev; +} DEFAULT virtio_default_attach_completed; + +CODE { + static int virtio_default_config_change(device_t dev) { return (0); |