linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
@ 2017-05-19 19:34 Olof Johansson
  2017-05-22 11:44 ` Linus Walleij
  0 siblings, 1 reply; 9+ messages in thread
From: Olof Johansson @ 2017-05-19 19:34 UTC (permalink / raw)
  To: linux-arm-kernel

The following changes since commit 2ea659a9ef488125eb46da6eb571de5eae5c43f6:

  Linux 4.12-rc1 (2017-05-13 13:19:49 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git tags/armsoc-fixes

for you to fetch changes up to 6bf1c2d26716dcd483699cc62474e49d164c5563:

  arm64: dts: rockchip: fix include reference (2017-05-19 14:12:00 +0200)

----------------------------------------------------------------
ARM: SoC fixes (and a cross-arch dt-include fix)

We had a small batch of fixes before -rc1, but here is a larger one. It
contains a backmerge of 4.12-rc1 since some of the downstream branches we
merge had that as base; at the same time we already had merged contents
before -rc1 and rebase wasn't the right solution.

A mix of random smaller fixes and a few things worth pointing out:

 - We've started telling people to avoid cross-tree shared branches if all
   they're doing is picking up one or two DT-used constants from a
   shared include file, and instead to use the numeric values on first
   submission. Follow-up moving over to symbolic names are sent in right
   after -rc1, i.e. here. It's only a few minor patches of this type.

 - Linus Walleij and others are resurrecting the 'Gemini' platform, and
   wanted a cut-down platform-specific defconfig for it. So I picked that
   up for them.

 - Rob Herring ran 'savedefconfig' on arm64, it's a bit churny but it helps
   people to prepare patches since it's a pain when defconfig and current
   savedefconfig contents differs too much.

 - Devicetree additions for some pinctrl drivers for Armada that were
   merged this window. I'd have preferred to see those earlier but it's not
   a huge deail.

The biggest change worth pointing out though since it's touching other
parts of the tree: We added prefixes to be used when cross-including
DT contents between arm64 and arm, allowing someone to #include
<arm/foo.dtsi> from arm64, and likewise. As part of that, we needed
arm/foo.dtsi to work on arm as well. The way I suggested this to Heiko
resulted in a recursive symlink.

Instead, I've now moved it out of arch/*/boot/dts/include, into a shared
location under scripts/dtc. While I was at it, I consolidated so all
architectures now behave the same way in this manner.

Rob Herring (DT maintainer) has acked it. I cc:d most other arch
maintainers but nobody seems to care much; it doesn't really affect them
since functionality is unchanged for them by default.

----------------------------------------------------------------
Adam Ford (1):
      ARM: dts: LogicPD Torpedo: Fix camera pin mux

Andreas Kemnade (1):
      ARM: dts: gta04: fix polarity of clocks for mcbsp4

Arnd Bergmann (11):
      ARM: omap2+: make omap4_get_cpu1_ns_pa_addr declaration usable
      Merge tag 'v4.11-next-fixes' of https://github.com/mbgg/linux-mediatek into fixes
      Merge tag 'renesas-fixes-for-v4.12' of https://git.kernel.org/.../horms/renesas into fixes
      Merge tag 'mvebu-dt64-4.12-3' of git://git.infradead.org/linux-mvebu into fixes
      Merge tag 'mvebu-arm64-4.12-1' of git://git.infradead.org/linux-mvebu into fixes
      Merge branch 'tee/initial-merge' into fixes
      tee: add ARM_SMCCC dependency
      soc: imx: add PM dependency for IMX7_PM_DOMAINS
      ARM: remove duplicate 'const' annotations'
      firmware: ti_sci: fix strncat length check
      arm64: dts: rockchip: fix include reference

Baruch Siach (4):
      ARM: dts: bcm2835: fix uart0 pinctrl node names
      ARM: dts: bcm2835: fix i2c0 pins
      ARM: dts: bcm2835: fix uart0/uart1 pins
      ARM: dts: bcm2835: add index to the ethernet alias

Fabio Estevam (1):
      ARM: dts: imx53-qsrb: Pulldown PMIC IRQ pin

Florian Fainelli (2):
      Merge tag 'bcm2835-dt-next-2017-03-30' into devicetree/fixes
      soc: bcm: brcmstb: Correctly match 7435 SoC

Geert Uytterhoeven (1):
      soc: renesas: Provide dummy rcar_rst_read_mode_pins() for compile-testing

Gregory CLEMENT (3):
      arm64: marvell: enable the Armada 37xx pinctrl driver
      ARM64: dts: marvell: Add pinctrl nodes for Armada 3700
      ARM64: dts: marvell: armada37xx: add pinctrl definition

Hans Verkuil (1):
      ARM: dts: omap4: enable CEC pin for Pandaboard A4 and ES

John Crispin (1):
      arm: dts: mt7623: add clock-frequency to the a7 timer node to mt7623.dtsi

Keerthy (1):
      ARM: dts: dra7: Add power hold and power controller properties to palmas

Leonard Crestez (1):
      ARM: dts: imx6sx-sdb: Remove OPP override

Linus Walleij (1):
      ARM: configs: add a gemini defconfig

Olof Johansson (6):
      Merge tag 'v4.12-rc1' into fixes
      devicetree: Move include prefixes from arch to separate directory
      Merge tag 'arm-soc/for-4.12/devicetree-fixes' of http://github.com/Broadcom/stblinux into fixes
      Merge tag 'arm-soc/for-4.12/drivers-fixes' of http://github.com/Broadcom/stblinux into fixes
      Merge tag 'imx-fixes-4.12' of git://git.kernel.org/.../shawnguo/linux into fixes
      Merge tag 'omap-for-v4.12/fixes-v2-signed' of git://git.kernel.org/.../tmlind/linux-omap into fixes

Ravikumar Kattekola (1):
      ARM: dts: dra7: Reduce cpu thermal shutdown temperature

Rob Herring (2):
      arm64: defconfig: sync with savedefconfig
      arm64: defconfig: enable options needed for QCom DB410c board

Tony Lindgren (1):
      memory: omap-gpmc: Fix debug output for access width

yong mao (1):
      ARM64: dts: mediatek: configure some fixed mmc parameters

 arch/arm/boot/dts/bcm283x-rpi-smsc9512.dtsi       |   2 +-
 arch/arm/boot/dts/bcm283x-rpi-smsc9514.dtsi       |   2 +-
 arch/arm/boot/dts/bcm283x.dtsi                    |  22 +++--
 arch/arm/boot/dts/dra7-evm.dts                    |   2 +
 arch/arm/boot/dts/dra7.dtsi                       |   4 +
 arch/arm/boot/dts/imx53-qsrb.dts                  |   2 +-
 arch/arm/boot/dts/imx6sx-sdb.dts                  |  17 ----
 arch/arm/boot/dts/include/arm                     |   1 -
 arch/arm/boot/dts/include/arm64                   |   1 -
 arch/arm/boot/dts/include/dt-bindings             |   1 -
 arch/arm/boot/dts/logicpd-torpedo-37xx-devkit.dts |   6 +-
 arch/arm/boot/dts/mt7623.dtsi                     |   2 +
 arch/arm/boot/dts/omap3-gta04.dtsi                |   3 +-
 arch/arm/boot/dts/omap4-panda-a4.dts              |   2 +-
 arch/arm/boot/dts/omap4-panda-es.dts              |   2 +-
 arch/arm/configs/gemini_defconfig                 |  68 ++++++++++++++
 arch/arm/mach-at91/pm.c                           |   2 +-
 arch/arm/mach-bcm/bcm_kona_smc.c                  |   2 +-
 arch/arm/mach-cns3xxx/core.c                      |   2 +-
 arch/arm/mach-omap2/common.h                      |   3 +-
 arch/arm/mach-omap2/omap-mpuss-lowpower.c         |  10 +-
 arch/arm/mach-omap2/omap-smp.c                    |  11 ++-
 arch/arm/mach-omap2/prm_common.c                  |   2 +-
 arch/arm/mach-omap2/vc.c                          |   2 +-
 arch/arm/mach-spear/time.c                        |   2 +-
 arch/arm64/Kconfig.platforms                      |   5 +
 arch/arm64/boot/dts/include/arm                   |   1 -
 arch/arm64/boot/dts/include/arm64                 |   1 -
 arch/arm64/boot/dts/include/dt-bindings           |   1 -
 arch/arm64/boot/dts/marvell/armada-3720-db.dts    |   8 ++
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi      |  73 ++++++++++++++-
 arch/arm64/boot/dts/mediatek/mt8173-evb.dts       |   3 +
 arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts |   2 +-
 arch/arm64/configs/defconfig                      | 106 ++++++++++------------
 arch/cris/boot/dts/include/dt-bindings            |   1 -
 arch/metag/boot/dts/include/dt-bindings           |   1 -
 arch/mips/boot/dts/include/dt-bindings            |   1 -
 arch/powerpc/boot/dts/include/dt-bindings         |   1 -
 drivers/firmware/ti_sci.c                         |   3 +-
 drivers/memory/omap-gpmc.c                        |   2 +-
 drivers/soc/bcm/brcmstb/common.c                  |   2 +-
 drivers/soc/imx/Kconfig                           |   3 +-
 drivers/tee/Kconfig                               |   1 +
 include/linux/soc/renesas/rcar-rst.h              |   5 +
 scripts/Makefile.lib                              |   2 +-
 scripts/dtc/include-prefixes/arc                  |   1 +
 scripts/dtc/include-prefixes/arm                  |   1 +
 scripts/dtc/include-prefixes/arm64                |   1 +
 scripts/dtc/include-prefixes/c6x                  |   1 +
 scripts/dtc/include-prefixes/cris                 |   1 +
 scripts/dtc/include-prefixes/dt-bindings          |   1 +
 scripts/dtc/include-prefixes/h8300                |   1 +
 scripts/dtc/include-prefixes/metag                |   1 +
 scripts/dtc/include-prefixes/microblaze           |   1 +
 scripts/dtc/include-prefixes/mips                 |   1 +
 scripts/dtc/include-prefixes/nios2                |   1 +
 scripts/dtc/include-prefixes/openrisc             |   1 +
 scripts/dtc/include-prefixes/powerpc              |   1 +
 scripts/dtc/include-prefixes/sh                   |   1 +
 scripts/dtc/include-prefixes/xtensa               |   1 +
 60 files changed, 281 insertions(+), 129 deletions(-)
 delete mode 120000 arch/arm/boot/dts/include/arm
 delete mode 120000 arch/arm/boot/dts/include/arm64
 delete mode 120000 arch/arm/boot/dts/include/dt-bindings
 create mode 100644 arch/arm/configs/gemini_defconfig
 delete mode 120000 arch/arm64/boot/dts/include/arm
 delete mode 120000 arch/arm64/boot/dts/include/arm64
 delete mode 120000 arch/arm64/boot/dts/include/dt-bindings
 delete mode 120000 arch/cris/boot/dts/include/dt-bindings
 delete mode 120000 arch/metag/boot/dts/include/dt-bindings
 delete mode 120000 arch/mips/boot/dts/include/dt-bindings
 delete mode 120000 arch/powerpc/boot/dts/include/dt-bindings
 create mode 120000 scripts/dtc/include-prefixes/arc
 create mode 120000 scripts/dtc/include-prefixes/arm
 create mode 120000 scripts/dtc/include-prefixes/arm64
 create mode 120000 scripts/dtc/include-prefixes/c6x
 create mode 120000 scripts/dtc/include-prefixes/cris
 create mode 120000 scripts/dtc/include-prefixes/dt-bindings
 create mode 120000 scripts/dtc/include-prefixes/h8300
 create mode 120000 scripts/dtc/include-prefixes/metag
 create mode 120000 scripts/dtc/include-prefixes/microblaze
 create mode 120000 scripts/dtc/include-prefixes/mips
 create mode 120000 scripts/dtc/include-prefixes/nios2
 create mode 120000 scripts/dtc/include-prefixes/openrisc
 create mode 120000 scripts/dtc/include-prefixes/powerpc
 create mode 120000 scripts/dtc/include-prefixes/sh
 create mode 120000 scripts/dtc/include-prefixes/xtensa

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-19 19:34 [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix) Olof Johansson
@ 2017-05-22 11:44 ` Linus Walleij
  2017-05-22 15:11   ` Olof Johansson
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Walleij @ 2017-05-22 11:44 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:

>  - We've started telling people to avoid cross-tree shared branches if all
>    they're doing is picking up one or two DT-used constants from a
>    shared include file, and instead to use the numeric values on first
>    submission. Follow-up moving over to symbolic names are sent in right
>    after -rc1, i.e. here. It's only a few minor patches of this type.

OK it seems like a reasonable process.

It's not like I can think about anything better.

I was more opting for doing things this way:

- Create bindings and <dt-bindings/foo/bar.h> merge it into the
  foo subsystem.

- Merge driver into drivers/foo/bar.c that use <dt-bindings/foo/bar.h>

- Submit DTS patch to ARM SoC (or whetever) using only numerical
  values.

- After the merge window, follow up with a patch replacing the
  numerical constants with #defines from <dt-bindings/foo/bar.h>

An alternative would obviously be to wait for the next merge window
after merging the driver patch but I guess people are too impatient
to do that (including me).

We discussed cross-tree dependencies a bit on ksummit-discuss
but this solution was not mentioned back then.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-22 11:44 ` Linus Walleij
@ 2017-05-22 15:11   ` Olof Johansson
  2017-05-23  8:27     ` [Ksummit-discuss] " Daniel Vetter
  2017-05-23  9:49     ` Geert Uytterhoeven
  0 siblings, 2 replies; 9+ messages in thread
From: Olof Johansson @ 2017-05-22 15:11 UTC (permalink / raw)
  To: linux-arm-kernel

[adding ksummit-discuss]

On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>
>>  - We've started telling people to avoid cross-tree shared branches if all
>>    they're doing is picking up one or two DT-used constants from a
>>    shared include file, and instead to use the numeric values on first
>>    submission. Follow-up moving over to symbolic names are sent in right
>>    after -rc1, i.e. here. It's only a few minor patches of this type.
>
> OK it seems like a reasonable process.
>
> It's not like I can think about anything better.
>
> I was more opting for doing things this way:
>
> - Create bindings and <dt-bindings/foo/bar.h> merge it into the
>   foo subsystem.
>
> - Merge driver into drivers/foo/bar.c that use <dt-bindings/foo/bar.h>
>
> - Submit DTS patch to ARM SoC (or whetever) using only numerical
>   values.
>
> - After the merge window, follow up with a patch replacing the
>   numerical constants with #defines from <dt-bindings/foo/bar.h>

You're describing exactly what we've been pushing people towards.

If it's just a few simple references it's not significantly more
awkward, and decouples merges and removes need for stable branches.
Essentially we've become slightly more lax in what we're willing to
consider _right after_ -rc1 to include these tweaks (and often patches
to turn on new drivers in defconfigs).

If the amount of contents grows too large we might need to tweak
things further, maybe with something pre-rc1 but that's more awkward.

> An alternative would obviously be to wait for the next merge window
> after merging the driver patch but I guess people are too impatient
> to do that (including me).

Yeah, asking people to spread out across releases would remove
dependencies a lot, but it would also slow down progress and frustrate
a lot of contributors so we don't do that.

> We discussed cross-tree dependencies a bit on ksummit-discuss
> but this solution was not mentioned back then.

I thought it was, but I wasn't fully engaged in the discussion. We've
also only started this over the last release or two so it's early to
tell just how well it'll work in reality. Cc:ing the list.



-Olof

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Ksummit-discuss] [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-22 15:11   ` Olof Johansson
@ 2017-05-23  8:27     ` Daniel Vetter
  2017-05-23  9:49     ` Geert Uytterhoeven
  1 sibling, 0 replies; 9+ messages in thread
