device: changed class initialization for sensor, power, and jack devices 20/19920/1
authorJinhyung Choi <jinhyung2.choi@samsung.com>
Wed, 23 Apr 2014 05:53:08 +0000 (14:53 +0900)
committerJinhyung Choi <jinhyung2.choi@samsung.com>
Wed, 23 Apr 2014 05:56:06 +0000 (14:56 +0900)
Change-Id: I831c88556f8e401b2d739fe9a06820f3b7ef04c6
Signed-off-by: Jinhyung Choi <jinhyung2.choi@samsung.com>
tizen/src/hw/maru_virtio_jack.c
tizen/src/hw/maru_virtio_power.c
tizen/src/hw/maru_virtio_sensor.c

index e8e714ee6ba6ad54cabecbe807103ee26cb8dcd1..a1a7173e3e960a8777f6355bf1297b1394725732 100644 (file)
@@ -252,17 +252,18 @@ static void parse_jack_capability(char* lists)
     INFO("jack device capabilty enabled with %02x\n", jack_capability);
 }
 
-static int virtio_jack_init(VirtIODevice *vdev)
+static void virtio_jack_realize(DeviceState *dev, Error **errp)
 {
     INFO("initialize virtio-jack device\n");
 
+    VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     vjack = VIRTIO_JACK(vdev);
 
     virtio_init(vdev, JACK_DEVICE_NAME, VIRTIO_ID_JACK, 0);
 
     if (vjack == NULL) {
         ERR("failed to initialize jack device\n");
-        return -1;
+        return;
     }
 
     vjack->vq = virtio_add_queue(&vjack->vdev, 64, virtio_jack_vq);
@@ -272,18 +273,14 @@ static int virtio_jack_init(VirtIODevice *vdev)
     if (vjack->jacks) {
         parse_jack_capability(vjack->jacks);
     }
-
-    return 0;
 }
 
-static int virtio_jack_exit(DeviceState *dev)
+static void virtio_jack_unrealize(DeviceState *dev, Error **errp)
 {
     VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     INFO("destroy jack device\n");
 
     virtio_cleanup(vdev);
-
-    return 0;
 }
 
 
@@ -308,9 +305,9 @@ static void virtio_jack_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
     VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
-    dc->exit = virtio_jack_exit;
     dc->props = virtio_jack_properties;
-    vdc->init = virtio_jack_init;
+    vdc->realize = virtio_jack_realize;
+    vdc->unrealize = virtio_jack_unrealize;
     vdc->get_features = virtio_jack_get_features;
     vdc->reset = virtio_jack_reset;
 }
index 45cea3cb20ba24eae38d0ca12f7f35d0c5c1c43c..7e72a668c5906abcf5a7d679baf2d6b577092e94 100644 (file)
@@ -206,32 +206,29 @@ static void virtio_power_vq(VirtIODevice *vdev, VirtQueue *vq)
     }
 }
 
-static int virtio_power_init(VirtIODevice *vdev)
+static void virtio_power_realize(DeviceState *dev, Error **errp)
 {
     INFO("initialize virtio-power device\n");
 
+    VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     vpower = VIRTIO_POWER(vdev);
 
     virtio_init(vdev, POWER_DEVICE_NAME, VIRTIO_ID_POWER, 0);
 
     if (vpower == NULL) {
         ERR("failed to initialize power device\n");
-        return -1;
+        return;
     }
 
     vpower->vq = virtio_add_queue(&vpower->vdev, 64, virtio_power_vq);
-
-    return 0;
 }
 
-static int virtio_power_exit(DeviceState *dev)
+static void virtio_power_unrealize(DeviceState *dev, Error **errp)
 {
     VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     INFO("destroy power device\n");
 
     virtio_cleanup(vdev);
-
-    return 0;
 }
 
 
@@ -249,10 +246,9 @@ static uint32_t virtio_power_get_features(VirtIODevice *vdev,
 
 static void virtio_power_class_init(ObjectClass *klass, void *data)
 {
-    DeviceClass *dc = DEVICE_CLASS(klass);
     VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
-    dc->exit = virtio_power_exit;
-    vdc->init = virtio_power_init;
+    vdc->realize = virtio_power_realize;
+    vdc->unrealize = virtio_power_unrealize;
     vdc->get_features = virtio_power_get_features;
     vdc->reset = virtio_power_reset;
 }
index 3942a11b618b95119e91cabbb7d789ffb9a2cd8a..9dd2d4dacdcbe18691386240d4e96ac973a36f19 100644 (file)
@@ -346,17 +346,19 @@ static void parse_sensor_capability(char* lists)
     INFO("sensor device capabilty enabled with %02x\n", sensor_capability);
 }
 
-static int virtio_sensor_init(VirtIODevice *vdev)
+static void virtio_sensor_realize(DeviceState *dev, Error **errp)
 {
     INFO("initialize virtio-sensor device\n");
 
+    VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     vsensor = VIRTIO_SENSOR(vdev);
 
     virtio_init(vdev, SENSOR_DEVICE_NAME, VIRTIO_ID_SENSOR, 0);
 
     if (vsensor == NULL) {
         ERR("failed to initialize sensor device\n");
-        return -1;
+        error_set(errp, QERR_DEVICE_INIT_FAILED, SENSOR_DEVICE_NAME);
+        return;
     }
 
     vsensor->vq = virtio_add_queue(&vsensor->vdev, 64, virtio_sensor_vq);
@@ -366,18 +368,14 @@ static int virtio_sensor_init(VirtIODevice *vdev)
     if (vsensor->sensors) {
         parse_sensor_capability(vsensor->sensors);
     }
-
-    return 0;
 }
 
-static int virtio_sensor_exit(DeviceState *dev)
+static void virtio_sensor_unrealize(DeviceState *dev, Error **errp)
 {
     VirtIODevice *vdev = VIRTIO_DEVICE(dev);
     INFO("destroy sensor device\n");
 
     virtio_cleanup(vdev);
-
-    return 0;
 }
 
 
@@ -401,10 +399,10 @@ static Property virtio_sensor_properties[] = {
 static void virtio_sensor_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
-    VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
-    dc->exit = virtio_sensor_exit;
     dc->props = virtio_sensor_properties;
-    vdc->init = virtio_sensor_init;
+    VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
+    vdc->unrealize= virtio_sensor_unrealize;
+    vdc->realize = virtio_sensor_realize;
     vdc->get_features = virtio_sensor_get_features;
     vdc->reset = virtio_sensor_reset;
 }