#include <linux/spinlock.h>
static DEFINE_IDA(fpga_region_ida);
#include <linux/spinlock.h>
static DEFINE_IDA(fpga_region_ida);
-static struct class *fpga_region_class;
+static const struct class fpga_region_class;
struct fpga_region *
fpga_region_class_find(struct device *start, const void *data,
struct fpga_region *
fpga_region_class_find(struct device *start, const void *data,
- dev = class_find_device(fpga_region_class, start, data, match);
+ dev = class_find_device(&fpga_region_class, start, data, match);
mutex_init(®ion->mutex);
INIT_LIST_HEAD(®ion->bridge_list);
mutex_init(®ion->mutex);
INIT_LIST_HEAD(®ion->bridge_list);
- region->dev.class = fpga_region_class;
+ region->dev.class = &fpga_region_class;
region->dev.parent = parent;
region->dev.of_node = parent->of_node;
region->dev.id = id;
region->dev.parent = parent;
region->dev.of_node = parent->of_node;
region->dev.id = id;
+static const struct class fpga_region_class = {
+ .name = "fpga_region",
+ .dev_groups = fpga_region_groups,
+ .dev_release = fpga_region_dev_release,
+};
+
/**
* fpga_region_init - creates the fpga_region class.
*
/**
* fpga_region_init - creates the fpga_region class.
*
*/
static int __init fpga_region_init(void)
{
*/
static int __init fpga_region_init(void)
{
- fpga_region_class = class_create("fpga_region");
- if (IS_ERR(fpga_region_class))
- return PTR_ERR(fpga_region_class);
-
- fpga_region_class->dev_groups = fpga_region_groups;
- fpga_region_class->dev_release = fpga_region_dev_release;
-
- return 0;
+ return class_register(&fpga_region_class);
}
static void __exit fpga_region_exit(void)
{
}
static void __exit fpga_region_exit(void)
{
- class_destroy(fpga_region_class);
+ class_unregister(&fpga_region_class);
ida_destroy(&fpga_region_ida);
}
ida_destroy(&fpga_region_ida);
}