All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: thomas.petazzoni@free-electrons.com (Thomas Petazzoni)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 00/34] pinctrl: mvebu: numerous fixes, cleanups and improvements
Date: Tue, 9 Jun 2015 22:34:56 +0200	[thread overview]
Message-ID: <20150609223456.0f569869@free-electrons.com> (raw)
In-Reply-To: <20150609194705.GE16778@lunn.ch>

Hello,

On Tue, 9 Jun 2015 21:47:05 +0200, Andrew Lunn wrote:

> I read a presentation recently, "Device Tree as a stable ABI: a fairy
> tale?"  :-)

Reminds me of something :)

> But we should at least try. So what is actually involved in keeping
> backwards compatibility?
> 
> The two patches i pointed out have two different situations.
> 
> What does pinctrl do when you ask for a pin which is not a member of the
> function? If it silently ignores it, not a problem. But i expect it
> actually throws an error. I could be wrong here, but it looks like it
> is the mvebu code which checks if a pin is a member of a function.  So
> it might be possible to set the value of the val in the
> mvebu_mpp_ctrl_setting to 0xff for the removed NAND pins, and when we
> see such a value, print a warning about outdated DT, and "succeed"
> rather than return an error.

This can only work if the function number is not actually used. For
example, in the very first patch "pinctrl: mvebu: armada-38x: fix PCIe
functions" :

-		 MPP_VAR_FUNCTION(4, "pcie1", "rstout",     V_88F6820_PLUS),
+		 MPP_VAR_FUNCTION(4, "ge0",   "txerr",      V_88F6810_PLUS),

So the function 4 used to be pcie1, which you would like to still be
supported, but it's now actually used for ge0.

To be honest, I actually prefer that people updating their kernel and
using an old DT get an error about pin muxing, rather than having the
driver silently ignore and have people never update their Device Tree.

It's also about long term maintainability. Do we want to keep old crap
around forever in all device drivers?

> For spi -> spi0 it seems messier. So i would leave it as spi with a
> comment, and add spi1.

I'm fine with that.

What about tdm2c -> tdm renaming on Armada 38x, and tdm-1 -> tdm for one
single TDM pin on Armada XP ?

