示例#1
0
static int __init init(void)
{
	int ret = 0;

	ret = cuda_chrdev_init();
	if (ret < 0) {
		printk(KERN_ALERT "Could not initialize character devices.\n");
		goto out;
	}

	INIT_LIST_HEAD(&cudrvdata.devs);
	spin_lock_init(&cudrvdata.lock);

	ret = register_virtio_driver(&virtio_cuda);
	if (ret < 0) {
		printk(KERN_ALERT "Failed to register virtio driver.\n");
		goto out_with_chrdev;
	}

	return ret;

out_with_chrdev:
	cuda_chrdev_destroy();
out:
	return ret;
}
示例#2
0
/*
 * The function that is called when our module is being inserted in
 * the running kernel.
 */
static int __init init(void)
{
	int ret;
	debug("Entering\n");
	/* Register the character devices that we will use. */
	ret = crypto_chrdev_init();
	if (ret < 0) {
		printk(KERN_WARNING "Could not initialize character devices.\n");
		goto out;
	}

	INIT_LIST_HEAD(&crdrvdata.devs);
	crdrvdata.next_minor = 0;

	/* Register the virtio driver. */
	ret = register_virtio_driver(&virtio_crypto);
	if (ret < 0) {
		printk(KERN_WARNING "Failed to register virtio driver.\n");
		goto out_with_chrdev;
	}

	debug("Leaving\n");
	return ret;

out_with_chrdev:
	crypto_chrdev_destroy();
out:
	return ret;
}
示例#3
0
static int __init p9_virtio_init(void)
{
	int count;

	for (count = 0; count < MAX_9P_CHAN; count++)
		channels[count].initialized = false;

	v9fs_register_trans(&p9_virtio_trans);
	return register_virtio_driver(&p9_virtio_drv);
}
示例#4
0
static int __init init(void)
{
	int ret;

	ret = bus_register(&rpmsg_bus);
	if (ret) {
		pr_err("failed to register rpmsg bus: %d\n", ret);
		return ret;
	}

	return register_virtio_driver(&virtio_ipc_driver);
}
示例#5
0
文件: virtio-rng.c 项目: 710leo/LVS
static int __init init(void)
{
	int err;

	random_data = kmalloc(RANDOM_DATA_SIZE, GFP_KERNEL);
	if (!random_data)
		return -ENOMEM;

	err = register_virtio_driver(&virtio_rng_driver);
	if (err)
		kfree(random_data);
	return err;
}
示例#6
0
static int __init rpmsg_init(void)
{
	int ret;

	idr_init(&vprocs);

	ret = bus_register(&rpmsg_bus);
	if (ret) {
		pr_err("failed to register rpmsg bus: %d\n", ret);
		return ret;
	}

	ret = register_virtio_driver(&virtio_ipc_driver);
	if (ret) {
		pr_err("failed to register virtio driver: %d\n", ret);
		bus_unregister(&rpmsg_bus);
	}

	return ret;
}
示例#7
0
static int __init init(void)
{
	int ret;
	dprint(DBG_VIRTIO, "\n");

	ret = rdmacm_init_ibdev();
	if (ret) {
		dprint(DBG_ON, "could not init ibdev");
		goto fail;
	}

	ret = register_virtio_driver(&virtio_rdmacm_driver);
	if (ret) {
		dprint(DBG_ON, "register virtio driver failed!\n");
		goto fail_ibdev;
	}

	return 0;
fail_ibdev:
	rdmacm_exit_ibdev();
fail:
	return ret;
}
static int __init init(void)
{
	return register_virtio_driver(&virtio_rng_driver);
}
示例#9
0
static int __init virtio_hwkey_init(void)
{
    printk(KERN_INFO "virtio hwkey device is initialized\n");
    return register_virtio_driver(&virtio_hwkey_driver);
}