MODULE_DESCRIPTION("Direct Internal Buffer Sharing class");
MODULE_LICENSE("GPL");
-static struct class *dibs_class;
+static const struct class dibs_class = {
+ .name = "dibs",
+};
/* use an array rather a list for fast mapping: */
static struct dibs_client *clients[MAX_DIBS_CLIENTS];
if (!dibs)
return dibs;
dibs->dev.release = dibs_dev_release;
- dibs->dev.class = dibs_class;
+ dibs->dev.class = &dibs_class;
device_initialize(&dibs->dev);
return dibs;
{
int rc;
- dibs_class = class_create("dibs");
- if (IS_ERR(dibs_class))
- return PTR_ERR(dibs_class);
+ rc = class_register(&dibs_class);
+ if (rc)
+ return rc;
rc = dibs_loopback_init();
if (rc)
static void __exit dibs_exit(void)
{
dibs_loopback_exit();
- class_destroy(dibs_class);
+ class_unregister(&dibs_class);
}
subsys_initcall(dibs_init);