From: Daniel Vetter @ 2017-05-23  8:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
> [adding ksummit-discuss]
>
> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>
>>>  - We've started telling people to avoid cross-tree shared branches if all
>>>    they're doing is picking up one or two DT-used constants from a
>>>    shared include file, and instead to use the numeric values on first
>>>    submission. Follow-up moving over to symbolic names are sent in right
>>>    after -rc1, i.e. here. It's only a few minor patches of this type.
>>
>> OK it seems like a reasonable process.
>>
>> It's not like I can think about anything better.
>>
>> I was more opting for doing things this way:
>>
>> - Create bindings and <dt-bindings/foo/bar.h> merge it into the
>>   foo subsystem.
>>
>> - Merge driver into drivers/foo/bar.c that use <dt-bindings/foo/bar.h>
>>
>> - Submit DTS patch to ARM SoC (or whetever) using only numerical
>>   values.
>>
>> - After the merge window, follow up with a patch replacing the
>>   numerical constants with #defines from <dt-bindings/foo/bar.h>
>
> You're describing exactly what we've been pushing people towards.
>
> If it's just a few simple references it's not significantly more
> awkward, and decouples merges and removes need for stable branches.
> Essentially we've become slightly more lax in what we're willing to
> consider _right after_ -rc1 to include these tweaks (and often patches
> to turn on new drivers in defconfigs).
>
> If the amount of contents grows too large we might need to tweak
> things further, maybe with something pre-rc1 but that's more awkward.
>
>> An alternative would obviously be to wait for the next merge window
>> after merging the driver patch but I guess people are too impatient
>> to do that (including me).
>
> Yeah, asking people to spread out across releases would remove
> dependencies a lot, but it would also slow down progress and frustrate
> a lot of contributors so we don't do that.
>
>> We discussed cross-tree dependencies a bit on ksummit-discuss
>> but this solution was not mentioned back then.
>
> I thought it was, but I wasn't fully engaged in the discussion. We've
> also only started this over the last release or two so it's early to
> tell just how well it'll work in reality. Cc:ing the list.

