init_waitqueue_head(&eptdev->readq);
device_initialize(dev);
- dev->class = rpmsg_class;
+ dev->class = &rpmsg_class;
dev->parent = parent;
dev->groups = rpmsg_eptdev_groups;
dev_set_drvdata(dev, eptdev);
#include "rpmsg_internal.h"
-struct class *rpmsg_class;
+const struct class rpmsg_class = {
+ .name = "rpmsg",
+};
EXPORT_SYMBOL(rpmsg_class);
/**
{
int ret;
- rpmsg_class = class_create("rpmsg");
- if (IS_ERR(rpmsg_class)) {
- pr_err("failed to create rpmsg class\n");
- return PTR_ERR(rpmsg_class);
+ ret = class_register(&rpmsg_class);
+ if (ret) {
+ pr_err("failed to register rpmsg class\n");
+ return ret;
}
ret = bus_register(&rpmsg_bus);
if (ret) {
pr_err("failed to register rpmsg bus: %d\n", ret);
- class_destroy(rpmsg_class);
+ class_destroy(&rpmsg_class);
}
return ret;
}
static void __exit rpmsg_fini(void)
{
bus_unregister(&rpmsg_bus);
- class_destroy(rpmsg_class);
+ class_destroy(&rpmsg_class);
}
module_exit(rpmsg_fini);
dev = &ctrldev->dev;
device_initialize(dev);
dev->parent = &rpdev->dev;
- dev->class = rpmsg_class;
+ dev->class = &rpmsg_class;
mutex_init(&ctrldev->ctrl_lock);
cdev_init(&ctrldev->cdev, &rpmsg_ctrldev_fops);
#define to_rpmsg_device(d) container_of(d, struct rpmsg_device, dev)
#define to_rpmsg_driver(d) container_of(d, struct rpmsg_driver, drv)
-extern struct class *rpmsg_class;
+extern const struct class rpmsg_class;
/**
* struct rpmsg_device_ops - indirection table for the rpmsg_device operations