From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC DTC PATCH] dtc: add symlink (-L) output to dtbs
Date: Thu, 14 Nov 2013 12:00:24 -0700 [thread overview]
Message-ID: <52851DC8.203@wwwdotorg.org> (raw)
In-Reply-To: <20131114162859.GX10335@titan.lakedaemon.net>
On 11/14/2013 09:28 AM, Jason Cooper wrote:
> On Tue, Nov 12, 2013 at 01:15:51PM -0700, Stephen Warren wrote:
>> On 11/12/2013 12:30 PM, Jason Cooper wrote:
>>> On Tue, Nov 12, 2013 at 11:38:47AM -0700, Stephen Warren wrote:
>>>> On 11/12/2013 08:29 AM, Rob Herring wrote:
>>>>> On Mon, Nov 11, 2013 at 3:24 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
>>>>>> On 11/11/2013 01:29 PM, Jason Cooper wrote:
>>>>>>> Consumers of the Linux kernel's build products are beginning to hardcode
>>>>>>> the filenames of the dtbs generated. Since the dtb filenames are
>>>>>>> currently the dts filename s/dts/dtb/, this prevents the kernel
>>>>>>> community from renaming dts files as needed.
>>>>>>
>>>>>> My take is that the DTB filenames are part of the ABI, and therefore the
>>>>>> DTS filenames are also part of the ABI. Why would we want to rename them?
>>>>>
>>>>> I agree with the ABI part, but for long term I think compatible
>>>>> strings are a better choice for the ABI than filenames. A link
>>>>> provides for a way to transition.
>>>>
>>>> But this change isn't making the compatible value be the ABI, it's still
>>>> keeping the filename as the ABI, but creating a different way of
>>>> choosing the filename.
>>>
>>> Right, which provides a path towards a slightly more sane ABI. If we
>>> choose to implement this, or another variant, we get to shape a
>>> migration path towards an ABI we designed. As opposed to locked in to
>>> one we didn't even see coming.
>>
>> I don't really agree here; I specifically named all the Tegra DTB/.dts
>> files in a sane fashion precisely so that U-Boot could easily determine
>> which one to load. It's hard to see how this wasn't a predictable issue.
>
> This is the difference between a commercial effort and a hobbyist
> effort. I think I have a plan for how we can both get what we want. I
> could change the argument to 'dtc ... -L arch/arm/boot ...'. Thus:
>
> $ cd arch/arm/boot
> $ ls -l *.dtb # minus a few columns
> ...
> globalscale,mirabox.dtb -> dts/armada-370-mirabox.dtb
> ...
I don't think the symlinks should be in arch/arm/boot, since that's not
where the source files are. They should either exist in
arch/arm/boot/dts (since that's the source file location, and that
generally determines the object/binary/output file location in the
kernel build system), or in some user-specified directory, created as a
side-effect of e.g. "make dtbs_install". There have been some small
discussions of a dtb install target before, but I don't remember the
details.
> This way, aftermarket users (debian installers, etc) could go to the
> same place they go for zImages, and find a standard named dtb. They
> wouldn't need to parse the dtbs, just look at the current compatible
> string for the board they are installing on and find the matching file.
> For commercial efforts, nothing changes, the well-thought out *.dtb
> filenames are still in the same place they always were. A self-imposed
> vendor ABI, if you will.
>
> Then, in situations where dts filenames need to change, that can happen
> (typically per vendor) because the ABI, from the kernel maintainers pov,
> is the symlinks in arch/arm/boot/.
>
> As for the migration, there wouldn't need to be one beyond this first
> step of providing symlinks. That way, vendor-preferred filenames stay
> as they are.
>
> Would that work better for you?
I don't think a distro should need to know the DTB filename at all.
Rather, the/a bootloader should know which platform it's running on, and
provide a variable/... to the boot script/... that defines the DTB
filename. That would completely remove all the knowledge of DTB
filenames from distros.
I don't think there's anything stopping you from renaming
dts/armada-370-mirabox.dts to globalscale,mirabox.dts, as a one-time
ABI-breaking event, if you want the compatible value to be the filename
for those DTs. Is there a reason you'd want the .dts and .dtb filenames
to differ? You'd mentioned flexibility in renaming the .dts files, but
why would you need that flexibility?
Perhaps if we had to, we could just rename all .dts to conform to the
new naming rule and then I can deal with the bootloader fallout for Tegra:-(
next prev parent reply other threads:[~2013-11-14 19:00 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-11 20:29 [RFC DTC PATCH] dtc: add symlink (-L) output to dtbs Jason Cooper
[not found] ` < 1385062552-9882-1-git-send-email-jason@lakedaemon.net>
[not found] ` < 653B066B-5B24-4817-86EF-D4D9F129123D@codeaurora.org>
[not found] ` < 52814AFB.3070600@wwwdotorg.org>
[not found] ` < CAL_Jsq+mAoN2Lbg+uqfLMTZBvgz28E-EioiaU4BUSL_7rS5JjA@mail.gmail.com>
[not found] ` < 528275B7.6050209@wwwdotorg.org>
[not found] ` < 1385942188-21831-1-git-send-email-jason@lakedaemon.net>
[not found] ` < 20131115121215.901EFC40885@trevor.secretlab.ca>
[not found] ` < 1384896475-8744-1-git-send-email-jason@lakedaemon.net>
2013-11-11 21:24 ` Stephen Warren
2013-11-12 14:51 ` Jason Cooper
2013-11-12 15:29 ` Rob Herring
2013-11-12 18:38 ` Stephen Warren
2013-11-12 19:30 ` Jason Cooper
2013-11-12 19:40 ` Andrew Lunn
2013-11-12 20:08 ` Jason Cooper
2013-11-12 20:15 ` Stephen Warren
2013-11-14 16:28 ` Jason Cooper
2013-11-14 19:00 ` Stephen Warren [this message]
2013-11-14 19:16 ` Jason Gunthorpe
2013-11-14 19:34 ` Russell King - ARM Linux
2013-11-14 21:37 ` Stephen Warren
2013-11-14 22:12 ` Matt Sealey
2013-11-15 16:14 ` Grant Likely
2013-11-14 19:26 ` Russell King - ARM Linux
2013-11-15 15:23 ` Jason Cooper
2013-11-15 17:09 ` Javier Martinez Canillas
2013-11-15 21:38 ` Jason Cooper
2013-11-15 12:12 ` Grant Likely
2013-11-15 15:21 ` Jason Cooper
2013-11-18 12:56 ` Grant Likely
2013-11-18 18:38 ` [RFC PATCH V2 0/2] Add 'make dtbs_install' Jason Cooper
2013-11-18 18:38 ` [RFC PATCH V2 1/2] dtc: add 'compat' output option, prints board string Jason Cooper
2013-11-18 19:01 ` Stephen Warren
2013-11-18 19:21 ` Jason Cooper
2013-11-18 20:24 ` Jason Cooper
2013-11-18 18:38 ` [RFC PATCH V2 2/2] kbuild: dtbs_install: new make target Jason Cooper
2013-11-18 19:09 ` Stephen Warren
2013-11-18 19:19 ` Jason Cooper
2013-11-18 19:23 ` Stephen Warren
2013-11-18 19:28 ` Jason Cooper
2013-11-18 19:38 ` Stephen Warren
2013-11-18 19:52 ` Jason Cooper
[not found] ` < 528A98C8.9040803@wwwdotorg.org>
2013-11-18 22:46 ` Stephen Warren
[not found] ` <20131119122801. GL16735@n2100.arm.linux.org.uk>
2013-11-19 12:28 ` Russell King - ARM Linux
2013-11-19 14:23 ` Jason Cooper
[not found] ` < 20131119150212.GM16735@n2100.arm.linux.org.uk>
2013-11-19 15:02 ` Russell King - ARM Linux
[not found] ` <20131119152047. GB28859@titan.lakedaemon.net>
2013-11-19 15:20 ` Jason Cooper
2013-11-19 15:21 ` Russell King - ARM Linux
[not found] ` < 20131119192246.GP16735@n2100.arm.linux.org.uk>
2013-11-19 19:22 ` Russell King - ARM Linux
2013-11-19 19:54 ` Jason Cooper
2013-11-20 13:10 ` Grant Likely
2013-11-20 13:56 ` Russell King - ARM Linux
2013-11-21 7:50 ` Grant Likely
2013-11-20 16:38 ` Jason Cooper
2013-11-19 18:40 ` Stephen Warren
2013-11-19 18:43 ` Jason Cooper
2013-11-19 18:42 ` Stephen Warren
2013-11-19 18:52 ` Russell King - ARM Linux
2013-11-19 19:27 ` Stephen Warren
2013-11-19 19:53 ` Russell King - ARM Linux
2013-11-19 18:57 ` Jason Cooper
2013-11-19 19:53 ` Stephen Warren
2013-11-19 20:39 ` Jason Cooper
2013-11-19 21:06 ` Stephen Warren
2013-11-20 13:18 ` Grant Likely
2013-11-18 21:21 ` [RFC PATCH V3 0/2] Add 'make dtbs_install' Jason Cooper
2013-11-18 21:21 ` [RFC PATCH V3 1/2] scripts: dtc: build fdtget for extracting properties from dtbs Jason Cooper
2013-11-18 22:54 ` Stephen Warren
2013-11-19 14:17 ` Grant Likely
2013-11-18 21:21 ` [RFC PATCH V3 2/2] kbuild: dtbs_install: new make target Jason Cooper
[not found] ` <cover. 1384798508.git.jason@lakedaemon.net>
[not found] ` < 728deb9bbeab491a728da077aa5e47c0e01bccf8.1384798508.git.jason@lakedaemon. net>
[not found] ` <728deb9bbeab491a728da077aa5e47c0e01bccf8.1384798508.git.jason@lakedaemon.n et>
2013-11-19 13:58 ` [RFC PATCH V2 1/2] dtc: add 'compat' output option, prints board string Grant Likely
[not found] ` <cover. 1384809305.git.jason@lakedaemon.net>
[not found] ` < 13f06582c166343c055b8793305d4b9a00b2172e.1384809305.git.jason@lakedaemon. net>
[not found] ` <13f06582c166343c055b8793305d4b9a00b2172e.1384809305.git.jason@lakedaemon.n et>
2013-11-19 14:22 ` [RFC PATCH V3 2/2] kbuild: dtbs_install: new make target Grant Likely
2013-11-19 21:27 ` [PATCH V4] " Jason Cooper
2013-11-19 21:58 ` Stephen Warren
2013-11-20 13:21 ` Grant Likely
2013-11-20 17:22 ` Jason Cooper
2013-11-20 17:08 ` Jason Cooper
2013-11-20 17:21 ` Stephen Warren
2013-11-21 7:48 ` Grant Likely
2013-11-21 19:35 ` [PATCH V5] " Jason Cooper
2013-11-21 19:55 ` Stephen Warren
2013-11-21 23:31 ` Kumar Gala
2013-11-21 23:36 ` Olof Johansson
2013-11-22 7:42 ` Grant Likely
2013-11-22 13:31 ` Jason Cooper
2013-11-22 13:19 ` Jason Cooper
2013-12-01 23:40 ` Jason Cooper
2013-11-22 7:44 ` Grant Likely
2013-11-22 13:33 ` Jason Cooper
2013-12-01 23:56 ` [PATCH V6] " Jason Cooper
2013-12-03 17:37 ` Stephen Warren
2013-12-03 17:41 ` Russell King - ARM Linux
2014-01-10 18:29 ` Jason Cooper
2014-02-04 12:40 ` Grant Likely
2015-03-28 13:23 ` Russell King - ARM Linux
2015-03-28 13:37 ` [PATCH] dtbsinstall: don't move target directory out of the way Russell King
2015-03-28 15:59 ` Jason Cooper
2015-03-28 15:58 ` [PATCH V6] kbuild: dtbs_install: new make target Jason Cooper
2015-03-29 20:34 ` Olof Johansson
2015-03-29 20:58 ` Russell King - ARM Linux
2015-03-29 21:04 ` Jason Cooper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52851DC8.203@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).