Yeah, this sounds like a good step towards improving what I've
complained about, while still keeping topic/shared stable branch
proliferation under control.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-22 15:11   ` Olof Johansson
  2017-05-23  8:27     ` [Ksummit-discuss] " Daniel Vetter
@ 2017-05-23  9:49     ` Geert Uytterhoeven
  2017-05-23 14:17       ` Arnd Bergmann
  2017-05-23 16:42       ` Olof Johansson
  1 sibling, 2 replies; 9+ messages in thread
From: Geert Uytterhoeven @ 2017-05-23  9:49 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Olof,

On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>>  - We've started telling people to avoid cross-tree shared branches if all
>>>    they're doing is picking up one or two DT-used constants from a
>>>    shared include file, and instead to use the numeric values on first
>>>    submission. Follow-up moving over to symbolic names are sent in right
>>>    after -rc1, i.e. here. It's only a few minor patches of this type.
>>
>> OK it seems like a reasonable process.
>>
>> It's not like I can think about anything better.
>>
>> I was more opting for doing things this way:
>>
>> - Create bindings and <dt-bindings/foo/bar.h> merge it into the
>>   foo subsystem.
>>
>> - Merge driver into drivers/foo/bar.c that use <dt-bindings/foo/bar.h>
>>
>> - Submit DTS patch to ARM SoC (or whetever) using only numerical
>>   values.
>>
>> - After the merge window, follow up with a patch replacing the
>>   numerical constants with #defines from <dt-bindings/foo/bar.h>
>
> You're describing exactly what we've been pushing people towards.
>
> If it's just a few simple references it's not significantly more
> awkward, and decouples merges and removes need for stable branches.
> Essentially we've become slightly more lax in what we're willing to
> consider _right after_ -rc1 to include these tweaks (and often patches
> to turn on new drivers in defconfigs).
>
> If the amount of contents grows too large we might need to tweak
> things further, maybe with something pre-rc1 but that's more awkward.
>
>> An alternative would obviously be to wait for the next merge window
>> after merging the driver patch but I guess people are too impatient
>> to do that (including me).
>
> Yeah, asking people to spread out across releases would remove
> dependencies a lot, but it would also slow down progress and frustrate
> a lot of contributors so we don't do that.

The above works fine for new support, or for new platforms.

There's still support being migrated from platform code to DT, which
requires three steps:
  1. New DT-aware driver support,
  2. DT update to use the new driver support,
  3. Clean up platform code after optional DTB backwards compatibility
     grace period,
To make matters worse, 1 may conflict with the existing platform code,
and 2 must sometimes not be done before 1. Hence you may need three kernel
releases.
So we're already planning now what to clean up for v4.15 ;-)

Would it be acceptable to do step 2 in the same release, after the driver
support has entered in -rc1? I know this is more than just replacing
numbers by symbolic values.

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-23  9:49     ` Geert Uytterhoeven
@ 2017-05-23 14:17       ` Arnd Bergmann
  2017-05-30  9:13         ` Geert Uytterhoeven
  2017-05-23 16:42       ` Olof Johansson
  1 sibling, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2017-05-23 14:17 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, May 23, 2017 at 11:49 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
>
> On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
>> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>
>> Yeah, asking people to spread out across releases would remove
>> dependencies a lot, but it would also slow down progress and frustrate
>> a lot of contributors so we don't do that.
>
> The above works fine for new support, or for new platforms.
>
> There's still support being migrated from platform code to DT, which
> requires three steps:
>   1. New DT-aware driver support,
>   2. DT update to use the new driver support,
>   3. Clean up platform code after optional DTB backwards compatibility
>      grace period,
> To make matters worse, 1 may conflict with the existing platform code,
> and 2 must sometimes not be done before 1. Hence you may need three kernel
> releases.
> So we're already planning now what to clean up for v4.15 ;-)
>
> Would it be acceptable to do step 2 in the same release, after the driver
> support has entered in -rc1? I know this is more than just replacing
> numbers by symbolic values.

I'd say it really depends on the individual case. Do you have a particular
platform in mind? E.g. For some of the more obsolete platforms that
Linus Walleij has worked on over time, we have sometimes relaxed the
rules about clean bisection and just merged everything in parallel, knowing
that nobody else was likely to run that code on a vanilla kernel anyway.

       Arnd

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-23  9:49     ` Geert Uytterhoeven
  2017-05-23 14:17       ` Arnd Bergmann
@ 2017-05-23 16:42       ` Olof Johansson
  1 sibling, 0 replies; 9+ messages in thread
