Re: [git pull] Devicetree changes for v3.15

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Mon, Sep 29, 2014 at 01:49:22PM +0100, Grant Likely wrote:
> On Fri, 26 Sep 2014 10:19:43 -0400
> , Jason Cooper <jason@xxxxxxxxxxxxxx>
>  wrote:
> > Linus,
> > 
> > On Fri, Sep 26, 2014 at 02:30:53PM +0200, Linus Walleij wrote:
> > > On Tue, Apr 1, 2014 at 12:15 PM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote:
> > > 
> > > > Here are the dt changes I've got queued up for v3.15. The full
> > > > description is below in the tag. Please pull.
> > > (...)
> > > > Jason Cooper (1):
> > > >       kbuild: dtbs_install: new make target
> > 
> > Exact patch is:
> > 
> >   f4d4ffc03efc kbuild: dtbs_install: new make target
> > 
> > > After this patch a while back I have observed the following behaviour
> > > of the kernel build:
> > > 
> > > make zImage
> > > make zImage
> > > -> incremental build, just relink
> > > 
> > > make zImage
> > > make dtbs
> > > make zImage
> > > -> The whole kernel gets rebuilt
> > > 
> > > So now if I happen to recompile my device trees, I suddenly want
> > > the entire zImage to be rebuilt to? It's by definition not changes that
> > > affect the kernel build :-(
> > > 
> > > I noticed this because my build scripts calls make dtbs && make zImage,
> > > and started to rebuild absolutely everything all the time.
> > > 
> > > Do you think this can be fixed? It's quite simple to reproduce...
> > 
> > Does the attached fix your problem?
> > 
> > thx,
> > 
> > Jason.
> > 
> > ----------->8------------------------------------------
> > diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> > index 0ce9d0f71f2a..a88b13af58d2 100644
> > --- a/arch/arm/Makefile
> > +++ b/arch/arm/Makefile
> > @@ -313,7 +313,9 @@ $(INSTALL_TARGETS):
> >  	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
> >  
> >  PHONY += dtbs dtbs_install
> > -dtbs dtbs_install: prepare scripts
> > +dtbs: scripts
> > +	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $@
> > +dtbs_install: prepare scripts
> >  	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $@
> >  
> >  # We use MRPROPER_FILES and CLEAN_FILES now
> 
> Is this the right fix though? It seems that it would fix the problem for
> the dtbs target, but would still cause a kernel rebuild for
> dtbs_install. Why does dtbs_install need to depend on the 'prepare'
> target?

iirc, it was added as a dependency to ensure $KERNELVERSION was set
before attempting to install into /path/to/$KERNELVERSION/dtbs.

This patch was just a confirmation that the 'prepare' target was the
source of the problem for Linus.  Now that we know that, we need to dig
and find a proper fix for setting $KERNELVERSION for dtbs_install.

I dug into the prepare* menagerie a bit preparing this test patch, and
it seems that any existing target which would get us $KERNELVERSION also
depends on FORCE.  I haven't had time to dig into it more... Perhaps one
of the kbuild maintainers would have some insight?

thx,

Jason.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux