Commit 3177779a authored by Jori Koolstra's avatar Jori Koolstra Committed by Dan Williams
Browse files

virt: coco: change tsm_class to a const struct

The class_create() call has been deprecated in favor of class_register()
as the driver core now allows for a struct class to be in read-only
memory. Change tsm_class to be a const struct class and drop the
class_create() call. Compile tested only.

Link: https://lore.kernel.org/all/2023040244-duffel-pushpin-f738@gregkh/



Changes with v1:
- Removed redundant int err variable.

Suggested-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarJori Koolstra <jkoolstra@xs4all.nl>
Reviewed-by: default avatarThomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20260306183325.245254-1-jkoolstra@xs4all.nl


Signed-off-by: default avatarDan Williams <djbw@kernel.org>
parent f338e773
Loading
Loading
Loading
Loading
+9 −10
Original line number Diff line number Diff line
@@ -9,7 +9,11 @@
#include <linux/cleanup.h>
#include <linux/pci-tsm.h>

static struct class *tsm_class;
static void tsm_release(struct device *);
static const struct class tsm_class = {
	.name		= "tsm",
	.dev_release	= tsm_release
};
static DEFINE_IDA(tsm_ida);

static int match_id(struct device *dev, const void *data)
@@ -22,7 +26,7 @@ static int match_id(struct device *dev, const void *data)

struct tsm_dev *find_tsm_dev(int id)
{
	struct device *dev = class_find_device(tsm_class, NULL, &id, match_id);
	struct device *dev = class_find_device(&tsm_class, NULL, &id, match_id);

	if (!dev)
		return NULL;
@@ -46,7 +50,7 @@ static struct tsm_dev *alloc_tsm_dev(struct device *parent)
	tsm_dev->id = id;
	dev = &tsm_dev->dev;
	dev->parent = parent;
	dev->class = tsm_class;
	dev->class = &tsm_class;
	device_initialize(dev);

	return no_free_ptr(tsm_dev);
@@ -114,18 +118,13 @@ static void tsm_release(struct device *dev)

static int __init tsm_init(void)
{
	tsm_class = class_create("tsm");
	if (IS_ERR(tsm_class))
		return PTR_ERR(tsm_class);

	tsm_class->dev_release = tsm_release;
	return 0;
	return class_register(&tsm_class);
}
module_init(tsm_init)

static void __exit tsm_exit(void)
{
	class_destroy(tsm_class);
	class_unregister(&tsm_class);
}
module_exit(tsm_exit)