From: Jori Koolstra <jkoolstra@xs4all.nl>
To: thomas.weissschuh@linutronix.de
Cc: Jori Koolstra <jkoolstra@xs4all.nl>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dan Williams <dan.j.williams@intel.com>,
Alexey Kardashevskiy <aik@amd.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Xu Yilun <yilun.xu@linux.intel.com>, Kees Cook <kees@kernel.org>,
linux-kernel@vger.kernel.org (open list)
Subject: [PATCH v2] virt: coco: change tsm_class to a const struct
Date: Fri, 6 Mar 2026 19:33:17 +0100 [thread overview]
Message-ID: <20260306183325.245254-1-jkoolstra@xs4all.nl> (raw)
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jori Koolstra <jkoolstra@xs4all.nl>
Reviewed-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
drivers/virt/coco/tsm-core.c | 19 +++++++++----------
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/drivers/virt/coco/tsm-core.c b/drivers/virt/coco/tsm-core.c
index 98dcf7d836df..e784993353d8 100644
--- a/drivers/virt/coco/tsm-core.c
+++ b/drivers/virt/coco/tsm-core.c
@@ -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)
base-commit: d466c332e106fe666d1e2f5a24d08e308bebbfa1
--
2.53.0
next reply other threads:[~2026-03-06 18:33 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-06 18:33 Jori Koolstra [this message]
2026-04-01 22:26 ` Dan Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260306183325.245254-1-jkoolstra@xs4all.nl \
--to=jkoolstra@xs4all.nl \
--cc=aik@amd.com \
--cc=bhelgaas@google.com \
--cc=dan.j.williams@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jonathan.cameron@huawei.com \
--cc=kees@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=thomas.weissschuh@linutronix.de \
--cc=yilun.xu@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®