Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp2878139ybi; Mon, 17 Jun 2019 11:57:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqzHZXIGu6Or+wWpKp0w3RHoq1glPFyX3lvPxr8pSSNLymANKh9zrJWRDcRZJF9yGiaKXoEv X-Received: by 2002:a62:e308:: with SMTP id g8mr32765390pfh.162.1560797804776; Mon, 17 Jun 2019 11:56:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560797804; cv=none; d=google.com; s=arc-20160816; b=fWMj2ZsWokwhk1+TwWqPMZNabnWFZ/lYk/RbXs5Dg6beRHcc+NfvbcCzzEaVFB/Lep 5F/zW+YTBVN1oplTnKT+O/AMtd1v2l0Sa5t8VN35m02AlRjLgK0hzS2f8hQVdbtpOaXo 8XRJ9OPvC1PKxaXndzbg2YQJ4jIy8ymzcZiyAiD8L3DUSeece2zx1+yvS83n+Ur/DcnI mvtNNyLkwWaQUsL9odAHqi7XCoKslhGFsb3zmDSYbU/MPvgjRoEg8LE7Bj+kXpo3Pt73 xr1wocRdE58EeqMKqNe3fhB/4sJ7mq6g13QCiof8STCdSYkm5GpoeVYS8UEYKwmwQhPp fYlQ== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=256+CBIaZgrDdUBpx7HVGfWhTIjDyF5LSlnyeLtyzBw=; b=fTZmObM3Dz+QPEQVKAz2D4LSZvivghd9TS/4zVc7FTsAdP0MJaP694eSTR0AliFT3H 9vhfpOF0o3QdUnQ41yNnvD0CPY6fO7zLu8SdnTQ9U/Ua1qiDXfN8KEJgPVg21mPYRe0T o4jtQIQ/iDl7aQ2IaSyeVxi1NxVTf+mExcJrbcY9grJdXUf1MBa/EySRDai+hJ6y7bU+ sHaKe+BDnsiypfEgTSkccZKJrOQEWamXJ91TXzP0UKkH10GvYr/It/sVrwuu1McRXd22 CFn6WFFhgomNR8QxyROQUTMM4eGzjQgu9ms9A5OCHvPaB+Tlha7Dg0LPY9yD53JiwYuC RQcg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="kG2g/uq9"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r12si97883pjp.56.2019.06.17.11.56.29; Mon, 17 Jun 2019 11:56:44 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="kG2g/uq9"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728143AbfFQS4N (ORCPT + 99 others); Mon, 17 Jun 2019 14:56:13 -0400 Received: from mail-pf1-f194.google.com ([209.85.210.194]:40229 "EHLO mail-pf1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725772AbfFQS4M (ORCPT ); Mon, 17 Jun 2019 14:56:12 -0400 Received: by mail-pf1-f194.google.com with SMTP id p184so6163918pfp.7; Mon, 17 Jun 2019 11:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=256+CBIaZgrDdUBpx7HVGfWhTIjDyF5LSlnyeLtyzBw=; b=kG2g/uq9Xr2Pc0CyyyFe0B6J4bLIWCATK9CfOd9BGvag8ncxAnxn7KNVSFbLrlXbRr VgiOIZ2KsqsamsPc+5QF5uc3U55HK8OrPWiLx89IpfVwQ/8OTp9pVxLBqVLkdJqi07Yj UOulN9woL9gbN0c0VQZGTAfAhnqpvdpvx91oYT6sUvrdNasWWrXfSDofTi6ngTdOCLrc Kqz34siW5PdTUrDXFcraiOupFthgq+cVZmmaA7gIWzRZxW/vvZ2znUyQH7YdmQueU5r2 bowbriBVZKwuFyw1OwVx/vEtKNuoHZ+r54/gYKRWQxGE/1TxMShQlR2ZFIAWf2YwtcDX x5Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=256+CBIaZgrDdUBpx7HVGfWhTIjDyF5LSlnyeLtyzBw=; b=J1QsOgfjSCE1JyrgJI4pPWySy3nzLRFVIraqF2QfoOOw/4ymvXPJTRLdb057kqttKo ORbjwRj6ZT6MHdRuIccVv95Tr71Hls+w81MwYAkU0WUDbSOmlcKBQInpPjo22h22EL4y 009hxNXnTsr/nBHathiD2tXHTBAfAAu83KyUiWlzHD/HjjNNCWU+swTdseTdmtDLDptX 1Qo3T66Lfyt14k6hpb6yAkhp2NGrshSH6oF1uuEvf9KG/uH4vRBAw8hSZ6gXn/xeVsnY zgEeLK0UWsomuZqUtPmiGKiVGfQbSfVNvyDFj+l8zlnSgdabR7mgtwBmkU9K/YVuLcMI MdHA== X-Gm-Message-State: APjAAAWjOwSnPHf+OZhsMu8LQF31HXum3MzU/RfgDRidAWvAAELhtgST GMb+CTWrYdPYnPgK9kw49Og= X-Received: by 2002:a62:640e:: with SMTP id y14mr111298844pfb.109.1560797771634; Mon, 17 Jun 2019 11:56:11 -0700 (PDT) Received: from [192.168.1.70] (c-24-6-192-50.hsd1.ca.comcast.net. [24.6.192.50]) by smtp.gmail.com with ESMTPSA id c14sm11056019pgm.40.2019.06.17.11.56.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 17 Jun 2019 11:56:11 -0700 (PDT) Subject: Re: [PATCH] of/fdt: hide of_ftd_match() if unused To: Arnd Bergmann , Rob Herring Cc: Hsin-Yi Wang , Stephen Boyd , Rob Herring , Mike Rapoport , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20190617123840.911593-1-arnd@arndb.de> From: Frank Rowand Message-ID: <5dfc29c0-0b42-16d9-b850-2cba8938d908@gmail.com> Date: Mon, 17 Jun 2019 11:56:09 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <20190617123840.911593-1-arnd@arndb.de> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, Thanks for catching this. The bad news is that you are second in line, Kefeng Wang sent a patch to do the same last week. Thanks! -Frank On 6/17/19 5:38 AM, Arnd Bergmann wrote: > The only caller of this function is built conditionally: > > drivers/of/fdt.c:129:19: error: 'of_fdt_match' defined but not used [-Werror=unused-function] > > Move the definition into the same #ifdef block. > > Fixes: 9b4d2b635bd0 ("of/fdt: Remove dead code and mark functions with __init") > Signed-off-by: Arnd Bergmann > --- > drivers/of/fdt.c | 106 +++++++++++++++++++++++------------------------ > 1 file changed, 53 insertions(+), 53 deletions(-) > > diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c > index 3d36b5afd9bd..424981786c79 100644 > --- a/drivers/of/fdt.c > +++ b/drivers/of/fdt.c > @@ -78,38 +78,6 @@ void __init of_fdt_limit_memory(int limit) > } > } > > -/** > - * of_fdt_is_compatible - Return true if given node from the given blob has > - * compat in its compatible list > - * @blob: A device tree blob > - * @node: node to test > - * @compat: compatible string to compare with compatible list. > - * > - * On match, returns a non-zero value with smaller values returned for more > - * specific compatible values. > - */ > -static int of_fdt_is_compatible(const void *blob, > - unsigned long node, const char *compat) > -{ > - const char *cp; > - int cplen; > - unsigned long l, score = 0; > - > - cp = fdt_getprop(blob, node, "compatible", &cplen); > - if (cp == NULL) > - return 0; > - while (cplen > 0) { > - score++; > - if (of_compat_cmp(cp, compat, strlen(compat)) == 0) > - return score; > - l = strlen(cp) + 1; > - cp += l; > - cplen -= l; > - } > - > - return 0; > -} > - > static bool of_fdt_device_is_available(const void *blob, unsigned long node) > { > const char *status = fdt_getprop(blob, node, "status", NULL); > @@ -123,27 +91,6 @@ static bool of_fdt_device_is_available(const void *blob, unsigned long node) > return false; > } > > -/** > - * of_fdt_match - Return true if node matches a list of compatible values > - */ > -static int __init of_fdt_match(const void *blob, unsigned long node, > - const char *const *compat) > -{ > - unsigned int tmp, score = 0; > - > - if (!compat) > - return 0; > - > - while (*compat) { > - tmp = of_fdt_is_compatible(blob, node, *compat); > - if (tmp && (score == 0 || (tmp < score))) > - score = tmp; > - compat++; > - } > - > - return score; > -} > - > static void *unflatten_dt_alloc(void **mem, unsigned long size, > unsigned long align) > { > @@ -522,6 +469,59 @@ void *initial_boot_params __ro_after_init; > > static u32 of_fdt_crc32; > > +/** > + * of_fdt_is_compatible - Return true if given node from the given blob has > + * compat in its compatible list > + * @blob: A device tree blob > + * @node: node to test > + * @compat: compatible string to compare with compatible list. > + * > + * On match, returns a non-zero value with smaller values returned for more > + * specific compatible values. > + */ > +static int of_fdt_is_compatible(const void *blob, > + unsigned long node, const char *compat) > +{ > + const char *cp; > + int cplen; > + unsigned long l, score = 0; > + > + cp = fdt_getprop(blob, node, "compatible", &cplen); > + if (cp == NULL) > + return 0; > + while (cplen > 0) { > + score++; > + if (of_compat_cmp(cp, compat, strlen(compat)) == 0) > + return score; > + l = strlen(cp) + 1; > + cp += l; > + cplen -= l; > + } > + > + return 0; > +} > + > +/** > + * of_fdt_match - Return true if node matches a list of compatible values > + */ > +static int __init of_fdt_match(const void *blob, unsigned long node, > + const char *const *compat) > +{ > + unsigned int tmp, score = 0; > + > + if (!compat) > + return 0; > + > + while (*compat) { > + tmp = of_fdt_is_compatible(blob, node, *compat); > + if (tmp && (score == 0 || (tmp < score))) > + score = tmp; > + compat++; > + } > + > + return score; > +} > + > /** > * res_mem_reserve_reg() - reserve all memory described in 'reg' property > */ >