Commit graph

560,913 commits

Author SHA1 Message Date
Bhupesh Sharma
cc56a128a5 Documentation: DT: Add entry for FSL LS2080A QDS and RDB boards
This patch adds a devicetree binding documentation for Freescale's
LS2080A QDS and RDB boards.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:24:37 +02:00
Bhupesh Sharma
f43a4b8507 arm64: Rename FSL LS2085A SoC support code to LS2080A
Freescale is renaming the LS2085A SoC to LS2080A. This patch
addresses the same.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:24:29 +02:00
Bhupesh Sharma
53a5fde05d arm64: Use generic Layerscape SoC family naming
Freescale will be a spinning-out a set of ARMv8 based SoCs which
will be based on a similar overall SoC architecture. So, this patch
converts the existing infrastructure in the arm64/dts, arm64/Kconfig
and arm64/configs to use the generic convention ARCH_LAYERSCAPE
in place of the more specific FSL_LS2085A, to save code duplication
later-on.

Signed-off-by: Bhupesh Sharma <bhupesh.sharma@freescale.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:24:21 +02:00
Arnd Bergmann
920c74f0df Second batch of DT changes for 4.4:
- some DT fixes: pullups, disabled property
 - the PMC is now a syscon
 - great improvement of sama5d2 support
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJWJ/W8AAoJEKbNnwlvZCyzyuMQAMgLV1qsqRFBCHNBkaA4IJ4Y
 QdMuJeUaqrlgZNrBC7GoD50vLYRHgESlFm1/oE1xomyXNh/dBcG9mHnQBP3qsBJ/
 6EBpR2b8JzUzcF5Iyr9gwzn/3weIfC8CzhHZoPMiaFydX6tolfHiJFhnRIHoJxHQ
 UFG2IZHh5lMPJNhhHzFfy5MH5H7u+OVnLnRUh+O61tWksAc7FyxX4KUaRlfGQjdO
 MM3cly+CQ+PN7KWIEnZJYNSXdZo5e/YkU95ARO5VL6HO6sSWu6rIrVm+84aNKgpd
 WvbJMHe0mZKF1sGE4lcB2bXp0Xp+b5pkgYiKzWYAA50DeGrDSjcEZoMjwBgJDqKV
 s5vkDPUr05RekaDws1xRgScnx6rLLc//51XrFw+IvDRZ16LNZ+eJBwbz331sgn/W
 LVs99U2kNn1bCm6++c+yAPKJy1lfsT9umWJIgJRyK1fy9jizl38GScQJI/p5lUsb
 FR6SzOxY3N4gxr98zfGje6URZJEGhdixBtVs1U99nDJex+LbMbVLIuDrDHn4i47G
 kJODYjDaUgYPKh4qm6K3MsiZUc0u9aEIiEbqdwkzOPxuq9e5p//XY3ILmulTfUdw
 B2r9t3uhnUBbeTabY7ig1GIMI8YXC9h3MzY18K2BxjW35V46njJgqzngGoOYGIY8
 ocCT5WZNC9n6dYKyUXmc
 =KaMl
 -----END PGP SIGNATURE-----

Merge tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt

Merge "Second batch of DT changes for 4.4" from Alexandre Belloni:

- some DT fixes: pullups, disabled property
- the PMC is now a syscon
- great improvement of sama5d2 support

* tag 'at91-ab-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
  ARM: at91/dt: sama5d2: add missing devices
  ARM: at91/dt: sama5d4: add the macb1 node
  ARM: at91/dt: add pullup on mmc2 data signals
  ARM: at91/dt: sama5d2_xplained: add regulator nodes
  ARM: at91/dt: fix "disabled" property on at91rm9200
  ARM: at91/dt: use syscon for PMC
2015-10-23 22:20:53 +02:00
Arnd Bergmann
8d1a327c7b Few more omap dts changes for v4.4 merge window, mostly to fix and clean
up some omap5 issues to allow adding other omap5 boards. Also some other
 fixes and clean-up:
 
 - Fix SDIO WLAN for omap5 that's been broken for a while. As further
   patches are still needed for wl18xx, no need for stable on this one.
 
 - Move most of omap5 support into omap5-board-common.dtsi as most omap5
   boards seem to share the same basic set of devices.
 
 - Add minimal IGEPv5 support using based on omap5-board-common.dtsi
 
 - Remove now unneedes gpio hogging for dra72-evm
 
 - Update Javier Martinez Canillas email address
 
 - Change earlier IGEP boards to use IOPAD pinmux macros
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWJnbkAAoJEBvUPslcq6VzfYEP/0AuSHyu0hYSDjWZ9Rtjgomq
 ntoY6nSKktkzrTiZYaZB1k1dVniv3s4ipHUjOFvSIDTww/bzl8p2Sinougvz4WOO
 tYBIweZ8ZFrEXLhX0l4tkfKbL/h5N0AK2lClILPkhMIbsD25exViRQ4GSjFFofR9
 ND9rCS0FsX8aOKMziQI0QTD51Ew82qXjVZBkOC+QakWheERDidrQ3CZ8R0zwenuq
 UUCmPDQ/lPiK91YOamYoXbkajWHU28PKiVNFSe8Vsb5PuGXypZCEByOxTX5jCuun
 UnKi4o+d5F+1chO/lKwfPpD1yHc4bG0DTPsUs15hxXnirT05wUX8KyzdfJpLeK9M
 9K9bue/S7vT2aWQmD4uE1ta8e9AqFhU0y7PKuInld7sqlwqPcRfWQtSmXVqd4P7T
 0Sz6c52208f3vm1MGg6gaIWwmLGSt4wYuiOKDIC1tVQqs3Z7IMKLifh2qrNHxnvh
 Q7nSyPl0R8NcYQhv1qCIPUzT8sNxd3SNlT3EaOxmLIxP6z5QCuJOBozq8wDT0v+L
 lBgy7nxSNAYTKdH+SP7bQyOptX3WCQc3rA8gXWbgjDbJUD4c9YOq9DJEs4pqDAqP
 /TQMdMjPRzPVp5qxt4bUFGJLFPViNHi7NRbW4QCTfqKWVrr8zMow5KZ4vJtCHOkU
 Sny+gIeda4tx6SonqGCm
 =2bcN
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Merge "omap dts changes for v4.4 merge window, part 2" from Tony Lindgren:

Few more omap dts changes for v4.4 merge window, mostly to fix and clean
up some omap5 issues to allow adding other omap5 boards. Also some other
fixes and clean-up:

- Fix SDIO WLAN for omap5 that's been broken for a while. As further
  patches are still needed for wl18xx, no need for stable on this one.

- Move most of omap5 support into omap5-board-common.dtsi as most omap5
  boards seem to share the same basic set of devices.

- Add minimal IGEPv5 support using based on omap5-board-common.dtsi

- Remove now unneedes gpio hogging for dra72-evm

- Update Javier Martinez Canillas email address

- Change earlier IGEP boards to use IOPAD pinmux macros

* tag 'omap-for-v4.4/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: am335x-base0033: Use IOPAD pinmux macro
  ARM: dts: am335x-igep0033: Use IOPAD pinmux macro
  ARM: dts: omap3-igep0020: Use IOPAD pinmux macro
  ARM: dts: am437x-gp-evm: Add wakeup interrupt source for pixcir_i2c_ts
  ARM: dts: Update Javier Martinez Canillas's email
  ARM: dts: dra72-evm: remove cpsw gpio hogging and add mode-gpios
  ARM: dts: Add basic support for isee igepv5
  ARM: dts: Move most of omap5-uevm.dts to omap5-board-common.dtsi
  ARM: dts: Fix WLAN regression on omap5-uevm
2015-10-23 22:17:19 +02:00
Masahiro Yamada
13e77e6b52 ARM: dts: uniphier: add ProXstream2 Vodka board support
Initial version of DTS for ProXstream2 Vodka board.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:12:45 +02:00
Jarkko Nikula
dd77f423e5 i2c: i801: Add support for Intel Broxton
This patch adds the SMBUS PCI ID of Intel Broxton.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 22:11:58 +02:00
Masahiro Yamada
97593f7731 ARM: dts: uniphier: add ProXstream2 Gentil board support
Initial version of DTS for ProXstream2 Gentil board.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:11:18 +02:00
Masahiro Yamada
06ff6b2d63 ARM: dts: uniphier: use stdout-path instead of console
Specifying both console and stdout-path is redundant.  Add options
":115200n8" to stdout-path and drop "console=ttyS0,115200".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 22:10:42 +02:00
Mika Westerberg
84d7f2ebd7 i2c: i801: Add support for Intel DNV
Intel DNV SoC has the same legacy SMBus host controller than Intel
Sunrisepoint PCH. It also has same iTCO watchdog on the bus.

