Received: by 2002:ab2:3141:0:b0:1ed:23cc:44d1 with SMTP id i1csp2004473lqg; Mon, 4 Mar 2024 09:52:29 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUPjzmna1krvqiP8Sa5N+PIruJzmfLOSNKFnWRu9lZfR2DNpKMxZJjnFQ+gmwoFDv5ryh6hLm8GUFhPc41VumQ6gzRfidBvCBO1/7SwzQ== X-Google-Smtp-Source: AGHT+IGxbswTFfA8A+45ut9nhK+1xXfIrBtCpOwWjVYMqQvMaQrU4LvBtXRkyRQQbt9Jyw4LB+zw X-Received: by 2002:ad4:424f:0:b0:690:82ab:5d46 with SMTP id l15-20020ad4424f000000b0069082ab5d46mr727937qvq.16.1709574749505; Mon, 04 Mar 2024 09:52:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709574749; cv=pass; d=google.com; s=arc-20160816; b=fSr4xKxyjETGWcT5h5K0MgfbHxOzu8+3NoDvCUeOn+cJbfqG8psGSvnt5oEx0J3nNc I3hwS8S8X6qdhU0Jh/PiSSKVweIykXF/ahmj9qgoOeJWATpeZNwLCrvFd3E/pq2kmoA/ 1Ukm563W4GSc4vSHWpSJdVKsqeehnvJptxHOL53V40a+6CBdLFweu0OA6KFEbZ8sGNAR hKLIm7Gq7Ep1s3bkYxKmdn5YxxDiKEINQfjqLT/Nb4XW229mjd20kRNvnY15LAmYQQdh Jjhiosq63By7ZNTLQ4xxrDzIKh4/dxRGFMz+t2PSNpqD9dJ7k9cgGqDLwjCFd2de9Q5h dVbw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=N6iBsE3o2ph3L1/J+tdXLurOUv4/bJI4lHGUBHD8WwE=; fh=vwsV7LRSC5v19rLJTyx10R3L6xP6/Ej2XGseT3cCJ4E=; b=KxQFokg0cgxgzr3Lc6CV+tGb+xlCEyvXzBoBlo+I4N3PcBSVgfzvpljwAMSIviS3w1 W3hFwyo9lx1z8Xd8EKeTwmYoORe2XU+i9TYnLKUMnmhR745+4i/CJuHM87Bi9bsBss50 eAo61RI0gvSUfoyw6FfqZKW08F762OZm4zrqm3QmQQzLl28sgtTVQh2hVY3J2dhWRDFD azpo0jyPFXFPPBVELZB9K4UVhi68ycpJ5xwnf4DdpFQwryA+gpRjabC6kcJ77PFcnwZd IAS1qkIdPtZ9QpUXgLKIdWhZrUnHPdLEeWj/s0F0NfTcpyRKmCum4r2nmJ7H+2vJQcZq vkXQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ZC4xiaJr; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-91032-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-91032-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id kc27-20020a056214411b00b0068ff0981998si10131497qvb.337.2024.03.04.09.52.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Mar 2024 09:52:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-91032-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ZC4xiaJr; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-91032-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-91032-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 32BF61C22388 for ; Mon, 4 Mar 2024 17:52:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 91DEB61689; Mon, 4 Mar 2024 17:52:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZC4xiaJr" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 92EDB6166E; Mon, 4 Mar 2024 17:52:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709574741; cv=none; b=gQL5VwK6QqC7V0AqVcWSAzvZFlNm4Yy/CTh+BQj7ptJiJiJdukTo2+cbgGa/IxmGoOSnSfMZrqQHMS4wvO4m8oKbPSwfoG/V7KwxRbrnER95rHiAIWYWwS4gIVf6v3M4h4BV48jrizxrkSnC0iNkuBga5gv2Vb6ZhClqIyuFLFQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709574741; c=relaxed/simple; bh=XsmLd6DfO7PQEwcDTEcc6uqrYp9tQ2/PbdbwVblQHkE=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=cUnFMX+4Rsqw0Lycp7FbruQtEudLDc4FqYBoPilzAADEZBZuV2fr7ceNoAI4PShpRDgBGGX1XU5MdOVLYYedk7+21i525Iz6wgUGE6TTow8zzv/RGdRT1U+7/SRQdvKA/LLOF5lkW8b6aqPOEDEXiMjoD1/rhxa0VUaJelFlD6Q= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZC4xiaJr; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3FA6DC433C7; Mon, 4 Mar 2024 17:52:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1709574741; bh=XsmLd6DfO7PQEwcDTEcc6uqrYp9tQ2/PbdbwVblQHkE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ZC4xiaJryMbdfWazibogbn5M6jpCgylKmUZcmirvSSGRb7PUTGD4F7ZE3EV50jI/y 7ZsmqhX43rVWND+xjzTI7slAHxyk9V6NWW1XxoSYZelRmgkYk3XpAT5raY1biwbv2P OlPtoQBWMDxLCuy0frnPFueteW/sm+HSyFp/DarS74SuoV4V5FXHVlkuEFO6Asctxg r7R5E27MhixIvL1KbsTwof3W5F24Bg6BPNq7rqWz1Bvfn1jxdWVktoHH7FnzaLfdXL g9dbCuB8DAwsmHbHWKmpbM8CXl5lMEHv4oXXPBAwU6dnwxNYn0DhsZyrtyenhr5JSW ZUWCMSLpybtGw== Date: Mon, 4 Mar 2024 17:52:16 +0000 From: Simon Horman To: "Ricardo B. Marliere" Cc: Yisen Zhuang , Salil Mehta , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Loic Poulain , Sergey Ryazanov , Johannes Berg , Krzysztof Kozlowski , Greg Kroah-Hartman , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-ppp@vger.kernel.org, Benjamin Tissoires Subject: Re: [PATCH net-next 1/6] net: hns: make hnae_class constant Message-ID: <20240304175216.GN403078@kernel.org> References: <20240302-class_cleanup-net-next-v1-0-8fa378595b93@marliere.net> <20240302-class_cleanup-net-next-v1-1-8fa378595b93@marliere.net> 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=us-ascii Content-Disposition: inline In-Reply-To: <20240302-class_cleanup-net-next-v1-1-8fa378595b93@marliere.net> + Benjamin Tissoires On Sat, Mar 02, 2024 at 02:05:57PM -0300, Ricardo B. Marliere wrote: > Since commit 43a7206b0963 ("driver core: class: make class_register() take > a const *"), the driver core allows for struct class to be in read-only > memory, so move the hnae_class structure to be declared at build time > placing it into read-only memory, instead of having to be dynamically > allocated at boot time. > > Cc: Greg Kroah-Hartman > Suggested-by: Greg Kroah-Hartman > Signed-off-by: Ricardo B. Marliere Reviewed-by: Simon Horman > --- > drivers/net/ethernet/hisilicon/hns/hnae.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/ethernet/hisilicon/hns/hnae.c b/drivers/net/ethernet/hisilicon/hns/hnae.c > index 8a1027ad340d..d4293f76d69d 100644 > --- a/drivers/net/ethernet/hisilicon/hns/hnae.c > +++ b/drivers/net/ethernet/hisilicon/hns/hnae.c > @@ -12,7 +12,9 @@ > > #define cls_to_ae_dev(dev) container_of(dev, struct hnae_ae_dev, cls_dev) > > -static struct class *hnae_class; > +static const struct class hnae_class = { > + .name = "hnae", > +}; > > static void > hnae_list_add(spinlock_t *lock, struct list_head *node, struct list_head *head) > @@ -111,7 +113,7 @@ static struct hnae_ae_dev *find_ae(const struct fwnode_handle *fwnode) > > WARN_ON(!fwnode); > > - dev = class_find_device(hnae_class, NULL, fwnode, __ae_match); > + dev = class_find_device(&hnae_class, NULL, fwnode, __ae_match); > > return dev ? cls_to_ae_dev(dev) : NULL; > } > @@ -415,7 +417,7 @@ int hnae_ae_register(struct hnae_ae_dev *hdev, struct module *owner) > hdev->owner = owner; > hdev->id = (int)atomic_inc_return(&id); > hdev->cls_dev.parent = hdev->dev; > - hdev->cls_dev.class = hnae_class; > + hdev->cls_dev.class = &hnae_class; > hdev->cls_dev.release = hnae_release; > (void)dev_set_name(&hdev->cls_dev, "hnae%d", hdev->id); > ret = device_register(&hdev->cls_dev); > @@ -448,13 +450,12 @@ EXPORT_SYMBOL(hnae_ae_unregister); > > static int __init hnae_init(void) > { > - hnae_class = class_create("hnae"); > - return PTR_ERR_OR_ZERO(hnae_class); > + return class_register(&hnae_class); > } > > static void __exit hnae_exit(void) > { > - class_destroy(hnae_class); > + class_unregister(&hnae_class); > } > > subsys_initcall(hnae_init); > > -- > 2.43.0 > >