aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/mic/card/mic_device.c
diff options
context:
space:
mode:
authorAshutosh Dixit <ashutosh.dixit@intel.com>2013-09-05 16:42:28 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-09-26 13:52:24 -0700
commit2141c7c5ee677014023cb50c793f91e85f44d2ea (patch)
tree153d09d3da1c4d42966f59408a7b8bf32d317513 /drivers/misc/mic/card/mic_device.c
parentIntel MIC Host Driver Changes for Virtio Devices. (diff)
downloadlinux-dev-2141c7c5ee677014023cb50c793f91e85f44d2ea.tar.xz
linux-dev-2141c7c5ee677014023cb50c793f91e85f44d2ea.zip
Intel MIC Card Driver Changes for Virtio Devices.
This patch introduces the card "Virtio over PCIe" interface for Intel MIC. It allows virtio drivers on the card to communicate with their user space backends on the host via a device page. Ring 3 apps on the host can add, remove and configure virtio devices. A thin MIC specific virtio_config_ops is implemented which is borrowed heavily from previous similar implementations in lguest and s390 @ drivers/lguest/lguest_device.c drivers/s390/kvm/kvm_virtio.c Co-author: Sudeep Dutt <sudeep.dutt@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Caz Yokoyama <Caz.Yokoyama@intel.com> Signed-off-by: Dasaratharaman Chandramouli <dasaratharaman.chandramouli@intel.com> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com> Signed-off-by: Harshavardhan R Kharche <harshavardhan.r.kharche@intel.com> Signed-off-by: Sudeep Dutt <sudeep.dutt@intel.com> Acked-by: Yaozu (Eddie) Dong <eddie.dong@intel.com> Reviewed-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mic/card/mic_device.c')
-rw-r--r--drivers/misc/mic/card/mic_device.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/mic/card/mic_device.c b/drivers/misc/mic/card/mic_device.c
index 3c5c302dba41..4125217579af 100644
--- a/drivers/misc/mic/card/mic_device.c
+++ b/drivers/misc/mic/card/mic_device.c
@@ -32,6 +32,7 @@
#include <linux/mic_common.h>
#include "../common/mic_device.h"
#include "mic_device.h"
+#include "mic_virtio.h"
static struct mic_driver *g_drv;
static struct mic_irq *shutdown_cookie;
@@ -265,10 +266,15 @@ int __init mic_driver_init(struct mic_driver *mdrv)
rc = mic_shutdown_init();
if (rc)
goto irq_uninit;
+ rc = mic_devices_init(mdrv);
+ if (rc)
+ goto shutdown_uninit;
mic_create_card_debug_dir(mdrv);
atomic_notifier_chain_register(&panic_notifier_list, &mic_panic);
done:
return rc;
+shutdown_uninit:
+ mic_shutdown_uninit();
irq_uninit:
mic_uninit_irq();
dp_uninit:
@@ -286,6 +292,7 @@ put:
void mic_driver_uninit(struct mic_driver *mdrv)
{
mic_delete_card_debug_dir(mdrv);
+ mic_devices_uninit(mdrv);
/*
* Inform the host about the shutdown status i.e. poweroff/restart etc.
* The module cannot be unloaded so the only code path to call