Add DNV PCI ID to the list of supported devices.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 22:10:31 +02:00
Krzysztof Kozlowski
d6b9aea67f MAINTAINERS: Add documentation and dt-bindings for exynos stuff
Extend the Samsung Exynos maintainer entry to match SoC documentation
and SoC dt-bindings directories. Without that some files, like
bindings/arm/samsung/pmu.txt, are not matched by existing patterns.

This also may serve as a hint where new documentation and bindings
(not matching specific subsystem) should be put.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 05:07:26 +09:00
Krzysztof Kozlowski
18f4ce7157 dt-bindings: EXYNOS: Document compatibles from other vendors
Document compatibles used on other Exynos-based boards (non-Samsung):
FriendlyARM, Google, Hardkernel and Insignal.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: Hakjoo Kim <ruppi.kim@hardkernel.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 05:07:06 +09:00
Krzysztof Kozlowski
068812ed10 dt-bindings: Consolidate Exynos SoC bindings
Exynos SoC Device Tree bindings are spread over arm/exynos/ and
arm/samsung/ directories. There is no need for that separation and it
actually confuses. Put power domain bindings under power/ and
remaining samsung-boards.txt under arm/samsung/.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 05:07:02 +09:00
Arnd Bergmann
a3de778b1f Highlights:
-----------
  - Use STiH418's A9 PLL
  - Add Ethernet support to STiH407 family
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWH82EAAoJEMo4jShGhw+Jh6IQAMIukt+F11AS20ZtqNTlv4lY
 Nj6zPAWBtyobRQe44n+2L+6MLQiG115nWNvuS57/5I2m8Ps1BsnhkfvPeKbhJES4
 jydFdxeEOfmV+N1YwIuOCuxc/aXo+XODrJWJNR+gRjVX364cEYvlkq2TyL415lvw
 m7D8syKKpECRQoZwiSbYh33nd5FEK+2fcGzWyjfvvSHoZyhYsaczN7pkpkLwfGkj
 j3eyKaSrzrNXjK5F6GbMuIaFRsKcsDpovwLM4i+QGY66jaFAQ1neJI4xC38KjL8g
 ptDpZdJ2AFedW3EFtbAWAaZ2dTtsVJQMSZK2GY4K+gowePsukreZhfbvDdLmJ0wa
 Riythd7drHpBm7CP1Ox9gxBgryOkcvy6tVdvQiyl2ruL2LjT6uVCsDpKulhq8BTv
 MdPYbRkcNmns2OEBOpIedNkiVNqx2O1JLNPVB7gviKM6pedUobM+pvdfYEB4JyBe
 eYr2cxSyaFUznQCfvIJOiQOeq2CwWoMBoB9NrmPvvwoiKfMj9joh5+rEUTrA6xMd
 ILNzHpxscqQbu81vpnUq8Q+GbwaW3QLzmkgf8EsB6GkxGVd9SicklUROz3ZM8Fsv
 gAgRmnteYM+c/0dF8/S3fPAL9my0Ueo606Ok+huUvNH17fQqV6CNUtJvjDWNPkVp
 0LyyGPPukT5tydUM7i7N
 =nzUU
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti into next/dt

Merge "STi DT changes for v4.4, round 2" from Maxime Coquelin:

 - Use STiH418's A9 PLL
 - Add Ethernet support to STiH407 family

* tag 'sti-dt-for-v4.4-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/sti:
  ARM: STi: DT: Add support for stih418 A9 pll
  ARM: dts: Enable Ethernet on STi's B2199 board
  ARM: dts: Enable Ethernet on STi's B2120 boards
  ARM: dts: Add Ethernet node to STiH407 family
  ARM: dts: Fix RGMII pinctrl timings