From: Olof Johansson @ 2017-05-23 16:42 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, May 23, 2017 at 2:49 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Olof,
>
> On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
>> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>>>  - We've started telling people to avoid cross-tree shared branches if all
>>>>    they're doing is picking up one or two DT-used constants from a
>>>>    shared include file, and instead to use the numeric values on first
>>>>    submission. Follow-up moving over to symbolic names are sent in right
>>>>    after -rc1, i.e. here. It's only a few minor patches of this type.
>>>
>>> OK it seems like a reasonable process.
>>>
>>> It's not like I can think about anything better.
>>>
>>> I was more opting for doing things this way:
>>>
>>> - Create bindings and <dt-bindings/foo/bar.h> merge it into the
>>>   foo subsystem.
>>>
>>> - Merge driver into drivers/foo/bar.c that use <dt-bindings/foo/bar.h>
>>>
>>> - Submit DTS patch to ARM SoC (or whetever) using only numerical
>>>   values.
>>>
>>> - After the merge window, follow up with a patch replacing the
>>>   numerical constants with #defines from <dt-bindings/foo/bar.h>
>>
>> You're describing exactly what we've been pushing people towards.
>>
>> If it's just a few simple references it's not significantly more
>> awkward, and decouples merges and removes need for stable branches.
>> Essentially we've become slightly more lax in what we're willing to
>> consider _right after_ -rc1 to include these tweaks (and often patches
>> to turn on new drivers in defconfigs).
>>
>> If the amount of contents grows too large we might need to tweak
>> things further, maybe with something pre-rc1 but that's more awkward.
>>
>>> An alternative would obviously be to wait for the next merge window
>>> after merging the driver patch but I guess people are too impatient
>>> to do that (including me).
>>
>> Yeah, asking people to spread out across releases would remove
>> dependencies a lot, but it would also slow down progress and frustrate
>> a lot of contributors so we don't do that.
>
> The above works fine for new support, or for new platforms.
>
> There's still support being migrated from platform code to DT, which
> requires three steps:
>   1. New DT-aware driver support,
>   2. DT update to use the new driver support,
>   3. Clean up platform code after optional DTB backwards compatibility
>      grace period,
> To make matters worse, 1 may conflict with the existing platform code,
> and 2 must sometimes not be done before 1. Hence you may need three kernel
> releases.
> So we're already planning now what to clean up for v4.15 ;-)
>
> Would it be acceptable to do step 2 in the same release, after the driver
> support has entered in -rc1? I know this is more than just replacing
> numbers by symbolic values.

