tree d190344863a0f13abf5fb4a02efbf538b99d58f7
parent e8bfa0422469cdfc86be3f525f621b1d44d2481b
parent e14d7e5320ebae9bffe4fbd585dfdd9d6de2550f
author Arnd Bergmann <arnd@arndb.de> 1516621017 +0100
committer Arnd Bergmann <arnd@arndb.de> 1516621017 +0100
mergetag object e14d7e5320ebae9bffe4fbd585dfdd9d6de2550f
 type commit
 tag omap-for-v4.16/dt-clk-dts-signed
 tagger Tony Lindgren <tony@atomide.com> 1516375717 -0800
 
 Few omap interconnect dts fixes for v4.16 merge window
 
 Now that we have the dts clocks for the clkctrl clock and the
 interconnect binding, we need to update the existing ti-sysc
 users according to the binding to make it usable for drivers.
 
 Apologies for not being able to send this earlier but it took
 me few revisions to get the smartreflex changes right and
 tested with yet to be posted patches to make smartreflex probe
 with dts and I wanted to have it sit in next for a while to make
 sure we're not introducing regressions for legacy platform data
 based booting.
 
 Note that this is based on a merge with commit 20a2742e5784
 ("dt-bindings: ti-sysc: Update binding for timers and capabilities")
 to avoid a merge conflict with the binding changes.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlpiDqURHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXMmOg/9Hr2lan1ZTqNBTgBixbcxj+gmovVlwjKa
 1tXtNlkTco17BjEyDmKb3dzS16zT5YXv27RrIjCukQsKvVr2HOW4EnJ6iPPP6Y97
 bp3Tx3ejqzoUNCcTUII4nWLZKaFXZ6C27sDrylEovsDJR9InocNYk5RhYDuPKPAw
 3YaG/+QuRLc98YzjPGbSzUZws4EDUJhfHBqsVBwr4UFNJblRJe65kTFeH7BkZ9F8
 eXenpUcS1JQMjMARR7aZck+7/3jyjtqWft1GjFWUto2kfx0tA8Ay4SyOqJxS9REa
 0TK/Qdik2KDqP3wgBy7FLgXakmMOWttDFB5LUsWZbSyIO9vTgZj4RimSRgctfMxx
 XbyiJKovlNq1uDIPv3z/rHOala3WifNnzpf0m9izE5kbMW7vdHVycwzmJ2/Ushz6
 rV4pqYVZ7o+SSnYRoiSdEQ/MMgMuypuL1+mhpIHL/rh+vCBGVaUfKRkrIcFwfujL
 H0nhB4PG8DEyOoc6dr8X317jUCgj0X6xTBO8jJUhT5R8tMHuKjqSSAq1QKCL7q5K
 /tvjkE4fEIs+Hr0bSkBZ+Jd/llWZrmkD7a1etJtw5WbRnPROYYRsb0PeNDFWTtOF
 nw/S4YF1F3k6BzOQobH2BjkXOCTJD1FhnfH7hmTLJ3ZReyQLafKFu2DHdje8GyFm
 XjGUuctAC24=
 =oKRR
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.16/dt-clk-dts-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Pull "Few omap interconnect dts fixes for v4.16 merge window" from
Tony Lindgren:

Now that we have the dts clocks for the clkctrl clock and the
interconnect binding, we need to update the existing ti-sysc
users according to the binding to make it usable for drivers.

Apologies for not being able to send this earlier but it took
me few revisions to get the smartreflex changes right and
tested with yet to be posted patches to make smartreflex probe
with dts and I wanted to have it sit in next for a while to make
sure we're not introducing regressions for legacy platform data
based booting.

Note that this is based on a merge with commit 20a2742e5784
("dt-bindings: ti-sysc: Update binding for timers and capabilities")
to avoid a merge conflict with the binding changes.

* tag 'omap-for-v4.16/dt-clk-dts-signed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: Update ti-sysc data for existing users
  ARM: dts: Fix smartreflex compatible for omap3 shared mpu-iva instance
  dt-bindings: ti-sysc: Update binding for timers and capabilities