2015-10-23 22:04:49 +02:00
Vladimir Zapolskiy
7007c60c28 ARM: dts: WM8750: fix cpu compatible value
The change corrects cpu compatible property to a defined one,
see Documentation/devicetree/bindings/arm/cpus.txt

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 21:59:38 +02:00
Vladimir Zapolskiy
dffc912e2c ARM: dts: TI-Nspire: fix cpu compatible value
The change corrects cpu compatible property to a defined one,
see Documentation/devicetree/bindings/arm/cpus.txt

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-10-23 21:59:31 +02:00
Liguo Zhang
09027e08ac i2c: mediatek: add i2c resume support
mt65xx i2c controller initial setting will be cleared after system suspend,
so we should init mt65xx i2c controller again when system resume.

Signed-off-by: Liguo Zhang <liguo.zhang@mediatek.com>
Signed-off-by: Eddie Huang <eddie.huang@mediatek.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:58:32 +02:00
Jeff Layton
9767feb2c6 nfsd: ensure that seqid morphing operations are atomic wrt to copies
Bruce points out that the increment of the seqid in stateids is not
serialized in any way, so it's possible for racing calls to bump it
twice and end up sending the same stateid. While we don't have any
reports of this problem it _is_ theoretically possible, and could lead
to spurious state recovery by the client.

In the current code, update_stateid is always followed by a memcpy of
that stateid, so we can combine the two operations. For better
atomicity, we add a spinlock to the nfs4_stid and hold that when bumping
the seqid and copying the stateid.

Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:33 -04:00
Jeff Layton
cc8a55320b nfsd: serialize layout stateid morphing operations
In order to allow the client to make a sane determination of what
happened with racing LAYOUTGET/LAYOUTRETURN/CB_LAYOUTRECALL calls, we
must ensure that the seqids return accurately represent the order of
operations. The simplest way to do that is to ensure that operations on
a single stateid are serialized.

This patch adds a mutex to the layout stateid, and locks it when
checking the layout stateid's seqid. The mutex is held over the entire
operation and released after the seqid is bumped.

Note that in the case of CB_LAYOUTRECALL we must move the increment of
the seqid and setting into a new cb "prepare" operation. The lease
infrastructure will call the lm_break callback with a spinlock held, so
and we can't take the mutex in that codepath.

Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:32 -04:00
J. Bruce Fields
4eaea13425 nfsd: improve client_has_state to check for unused openowners
At least in the v4.0 case openowners can hang around for a while after
last close, but they shouldn't really block (for example), a new mount
with a different principal.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:31 -04:00
J. Bruce Fields
2b63482185 nfsd: fix clid_inuse on mount with security change
In bakeathon testing Solaris client was getting CLID_INUSE error when
doing a krb5 mount soon after an auth_sys mount, or vice versa.

That's not really necessary since in this case the old client doesn't
have any state any more:

	http://tools.ietf.org/html/rfc7530#page-103

	"when the server gets a SETCLIENTID for a client ID that
	currently has no state, or it has state but the lease has
	expired, rather than returning NFS4ERR_CLID_INUSE, the server
	MUST allow the SETCLIENTID and confirm the new client ID if
	followed by the appropriate SETCLIENTID_CONFIRM."

This doesn't fix the problem completely since our client_has_state()
check counts openowners left around to handle close replays, which we
should probably just remove in this case.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:30 -04:00
Neil Brown
778620364e sunrpc/cache: make cache flushing more reliable.
The caches used to store sunrpc authentication information can be
flushed by writing a timestamp to a file in /proc.

This timestamp has a one-second resolution and any entry in cache that
was last_refreshed *before* that time is treated as expired.

This is problematic as it is not possible to reliably flush the cache
without interrupting NFS service.
If the current time is written to the "flush" file, any entry that was
added since the current second started will still be treated as valid.
If one second beyond than the current time is written to the file
then no entries can be valid until the second ticks over.  This will
mean that no NFS request will be handled for up to 1 second.

To resolve this issue we make two changes:

1/ treat an entry as expired if the timestamp when it was last_refreshed
  is before *or the same as* the expiry time.  This means that current
  code which writes out the current time will now flush the cache
  reliably.