Part of why we encouraged a more stretched-out approach in your case
was that we used to get quite a few dependent branches for Renesas
platforms, and when there were things to fixup, a lot of respins and
churn. So we asked to move a little slower to avoid DoS:ing ourselves.

As far as the above process goes: 1+2 is exactly what we're
encouraging others to do. The main discussion point here is when
there's substantial shared dt-includes between driver and the DTS
contents. Most of the time, for most drivers, that's usually not the
case. As Arnd suggested, it might be helpful to have specific examples
to discuss here.


-Olof

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-23 14:17       ` Arnd Bergmann
@ 2017-05-30  9:13         ` Geert Uytterhoeven
  2017-06-02 15:27           ` Arnd Bergmann
  0 siblings, 1 reply; 9+ messages in thread
From: Geert Uytterhoeven @ 2017-05-30  9:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Arnd,

On Tue, May 23, 2017 at 4:17 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Tue, May 23, 2017 at 11:49 AM, Geert Uytterhoeven
> <geert@linux-m68k.org> wrote:
>> On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
>>> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>>
>>> Yeah, asking people to spread out across releases would remove
>>> dependencies a lot, but it would also slow down progress and frustrate
>>> a lot of contributors so we don't do that.
>>
>> The above works fine for new support, or for new platforms.
>>
>> There's still support being migrated from platform code to DT, which
>> requires three steps:
>>   1. New DT-aware driver support,
>>   2. DT update to use the new driver support,
>>   3. Clean up platform code after optional DTB backwards compatibility
>>      grace period,
>> To make matters worse, 1 may conflict with the existing platform code,
>> and 2 must sometimes not be done before 1. Hence you may need three kernel
>> releases.
>> So we're already planning now what to clean up for v4.15 ;-)
>>
>> Would it be acceptable to do step 2 in the same release, after the driver
>> support has entered in -rc1? I know this is more than just replacing
>> numbers by symbolic values.
>
> I'd say it really depends on the individual case. Do you have a particular
> platform in mind? E.g. For some of the more obsolete platforms that
> Linus Walleij has worked on over time, we have sometimes relaxed the
> rules about clean bisection and just merged everything in parallel, knowing
> that nobody else was likely to run that code on a vanilla kernel anyway.

This is for Renesas R-Car Gen2 SoCs, so we do care about DT backward
compatibility (for a while), and about bisection.

Last headache was "[PATCH v4 00/23] soc: renesas: Add R-Car RST driver for
obtaining mode pin state" (https://lkml.org/lkml/2016/10/21/500). This used
a shared immutable branch, but that caused several merge conflicts.

Next one will be smaller, as it's not really moving functionality from
platform code to DT, but switching to a new and better clock driver framework,
so there's only the dependency of DT on the new driver
"[PATCH v2 00/10] clk: renesas: rcar-gen2: Add new CPG/MSSR drivers"
(https://lkml.org/lkml/2017/5/19/212)

I'll go create an inventory of stuff in platform code for Renesas SoCs that
still needs to be converted to DT...

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix)
  2017-05-30  9:13         ` Geert Uytterhoeven
