Displaying 20 results from an estimated 85 matches for "class_destroy".
2014 Jun 29
2
[PATCH 1/1] virtio: console: remove unnecessary null test before debugfs_remove_recursive
...io_console.c
+++ b/drivers/char/virtio_console.c
@@ -2262,8 +2262,7 @@ static int __init init(void)
unregister:
unregister_virtio_driver(&virtio_console);
free:
- if (pdrvdata.debugfs_dir)
- debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ debugfs_remove_recursive(pdrvdata.debugfs_dir);
class_destroy(pdrvdata.class);
return err;
}
@@ -2276,8 +2275,7 @@ static void __exit fini(void)
unregister_virtio_driver(&virtio_rproc_serial);
class_destroy(pdrvdata.class);
- if (pdrvdata.debugfs_dir)
- debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ debugfs_remove_recursive(pdrvdata.debugfs_d...
2014 Jun 29
2
[PATCH 1/1] virtio: console: remove unnecessary null test before debugfs_remove_recursive
...io_console.c
+++ b/drivers/char/virtio_console.c
@@ -2262,8 +2262,7 @@ static int __init init(void)
unregister:
unregister_virtio_driver(&virtio_console);
free:
- if (pdrvdata.debugfs_dir)
- debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ debugfs_remove_recursive(pdrvdata.debugfs_dir);
class_destroy(pdrvdata.class);
return err;
}
@@ -2276,8 +2275,7 @@ static void __exit fini(void)
unregister_virtio_driver(&virtio_rproc_serial);
class_destroy(pdrvdata.class);
- if (pdrvdata.debugfs_dir)
- debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ debugfs_remove_recursive(pdrvdata.debugfs_d...
2013 Sep 05
0
[PATCH RESEND v3 1/7] Intel MIC Host Driver for X100 family.
..._ERR(g_mic_class)) {
+ ret = PTR_ERR(g_mic_class);
+ pr_err("class_create failed ret %d\n", ret);
+ goto cleanup_chrdev;
+ }
+
+ ida_init(&g_mic_ida);
+ ret = pci_register_driver(&mic_driver);
+ if (ret) {
+ pr_err("pci_register_driver failed ret %d\n", ret);
+ goto class_destroy;
+ }
+ return ret;
+class_destroy:
+ class_destroy(g_mic_class);
+cleanup_chrdev:
+ unregister_chrdev_region(g_mic_devno, MIC_MAX_NUM_DEVS);
+error:
+ return ret;
+}
+
+static void __exit mic_exit(void)
+{
+ pci_unregister_driver(&mic_driver);
+ ida_destroy(&g_mic_ida);
+ class_destroy(g_mi...
2013 Aug 08
0
[PATCH v2 1/7] Intel MIC Host Driver for X100 family.
...iver_name);
+ if (IS_ERR(g_mic.mic_class)) {
+ ret = PTR_ERR(g_mic.mic_class);
+ pr_err("class_create failed ret %d\n", ret);
+ goto cleanup_chrdev;
+ }
+
+ ret = pci_register_driver(&mic_driver);
+ if (ret) {
+ pr_err("pci_register_driver failed ret %d\n", ret);
+ goto class_destroy;
+ }
+ return ret;
+class_destroy:
+ class_destroy(g_mic.mic_class);
+cleanup_chrdev:
+ unregister_chrdev_region(g_mic.mdev_id, MIC_MAX_NUM_DEVS);
+error:
+ return ret;
+}
+
+static void __exit mic_exit(void)
+{
+ pci_unregister_driver(&mic_driver);
+ class_destroy(g_mic.mic_class);
+ unregiste...
2012 Sep 20
0
[PATCHv3] virtio_console: Add support for remoteproc serial
...al);
+ if (err < 0) {
+ pr_err("Error %d registering virtio rproc serial driver\n",
+ err);
+ goto unregister;
+ }
+ return 0;
+unregister:
+ unregister_virtio_driver(&virtio_console);
+free:
+ if (pdrvdata.debugfs_dir)
+ debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ class_destroy(pdrvdata.class);
+ return err;
}
static void __exit fini(void)
{
unregister_virtio_driver(&virtio_console);
+ unregister_virtio_driver(&virtio_rproc_serial);
class_destroy(pdrvdata.class);
if (pdrvdata.debugfs_dir)
diff --git a/include/linux/virtio_ids.h b/include/linux/virtio_...
2012 Sep 20
0
[PATCHv3] virtio_console: Add support for remoteproc serial
...al);
+ if (err < 0) {
+ pr_err("Error %d registering virtio rproc serial driver\n",
+ err);
+ goto unregister;
+ }
+ return 0;
+unregister:
+ unregister_virtio_driver(&virtio_console);
+free:
+ if (pdrvdata.debugfs_dir)
+ debugfs_remove_recursive(pdrvdata.debugfs_dir);
+ class_destroy(pdrvdata.class);
+ return err;
}
static void __exit fini(void)
{
unregister_virtio_driver(&virtio_console);
+ unregister_virtio_driver(&virtio_rproc_serial);
class_destroy(pdrvdata.class);
if (pdrvdata.debugfs_dir)
diff --git a/include/linux/virtio_ids.h b/include/linux/virtio_...
2019 Sep 10
1
[RFC PATCH 4/4] docs: Sample driver to demonstrate how to implement virtio-mdev framework
...vice(&mvnet_dev.dev, &mdev_fops);
> + if (ret)
> + goto failed3;
> +
> + mutex_init(&mdev_list_lock);
> + INIT_LIST_HEAD(&mdev_devices_list);
> +
> + goto all_done;
> +
> +failed3:
> +
> + device_unregister(&mvnet_dev.dev);
> +failed2:
> + class_destroy(mvnet_dev.vd_class);
> +
> +failed1:
> +all_done:
> + return ret;
> +}
> +
> +static void __exit mvnet_dev_exit(void)
> +{
> + mvnet_dev.dev.bus = NULL;
> + mdev_unregister_device(&mvnet_dev.dev);
> +
> + device_unregister(&mvnet_dev.dev);
> + idr_dest...
2019 Nov 05
0
[PATCH V8 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2019 Sep 10
0
[RFC PATCH 4/4] docs: Sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2019 Oct 30
0
[PATCH V6 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2019 Nov 07
0
[PATCH V11 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2019 Nov 06
0
[PATCH V9 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2019 Nov 06
0
[PATCH V10 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
..._dev.dev);
+ if (ret)
+ goto failed2;
+
+ ret = mdev_register_device(&mvnet_dev.dev, &mdev_fops);
+ if (ret)
+ goto failed3;
+
+ mutex_init(&mdev_list_lock);
+ INIT_LIST_HEAD(&mdev_devices_list);
+
+ goto all_done;
+
+failed3:
+
+ device_unregister(&mvnet_dev.dev);
+failed2:
+ class_destroy(mvnet_dev.vd_class);
+
+failed1:
+all_done:
+ return ret;
+}
+
+static void __exit mvnet_dev_exit(void)
+{
+ mvnet_dev.dev.bus = NULL;
+ mdev_unregister_device(&mvnet_dev.dev);
+
+ device_unregister(&mvnet_dev.dev);
+ idr_destroy(&mvnet_dev.vd_idr);
+ class_destroy(mvnet_dev.vd_class);...
2009 Aug 05
0
[PATCH] virtio_serial: A char device for simple guest <-> host communication
...;buf->next);
+ kfree(buf->buf);
+ kfree(buf);
+ }
+}
+
+static void virtserial_remove(struct virtio_device *vdev)
+{
+ struct virtio_serial_port *port, *port2;
+ struct virtio_serial_port_buffer *buf, *buf2;
+ char *buff;
+ int len;
+
+ unregister_chrdev(major, "virtio-serial");
+ class_destroy(virtserial.class);
+
+ cancel_work_sync(&virtserial.rx_work);
+
+ /* Free up the buffers in the 'received' queue */
+ while ((buff = virtserial.in_vq->vq_ops->get_buf(virtserial.in_vq, &len)))
+ kfree(buff);
+
+ vdev->config->del_vqs(vdev);
+
+ /* Free up the buffers th...
2009 Aug 05
0
[PATCH] virtio_serial: A char device for simple guest <-> host communication
...;buf->next);
+ kfree(buf->buf);
+ kfree(buf);
+ }
+}
+
+static void virtserial_remove(struct virtio_device *vdev)
+{
+ struct virtio_serial_port *port, *port2;
+ struct virtio_serial_port_buffer *buf, *buf2;
+ char *buff;
+ int len;
+
+ unregister_chrdev(major, "virtio-serial");
+ class_destroy(virtserial.class);
+
+ cancel_work_sync(&virtserial.rx_work);
+
+ /* Free up the buffers in the 'received' queue */
+ while ((buff = virtserial.in_vq->vq_ops->get_buf(virtserial.in_vq, &len)))
+ kfree(buff);
+
+ vdev->config->del_vqs(vdev);
+
+ /* Free up the buffers th...
2019 Nov 07
2
[PATCH V10 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
...vice(&mvnet_dev.dev, &mdev_fops);
> + if (ret)
> + goto failed3;
> +
> + mutex_init(&mdev_list_lock);
> + INIT_LIST_HEAD(&mdev_devices_list);
> +
> + goto all_done;
> +
> +failed3:
> +
> + device_unregister(&mvnet_dev.dev);
> +failed2:
> + class_destroy(mvnet_dev.vd_class);
> +
> +failed1:
> +all_done:
> + return ret;
> +}
> +
> +static void __exit mvnet_dev_exit(void)
> +{
> + mvnet_dev.dev.bus = NULL;
> + mdev_unregister_device(&mvnet_dev.dev);
> +
> + device_unregister(&mvnet_dev.dev);
> + idr_dest...
2019 Nov 07
2
[PATCH V10 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework
...vice(&mvnet_dev.dev, &mdev_fops);
> + if (ret)
> + goto failed3;
> +
> + mutex_init(&mdev_list_lock);
> + INIT_LIST_HEAD(&mdev_devices_list);
> +
> + goto all_done;
> +
> +failed3:
> +
> + device_unregister(&mvnet_dev.dev);
> +failed2:
> + class_destroy(mvnet_dev.vd_class);
> +
> +failed1:
> +all_done:
> + return ret;
> +}
> +
> +static void __exit mvnet_dev_exit(void)
> +{
> + mvnet_dev.dev.bus = NULL;
> + mdev_unregister_device(&mvnet_dev.dev);
> +
> + device_unregister(&mvnet_dev.dev);
> + idr_dest...
2010 Feb 12
4
[PATCH 0/6] virtio: console: Fixes
Hey Rusty,
Here are a few fixes for virtio and virtio_console.
The first patch ensures the data elements of vqs are properly
initialised at allocation-time so that we don't trigger BUG_ONs. I found
this when hot-unplugging ports and there was just one unused buffer.
detach_unused_buffers() kept returning pointers that were invalid. I
didn't catch this earlier as I had the in_vq filled
2010 Feb 12
4
[PATCH 0/6] virtio: console: Fixes
Hey Rusty,
Here are a few fixes for virtio and virtio_console.
The first patch ensures the data elements of vqs are properly
initialised at allocation-time so that we don't trigger BUG_ONs. I found
this when hot-unplugging ports and there was just one unused buffer.
detach_unused_buffers() kept returning pointers that were invalid. I
didn't catch this earlier as I had the in_vq filled
2013 Sep 05
0
[PATCH RESEND v3 3/7] Intel MIC Host Driver, card OS state management.
...ve(&g_mic_ida, mdev->id);
@@ -300,14 +418,16 @@ static int __init mic_init(void)
goto cleanup_chrdev;
}
+ mic_init_debugfs();
ida_init(&g_mic_ida);
ret = pci_register_driver(&mic_driver);
if (ret) {
pr_err("pci_register_driver failed ret %d\n", ret);
- goto class_destroy;
+ goto cleanup_debugfs;
}
return ret;
-class_destroy:
+cleanup_debugfs:
+ mic_exit_debugfs();
class_destroy(g_mic_class);
cleanup_chrdev:
unregister_chrdev_region(g_mic_devno, MIC_MAX_NUM_DEVS);
@@ -319,6 +439,7 @@ static void __exit mic_exit(void)
{
pci_unregister_driver(&mic_dri...