.class_init = virtio_sensor_pci_class_init,
};
+/* virtio NFC */
+
+static int virtio_nfc_pci_init(VirtIOPCIProxy *vpci_dev)
+{
+ VirtIONFCPCI *dev = VIRTIO_NFC_PCI(vpci_dev);
+ DeviceState *vdev = DEVICE(&dev->vdev);
+
+ qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));
+ if (qdev_init(vdev) < 0) {
+ return -1;
+ }
+ return 0;
+}
+
+static void virtio_nfc_pci_class_init(ObjectClass *klass, void *data)
+{
+ VirtioPCIClass *k = VIRTIO_PCI_CLASS(klass);
+ PCIDeviceClass *pcidev_k = PCI_DEVICE_CLASS(klass);
+
+ k->init = virtio_nfc_pci_init;
+ pcidev_k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
+ pcidev_k->device_id = PCI_DEVICE_ID_VIRTIO_NFC;
+ pcidev_k->revision = VIRTIO_PCI_ABI_VERSION;
+ pcidev_k->class_id = PCI_CLASS_OTHERS;
+}
+
+static void virtio_nfc_pci_instance_init(Object *obj)
+{
+ VirtIONFCPCI *dev = VIRTIO_NFC_PCI(obj);
+ object_initialize(OBJECT(&dev->vdev), TYPE_VIRTIO_NFC);
+ object_property_add_child(obj, "virtio-backend", OBJECT(&dev->vdev), NULL);
+}
+
+static TypeInfo virtio_nfc_pci_info = {
+ .name = TYPE_VIRTIO_NFC_PCI,
+ .parent = TYPE_VIRTIO_PCI,
+ .instance_size = sizeof(VirtIONFCPCI),
+ .instance_init = virtio_nfc_pci_instance_init,
+ .class_init = virtio_nfc_pci_class_init,
+};
+
+
#endif
/* virtio-pci-bus */
type_register_static(&virtio_touchscreen_pci_info);
type_register_static(&virtio_gl_pci_info);
type_register_static(&virtio_sensor_pci_info);
+ type_register_static(&virtio_nfc_pci_info);
#endif
}
#include "../tizen/src/hw/maru_virtio_touchscreen.h"
#include "../tizen/src/hw/virtio-gl.h"
#include "../tizen/src/hw/maru_virtio_sensor.h"
+#include "../tizen/src/hw/maru_virtio_nfc.h"
#endif
typedef struct VirtIOPCIProxy VirtIOPCIProxy;
typedef struct VirtIOHWKeyPCI VirtIOHWKeyPCI;
typedef struct VirtIOKeyboardPCI VirtIOKeyboardPCI;
typedef struct VirtIOSENSORPCI VirtIOSENSORPCI;
+typedef struct VirtIONFCPCI VirtIONFCPCI;
#endif
/* virtio-pci-bus */
VirtIOPCIProxy parent_obj;
VirtIOSENSOR vdev;
};
+
+/*
+ * virtio-nfc-pci: This extends VirtioPCIProxy.
+ */
+#define TYPE_VIRTIO_NFC_PCI "virtio-nfc-pci"
+#define VIRTIO_NFC_PCI(obj) \
+ OBJECT_CHECK(VirtIONFCPCI, (obj), TYPE_VIRTIO_NFC_PCI)
+
+struct VirtIONFCPCI {
+ VirtIOPCIProxy parent_obj;
+ VirtIONFC vdev;
+};
+
#endif
/* Virtio ABI version, if we increment this, we break the guest driver. */
* Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved\r
*\r
* Contact:\r
- * DaiYoung Kim <munkyu.im@samsung.com>\r
+ * Munkyu Im <munkyu.im@samsung.com>\r
* YeongKyoon Lee <yeongkyoon.lee@samsung.com>\r
*\r
* This program is free software; you can redistribute it and/or\r
\r
//\r
\r
-typedef struct EvdiBuf {\r
+typedef struct NFCBuf {\r
VirtQueueElement elem;\r
\r
- QTAILQ_ENTRY(EvdiBuf) next;\r
-} EvdiBuf;\r
+ QTAILQ_ENTRY(NFCBuf) next;\r
+} NFCBuf;\r
\r
-static QTAILQ_HEAD(EvdiMsgHead , EvdiBuf) nfc_in_queue =\r
+static QTAILQ_HEAD(NFCMsgHead , NFCBuf) nfc_in_queue =\r
QTAILQ_HEAD_INITIALIZER(nfc_in_queue);\r
\r
static int count = 0;\r
* Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved\r
*\r
* Contact:\r
- * DaiYoung Kim <munkyu.im@samsung.com>\r
+ * Munkyu Im <munkyu.im@samsung.com>\r
* YeongKyoon Lee <yeongkyoon.lee@samsung.com>\r
*\r
* This program is free software; you can redistribute it and/or\r