devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Tom Rini <trini@ti.com>
Cc: Jason Kridner <jkridner@gmail.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"beagleboard@googlegroups.com" <beagleboard@googlegroups.com>,
	OMAP List <linux-omap@vger.kernel.org>,
	Robert Nelson <robertcnelson@gmail.com>,
	ARM Kernel List <linux-arm-kernel@lists.infradead.org>
Subject: Re: Unifying cape overlays into boot .dtb for BeagleBoard.org boards
Date: Tue, 17 Jun 2014 13:56:40 +0100	[thread overview]
Message-ID: <20140617125640.GC3705@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <53A03675.1000908@ti.com>

On Tue, Jun 17, 2014 at 08:37:09AM -0400, Tom Rini wrote:
> On 06/17/2014 05:09 AM, Russell King - ARM Linux wrote:
> > A good way that this could have been done is to put an I2C EEPROM on
> > each cape, and have that store the DT fragment.  The boot loader could
> > have then read that from each cape, and used that information to build
> > up the final DT.  Why this hasn't been thought of, considering that the
> > kernel has been moving towards DT for years, is quite unbelievable.
> 
> I had actually talked about this a long while back (face to face) with
> people, but the problem was (and still kind of is) the bindings
> changing, etc.

And that's a strong argument for having stable bindings - or at the
very least, ensuring that new bindings which are compatible with older
versions.

We all know how to deal with this, we've had these discussions frequently
with the same outcomes.  It's really not something that needs discussing
yet again, just to reach the same conclusions.

Look, go back to the x86 model.  Why does the kernel run on virtually
any x86 computer there (firmware bugs not withstanding)?  It's not only
because the platform is mostly standardised, but also because it's
standardised at the firmware (BIOS) level as well.  So there's standard
ways to find out what hardware is fitted, standard ways to find out how
it's wired up (eg, which interrupts) and such like.

Like it or not, with ARM64 moving into the server space, and (I believe)
we're saying that we want FDT inside ACPI - well, as soon as you go down
that path on servers, FDT _has_ to be standardised and stable.  Server
space will /not/ stand having to update the FDT in firmware for each
incremental kernel version change, just because we've decided to change
the bindings.

Exactly the same should start applying here.  Yes, we may not want bindings
to be entirely frozen, but when we /do/ change them, we must change them
in a way that is compatible with the old bindings.

Like, for instance, the iMX AHCI driver that I've had for the last five
months patches to fix the incomplete DT bindings for: we have platforms
using it which have hard-coded non-hardware default parameters into the
driver.  I need different hardware parameters for it to come close to
working on my hardware, so when introducing new properties for these, I
_must_ ensure that when these properties are not specified (as they aren't
for the existing platforms using the driver) that their non-hardware
default values are used.  This even means providing negative options to
_disable_ features on the interface, because providing positive "enable
this feature" options would mean that their bindings break.

This is not rocket science.

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.

  reply	other threads:[~2014-06-17 12:56 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ@mail.gmail.com>
2014-06-11  5:11 ` Unifying cape overlays into boot .dtb for BeagleBoard.org boards Jason Kridner
2014-06-17  7:11   ` Gupta, Pekon
     [not found]     ` <20980858CB6D3A4BAE95CA194937D5E73EAF59A7-yXqyApvAXouIQmiDNMet8wC/G2K4zDHf@public.gmane.org>
2014-06-17 16:25       ` Jason Kridner
2014-06-18  8:51         ` Gupta, Pekon
2014-06-26  7:50           ` Tony Lindgren
     [not found]             ` <20140626075039.GG28884-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-06-26 13:06               ` Tom Rini
     [not found]                 ` <53AC1AC5.5000103-l0cyMroinI0@public.gmane.org>
2014-06-26 15:27                   ` Jason Kridner
     [not found] ` <CA+T6QP==raXdWz9mezK3JxSvZjWhUZZ7aKv4CpCr0SbdaCMgDQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-06-11  5:10   ` Jason Kridner
2014-06-16 13:22   ` Jason Kridner
2014-06-17  9:09     ` Russell King - ARM Linux
2014-06-17 12:58       ` Matt Porter
2014-06-17 13:15         ` Russell King - ARM Linux
2014-06-17 13:30           ` Matt Porter
2014-06-17 13:32           ` Pantelis Antoniou
2014-06-17 16:01             ` Russell King - ARM Linux
     [not found]               ` <20140617160119.GE3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-06-17 16:33                 ` Jason Kridner
2014-06-17 16:59               ` Pantelis Antoniou
2014-06-17 17:05                 ` Russell King - ARM Linux
2014-06-17 17:10                   ` Pantelis Antoniou
2014-06-17 17:41                     ` Russell King - ARM Linux
2014-06-17 19:24                       ` Pantelis Antoniou
     [not found]       ` <20140617090931.GB3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-06-17 12:37         ` Tom Rini
2014-06-17 12:56           ` Russell King - ARM Linux [this message]
     [not found]             ` <20140617125640.GC3705-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-06-17 14:58               ` Tom Rini
2014-06-17 13:45         ` Vladimir Pantelic
2014-06-17 13:50       ` Grant Likely
2014-06-17 14:08       ` Iain Paton

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=20140617125640.GC3705@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=beagleboard@googlegroups.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jkridner@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=robertcnelson@gmail.com \
    --cc=trini@ti.com \
    /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).