2/ when a new entry in added to the cache -  set the last_refresh timestamp
  to 1 second *beyond* the current flush time, when that not in the
  past.
  This ensures that newly added entries will always be valid.

Now that we have a very reliable way to flush the cache, and also
since we are using "since-boot" timestamps which are monotonic,
change cache_purge() to set the smallest future flush_time which
will work, and leave it there: don't revert to '1'.

Also disable the setting of the 'flush_time' far into the future.
That has never been useful and is now awkward as it would cause
last_refresh times to be strange.
Finally: if a request is made to set the 'flush_time' to the current
second, assume the intent is to flush the cache and advance it, if
necessary, to 1 second beyond the current 'flush_time' so that all
active entries will be deemed to be expired.

As part of this we need to add a 'cache_detail' arg to cache_init()
and cache_fresh_locked() so they can find the current ->flush_time.

Signed-off-by: NeilBrown <neilb@suse.com>
Reported-by: Olaf Kirch <okir@suse.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:30 -04:00
Jeff Layton
825213e59e nfsd: move include of state.h from trace.c to trace.h
Any file which includes trace.h will need to include state.h, even if
they aren't using any state tracepoints. Ensure that we include any
headers that might be needed in trace.h instead of relying on the
*.c files to have the right ones.

Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:29 -04:00
Arnd Bergmann
cc6a7aab55 sunrpc: avoid warning in gss_key_timeout
The gss_key_timeout() function causes a harmless warning in some
configurations, e.g. ARM imx_v6_v7_defconfig with gcc-5.2, if the
compiler cannot figure out the state of the 'expire' variable across
an rcu_read_unlock():

net/sunrpc/auth_gss/auth_gss.c: In function 'gss_key_timeout':
net/sunrpc/auth_gss/auth_gss.c:1422:211: warning: 'expire' may be used uninitialized in this function [-Wmaybe-uninitialized]

To avoid this warning without adding a bogus initialization, this
rewrites the function so the comparison is done inside of the
critical section. As a side-effect, it also becomes slightly
easier to understand because the implementation now more closely
resembles the comment above it.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: c5e6aecd03 ("sunrpc: fix RCU handling of gc_ctx field")
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:28 -04:00
Andrey Ryabinin
0d0f4aab4e lockd: get rid of reference-counted NSM RPC clients
Currently we have reference-counted per-net NSM RPC client
which created on the first monitor request and destroyed
after the last unmonitor request. It's needed because
RPC client need to know 'utsname()->nodename', but utsname()
might be NULL when nsm_unmonitor() called.

So instead of holding the rpc client we could just save nodename
in struct nlm_host and pass it to the rpc_create().
Thus ther is no need in keeping rpc client until last
unmonitor request. We could create separate RPC clients
for each monitor/unmonitor requests.

Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:27 -04:00
Trond Myklebust
226453d8cf SUNRPC: Use MSG_SENDPAGE_NOTLAST when calling sendpage()
If we're sending more pages via kernel_sendpage(), then set
MSG_SENDPAGE_NOTLAST.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2015-10-23 15:57:27 -04:00
Gao Pan
1c4b6c3bcf i2c: imx: implement bus recovery
Implement bus recovery methods for i2c-imx so we can recover from
situations where SCL/SDA are stuck low.

