From nobody Thu Apr 9 17:59:26 2026 Received: from ewsoutbound.kpnmail.nl (ewsoutbound.kpnmail.nl [195.121.94.167]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FD692459C6 for ; Tue, 3 Mar 2026 19:05:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.121.94.167 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772564759; cv=none; b=S3mPzpYildE7UMvn6ynlHM7yR4yamHD2NnhIUfl/BhyDl4GG9J5P4JOlKeILWK1kQlpAik0wmXulP1BI6wU6FrZ/HKtoSyh/khP5E5TplhwS5Blr/JYcogcRHbiUfW8Og5OPAB6fDz6i+IWGBbyjTiKAvW7fmpsH0JSauyfSzS4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772564759; c=relaxed/simple; bh=wQAu1CwdCUS37So0x2nSUhm0ZOd60zW7nqLwcgSqmkI=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=fMHRBiwl6jMYK3y3mDE2PQsUzRREkVmt/ycxeJRKtQArz5EQPkE++0uwP8MjdGFBfTT1LorUeFTOJe/zYhfoXGDTmnPL71T0ttRQ0LmqFshChKGdbB+oW3EyFFOeBGk2+862jxAkYT+4NF6qIPzQiyTmEfjdLpIvqXuGDgUr4BE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=xs4all.nl; spf=pass smtp.mailfrom=xs4all.nl; dkim=pass (2048-bit key) header.d=xs4all.nl header.i=@xs4all.nl header.b=S62hRwUq; arc=none smtp.client-ip=195.121.94.167 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=xs4all.nl Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=xs4all.nl Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=xs4all.nl header.i=@xs4all.nl header.b="S62hRwUq" X-KPN-MessageId: 0096a88c-1734-11f1-969b-005056abbe64 Received: from smtp.kpnmail.nl (unknown [10.31.155.40]) by ewsoutbound.so.kpn.org (Halon) with ESMTPS id 0096a88c-1734-11f1-969b-005056abbe64; Tue, 03 Mar 2026 20:05:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=xs4all01; h=mime-version:message-id:date:subject:to:from; bh=aIKXLkp7QSOOM2hsN6q65B3PdeO5BYuUQ2P2Ufr+3pI=; b=S62hRwUqslZpP3JXTIWZwvzcSVlMgu6toACMgft2kkKv72iXLI98VQYuZ4KxQTnm4hTJygrdT86u6 7J+bMXfQL5jOFvPwjxG4jl/TL17an9lkq6pv1tt75RxWSieI1XVNFtNgAy28I+Lao3dla3we3C81oE eLjz/W3GrtCogm7xN1dYvz2S7j2jEHLT2TmVFh/KOieoiLmok4T4vv2DmKUHbkR7PNoAzrj+Mdwu7K A4pJFWUN7DZu9DYKwKJpE49kJ3F8zBj6QquLm2RsMsvlflS1HaEBxhKQ5yT0q3kZji+msvv+/mOr3o 1bsLEcpvJSjqjrDmU3Kzb3vxcZYwIPQ== X-KPN-MID: 33|yotCC8rMXvmOq/i30ywTWSW8Dqcn/TEEInjxV65traP022YoL2guzdHgiTBImj+ l4y+KJVCjd/Y3RHHyKi0iGZquefwIu1/tHWv6JNiHCao= X-KPN-VerifiedSender: Yes X-CMASSUN: 33|QwUYsFOo7OMuNmDRYGHMmXULAZmO9yfJWkpzEnr1iuvBmBDkgD1Ei/5HKTJnRAl 7FnJQrFbZo8OfjrD9A4SDaA== Received: from daedalus.home (unknown [178.231.15.71]) by smtp.xs4all.nl (Halon) with ESMTPSA id fc881e8b-1733-11f1-b8e2-005056ab7584; Tue, 03 Mar 2026 20:05:54 +0100 (CET) From: Jori Koolstra To: kees@kernel.org Cc: Jori Koolstra , Greg Kroah-Hartman , Dan Williams , Alexey Kardashevskiy , Jonathan Cameron , Bjorn Helgaas , Xu Yilun , =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= , linux-kernel@vger.kernel.org (open list) Subject: [PATCH] virt: coco: change tsm_class to a const struct Date: Tue, 3 Mar 2026 20:05:55 +0100 Message-ID: <20260303190602.3842367-1-jkoolstra@xs4all.nl> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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/ Suggested-by: Greg Kroah-Hartman Signed-off-by: Jori Koolstra Reviewed-by: Thomas Wei=C3=9Fschuh --- drivers/virt/coco/tsm-core.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/virt/coco/tsm-core.c b/drivers/virt/coco/tsm-core.c index 98dcf7d836df..04e347ea4b7c 100644 --- a/drivers/virt/coco/tsm-core.c +++ b/drivers/virt/coco/tsm-core.c @@ -9,7 +9,11 @@ #include #include =20 -static struct class *tsm_class; +static void tsm_release(struct device *); +static const struct class tsm_class =3D { + .name =3D "tsm", + .dev_release =3D tsm_release +}; static DEFINE_IDA(tsm_ida); =20 static int match_id(struct device *dev, const void *data) @@ -22,7 +26,7 @@ static int match_id(struct device *dev, const void *data) =20 struct tsm_dev *find_tsm_dev(int id) { - struct device *dev =3D class_find_device(tsm_class, NULL, &id, match_id); + struct device *dev =3D class_find_device(&tsm_class, NULL, &id, match_id); =20 if (!dev) return NULL; @@ -46,7 +50,7 @@ static struct tsm_dev *alloc_tsm_dev(struct device *paren= t) tsm_dev->id =3D id; dev =3D &tsm_dev->dev; dev->parent =3D parent; - dev->class =3D tsm_class; + dev->class =3D &tsm_class; device_initialize(dev); =20 return no_free_ptr(tsm_dev); @@ -114,18 +118,16 @@ static void tsm_release(struct device *dev) =20 static int __init tsm_init(void) { - tsm_class =3D class_create("tsm"); - if (IS_ERR(tsm_class)) - return PTR_ERR(tsm_class); + int err; =20 - tsm_class->dev_release =3D tsm_release; - return 0; + err =3D class_register(&tsm_class); + return err; } module_init(tsm_init) =20 static void __exit tsm_exit(void) { - class_destroy(tsm_class); + class_unregister(&tsm_class); } module_exit(tsm_exit) =20 base-commit: d466c332e106fe666d1e2f5a24d08e308bebbfa1 --=20 2.53.0