diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/dibs/dibs_main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/dibs/dibs_main.c b/drivers/dibs/dibs_main.c index f1816361b74d..14c3e2d84902 100644 --- a/drivers/dibs/dibs_main.c +++ b/drivers/dibs/dibs_main.c @@ -19,7 +19,9 @@ 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]; @@ -137,7 +139,7 @@ struct dibs_dev *dibs_dev_alloc(void) 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; @@ -253,9 +255,9 @@ static int __init dibs_init(void) { 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) @@ -267,7 +269,7 @@ static int __init dibs_init(void) static void __exit dibs_exit(void) { dibs_loopback_exit(); - class_destroy(dibs_class); + class_unregister(&dibs_class); } subsys_initcall(dibs_init); |