@ 2017-06-02 15:27           ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2017-06-02 15:27 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, May 30, 2017 at 11:13 AM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Arnd,
>
> On Tue, May 23, 2017 at 4:17 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Tue, May 23, 2017 at 11:49 AM, Geert Uytterhoeven
>> <geert@linux-m68k.org> wrote:
>>> On Mon, May 22, 2017 at 5:11 PM, Olof Johansson <olof@lixom.net> wrote:
>>>> On Mon, May 22, 2017 at 4:44 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>>>>> On Fri, May 19, 2017 at 9:34 PM, Olof Johansson <olof@lixom.net> wrote:
>>>>
>>>> Yeah, asking people to spread out across releases would remove
>>>> dependencies a lot, but it would also slow down progress and frustrate
>>>> a lot of contributors so we don't do that.
>>>
>>> The above works fine for new support, or for new platforms.
>>>
>>> There's still support being migrated from platform code to DT, which
>>> requires three steps:
>>>   1. New DT-aware driver support,
>>>   2. DT update to use the new driver support,
>>>   3. Clean up platform code after optional DTB backwards compatibility
>>>      grace period,
>>> To make matters worse, 1 may conflict with the existing platform code,
>>> and 2 must sometimes not be done before 1. Hence you may need three kernel
>>> releases.
>>> So we're already planning now what to clean up for v4.15 ;-)
>>>
>>> Would it be acceptable to do step 2 in the same release, after the driver
>>> support has entered in -rc1? I know this is more than just replacing
>>> numbers by symbolic values.
>>
>> I'd say it really depends on the individual case. Do you have a particular
>> platform in mind? E.g. For some of the more obsolete platforms that
>> Linus Walleij has worked on over time, we have sometimes relaxed the
>> rules about clean bisection and just merged everything in parallel, knowing
>> that nobody else was likely to run that code on a vanilla kernel anyway.
>
> This is for Renesas R-Car Gen2 SoCs, so we do care about DT backward
> compatibility (for a while), and about bisection.