Once i2c bus SCL/SDA are stuck low during transfer, config the i2c
pinctrl to gpio mode by calling pinctrl sleep set function, and then
use GPIO to emulate the i2c protocol to send nine dummy clock to recover
i2c device. After recovery, set i2c pinctrl to default group setting.

Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: Gao Pan <b54642@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:50 +02:00
Andy Shevchenko
3861841d22 at24: enable ACPI device found on Galileo Gen2
There is a 24c08 chip connected to i2c bus on Intel Galileo Gen2 board. Enable
it via ACPI ID INT3499.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:49 +02:00
Andy Shevchenko
6ebe21c1cf mfd: intel_quark_i2c_gpio: support devices behind i2c bus
On Intel Galileo Gen2 the GPIO expanders are connected to the i2c bus. For
those devices the ACPI table has specific parameters that refer to an actual
i2c host controller. Since MFD now copes with that specific configuration we
have to provide a necessary information how to distinguish devices in ACPI
namespace. Here the _ADR values are provided.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:48 +02:00
Andy Shevchenko
c39dc960e9 mfd: intel_quark_i2c_gpio: load gpio driver first
On Intel Galileo boards the GPIO expander is connected to i2c bus. Moreover it
is able to generate interrupt, but interrupt line is connected to GPIO. That's
why we have to have GPIO driver in place when we will probe i2c host with
device connected to it.

Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:47 +02:00
Andy Shevchenko
62a615e083 mfd: core: redo ACPI matching of the children devices
There is at least one board on the market, i.e. Intel Galileo Gen2, that uses
_ADR to distinguish the devices under one actual device. Due to this we have to
improve the quirk in the MFD core to handle that board.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:46 +02:00
Masahiro Yamada
6a62974b66 i2c: uniphier_f: add UniPhier FIFO-builtin I2C driver
Add support for on-chip I2C controller used on newer UniPhier SoCs
such as PH1-Pro4, PH1-Pro5, etc.  This adapter is equipped with
8-depth TX/RX FIFOs.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:46 +02:00
Masahiro Yamada
dd6fd4a327 i2c: uniphier: add UniPhier FIFO-less I2C driver
Add support for on-chip I2C controller used on old UniPhier SoCs
such as PH1-LD4, PH1-sLD8, etc.  This adapter is so simple that
it has no FIFO in it.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:45 +02:00
Ken Xue
3eddad96c4 i2c: designware: reverts "i2c: designware: Add support for AMD I2C controller"
The patch reverts commit a445900c90 (i2c: designware: Add support for
AMD I2C controller). It never worked anyhow because it did not register
a proper clkdev.

Since kernel 4.1 starts to support APD, there is no need to get freq
from id->driver_data for AMD0010. clkdev is supposed to be already
registered in APD.

So, revert old design and make AMD0010 looks like other ones.

Signed-off-by: Ken Xue <Ken.Xue@amd.com>
Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:44 +02:00
Shaohui Xie
fa721baed6 i2c: imx: add support for Freescale Layerscape platforms
Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
Signed-off-by: Hou Zhiqiang <B48286@freescale.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2015-10-23 21:55:24 +02:00
Krzysztof Kozlowski
97d5c7a77e Documentation: EXYNOS: Update bootloader interface on exynos542x
Update the documentation about:
1. Usage of PMU_SPARE2 register.
   Bootloaders on Exynos542x-based boards often use the register
   PMU_SPARE2 (0x908) in the same way as on Exynos3250: as a indicator
   the secondary CPU was booted on. The bootloader will set this value
   to non-zero, after sucessfull power up of secondary CPU. In the same
   time this booted CPU will stuck (spin) waiting for software reset.
2. Exynos542x entry address for secondary CPU boot up after system
   suspend (with MCPM enabled and in non-secure mode).

See arch/arm/mach-exynos/mcpm-exynos.c for source code.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:43:31 +09:00
Tomeu Vizoso
69636a85df ARM: dts: Add clocks to DISP1 domain in exynos5250
Adds to the node of the DISP1 power domain the two clocks that need to
be reparented while the domain is powered off:
CLK_MOUT_ACLK200_DISP1_SUB and CLK_MOUT_ACLK300_DISP1_SUB.