I think we're hitting the limits of the DT backward compatibility: our
description of the hardware had some bugs. What do we do? Continue to
support bugs?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

  reply	other threads:[~2015-06-09 20:34 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 16:46 [PATCH 00/34] pinctrl: mvebu: numerous fixes, cleanups and improvements Thomas Petazzoni
2015-06-09 16:46 ` [PATCH 01/34] pinctrl: mvebu: armada-38x: fix PCIe functions Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-10  8:51   ` Linus Walleij
2015-06-10  8:51     ` Linus Walleij
2015-06-09 16:46 ` [PATCH 02/34] pinctrl: mvebu: armada-370: fix spi0 pin description Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-10  8:52   ` Linus Walleij
2015-06-10  8:52     ` Linus Walleij
2015-06-09 16:46 ` [PATCH 03/34] pinctrl: mvebu: armada-375: remove non-existing NAND re/we pins Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-09 16:58   ` Andrew Lunn
2015-06-09 16:58     ` Andrew Lunn
2015-06-16 13:17     ` Thomas Petazzoni
2015-06-16 13:17       ` Thomas Petazzoni
2015-06-10  8:54   ` Linus Walleij
2015-06-10  8:54     ` Linus Walleij
2015-06-09 16:46 ` [PATCH 04/34] pinctrl: mvebu: armada-xp: remove non-existing NAND pins Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-09 16:46 ` [PATCH 05/34] pinctrl: mvebu: armada-xp: remove non-existing VDD cpu_pd functions Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-10  8:55   ` Linus Walleij
2015-06-10  8:55     ` Linus Walleij
2015-06-09 16:46 ` [PATCH 06/34] pinctrl: mvebu: armada-xp: fix functions of MPP48 Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-09 16:46 ` [PATCH 07/34] pinctrl: mvebu: armada-375: remove incorrect space in pin description Thomas Petazzoni
2015-06-09 16:46   ` Thomas Petazzoni
2015-06-09 16:47 ` [PATCH 08/34] pinctrl: mvebu: armada-38x: fix incorrect total number of GPIOs Thomas Petazzoni
2015-06-09 16:47   ` Thomas Petazzoni
2015-06-10  8:57   ` Linus Walleij
2015-06-10  8:57     ` Linus Walleij
2015-06-09 16:47 ` [PATCH 09/34] pinctrl: mvebu: armada-39x: " Thomas Petazzoni
2015-06-09 16:47   ` Thomas Petazzoni
2015-06-09 16:47 ` [PATCH 10/34] pinctrl: mvebu: armada-{375, 38x, 39x}: normalize naming of PTP subnames Thomas Petazzoni
2015-06-10  8:59   ` [PATCH 10/34] pinctrl: mvebu: armada-{375,38x,39x}: " Linus Walleij
2015-06-09 16:47 ` [PATCH 11/34] pinctrl: mvebu: armada-{38x, 39x, xp}: normalize naming of DRAM functions Thomas Petazzoni
2015-06-10  9:08   ` [PATCH 11/34] pinctrl: mvebu: armada-{38x,39x,xp}: " Linus Walleij
2015-06-09 16:47 ` [PATCH 12/34] pinctrl: mvebu: armada-39x: normalize SATA present functionality naming Thomas Petazzoni
2015-06-10  9:09   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 13/34] pinctrl: mvebu: armada-39x: normalize SDIO pin naming Thomas Petazzoni
2015-06-10  9:10   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 14/34] pinctrl: mvebu: armada-{370, 375, 38x, 39x}: normalize dev pins Thomas Petazzoni
2015-06-10  9:11   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 15/34] pinctrl: mvebu: armada-39x: align NAND pin naming Thomas Petazzoni
2015-06-10  9:12   ` Linus Walleij
2015-06-10  9:15   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 16/34] pinctrl: mvebu: armada-{370, 375, 38x, 39x, xp}: normalize TDM pins Thomas Petazzoni
2015-06-10 11:36   ` [PATCH 16/34] pinctrl: mvebu: armada-{370,375,38x,39x,xp}: " Linus Walleij
2015-06-09 16:47 ` [PATCH 17/34] pinctrl: mvebu: armada-{370,375}: normalize PCIe pins Thomas Petazzoni
2015-06-10 11:43   ` [PATCH 17/34] pinctrl: mvebu: armada-{370, 375}: " Linus Walleij
2015-06-09 16:47 ` [PATCH 18/34] pinctrl: mvebu: armada-{370,375}: normalize audio pins Thomas Petazzoni
2015-06-10 11:44   ` [PATCH 18/34] pinctrl: mvebu: armada-{370, 375}: " Linus Walleij
2015-06-09 16:47 ` [PATCH 19/34] pinctrl: mvebu: armada-{370, xp}: normalize ethernet txclkout pins Thomas Petazzoni
2015-06-10 11:50   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 20/34] pinctrl: mvebu: armada-xp: fix binding documentation of ge1 pins Thomas Petazzoni
2015-06-10 11:56   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 21/34] pinctrl: mvebu: armada-370: align VDD cpu-pd pin naming with datasheet Thomas Petazzoni
2015-06-10 11:57   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 22/34] pinctrl: mvebu: armada-370: align spi1 clock pin naming Thomas Petazzoni
2015-06-10 12:00   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 23/34] pinctrl: mvebu: armada-xp: rename spi to spi0 Thomas Petazzoni
2015-06-09 16:53   ` Andrew Lunn
2015-06-10 12:02     ` Linus Walleij
2015-06-10 12:01   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 24/34] pinctrl: mvebu: armada-39x: normalize ref clock naming Thomas Petazzoni
2015-06-10 12:09   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 25/34] pinctrl: mvebu: armada-xp: add spi1 function Thomas Petazzoni
2015-06-10 12:10   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 26/34] pinctrl: mvebu: armada-xp: add nand rb function Thomas Petazzoni
2015-06-10 12:11   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 27/34] pinctrl: mvebu: armada-xp: add dram functions Thomas Petazzoni
2015-06-10 12:12   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 28/34] pinctrl: mvebu: armada-38x: add sata functions Thomas Petazzoni
2015-06-10 12:24   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 29/34] pinctrl: mvebu: armada-38x: add nand functions Thomas Petazzoni
2015-06-10 12:25   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 30/34] pinctrl: mvebu: armada-38x: add ua1 functions Thomas Petazzoni
2015-06-10 12:30   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 31/34] pinctrl: mvebu: armada-38x: add ptp functions Thomas Petazzoni
2015-06-10 12:31   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 32/34] pinctrl: mvebu: armada-39x: add missing PCIe functions Thomas Petazzoni
2015-06-10 12:32   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 33/34] pinctrl: mvebu: armada-39x: add missing SATA functions Thomas Petazzoni
2015-06-10 12:35   ` Linus Walleij
2015-06-09 16:47 ` [PATCH 34/34] pinctrl: mvebu: armada-39x: add support for Armada 395 variant Thomas Petazzoni
2015-06-10 12:37   ` Linus Walleij
2015-06-09 17:01 ` [PATCH 00/34] pinctrl: mvebu: numerous fixes, cleanups and improvements Andrew Lunn
2015-06-09 19:22   ` Thomas Petazzoni
2015-06-09 19:47     ` Andrew Lunn
2015-06-09 20:34       ` Thomas Petazzoni [this message]
2015-06-09 21:36         ` Andrew Lunn
2015-06-10  8:08           ` Thomas Petazzoni
2015-06-10 12:39 ` Linus Walleij
2015-06-13 15:53   ` Gregory CLEMENT
2015-06-29 10:49     ` Linus Walleij

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=20150609223456.0f569869@free-electrons.com \
    --to=thomas.petazzoni@free-electrons.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.