Ok, I see.

> Last headache was "[PATCH v4 00/23] soc: renesas: Add R-Car RST driver for
> obtaining mode pin state" (https://lkml.org/lkml/2016/10/21/500). This used
> a shared immutable branch, but that caused several merge conflicts.
>
> Next one will be smaller, as it's not really moving functionality from
> platform code to DT, but switching to a new and better clock driver framework,
> so there's only the dependency of DT on the new driver
> "[PATCH v2 00/10] clk: renesas: rcar-gen2: Add new CPG/MSSR drivers"
> (https://lkml.org/lkml/2017/5/19/212)

Ok, so there is already a working driver for these chips, but you want
to move to a better driver and binding. That's all fine, but I'm not sure
about why you want to do this faster at all. Presumably you want to use
the new driver quickly so you can add new platforms not using the old
driver, but then you'd have a couple of years of grace period before
removing the old driver for customers with existing out of tree dts files,
so I would assume that waiting another release or two before moving
the DT files over is not adding a huge burden.

> I'll go create an inventory of stuff in platform code for Renesas SoCs that
> still needs to be converted to DT...

That would certainly be helpful, yes.

       Arnd

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-06-02 15:27 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-19 19:34 [GIT PULL] ARM: SoC fixes (and a cross-arch dt-include fix) Olof Johansson
2017-05-22 11:44 ` Linus Walleij
2017-05-22 15:11   ` Olof Johansson
2017-05-23  8:27     ` [Ksummit-discuss] " Daniel Vetter
2017-05-23  9:49     ` Geert Uytterhoeven
2017-05-23 14:17       ` Arnd Bergmann
2017-05-30  9:13         ` Geert Uytterhoeven
2017-06-02 15:27           ` Arnd Bergmann
2017-05-23 16:42       ` Olof Johansson

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).