Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp2401366rda; Wed, 25 Oct 2023 01:20:20 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHgQBoGW/n2IytLsiKXv3wFllPl6CG07cAEOKUJrpc63LND7pSCO6NdRXzIE19RYBZV0bjI X-Received: by 2002:a0d:ff47:0:b0:583:741c:5fe6 with SMTP id p68-20020a0dff47000000b00583741c5fe6mr12569192ywf.52.1698222020593; Wed, 25 Oct 2023 01:20:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698222020; cv=none; d=google.com; s=arc-20160816; b=AKcZDCvalxgqUxINUBRFvqvBX+LxOYX5QYd1Fnu24XkxAasN+EyFqKkDAFWAK1P6G1 YzwzABpPCiS1+m/2RAxazGH1VXrgwNHmcOxuLzYnZ79JBV0qc/HHHLH49mc4bzB7wFQ2 dm5NWn532cAq375DGiDPopgf0rWLjVPRmsSzQ6IGubXJBC4nzLJvDxcYxa0iMxXRJKYO kvG2A/by5c0mBGdMdAgIoA9s0tr0AfLBLdCacOU7w4DTyXHqwLy3Vqdt0u78zZ6jg2rB h7+84ApHKhvznaDkx9i+xxXRsCivNkA4jJU0tE/4Y6kvBeJW/w/D8/3dcfHsibsxf6Yb Va8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=8fyN1XSY3iCzycp1u1WIJ7TbJh+QRJ4JC+EH0GTwq6A=; fh=EEASTKiyE4hCf3fuRwSu47G7PNe7sNkyyIF71FUOBgM=; b=FOZDSMXD6+gDQPsU6PTGAp1KXLqViShgDMzn47BcFAWTQFhiDcyACKnrRr18pSgCLe QOtlal6+frJYEf4kvn/RVrDo8a4dCJmwp5yA2b+zgz+yQI9gdgWrMlou36F56e5W09t9 4Lni1fYyQY0rud422jZfQXxSszxpiUKFH69rkRQOx6WuV9sdHTrJgq2YTertMl681umm FivE4BvYWVK5Q25k0uw3YI3/hdhv3xjJ5QJD5aD+uw5kK+rKE4UMEplj+Y6bTdpx3pgt Ohin1L3eRaUtwArhTIUHvn48LNYwdjZaOiXsKwdDSor7nEXa3MN7FSMPwPsMLQzH1TJD yM3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=gGEd1imB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id n187-20020a8172c4000000b005a7f2c46b5dsi9669257ywc.162.2023.10.25.01.20.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 01:20:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=gGEd1imB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id E418E8096389; Wed, 25 Oct 2023 01:20:17 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232665AbjJYIUG (ORCPT + 99 others); Wed, 25 Oct 2023 04:20:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52880 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230147AbjJYIUF (ORCPT ); Wed, 25 Oct 2023 04:20:05 -0400 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B747B0 for ; Wed, 25 Oct 2023 01:20:02 -0700 (PDT) Received: from pps.filterd (m0353727.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39P8CFuP028224; Wed, 25 Oct 2023 08:19:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=8fyN1XSY3iCzycp1u1WIJ7TbJh+QRJ4JC+EH0GTwq6A=; b=gGEd1imBRlYBLjZWM4WWitsIvM7HE4nBnDRuC7pKeW4XsiLjLfrM+Q4pxokDwVlVc59s Lk1A348Mh9V+rWj8jrocKOnOLqQf3MoZBpvnb3/B8Ua43Mst8KheDWYj4QTGUMTsuF/H UlgLxpXXOkvc0NNl2XM1fVJV4/ED9wdL5uf54Y7C7YSbRN/ZE/f4OtOTGjDcHoEgkMpq jyfGXqR77NDQ38e6ddxhehWVfo1ZasA3T6g7MJnjGeFqgMpcl+90ZlJx7qcmpkmX6KtI +c9jjJFs/DRgVel5OEJOYQM9MLG7UtJkpbGaZQc4wlde2AZGbsTS0IHEwyAO1rCYqJac CQ== Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3txya3r8d3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Oct 2023 08:19:55 +0000 Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 39P5wqWk024403; Wed, 25 Oct 2023 08:19:55 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 3tvu6k4wkj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Oct 2023 08:19:54 +0000 Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 39P8JrmZ21430838 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Oct 2023 08:19:53 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 317C52004B; Wed, 25 Oct 2023 08:19:53 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C83B920040; Wed, 25 Oct 2023 08:19:52 +0000 (GMT) Received: from [9.171.32.46] (unknown [9.171.32.46]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 25 Oct 2023 08:19:52 +0000 (GMT) Message-ID: <9cdba213-d6cf-427e-abd3-a0e1e1b39299@linux.ibm.com> Date: Wed, 25 Oct 2023 10:19:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] ocxl: make ocxl_class constant Content-Language: en-US To: Greg Kroah-Hartman , linuxppc-dev@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org, Andrew Donnellan , Arnd Bergmann References: <2023102403-squirt-defraud-6c0c@gregkh> From: Frederic Barrat In-Reply-To: <2023102403-squirt-defraud-6c0c@gregkh> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: dNcJmMaG1T2GK9C19kaa-ksAv4XOWZdv X-Proofpoint-ORIG-GUID: dNcJmMaG1T2GK9C19kaa-ksAv4XOWZdv X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-25_01,2023-10-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 phishscore=0 adultscore=0 clxscore=1015 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310170001 definitions=main-2310250070 X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Wed, 25 Oct 2023 01:20:18 -0700 (PDT) On 24/10/2023 13:49, Greg Kroah-Hartman wrote: > Now that the driver core allows for struct class to be in read-only > memory, we should make all 'class' structures declared at build time > placing them into read-only memory, instead of having to be dynamically > allocated at runtime. > > Cc: Frederic Barrat > Cc: Andrew Donnellan > Cc: Arnd Bergmann > Cc: linuxppc-dev@lists.ozlabs.org > Signed-off-by: Greg Kroah-Hartman > --- Thanks! Acked-by: Frederic Barrat Fred > drivers/misc/ocxl/file.c | 27 +++++++++++++++------------ > 1 file changed, 15 insertions(+), 12 deletions(-) > > diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c > index 6e63f060e4cc..ac69b7f361f5 100644 > --- a/drivers/misc/ocxl/file.c > +++ b/drivers/misc/ocxl/file.c > @@ -14,7 +14,6 @@ > #define OCXL_NUM_MINORS 256 /* Total to reserve */ > > static dev_t ocxl_dev; > -static struct class *ocxl_class; > static DEFINE_MUTEX(minors_idr_lock); > static struct idr minors_idr; > > @@ -509,6 +508,16 @@ static void ocxl_file_make_invisible(struct ocxl_file_info *info) > cdev_del(&info->cdev); > } > > +static char *ocxl_devnode(const struct device *dev, umode_t *mode) > +{ > + return kasprintf(GFP_KERNEL, "ocxl/%s", dev_name(dev)); > +} > + > +static const struct class ocxl_class = { > + .name = "ocxl", > + .devnode = ocxl_devnode, > +}; > + > int ocxl_file_register_afu(struct ocxl_afu *afu) > { > int minor; > @@ -529,7 +538,7 @@ int ocxl_file_register_afu(struct ocxl_afu *afu) > > info->dev.parent = &fn->dev; > info->dev.devt = MKDEV(MAJOR(ocxl_dev), minor); > - info->dev.class = ocxl_class; > + info->dev.class = &ocxl_class; > info->dev.release = info_release; > > info->afu = afu; > @@ -584,11 +593,6 @@ void ocxl_file_unregister_afu(struct ocxl_afu *afu) > device_unregister(&info->dev); > } > > -static char *ocxl_devnode(const struct device *dev, umode_t *mode) > -{ > - return kasprintf(GFP_KERNEL, "ocxl/%s", dev_name(dev)); > -} > - > int ocxl_file_init(void) > { > int rc; > @@ -601,20 +605,19 @@ int ocxl_file_init(void) > return rc; > } > > - ocxl_class = class_create("ocxl"); > - if (IS_ERR(ocxl_class)) { > + rc = class_register(&ocxl_class); > + if (rc) { > pr_err("Unable to create ocxl class\n"); > unregister_chrdev_region(ocxl_dev, OCXL_NUM_MINORS); > - return PTR_ERR(ocxl_class); > + return rc; > } > > - ocxl_class->devnode = ocxl_devnode; > return 0; > } > > void ocxl_file_exit(void) > { > - class_destroy(ocxl_class); > + class_unregister(&ocxl_class); > unregister_chrdev_region(ocxl_dev, OCXL_NUM_MINORS); > idr_destroy(&minors_idr); > }