From: Arnd Bergmann <arnd@arndb.de>
To: David Daney <ddaney@caviumnetworks.com>
Cc: Ulf Hansson <ulf.hansson@linaro.org>,
Matt Redfearn <Matt.Redfearn@imgtec.com>,
David Daney <david.daney@cavium.com>,
linux-mmc <linux-mmc@vger.kernel.org>,
Aleksey Makarov <aleksey.makarov@caviumnetworks.com>,
Chandrakala Chavva <cchavva@caviumnetworks.com>,
Aleksey Makarov <aleksey.makarov@auriga.com>,
Leonid Rosenboim <lrosenboim@caviumnetworks.com>,
Peter Swain <pswain@cavium.com>,
Aaron Williams <aaron.williams@cavium.com>,
Rob Herring <robh+dt@kernel.org>,
Ralf Baechle <ralf@linux-mips.org>
Subject: Re: [RESEND PATCH v7 1/2] mmc: OCTEON: Add DT bindings for OCTEON MMC controller
Date: Tue, 19 Apr 2016 22:56:38 +0200 [thread overview]
Message-ID: <5592706.5avKM3tjT7@wuerfel> (raw)
In-Reply-To: <57169429.10601@caviumnetworks.com>
On Tuesday 19 April 2016 13:25:13 David Daney wrote:
>
> There are several options.
>
> 1) Invent new MMC device tree bindings that are different from what
> we currently have, but that convey the same information.
>
> 1a) Change the OCTEON MMC driver to use only these new bindings, and
> write some sort of device tree fix up code that runs in early boot to
> rewrite the device tree MMC properties. This results in the code
> supporting the OCTEON MMC devices being split between the driver and
> system early boot code. The cost is an increase in system complexity to
> generate the device tree nodes with new bindings.
>
> 1b) Change the OCTEON MMC driver to use either these new bindings or
> legacy bindings. In this case all OCTEON MMC code is localized to a
> single driver file. There is a small increase in complexity to carry
> code to decode both new and legacy device tree bindings.
>
> 2) Use existing OCTEON MMC device tree bindings, as they are
> sufficient to achieve a working driver. Since the code is all specific
> to the OCTEON MMC driver, any ugliness is contained lexicographically
> near to the features being implemented. Any feedback related to the
> architecture and style of the driver code would be addressed.
>
> The current state is #2. My interpretation of your desires is #1a.
>
> I am fine with introducing a new device tree binding. But, I don't
> think the kernel as a whole nor this specific OCTEON MMC driver will be
> improved by adding more device tree synthesis code in early boot. Any
> thing that is there should be limited to supporting very old (pre OCTEON
> MMC) firmware that doesn't supply a device tree. So I would strongly
> support either approach #1b or #2.
My interpretation of the v7 patch is that it is much closer to 1b than
to 2. I think that is a reasonable approach. The fact that it does not
change the compatible strings of the child nodes seems ok to me too:
We can document the binding as requiring "mmc-slot" for the generic
mmc binding. This driver just doesn't look at the compatible string
for the child nodes, so it also doesn't have to change them.
I would also recommend documenting the properties that the firmware
implements in the binding document, simply listing them as "deprecated"
(or whichever word you want to use for describing them). However, I would
ask that you only allow the old-style properties for the compatible
strings that are used in the shipped DT blobs but require the use
of an updated compatible string for the new binding because the two
are not really compatible.
Given how rare the multi-slot controllers are (this being the first
known example), I think it would be good to keep that concept out of
the mmc subsystem and only do the minimum necessary documentation
for the generic binding -- conceptually we can simply treat a
cavium,octeon-6130-mmc device node as special kind of bus, and each
of its subnodes as the actual controller (this is what the driver does
anyway).
Arnd
next prev parent reply other threads:[~2016-04-19 20:57 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-31 15:26 [RESEND PATCH v7 1/2] mmc: OCTEON: Add DT bindings for OCTEON MMC controller Matt Redfearn
2016-03-31 15:26 ` [RESEND PATCH v7 2/2] mmc: OCTEON: Add host driver " Matt Redfearn
2016-04-19 20:46 ` Arnd Bergmann
2016-04-19 21:45 ` David Daney
2016-04-19 22:09 ` Arnd Bergmann
2016-04-19 23:27 ` David Daney
2016-04-19 23:57 ` Arnd Bergmann
2016-04-20 0:02 ` Arnd Bergmann
2016-04-21 8:02 ` Ulf Hansson
2016-04-21 10:15 ` Arnd Bergmann
2016-04-21 12:44 ` Ulf Hansson
2016-04-21 13:19 ` Arnd Bergmann
2016-04-22 13:54 ` Ulf Hansson
2016-04-22 16:42 ` Arnd Bergmann
2016-04-22 17:49 ` David Daney
2016-04-22 20:23 ` Arnd Bergmann
2016-04-14 12:45 ` [RESEND PATCH v7 1/2] mmc: OCTEON: Add DT bindings " Ulf Hansson
2016-04-18 8:53 ` Matt Redfearn
2016-04-18 11:13 ` Ulf Hansson
2016-04-18 11:37 ` Matt Redfearn
2016-04-18 12:08 ` Ulf Hansson
2016-04-18 12:57 ` Matt Redfearn
2016-04-18 22:59 ` David Daney
2016-04-19 9:15 ` Ulf Hansson
2016-04-19 16:13 ` David Daney
2016-04-19 19:33 ` Ulf Hansson
2016-04-19 20:25 ` David Daney
2016-04-19 20:56 ` Arnd Bergmann [this message]
2016-04-19 21:50 ` David Daney
2016-04-20 9:32 ` Ulf Hansson
2016-04-20 22:32 ` David Daney
2016-04-20 22:42 ` Arnd Bergmann
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=5592706.5avKM3tjT7@wuerfel \
--to=arnd@arndb.de \
--cc=Matt.Redfearn@imgtec.com \
--cc=aaron.williams@cavium.com \
--cc=aleksey.makarov@auriga.com \
--cc=aleksey.makarov@caviumnetworks.com \
--cc=cchavva@caviumnetworks.com \
--cc=david.daney@cavium.com \
--cc=ddaney@caviumnetworks.com \
--cc=linux-mmc@vger.kernel.org \
--cc=lrosenboim@caviumnetworks.com \
--cc=pswain@cavium.com \
--cc=ralf@linux-mips.org \
--cc=robh+dt@kernel.org \
--cc=ulf.hansson@linaro.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