Otherwise the state is unknown at power up and the mixer's clocks are
all messed up.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Link: http://lkml.kernel.org/g/561CDC33.7050103@collabora.com
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:47 +09:00
Krzysztof Kozlowski
ae8a2881b5 dt-bindings: Correct the example for Exynos power domain clocks
Since commit 29e5eea06b ("ARM: EXYNOS: Get current parent clock for
power domain on/off") the "pclkN" names of "clock-names" property is not
parsed any more. The bindings and driver were updated but the example
was not. Fix the example now.

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:40 +09:00
Laurent Pinchart
1f7ce3d1c9 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-goni
The property name should be "gpio", not "gpios". Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:35 +09:00
Laurent Pinchart
698da378a3 ARM: dts: Fix typo in regulator enable GPIO property in s5pv210-aquila
The property name should be "gpio", not "gpios". Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:29 +09:00
Marek Szyprowski
4ae9a4c66c ARM: dts: Add vbus regulator to USB2 phy nodes on exynos3250, exynos4210 and exynos4412 boards
Exynos USB2 PHY driver now supports VBUS regulator, so add it to all
boards which have it available. This also fixes commit
7eec126675 ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2"),
which added new regulators to Trats2 board, but without linking them to
the consumers.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 7eec126675 ("ARM: dts: Add Maxim 77693 PMIC to exynos4412-trats2")
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:23 +09:00
Tomeu Vizoso
b4dc272b60 clk: samsung: exynos5250: Add DISP1 clocks
When the DISP1 power domain is powered off, there's two clocks that need
to be temporarily reparented to OSC, and back to their original parents
when the domain is powered on again.

We expose these two clocks in the DT bindings so that the DT node of the
power domain can reference them.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:31:18 +09:00
Anand Moon
f0864f843f ARM: multi_v7_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4
Odroid XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over
USB 3.0.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:13:12 +09:00
Anand Moon
a81bb1aca6 ARM: exynos_defconfig: Enable rtl8152 ethernet driver for Odroid-XU4
Odroid-XU4 has a RTL8153-CG gigabit Ethernet adapter, connected over
USB 3.0.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:13:11 +09:00
Javier Martinez Canillas
ceca418adf ARM: exynos_defconfig: Enable WiFi-Ex as a module instead built-in
The Marvell WiFi-Ex driver tries to load a firmware on probe. So if the
driver is built-in and probed before a firmware is available, this is
not loaded and the chip does not work.

This happens for example if an initramfs isn't used since the driver is
probed before the root filesystem is mounted.

Change the default config since the driver isn't needed for machines to
boot and is more convenient to have it enabled as a module to avoid
requiring an initramfs or to have the firmware built into the kernel.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Andreas Faerber <afaerber@suse.de>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:12:55 +09:00
Javier Martinez Canillas
5b6ce5216e ARM: exynos_defconfig: Disable simplefb support
The simplefb driver allows the kernel to render on a pre-allocated
buffer that's been initialized by firmware before the kernel boots.

This option was enabled to have display working on the Exynos5250
Snow Chromebook by commit da9d0fbf5e ("ARM: exynos: defconfig
update") since proper DRM/KMS support did not exist at that time.

But now that the Exynos DRM driver has support for this hardware,
there is no need to have simplefb enabled. In fact, if a user has
a u-boot that injects the simplefb dev node to the FDT before pass
it to the kernel, display won't be properly initialized and only a
blank screen will be shown since there isn't a proper handoff from
the simplefb driver to the Exynos DRM driver.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Michael Turquette <mturquette@baylibre.com>
Tested-by: Michael Turquette <mturquette@baylibre.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:10:18 +09:00
Anand Moon
7729fffa86 ARM: exynos_defconfig: Enable LEDS for Odroid-XU3/XU4
Odroid XU3 family boards come with RGB LEDs. Enabling LEDS_GPIO and
LEDS_PWM allows monitoring the board alive state (heartbeat) and
MMC/SDcard IO usage.

Signed-off-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
[k.kozlowski: Rewritten the commit message]
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:10:02 +09:00
Marek Szyprowski
f0d616ea57 ARM: multi_v7_defconfig: Enable DWC2 USB driver and USB ethernet gadget
DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards,
so enable DWC2 driver as well as the most common USB Ethernet gadget.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:09:54 +09:00
Marek Szyprowski
f16a5b88d8 ARM: exynos_defconfig: Enable DWC2 USB driver and USB ethernet gadget
DWC2 (s3c-hsotg) hardware module is available on many Exynos based boards,
so enable DWC2 driver as well as the most common USB Ethernet gadget.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:09:37 +09:00
Javier Martinez Canillas
fa4d0b7920 ARM: exynos_defconfig: Enable USB Video Class support
The Exynos5420 Peach Pit and Exynos5800 Peach Pi boards have a built-in
Silicon Motion USB UVC WebCam. Enable support for the USB Video Class
driver and its needed media Kconfig symbols so the camera is supported.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
2015-10-24 04:09:19 +09:00