diff mbox

[PATCHv2,5/8] Add get_dev_path callback to IDE bus.

Message ID 1288525209-3303-6-git-send-email-gleb@redhat.com
State New
Headers show

Commit Message

Gleb Natapov Oct. 31, 2010, 11:40 a.m. UTC
Signed-off-by: Gleb Natapov <gleb@redhat.com>
---
 hw/ide/qdev.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff mbox

Patch

diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index 3ad2138..7db2f19 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -24,9 +24,12 @@ 
 
 /* --------------------------------- */
 
+static char *idebus_get_dev_path(DeviceState *dev);
+
 static struct BusInfo ide_bus_info = {
     .name  = "IDE",
     .size  = sizeof(IDEBus),
+    .get_dev_path = idebus_get_dev_path,
 };
 
 void ide_bus_new(IDEBus *idebus, DeviceState *dev, uint8_t bus_id)
@@ -35,6 +38,17 @@  void ide_bus_new(IDEBus *idebus, DeviceState *dev, uint8_t bus_id)
     idebus->bus_id = bus_id;
 }
 
+static char *idebus_get_dev_path(DeviceState *dev)
+{
+    IDEDevice *d = (IDEDevice*)dev;
+    char path[30];
+
+    snprintf(path, sizeof(path), "%s@%d:%d", qdev_driver_name(dev),
+             ((IDEBus*)dev->parent_bus)->bus_id, d->unit);
+
+    return strdup(path);
+}
+
 static int ide_qdev_init(DeviceState *qdev, DeviceInfo *base)
 {
     IDEDevice *dev = DO_UPCAST(IDEDevice, qdev, qdev);