Received: by 2002:a25:23cc:0:0:0:0:0 with SMTP id j195csp889971ybj; Thu, 7 May 2020 09:55:18 -0700 (PDT) X-Google-Smtp-Source: APiQypLZJFEPuR2nVttbC9Cip4X5Zm/914j0efRfWPqFzazmmQZFP2+MRJpJ8UvCNiPe2I//42Fi X-Received: by 2002:aa7:c34e:: with SMTP id j14mr12839034edr.195.1588870518582; Thu, 07 May 2020 09:55:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588870518; cv=none; d=google.com; s=arc-20160816; b=YLI7XzNv+g7VP7CKw++Dxl/svcrgTpTou6RYUvSc3uZUkcIfCRpDRjkTwFJ38Umpre VBtS0wMudgYvfOr9SQBfD3o3mp6b8VW/+X5NUwF58dK4IHiPPq7hbN0d6Red5WyXSmIh 2+TIFHoxn/vYiIGLm9nFRTKzcwZNNy0qasKbN47pWH5z1N7UqA8J3i9azAl/9X20WSUA l7CAn2oPCkvLpBCdyj+DpF2W/MSP9fK065lxZ97QLquNhLYf+iahw1EE6sJE/xv1VZXD VTS/NsQgxj+IKrN8jXSKJl9LPiCyuVFv/Q3OaG3GS9oOOjsGrkIkluaQF3W9LOnlkmt9 p62Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date :dkim-signature; bh=mHhzAZTt5uUTg9/HHgYxrQTqvAwkEKKjPDpKYDaonxM=; b=HPnyNSDI6Ry7wrNsr0x/tYz0ZjYeKfKP8RlaF8zNpY9+wKLhll03wrjB3oKOSGVRgO Ca+k8HnjR5hVfU4Mqn2BbWAmS3U27Wa7Hi0cfpmTLSLdtTcHaioVblV2vq6phlQ0JZtk MQXlZ7zgUMQBbtwczkWtBoh5R5r3/lQyNhfA6+ePsEewAJm4D5mh7VUys2ItCKNT+hjx DMBSZ/06Pz7JDxcMKtAikLzipgGjw1i4sUGNlHCsVzmfNZg0KyNiOaBiNwAdHTKHGW3Y QDb4Acqq3smONf+3FO+d0LHNkC9GGwL5KuKxNHdA9j0DVFeBlOJQ1X7N2kIBVjsOce7V Egeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JlpUvKEn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i17si3271840ejr.440.2020.05.07.09.54.55; Thu, 07 May 2020 09:55:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=JlpUvKEn; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726885AbgEGQxT (ORCPT + 99 others); Thu, 7 May 2020 12:53:19 -0400 Received: from mail.kernel.org ([198.145.29.99]:55028 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725949AbgEGQxT (ORCPT ); Thu, 7 May 2020 12:53:19 -0400 Received: from kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com (unknown [163.114.132.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id BA13720870; Thu, 7 May 2020 16:53:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588870398; bh=NujDvlsKX4AJIFdjy/ZhQD238Qri2e97mGwjx7CIqAE=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=JlpUvKEn0HsL1QzZ6h0GinpcwY43KR9GznAQ+FL4QesMiCkMJw93GU5TwBvOCIFlz oDiB+OAbY87TeFnWWySAZIX6SU7tU2T9wJTNWj2i7/rl5S7c6osUw7TFtna6K9D1mG wfTQmnKlhMMMYAIGnBkzPrnxLqDRRPiR4meHNTtg= Date: Thu, 7 May 2020 09:53:15 -0700 From: Jakub Kicinski To: Bartosz Golaszewski Cc: Bartosz Golaszewski , Rob Herring , "David S . Miller" , Matthias Brugger , John Crispin , Sean Wang , Mark Lee , Arnd Bergmann , Fabien Parent , devicetree , Linux Kernel Mailing List , netdev , Linux ARM , linux-mediatek@lists.infradead.org, Heiner Kallweit Subject: Re: [PATCH 05/11] net: core: provide devm_register_netdev() Message-ID: <20200507095315.1154a1a6@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> In-Reply-To: References: <20200505140231.16600-1-brgl@bgdev.pl> <20200505140231.16600-6-brgl@bgdev.pl> <20200505103105.1c8b0ce3@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <20200506101236.25a13609@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 7 May 2020 11:25:01 +0200 Bartosz Golaszewski wrote: > =C5=9Br., 6 maj 2020 o 19:12 Jakub Kicinski napisa=C5= =82(a): > > > > On Wed, 6 May 2020 08:39:47 +0200 Bartosz Golaszewski wrote: =20 > > > wt., 5 maj 2020 o 19:31 Jakub Kicinski napisa=C5=82= (a): =20 > > > > > > > > On Tue, 5 May 2020 16:02:25 +0200 Bartosz Golaszewski wrote: =20 > > > > > From: Bartosz Golaszewski > > > > > > > > > > Provide devm_register_netdev() - a device resource managed variant > > > > > of register_netdev(). This new helper will only work for net_devi= ce > > > > > structs that have a parent device assigned and are devres managed= too. > > > > > > > > > > Signed-off-by: Bartosz Golaszewski =20 > > > > =20 > > > > > diff --git a/net/core/dev.c b/net/core/dev.c > > > > > index 522288177bbd..99db537c9468 100644 > > > > > --- a/net/core/dev.c > > > > > +++ b/net/core/dev.c > > > > > @@ -9519,6 +9519,54 @@ int register_netdev(struct net_device *dev) > > > > > } > > > > > EXPORT_SYMBOL(register_netdev); > > > > > > > > > > +struct netdevice_devres { > > > > > + struct net_device *ndev; > > > > > +}; =20 > > > > > > > > Is there really a need to define a structure if we only need a poin= ter? > > > > =20 > > > > > > There is no need for that, but it really is more readable this way. > > > Also: using a pointer directly doesn't save us any memory nor code > > > here. =20 > > > > I don't care either way but devm_alloc_etherdev_mqs() and co. are using > > the double pointer directly. Please make things consistent. Either do > > the same, or define the structure in some header and convert other > > helpers to also make use of it. =20 >=20 > In order to use devres_find() to check if struct net_device is managed > in devm_register_netdev() I need to know the address of the release > function used by devm_alloc_etherdev_mqs(). Do you mind if I move all > networking devres routines (currently only devm_alloc_etherdev_mqs()) > into a separate .c file (e.g. under net/devres.c)? To implement Edwin's suggestion? Makes sense, but I'm no expert, let's also CC Heiner since he was asking about it last time.