Received: by 10.192.165.148 with SMTP id m20csp4923965imm; Tue, 24 Apr 2018 10:36:03 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/2MEtmVVCEswyJUem3sf2gN3W8iINu8gAooLnrwD+fHzh922XRygM50C7tiPTZELQbc97C X-Received: by 2002:a17:902:8501:: with SMTP id bj1-v6mr25276269plb.239.1524591363918; Tue, 24 Apr 2018 10:36:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524591363; cv=none; d=google.com; s=arc-20160816; b=raZ7zwOIcZX+GdAcTwMOsmKjIBqJ/lz8w6HZxIYh57h56gS9bvk8EduaBDNPnNw0fD pAxAcFJ5sJ9FAYeJsgzO88XKeH5+ZZRwRJjZqAlpEWNzONjJwe5ejg3OJ7XhP+4j45Df FNkkxZV9xmWWVfDFiDxBx4/OWH7FzDTVl2LenkK+qIRnHPFCvAgGz25qLJK+eu5lmxsz T+uiDQbx3tPJXpZ9rrvRqfJwQ2IaPndgv44sqpywgGLYf/SDRPf9NDVPsnAQ7pHdELFc bSoPteoGjLMrMimIt2r+gFuBbRakRqtnBS7iI48AcQXzpVVAQlPTsyOlTE+MHsdhhxUf wTrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=HO1vCT495PoqQSJU4Cv873XTJwREw8E2vuRqgOze4IU=; b=obT5xALuOXY0ArAIFUm21CHTTcTU/RHVaGos3ngZT9UbssuTyAXl7fsNpI9LE9EIGU kdpIo02t77NW9jyqN/0vOzuc8hfjJNksuQBpc/8XRT8S2vWk437GPH0oE6vqWaQxMYmf 0jzfP9g2gfaClcZzltwcZfQiIlpod0eLHOP4KnWSPcBatbGGIG8kZnifJCa2lvezbqqB r5M000oFxjLDO2AtPnh36ZOtpCstYvhvoWwfM2oRJxlFQkKbw5qEoj3uioXiIQwGrbEP v1q9JW4+FGrnjlgNKrll1Q0DUPehsd3yNopWV/AokFMee6Dac8mncWe+J+rivRzijPlX C+GQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bgdev-pl.20150623.gappssmtp.com header.s=20150623 header.b=tWHd4dgd; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s83si13323971pfg.175.2018.04.24.10.35.49; Tue, 24 Apr 2018 10:36:03 -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=@bgdev-pl.20150623.gappssmtp.com header.s=20150623 header.b=tWHd4dgd; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751990AbeDXRdh (ORCPT + 99 others); Tue, 24 Apr 2018 13:33:37 -0400 Received: from mail-wr0-f195.google.com ([209.85.128.195]:41584 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752455AbeDXRbU (ORCPT ); Tue, 24 Apr 2018 13:31:20 -0400 Received: by mail-wr0-f195.google.com with SMTP id g21-v6so23284232wrb.8 for ; Tue, 24 Apr 2018 10:31:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=HO1vCT495PoqQSJU4Cv873XTJwREw8E2vuRqgOze4IU=; b=tWHd4dgd99I6x/U5hjq0qRtmFtDdLKQNL9G5tIMEiGLv/4gOYWmji0uZhZfV2Qo2nK Gpm2sYzoBpY4TtrnD7t1NRXbUs/UXfOKA88kRgOBKbTn+JLB9zYU7epMTfLyPPRpZUU2 yoStv5bZAuclFPKHRj+NGUxfochwohITOVjEosp6OzRPM+i5brz6XiNqa/6wssQY0K/f EByuQXuf0f1G6IM4WfMRSximc8wWsX7/hfFoFv8ooJArPc2WqfS3CVyLMwp81lQndCt6 OiV1+kuUHYlZ9HL98k3indKjV9HfQpDmM1B8Slv9bt8USyjdrvth2zYZ3lpcPqfxDxLu Vj1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=HO1vCT495PoqQSJU4Cv873XTJwREw8E2vuRqgOze4IU=; b=sTti0dt8uQlEJDtiyh5qeT61DNLt+mpzZykJEGEmyh8iOVbWuZACKZ0X3T9/y3KebA jwEfWXEXETEKKzWFFaBNOBVRvEQ7YIyHIvhNnzXTb/jl5nhskv3vFFBw6lBQT6QjmXCG wmsz81ZsN04ZRb7JsYVFqSQ0HrQLiMI6o0wKTC9wwStL+s7IY3TzEfW1p7oQxhoaTYeU tjhpyThy9hf5Nrd8VLymN4wHusxT6tST3PRMQSJCnXvoXi6XOiEXkIzsnPQvKofJtc6h TOv32W4sUxtkoToNMP6k+3WOZAKSc9nDE6zLNYAc1vQoytPNp/FALLLBGd7FPFToKs3e /O+g== X-Gm-Message-State: ALQs6tDmYgx4JEtKeRy7vVrdAMFHveKBI3qweMD9hN07j+Nh2DHenPKQ mN4Ab1FY41fgj1ANCxtKCbjgDg== X-Received: by 2002:adf:9b83:: with SMTP id d3-v6mr21126284wrc.58.1524591079450; Tue, 24 Apr 2018 10:31:19 -0700 (PDT) Received: from brgl-bgdev.baylibre.local ([90.63.244.31]) by smtp.gmail.com with ESMTPSA id n21sm15513826wmi.37.2018.04.24.10.31.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 24 Apr 2018 10:31:18 -0700 (PDT) From: Bartosz Golaszewski To: Sekhar Nori , Kevin Hilman , David Lechner , Michael Turquette , Stephen Boyd , Arnd Bergmann , Greg Kroah-Hartman , Rob Herring , Mark Rutland , Yoshinori Sato , Rich Felker , Frank Rowand , "Rafael J . Wysocki" , Jarkko Sakkinen , Dmitry Torokhov , Arend van Spriel , Heikki Krogerus , Michal Suchanek , Jan Kiszka , Andy Shevchenko Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH 06/11] of: provide for_each_compatible_child_node() Date: Tue, 24 Apr 2018 19:30:46 +0200 Message-Id: <20180424173051.15099-7-brgl@bgdev.pl> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180424173051.15099-1-brgl@bgdev.pl> References: <20180424173051.15099-1-brgl@bgdev.pl> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bartosz Golaszewski Add a variant of for_each_compatible_node() allowing to only iterate over all compatible nodes that are children of the specified root node. Signed-off-by: Bartosz Golaszewski --- include/linux/of.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/of.h b/include/linux/of.h index 4d25e4f952d9..15e0dbf7a602 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -1170,6 +1170,9 @@ static inline int of_property_read_s32(const struct device_node *np, #define for_each_compatible_node(dn, type, compatible) \ for (dn = of_find_compatible_node(NULL, type, compatible); dn; \ dn = of_find_compatible_node(dn, type, compatible)) +#define for_each_compatible_child_node(dn, type, compatible, root) \ + for (dn = of_find_compatible_node(root, type, compatible); dn; \ + dn = of_find_compatible_node(dn, type, compatible)) #define for_each_matching_node(dn, matches) \ for (dn = of_find_matching_node(NULL, matches); dn; \ dn = of_find_matching_node(dn, matches)) -- 2.17.0