Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2369095pxb; Thu, 11 Feb 2021 10:32:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxzDrrJMskdNNbgee/MXwhhzk9+QzfBt+MEiwMKyJKsvZfP6xEAGRqI7vWo/N7lbbbPkSDa X-Received: by 2002:a17:906:4955:: with SMTP id f21mr9888475ejt.477.1613068351545; Thu, 11 Feb 2021 10:32:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613068351; cv=none; d=google.com; s=arc-20160816; b=K2t25W4kpaZo2LblBkr2vNgJoAx9GwE7sW52gyFWZD9ZY4hMp7BOKef1wW5j+oBIyU VDqm+7hhYZMKIZhMR4KbGjoSOzMZSTaJd1hkTW+Q773hIFIiziF+9PJcpDeMeX9z8yia NJB6HWbceAU2+SAxeE8GEio+69uYSXTA7vsUXpwDTwIqcISG6g3xjRegA0GMvkwLnlNQ O81cpSw+xwpNCJ2D9WJA8ns5byDn4eMs4kM/aW94vHZEp98ELoMJaRVdwnMfrJ32HuBX qyUm/nGB5in3lCGbFhDkGwQM2W0IFN7/LDpHURsK8Zytbn2AI0DMzB+EAh1k01/VLUYB WiVg== 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:dkim-filter; bh=Hbd1jHEJ4+0Y3UNlpXUZ2xllNrQK93rgVJKBwvGVmL4=; b=Xx+dwEJ00AtgDXIft9C9xaqt5Fnsf1fnTrAOW23F7davxYiMl7IekHdww+SXm6HCTi IK1D3ywFF5QP5PzJoIQpS0/vEDosvANfMUM2iwa9R+1oayq8r7/Cl5hmtHLOO0bO3cqW KkrVk1xbX7jdlApWOUYX+b5UdUpHGea3IE9w+oPeBt+d5gCdhBHGkwfbXWuchg0wpl1y dAH8HJIknFzeRkdYnGxNZwxhzDWkGLJIvrrnYGoKnf6fkZ8YjyG6R3ouq3to6Fj+GjUi TrqQtxnXHO/IJAZnizefsqIiYny24cfbjDyWRf3sPr7RCsfc8oJV+6pEDf/pdH8dLVKc 5IBw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=miTs4Pey; 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 b4si4342577edr.261.2021.02.11.10.32.07; Thu, 11 Feb 2021 10:32:31 -0800 (PST) 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=@nifty.com header.s=dec2015msa header.b=miTs4Pey; 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 S231686AbhBKSbV (ORCPT + 99 others); Thu, 11 Feb 2021 13:31:21 -0500 Received: from conssluserg-04.nifty.com ([210.131.2.83]:37872 "EHLO conssluserg-04.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229707AbhBKS3K (ORCPT ); Thu, 11 Feb 2021 13:29:10 -0500 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (authenticated) by conssluserg-04.nifty.com with ESMTP id 11BIS0xX020916; Fri, 12 Feb 2021 03:28:00 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-04.nifty.com 11BIS0xX020916 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1613068081; bh=Hbd1jHEJ4+0Y3UNlpXUZ2xllNrQK93rgVJKBwvGVmL4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=miTs4Pey9xkNLrJ2iWuNzoQNU9S2BxtyRuYzf27ztbI74N7hG/hA+9Qa2Qrq5yh1C BAk/UXxEmqOmtrClLGUsX8y7LRuEIPEb8UbheNKhWYwkGa84s17uaRQQgfYn0mMeTj +b4mWiPASD6moydGDqYozZQ0mShu+fLUH6l1/Z5mxucS+QOpKFPo+cwy82OJHdvGNb bO+swK3Y9h7P6FtJDAbNYLgyj7wSZgS3QhaVcuXueLO73E56hYhMRYyvrYjVmJ5hQT UMNMv3uC1aT64x3AKbGl92VtJkgBrJtZ5dvtVDod2KqsM0nGIMPmPK7yc6a2ueIcq3 X48yrgMOs8jww== X-Nifty-SrcIP: [209.85.215.180] Received: by mail-pg1-f180.google.com with SMTP id j5so4478477pgb.11; Thu, 11 Feb 2021 10:28:00 -0800 (PST) X-Gm-Message-State: AOAM530wA1hfMI9DvO2M325NlPo1oVeWEH7ZLv3xIWjauuOQIW9PfJyB YqGSVM6g9/Yzj9qPfZf+Sgt64BbYaXMnggzazAg= X-Received: by 2002:a62:b416:0:b029:1e4:fb5a:55bb with SMTP id h22-20020a62b4160000b02901e4fb5a55bbmr8972253pfn.80.1613068079796; Thu, 11 Feb 2021 10:27:59 -0800 (PST) MIME-Version: 1.0 References: <44dad578df8a848fc378cd358f03b071f44c9a5b.1612955268.git.viresh.kumar@linaro.org> In-Reply-To: <44dad578df8a848fc378cd358f03b071f44c9a5b.1612955268.git.viresh.kumar@linaro.org> From: Masahiro Yamada Date: Fri, 12 Feb 2021 03:27:23 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V7 1/3] kbuild: Add generic rule to apply fdtoverlay To: Viresh Kumar Cc: Frank Rowand , Rob Herring , Pantelis Antoniou , Michal Marek , Vincent Guittot , linux-arm-kernel , Linux Kernel Mailing List , Anmar Oueja , Bill Mills , David Gibson , DTML , Linux Kbuild mailing list , Geert Uytterhoeven , Michal Simek , Rob Herring Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 10, 2021 at 8:13 PM Viresh Kumar wrote: > > From: Rob Herring > > Add a generic rule to apply fdtoverlay in Makefile.lib, so every > platform doesn't need to carry the complex rule. > > The platform's Makefile only needs to have this now: > > DTC_FLAGS_foo_base += -@ > foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo > overlay-y := foo.dtb Please reuse dtb-y instead of introducing the new overlay-y syntax, that is, foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo dtb-y := foo.dtb This resembles to composite modules. foo-objs := foo1.o foo2.o foo3.o obj-m := foo.o > Rearrange Makefile.lib to keep DT specific stuff together. > > The files from overlay-y (i.e. files generated by fdtoverlay) aren't > added to dtb-y here, as dtb-y is later used to generate .dt.yaml files > and the files in overlay-y don't have a corresponding dts file and make > dtbs_check fails for them. > > Signed-off-by: Rob Herring > [ Viresh: Add commit log and replace dtb-y with overlay-y, handle > CONFIG_OF_ALL_DTBS case, rearrange Makefile, don't add > overlay-y to dtb-y to skip dtbs_check for them. ] > Signed-off-by: Viresh Kumar > --- > scripts/Makefile.lib | 39 +++++++++++++++++++++++++++------------ > 1 file changed, 27 insertions(+), 12 deletions(-) > > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index b00855b247e0..a6e79e3be527 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -66,23 +66,16 @@ multi-used := $(multi-used-y) $(multi-used-m) > real-obj-y := $(foreach m, $(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) > real-obj-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)) $($(m:.o=-))),$($(m:.o=-objs)) $($(m:.o=-y)) $($(m:.o=-m)),$(m))) > > -always-y += $(always-m) > - > -# hostprogs-always-y += foo > -# ... is a shorthand for > -# hostprogs += foo > -# always-y += foo > -hostprogs += $(hostprogs-always-y) $(hostprogs-always-m) > -always-y += $(hostprogs-always-y) $(hostprogs-always-m) > - > -# userprogs-always-y is likewise. > -userprogs += $(userprogs-always-y) $(userprogs-always-m) > -always-y += $(userprogs-always-y) $(userprogs-always-m) > +# Add base dtb and overlay dtbo > +dtb-y += $(foreach m,$(overlay-y), $(if $(strip $($(m:.dtb=-dtbs))),$($(m:.dtb=-dtbs)),)) > +dtb-$(CONFIG_OF_ALL_DTBS) += $(foreach m,$(overlay-), $(if $(strip $($(m:.dtb=-dtbs))),$($(m:.dtb=-dtbs)),)) > > # DTB > # If CONFIG_OF_ALL_DTBS is enabled, all DT blobs are built > extra-y += $(dtb-y) > +extra-y += $(overlay-y) > extra-$(CONFIG_OF_ALL_DTBS) += $(dtb-) > +extra-$(CONFIG_OF_ALL_DTBS) += $(overlay-) > > ifneq ($(CHECK_DTBS),) > extra-y += $(patsubst %.dtb,%.dt.yaml, $(dtb-y)) > @@ -91,6 +84,19 @@ extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtb,%.dt.yaml, $(dtb-)) > extra-$(CONFIG_OF_ALL_DTBS) += $(patsubst %.dtbo,%.dt.yaml, $(dtb-)) > endif > > +always-y += $(always-m) > + > +# hostprogs-always-y += foo > +# ... is a shorthand for > +# hostprogs += foo > +# always-y += foo > +hostprogs += $(hostprogs-always-y) $(hostprogs-always-m) > +always-y += $(hostprogs-always-y) $(hostprogs-always-m) > + > +# userprogs-always-y is likewise. > +userprogs += $(userprogs-always-y) $(userprogs-always-m) > +always-y += $(userprogs-always-y) $(userprogs-always-m) > + > # Add subdir path > > extra-y := $(addprefix $(obj)/,$(extra-y)) > @@ -332,6 +338,15 @@ $(obj)/%.dtb: $(src)/%.dts $(DTC) FORCE > $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE > $(call if_changed_dep,dtc) > > + > +quiet_cmd_fdtoverlay = DTOVL $@ > + cmd_fdtoverlay = $(objtree)/scripts/dtc/fdtoverlay -o $@ -i $(real-prereqs) > + > +.SECONDEXPANSION: > + > +$(obj)/%.dtb: $$(addprefix $$(obj)/,$$(%-dtbs)) FORCE > + $(call if_changed,fdtoverlay) > + Please do not use .SECONDEXPANSION. This will parse the Makefile twice in _all_ directories, while only a few directories use the overlay-y syntax. Use the multi_depend macro. > DT_CHECKER ?= dt-validate > DT_BINDING_DIR := Documentation/devicetree/bindings > # DT_TMP_SCHEMA may be overridden from Documentation/devicetree/bindings/Makefile > -- > 2.25.0.rc1.19.g042ed3e048af > -- Best Regards Masahiro Yamada