From mboxrd@z Thu Jan 1 00:00:00 1970 From: swarren@wwwdotorg.org (Stephen Warren) Date: Fri, 29 Mar 2013 11:05:10 -0600 Subject: 3.9-rc1 regression in arm dtb build In-Reply-To: <20130328195456.GA22527@quad.lixom.net> References: <20130306193332.GA6022@amd.pavel.ucw.cz> <5137C404.9060902@wwwdotorg.org> <20130307144506.GB7344@amd.pavel.ucw.cz> <5138FDAE.8060202@wwwdotorg.org> <20130311050546.GA21863@quad.lixom.net> <20130328092916.GA11187@amd.pavel.ucw.cz> <51545870.4010209@wwwdotorg.org> <20130328193323.GA25166@amd.pavel.ucw.cz> <20130328195456.GA22527@quad.lixom.net> Message-ID: <5155C9C6.4070702@wwwdotorg.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 03/28/2013 01:54 PM, Olof Johansson wrote: > On Thu, Mar 28, 2013 at 08:33:23PM +0100, Pavel Machek wrote: >> On Thu 2013-03-28 08:49:20, Stephen Warren wrote: >>> On 03/28/2013 03:29 AM, Pavel Machek wrote: >>> ... >>>> There's change that makes it pretty much impossible to build dtbs >>>> reliably between different kernel versions, because it leaves old dtbs >>>> around, and they survive even make clean. >>> >>> One question here: Presumably the dtbs don't survive "make clean" if you >>> run that right after building the dtbs, but only if you check out a new >>> kernel version before running clean? Or is that not the case? >> >> That was the case I seen, yes. >> >> Have old kernel running, dtbs building. Apply a patch. It starts >> behaving weird. You do make clean... but you still get old dtbs. >> >> (It would be nice if make socfpga_cyclone5.dtb would magically remove >> all the dtbs from old location; make dtbs does that if I understand >> stuff correctly). > > > This takes care of the "make dtbs" case (or just "make" case), but not > when you build a specific target. I guess to really solve this, we need the following changes: In the all kernels: For both arch/*/boot and arch/*/boot/dts: clean removes *.dtb In kernels that build *.dtb in the new location: make dtbs and make foo.dtb both rm ../*.dtb In kernels that build *.dtb in the old location: make dtbs and make foo.dtb both rm dts/*.dtb Is that too much to retrofit into all the stable kernels?