From nobody Thu Apr 9 16:34:59 2026 Received: from ewsoutbound.kpnmail.nl (ewsoutbound.kpnmail.nl [195.121.94.184]) (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 8426133BBAD for ; Fri, 6 Mar 2026 18:33:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=195.121.94.184 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772822018; cv=none; b=V3bNka0PW+bFZThOzBVfShwI0rWULJFPmCA1p2wRF7rvTikfZGJp3DBIHPZRAUgLFRZnq1jyBdc6JQE/+lSyh1Y+ZgMrQRVn+JFUnwQ7YGRYqB5bUSMn9k7mbpQeiORi0h7eq24nsHlluuVJtcjNXGwjgkWek0o4/2ILuDAAIcQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772822018; c=relaxed/simple; bh=xywt+wmR/pKIjIQ5299YWgnFj4J+/1as5uSAf4mBsl0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type; b=mX1mumSWGUVf4GdY7K1IK6iqVy6QOYmUtD85KC1cSXl3oZI/bAafVlVBh92paIOkMRTnBmDyDiqk0sSN+l1wYCAtjvNpn0Ngf9vGRlk8vns6l1LqH+uCXHbtZEBOepyHtHcF1Q0pBBGzAmYYXo9sDr6UNg/aeHI++jvarNw6Skw= 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=NxkNr5yo; arc=none smtp.client-ip=195.121.94.184 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="NxkNr5yo" X-KPN-MessageId: f6dbbbf0-198a-11f1-afd7-005056994fde Received: from smtp.kpnmail.nl (unknown [10.31.155.8]) by ewsoutbound.so.kpn.org (Halon) with ESMTPS id f6dbbbf0-198a-11f1-afd7-005056994fde; Fri, 06 Mar 2026 19:33:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=xs4all01; h=content-type:mime-version:message-id:date:subject:to:from; bh=U5tAMk7gETfJsQvfCLNfapyfQlogKSkVflMZoFjqKv8=; b=NxkNr5yoG/zCKLvWxjRPD7ypyMKnUYDTN77W1wSP1HozCn3L7N6jbdV2yvexpEkR1+zgn3wuwQ0ok p4IxnypnX2VjKrjzfFwZjXXqO7Eypygut0uV+AUDSaZ16kpYcrzDkUwvUnsa0Ioc1XWzNBMValuHAs 793EiwnC9o9GHMl6ZO5rqsv4IbAPmyrPAx0FKmoOXknOdzMHGyAlf+OReo9+ZP4ZtUU7QtQMEXgX2r j5V2AFA25LohWhaEhS+rngJhH4wXwVOafTjMtaw9OZxRVWBSIn90zmK23mYIylN0/iHlJ/6mDf3A4g wL4/L0/RGtFJjpatFkmjy19snKw/ibA== X-KPN-MID: 33|lRRcqc4fDQeOFYxWGBKANS8hlGVjKsTwOvcLpdYBEZ9P+Ha41xWBUjDi/WHbCdc Hdt05uuRoCA7iC7saSqi3+pUKyWKej6SuP9mRBxwpDcQ= X-KPN-VerifiedSender: Yes X-CMASSUN: 33|wCPMcaeY9j4ezxCJo1CvaHEkvY4ZltExWW4fqHFu52ZlWBFXWzE02jeX/Bo3xyi 79uAAxw+3XDnXldoPI5W0uw== Received: from daedalus.home (unknown [178.231.15.65]) by smtp.xs4all.nl (Halon) with ESMTPSA id f38e7bc3-198a-11f1-9c00-00505699d6e5; Fri, 06 Mar 2026 19:33:26 +0100 (CET) From: Jori Koolstra To: thomas.weissschuh@linutronix.de Cc: Jori Koolstra , Greg Kroah-Hartman , Dan Williams , Alexey Kardashevskiy , Bjorn Helgaas , Jonathan Cameron , Xu Yilun , Kees Cook , 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 Message-ID: <20260306183325.245254-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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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.=20 Suggested-by: Greg Kroah-Hartman Signed-off-by: Jori Koolstra Reviewed-by: Thomas Wei=C3=9Fschuh --- 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 #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,13 @@ 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); - - tsm_class->dev_release =3D tsm_release; - return 0; + return class_register(&tsm_class); } 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