From nobody Thu Apr 16 05:14:30 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 F332E23535E for ; Mon, 2 Mar 2026 14:25:32 +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=1772461536; cv=none; b=cZO77/KYipuESDS6CgI+JBt10y9j8wt7wXrlpxU1lmBfx4KZODjUfkBDSytO0N9j6UTMxyrqTjZK+1tES1ezRHfpdG1NhImsufSAG8v/WH/kA0qnFSU5Mj24fp8gayd020jOhltmTAOvSjnqZAFBYpODmjboydrknOVr4vJ6128= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772461536; c=relaxed/simple; bh=xilqxiO+LYh6hSTYosL5hiU2b17s5ZM14ZKRUAP4LCw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=FOS0GqOnSSvszdv3keTv3JFnDa1EIPBsCT9WgB7+iYqpybHu+f7qYeOgX6L1IWUFT3EeHBmOTswQsmcJM+6ad+0qRfLfnNG4gWgmiT9NG+PsqzKC50pQjvHEF63ujkHSCHoc8aVh4bqHhiO+CKj0fdbL4pH9mfQmByLpQm5kWPM= 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=jcUX/nFp; 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="jcUX/nFp" X-KPN-MessageId: 82a13522-1643-11f1-969b-005056abbe64 Received: from smtp.kpnmail.nl (unknown [10.31.155.38]) by ewsoutbound.so.kpn.org (Halon) with ESMTPS id 82a13522-1643-11f1-969b-005056abbe64; Mon, 02 Mar 2026 15:24:23 +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=lFvds2JpQn+rwcU6NfNUiSFGYeJ5T9CZecfP+wBLTPc=; b=jcUX/nFpTUUVOXksTNWYNMpQP5Urvkv8r34nn4QviwZH1Kjn0hwrT/WOM92S9a7Gq6y3svklat6cG tNGqu4kZWY2dSFRVY+mv4DEcx1/j7EFIBJHyLq5rfmlEeKolzcW7+IFf3vkx7zlkz58CoIS351/Y2G rgNQnsRGmK9q2DtRK8nCh35yY1E6ElJgZKVgOcMC969x1yFOHScSjZ6xNGqwpGonGjJhYuVRb8NyfK QK/RBbfu9ddCGZ8ghu/y/wSdqIhRWJeP5NgKm2H3XM3QYGFmNCnMlCix1kVyzmEN3OLRxnxvqtuNpT Lzr0yS8GSS2zmeYNk5TU50PfjZemOyw== X-KPN-MID: 33|vo08hs2Tp5ZWmBxWgXts/wCEofA24PiAxVulZLtXqZRP6Ea6o/34rLMCh/yLb6Z Tl3Ppo8YQpIVvuq24SRuwIKLH1zo85tWETBefuwLNhNU= X-KPN-VerifiedSender: Yes X-CMASSUN: 33|e2pP5FFLZK9pDzYtc4vlMZ4+/Z3YHXmbVXWmEBzmPi7Dn1mslPVTedFn6FPEmCX ru47GcDYyM0DntNCgHyOZIw== Received: from daedalus.home (unknown [178.225.116.246]) by smtp.xs4all.nl (Halon) with ESMTPSA id 7fa0b65f-1643-11f1-a6ca-005056abf0db; Mon, 02 Mar 2026 15:24:23 +0100 (CET) From: Jori Koolstra To: giometti@enneenne.com, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org Cc: jkoolstra@xs4all.nl, kees@kernel.org Subject: [PATCH] pps: change pps_gen_class to a const struct Date: Mon, 2 Mar 2026 15:24:36 +0100 Message-ID: <20260302142436.3292766-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 pps_gen_class to be a const struct class and drop the class_create() call. Signed-off-by: Jori Koolstra Acked-by: Rodolfo Giometti Reviewed-by: Greg Kroah-Hartman --- drivers/pps/generators/pps_gen.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/pps/generators/pps_gen.c b/drivers/pps/generators/pps_= gen.c index 7143c003366c..5e207c75e340 100644 --- a/drivers/pps/generators/pps_gen.c +++ b/drivers/pps/generators/pps_gen.c @@ -26,7 +26,10 @@ */ =20 static dev_t pps_gen_devt; -static struct class *pps_gen_class; +static const struct class pps_gen_class =3D { + .name =3D "pps-gen", + .dev_groups =3D pps_gen_groups +}; =20 static DEFINE_IDA(pps_gen_ida); =20 @@ -183,7 +186,7 @@ static int pps_gen_register_cdev(struct pps_gen_device = *pps_gen) MAJOR(pps_gen_devt), pps_gen->id); goto free_ida; } - pps_gen->dev =3D device_create(pps_gen_class, pps_gen->info->parent, devt, + pps_gen->dev =3D device_create(&pps_gen_class, pps_gen->info->parent, dev= t, pps_gen, "pps-gen%d", pps_gen->id); if (IS_ERR(pps_gen->dev)) { err =3D PTR_ERR(pps_gen->dev); @@ -207,7 +210,7 @@ static int pps_gen_register_cdev(struct pps_gen_device = *pps_gen) static void pps_gen_unregister_cdev(struct pps_gen_device *pps_gen) { pr_debug("unregistering pps-gen%d\n", pps_gen->id); - device_destroy(pps_gen_class, pps_gen->dev->devt); + device_destroy(&pps_gen_class, pps_gen->dev->devt); } =20 /* @@ -307,7 +310,7 @@ EXPORT_SYMBOL(pps_gen_event); =20 static void __exit pps_gen_exit(void) { - class_destroy(pps_gen_class); + class_unregister(&pps_gen_class); unregister_chrdev_region(pps_gen_devt, PPS_GEN_MAX_SOURCES); } =20 @@ -315,12 +318,11 @@ static int __init pps_gen_init(void) { int err; =20 - pps_gen_class =3D class_create("pps-gen"); - if (IS_ERR(pps_gen_class)) { - pr_err("failed to allocate class\n"); - return PTR_ERR(pps_gen_class); + err =3D class_register(&pps_gen_class); + if (err) { + pr_err("failed to register class\n"); + return err; } - pps_gen_class->dev_groups =3D pps_gen_groups; =20 err =3D alloc_chrdev_region(&pps_gen_devt, 0, PPS_GEN_MAX_SOURCES, "pps-gen"); @@ -332,7 +334,7 @@ static int __init pps_gen_init(void) return 0; =20 remove_class: - class_destroy(pps_gen_class); + class_unregister(&pps_gen_class); return err; } =20 --=20 2.53.0