From mboxrd@z Thu Jan 1 00:00:00 1970 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 906A231E0EA for ; Wed, 10 Dec 2025 21:26:57 +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=1765402017; cv=none; b=odat51o+t7YtQVOs60Z+3ybsiSDDRal86CAUe5Oghxj03CVKkTtqoJgT4U5LUYs5zHejjID7FQJuiet3xNSMY28Veh/57MJ51ZwhBRSinBYJwPy9EANPfz4aMs4RdeRTz5ITmTDQumbJWORqQqKzBqbh9K9VdBGOO6It1WzrHq8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765402017; c=relaxed/simple; bh=tKmNFCrKIxQ6WbmONPsc5g2L5tO0Fw0Pvh0catlC+eI=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition:In-Reply-To; b=fylJ5YwahYw8DDJirBkwaC35t3NfRCRxih21uCFUG+nx47G25ar3yH6TJApRaOzR9GRec3gxmKrLV0my5zlJgGSrBV3dmOJ1l5yjEfpwGggZkDJFdywoIs8r3Pz8z3hprVbmaYqihycDbhMwWHvYFS3/9DcIeze7mHOhsgu+sBg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VUqq6Ku/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VUqq6Ku/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42DE8C4CEF1; Wed, 10 Dec 2025 21:26:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1765402017; bh=tKmNFCrKIxQ6WbmONPsc5g2L5tO0Fw0Pvh0catlC+eI=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=VUqq6Ku/cpoEC4DGnDjrvT1e4/v1HuB8GPlfmI8I+ee5x6wxzsnV092YugiIl9w6B 7T9vRD11ryRYL+U05kkTiiiF2AczYYSWQjc15zMMmZ+HhDH7TAK41/cs97rHdaR3LW HxYDKXKcOeiJixiA/HrnXXd5ekdYbFqIVK+dnOEHz2hTZeWeULpAj8gIB282RF1WKb cnI/vbYe3NqUQcwh3GAnKkGlhsAlcJbbETOXhm4kO/OASaZc2M/B6DCNgumTPGICfT +fKi0ot1/Xs/fbtQrWuKLHkp9UIb9shrnFNVnJzEPIaNvV1Z93M2U2RJNA7mUlBX4w ZxerSpWVsvsJA== Date: Wed, 10 Dec 2025 15:26:56 -0600 From: Bjorn Helgaas To: Christian Marangi Cc: Andrew Morton , Andy Shevchenko , linux-kernel@vger.kernel.org, Ilpo =?utf-8?B?SsOkcnZpbmVu?= Subject: Re: [PATCH] resource: provide 0args DEFINE_RES variant for unset resource desc Message-ID: <20251210212656.GA3539214@bhelgaas> 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-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20251210180312.3869-1-ansuelsmth@gmail.com> On Wed, Dec 10, 2025 at 07:03:07PM +0100, Christian Marangi wrote: > Provide a variant of DEFINE_RES that takes 0 arguments to inizialize an > "unset" resource descriptor. s/inizialize/initialize/ > This should be used for the improper case of > > struct resource res = {}; > > where DEFINE_RES() should be used. > > With this new helper variant, it would result in: > > struct resource res = DEFINE_RES(); > > instead of having to define the full 3 arguments: > > struct resource res = DEFINE_RES(0, 0, IORESOURCE_UNSET); > > DEFINE_RES() with no args, will set the flags to IORESOURCE_UNSET > signaling the resource descriptor is UNSET and doesn't reflect an actual > resource currently. > > Suggested-by: Ilpo Järvinen > Signed-off-by: Christian Marangi Looks good to me, thanks for doing this! Reviewed-by: Bjorn Helgaas > --- > include/linux/ioport.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/linux/ioport.h b/include/linux/ioport.h > index d3e837eb8760..ebdbaaf7a520 100644 > --- a/include/linux/ioport.h > +++ b/include/linux/ioport.h > @@ -168,8 +168,13 @@ enum { > > #define DEFINE_RES_NAMED(_start, _size, _name, _flags) \ > DEFINE_RES_NAMED_DESC(_start, _size, _name, _flags, IORES_DESC_NONE) > -#define DEFINE_RES(_start, _size, _flags) \ > +#define __DEFINE_RES0() \ > + DEFINE_RES_NAMED(0, 0, NULL, IORESOURCE_UNSET) > +#define __DEFINE_RES3(_start, _size, _flags) \ > DEFINE_RES_NAMED(_start, _size, NULL, _flags) > +#define DEFINE_RES(...) \ > + CONCATENATE(__DEFINE_RES, COUNT_ARGS(__VA_ARGS__)) \ > + (__VA_ARGS__) > > #define DEFINE_RES_IO_NAMED(_start, _size, _name) \ > DEFINE_RES_NAMED((_start), (_size), (_name), IORESOURCE_IO) > -- > 2.51.0 >