Received: by 2002:ad5:4acb:0:0:0:0:0 with SMTP id n11csp939636imw; Fri, 8 Jul 2022 14:54:06 -0700 (PDT) X-Google-Smtp-Source: AGRyM1ssOLb3whb7twmeuc7hZ/s0RCk/TC8CXZMNhj/fAvJe/p+d5D9hc0lnMy2h2t70QQQgPcXv X-Received: by 2002:a17:902:e841:b0:16c:3053:c7e6 with SMTP id t1-20020a170902e84100b0016c3053c7e6mr704536plg.163.1657317246514; Fri, 08 Jul 2022 14:54:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1657317246; cv=none; d=google.com; s=arc-20160816; b=W2GTIpqvgMexzHFK0urIfi3o6YxTnjw/+SuCoMtzr0/H2UMF5Es7II9LEi3N/H3v8i zarY4agh9xiPYvjVlenwq/OBZElPcIUaR9fshEzm0LzEVWWc9iOJAWqUmD41y7zeQchP djlKx1bs9en7iJu0/F3ouY55ojUj7pIKqTsmYarKCQfug6ZVTHWX61hqXDAuCaL4vnkv Oz+LfqdU3RDKWTMCIrMM225JrwXbnAeWhK1AbLuAmC0MUiSwZyXXxJUkNbWYek2nD11I nUdPJKwrm6xZfoui/1u/TjSHb1q3H3v0uiMXRSNQEBR9DUe9Xh5yJKJZN1wn0mvceUHw SMWA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=xQ6i5UBNMSMyPC4xIHCQzZUoakGQh66PVoJA0nKH0oE=; b=eAeSS0E3HUe5EKghkVk4OJRsIFn1fcrwGNTHj4PnWlOIOGH9KSiDL0/1wvP1AMUeZX Ks+elepFZ8W6ixS+5RkluHLGn8mms4MgyLbUUD8g1/t2yQmRrSG8mtXy9IvGyDc2YWQr xbtZTlGkeiltlhLDm9DWACgu5lX+13lmiizB7/k65s2JZE95RceKiW+MrTgY/X2RQT2u EmwNXtFFIdfMzq/K5hxfFNHuPo9dEyPYR8J9ROYsfV5MNiV/XKx9wl4k3QqJNUYVLEFe dHxWC40iyAFNNgVXCr70YO91YXUyq4ntNV8SNO2JMqnt2wqlQjvpF1IUXPGhVhbG8itx vz2w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pKBVxy8K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 7-20020a631747000000b003fdaf261a31si6858230pgx.781.2022.07.08.14.53.54; Fri, 08 Jul 2022 14:54:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=pKBVxy8K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S239841AbiGHVrI (ORCPT + 99 others); Fri, 8 Jul 2022 17:47:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54544 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238649AbiGHVrH (ORCPT ); Fri, 8 Jul 2022 17:47:07 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B5EB532EE2; Fri, 8 Jul 2022 14:47:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 5057D61511; Fri, 8 Jul 2022 21:47:06 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id AE275C341C0; Fri, 8 Jul 2022 21:47:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1657316825; bh=oGe9mSKsZTpDJys53ZbJDTf1BlmyWm4UKF++hMlMXfQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=pKBVxy8KwZDOmG0FJH6dUdb7/xBcN2F/bb+JqvAFAaIpmMQQXfHeicecRhliDy6za wZd6pML+HL/pJ5FIfmqvP85ML41OeBsd9DW6y7VqXoXnJKx9UJEc0c/yNJiSPo0ykW s+PDenFc7EIqUtuWQ8sWMXONmyDzhLnHwwy8pHo654tnLi3IiavoSSXY96NdmF4al9 TzHvY7cR9/fg8nMvssIMBhzcNluEAzbAhrCUPXgW1kfLmylu7Lbt4OmI64tXrbn/to vtkQ70hoCb0ePpygYgPBUdURPoSNjrTwg96cKgHaVSghrXg+3AriYj6Yw1nSyx9sC2 4YwYp1EZ9mqIw== Received: by mail-vs1-f41.google.com with SMTP id 189so22457938vsh.2; Fri, 08 Jul 2022 14:47:05 -0700 (PDT) X-Gm-Message-State: AJIora+0HgmyLUxRL1LnqxrmcstVDvr9VHg8GKS9eDcUyydXzrbuoGTJ +VX+/Kg7LPz4Bx7eWTGV28UC2/xjs9ZLrQtbiQ== X-Received: by 2002:a67:d194:0:b0:357:8ea:5554 with SMTP id w20-20020a67d194000000b0035708ea5554mr2552488vsi.0.1657316824671; Fri, 08 Jul 2022 14:47:04 -0700 (PDT) MIME-Version: 1.0 References: <20220708170359.270226-1-ben.dooks@sifive.com> In-Reply-To: <20220708170359.270226-1-ben.dooks@sifive.com> From: Rob Herring Date: Fri, 8 Jul 2022 15:46:52 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] scripts/dtc: dma-ranges is a multiple of 3 cells To: Ben Dooks Cc: devicetree@vger.kernel.org, Frank Rowand , "linux-kernel@vger.kernel.org" , Sudip Mukherjee , Jude Onyenegecha Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 8, 2022 at 11:04 AM Ben Dooks wrote: > > The dma-ranges property is a set 3 cells of #address-size, so don't treat > it like the ranges property when generating warnings. Uhh, no it is not. It's the same as 'ranges'. Also, we don't take patches against the copy of dtc in the kernel. Submit them to upstream dtc. Rob > > Signed-off-by: Ben Dooks > --- > scripts/dtc/checks.c | 31 ++++++++++++++++++++++++++++++- > 1 file changed, 30 insertions(+), 1 deletion(-) > > diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c > index 781ba1129a8e..791b93e8e02a 100644 > --- a/scripts/dtc/checks.c > +++ b/scripts/dtc/checks.c > @@ -823,7 +823,36 @@ static void check_ranges_format(struct check *c, struct dt_info *dti, > } > } > WARNING(ranges_format, check_ranges_format, "ranges", &addr_size_cells); > -WARNING(dma_ranges_format, check_ranges_format, "dma-ranges", &addr_size_cells); > + > +static void check_dma_ranges_format(struct check *c, struct dt_info *dti, > + struct node *node) > +{ > + struct property *prop; > + int c_size_cells, p_size_cells, entrylen; > + const char *ranges = c->data; > + > + prop = get_property(node, ranges); > + if (!prop) > + return; > + > + if (!node->parent) { > + FAIL_PROP(c, dti, node, prop, "Root node has a \"%s\" property", > + ranges); > + return; > + } > + > + c_size_cells = node_size_cells(node); > + p_size_cells = node_size_cells(node->parent); > + entrylen = (p_size_cells + 2 * c_size_cells) * sizeof(cell_t); > + > + if (!is_multiple_of(prop->val.len, entrylen)) { > + FAIL_PROP(c, dti, node, prop, "\"%s\" property has invalid length (%d bytes) " > + "(parent #address-cells == %d, " > + "child #address-cells == %d)", ranges, prop->val.len, > + p_size_cells, c_size_cells); > + } > +} > +WARNING(dma_ranges_format, check_dma_ranges_format, "dma-ranges", &addr_size_cells); > > static const struct bus_type pci_bus = { > .name = "PCI", > -- > 2.35.1 >