Commit graph

691,473 commits

Author SHA1 Message Date
Bharat Kumar Gogada
b328f3ce99 PCI: xilinx: Dispose of MSI virtual IRQ
Dispose of virtual IRQ being created for MSI interrupts.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2016-09-13 10:40:02 -05:00
Bharat Kumar Gogada
8a4036edf9 PCI: xilinx: Clear correct MSI set bit
Kernel provides virtual IRQ number at teardown.  Get hwirq number from
virtual IRQ and clear correct MSI set bit.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2016-09-13 10:39:21 -05:00
Arnd Bergmann
1f480960e0 32bit Rockchip devicetree changes containing two new rk3288 boards (Fennec
and Firefly-reload), display support for the rk3288-evb, support for the
 recently added firmware reboot-flag support and some housekeeping cleanups.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABCAAGBQJX0WScAAoJEPOmecmc0R2BEycIAK7/5hV5kyeEA3vx1VaLoRH0
 lFHMQyaucbqQCuAu6U6NBwyVGnirvd5HG+KRA34RncLfVT5Fnv81u43byKkaUI/I
 8NH6l4FvcND76J1IIR6XZl8cGxaRCT1bkUgII4MFaMaQBxY19gbLCDuBVLVJEhK7
 lUy7lG/6j/DvIwU0UevGdB/bdCPZ0WZ6n9InF4xIMJ6PJYI5/BctSpxfJr47hTjQ
 a0z637dqXv08L7LRqVtXn+1tJZ6QJdHrtsEavGFOQEzl+n2rRFuBC63+v98h7WCc
 1gnyfWbR+NMZOH13imBiOiK7Ap/F5Qm1uF5bfJhoJGbGazv5NcZqPlZ0CocrAXY=
 =gktZ
 -----END PGP SIGNATURE-----

Merge tag 'v4.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt

Pull "Rockchip dts32 changes for 4.9" from Heiko Stübner:

32bit Rockchip devicetree changes containing two new rk3288 boards (Fennec
and Firefly-reload), display support for the rk3288-evb, support for the
recently added firmware reboot-flag support and some housekeeping cleanups.

* tag 'v4.9-rockchip-dts32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add sensor-supplies on PopMetal-RK3288 board
  ARM: dts: rockchip: fix L3G4200D i2c address on PopMetal-RK3288 board
  ARM: dts: rockchip: enable usbotg for Popemtal-rk3288 board
  ARM: dts: rockchip: add missing regulators for firefly reload board
  ARM: dts: rockchip: remove excess sd properties from firefly reload
  ARM: dts: rockchip: add syscon-reboot-mode DT node
  soc: rockchip: add reboot-mode header
  ARM: dts: rockchip: move rk3288 usbphy under the GRF node
  ARM: dts: rockchip: add rk3288-firefly-reload
  ARM: dts: rockchip: add dts for RK3288-Fennec boards
  ARM: dts: rockchip: add the panel power supply for rk3288-evb board with rk808 pmu
  ARM: dts: rockchip: add the panel power supply for rk3288-evb board with act8846 pmu
  ARM: dts: rockchip: add eDP/panel display device nodes for rk3288-evb
2016-09-13 17:38:34 +02:00
Bharat Kumar Gogada
3cd049ab9e PCI: xilinx: Clear interrupt register for invalid interrupt
The interrupt decode register is not being cleared if an invalid interrupt
arises.  Clear the decode register in this case.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2016-09-13 10:38:19 -05:00
Paul Burton
801f823dc2 MIPS: c-r4k: Fix size calc when avoiding IPIs for small icache flushes
Commit f70ddc07b6 ("MIPS: c-r4k: Avoid small flush_icache_range SMP
calls") adds checks to force use of hit-type cache ops for small icache
flushes where they are globalised & index-type cache ops aren't, in
order to avoid the overhead of IPIs in those cases. However it
calculated the size of the region being flushed incorrectly, subtracting
the end address from the start address rather than the reverse. This
would have led to an overflow with size wrapping round to some large
value, and likely to the special case for avoiding IPIs not actually
being hit.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Fixes: f70ddc07b6 ("MIPS: c-r4k: Avoid small flush_icache_range SMP calls")
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: Huacai Chen <chenhc@lemote.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14211/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 17:37:20 +02:00
Arnd Bergmann
d9d37f70fe Allwinner DT changes for 4.9
Business as usual on our side, with a mix of new boards and new IPs enabled
 on boards:
   - Support for the GPIO found on the AXP PMIC
   - ESP8089 on the relevant boards
   - More boards converted to the reference design and q8 designs
   - New boards: Orange Pi PC Plus, Orange Pi 2, Orange Pi Plus 2E, Orange
     Pi Lite, Olimex A33-Olinuxino, Empire Electronix M712, inet-d978_rev2,
     Nano Pi Neo
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJX0G1eAAoJEBx+YmzsjxAglB8P/j3Z9WDnNVh5MFuvJpPvT5Sc
 E4KiVmL5L5cHRAdJLS3sUTBCHzhv3iJZaHHmPVzRpDYwYL+XMieNpS7CknkD8Sct
 h5LtPk4ukazsrx86TEeBQ1CCBkI2CqXVnD/v68FY8rbIKGPOk52lUrI3lhbuHT1w
 XCSJj4SAMnHfmQWYE+eQpEYndWnMQCijdr3X2OuWl7WG+N+7d0h43QfA2GgR4Thv
 jP/s43LBgMf+GnVLn8hMgI2XZCv/TK+9ZWiDrDDNRS1dwlDrkcKfS+gMOM0sMzON
 tOs3OK4pLB37SQ4+7V3x8Vne7xWVmPXCr8gVYh1AZGLCpSGDNImNVDv9lvNiJiya
 PxbAgGx5eEJ1J4oZ9httT0vp4IGmGew1ZeRIij35+bOECAvNJ09bjMFguaVv3Mv5
 6vKXmbqW2j07TrneKZJMP5L9vheto1Z5AwWDAYDCmxHnkzXCyFNJ5oeo+lvg6EV5
 YWme3WdmLZtcLDIuffa1mlZ5CrtkV+QPdv/SqE/LBhXTSWiPwTaQaqlr57/+/e4Y
 fu2ECKBOP7Y3tanBHHJOMovX8rQ259TadmGOZWDh4bR/9CJ6J/OUWmYwvutBwVOc
 n17g3erYtNQm6/buGpqFTRsT9/EL5zQESJt2x2/DZwOOUipBRkm23Jd0kz/q7juw
 APAzF3rtbo20wld0ueMF
 =3Q+E
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt

Pull "Allwinner DT changes for 4.9" from Maxime Ripard:

Business as usual on our side, with a mix of new boards and new IPs enabled
on boards:
  - Support for the GPIO found on the AXP PMIC
  - ESP8089 on the relevant boards
  - More boards converted to the reference design and q8 designs
  - New boards: Orange Pi PC Plus, Orange Pi 2, Orange Pi Plus 2E, Orange
    Pi Lite, Olimex A33-Olinuxino, Empire Electronix M712, inet-d978_rev2,
    Nano Pi Neo

* tag 'sunxi-dt-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (31 commits)
  devicetree: Add vendor prefix for FriendlyARM
  ARM: dts: sun8i: Add dts file for the NanoPi NEO SBC
  ARM: dts: sun8i-q8-common: Add support for SDIO wifi controllers
  ARM: dts: sun8i: Add dts file for the Orange Pi Plus2E SBC
  ARM: dts: sun8i: Orange Pi Plus dts is for the Plus and Plus 2
  ARM: dts: sun8i: Add PWM controller node in H3
  ARM: dts: sun8i: Add dts file for inet-d978_rev2 tablets
  ARM: dts: sun9i: Add missing #interrupt-cells to R_PIO pinctrl device node
  ARM: dts: sun8i: Rename reference-design-tablet touchscreen node
  ARM: dts: sun5i: Add dts file for the Empire Electronix M712 tablet
  ARM: dts: sun5i: Convert inet-98v-rev2 dts to use reference-design-tablet.dtsi
  ARM: dts: sun4i: Disable ohci1 on ba10-tv-box
  ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2809
  ARM: dts: sun8i: Add dt node for esp8089 wifi chip on polaroid-mid2407
  ARM: dts: sun8i: add NAND controller node for A23/A33
  ARM: dts: sun6i: Add new dts file for tablets using the inet-q972 PCB
  ARM: dts: sun6i: Add sun6i-reference-design-tablet.dtsi
  ARM: dts: sun6i: colorfly-e708-q1: Remove unused mma8452_int_e708_q1 node
  ARM: dts: sun9i: Switch to the AC100 RTC clock outputs for osc32k
  ARM: dts: sun9i: cubieboard4: Add device node for AC100
  ...
2016-09-13 17:36:04 +02:00
Arnd Bergmann
a6023d0500 Second Round of Renesas ARM Based SoC DT Updates for v4.9
Fixes (for v4.9):
 * Correct PWM clock parent on r8a7794 SoC
 
 Clean-up:
 * Remove obsolete vsp1 properties from r8a779[01] SoCs
 
 New boards:
 * Add r8a7792/wheat and r7s72100/rskrza1 boards
 
 Enablement:
 * Enable LEDs, DU, SDHI on r8a7792/blanche board
 * Enable MMCIF and SDHI on r8a7794/alt board
 * Add SPI and VSP1 to r8a7792 SoC
 * Add ethernet to r7s72100 SoC
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXz8W+AAoJENfPZGlqN0++ITIP/ixpSZTzr3XZBbFEgJX73+XM
 plE74Udaeoy1BBsehm97lsB+PNSnkdbWNZtH+WGGlsiS1UCMFMmKiabwTcvaO4cV
 ORtYY53MsvRI5RUU81K8zag+jIXVhhL8k4MgvMzXWTck80ZXl6GB8FBStUYQed9G
 WYc15Qzwep5k9b3joE8ShKE7T+uy/iunIHxKu63ykOKIOvDBZB7BKyys8Sm6fX0s
 dp7psg6g9mEniNxCMISLgz1IDEaAWBY/UnZFBsCJt5CwWbE/omg5FrqefeDyieck
 vK0rp2B9BNsWMX1rE7lHqmuszQNZhISJwOV7xn+VBwhTYGMQ9gHcIFQd14Uie3dK
 oiDdY3Fbe/CIHGH8sk4A7LAWbIsVkHe2K6shiJd8zEE7Dw3ju5ZC0f7jcROav54Z
 VJc5F7iV7Jr37635JdpBgVc0e4n4WsOgyoFnohxaWOLnpROx83BPadYtszmusmiD
 tcpWvUQGjMyl0j1G5RfJQJsLmTq4SNaHO5jgCf2Hm/iMKTXeZla68DlT4qO2Fgj3
 G9Yi6+GBixTa/qTn0WmF5f9YUq8ljmD37ikH9MFLvtM8eYoaTezIkEmJHaOYVq00
 jSbYHdPvj2C/8B9JYars4H+B75Xaapkxf17O75Rg/rhDPAqVoWp0MtaQPpu9qXY0
 RHDl0QtcSQDaGiNJ6ncF
 =mvDC
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt2-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Pull "Second Round of Renesas ARM Based SoC DT Updates for v4.9" from Simon Horman:

Fixes (for v4.9):
* Correct PWM clock parent on r8a7794 SoC

Clean-up:
* Remove obsolete vsp1 properties from r8a779[01] SoCs

New boards:
* Add r8a7792/wheat and r7s72100/rskrza1 boards

Enablement:
* Enable LEDs, DU, SDHI on r8a7792/blanche board
* Enable MMCIF and SDHI on r8a7794/alt board
* Add SPI and VSP1 to r8a7792 SoC
* Add ethernet to r7s72100 SoC

* tag 'renesas-dt2-for-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (26 commits)
  ARM: dts: wheat: add support for tactile switches
  ARM: dts: wheat: add QSPI support
  ARM: dts: r8a7792: add QSPI support
  ARM: dts: r8a7792: add QSPI clock
  ARM: dts: wheat: add SDHI0 support
  ARM: dts: wheat: add CAN support
  ARM: dts: r8a7794: fix PWM clock parent
  ARM: dts: rskrza1: add ethernet DT support
  ARM: dts: r7s72100: add ethernet to device tree
  ARM: dts: r7s72100: add ethernet clock to device tree
  ARM: dts: rskrza1: initial device tree
  ARM: dts: Add RSKRZA1 DT bindings documentation
  ARM: dts: wheat: add Ethernet support
  ARM: dts: wheat: initial device tree
  ARM: dts: document Wheat board
  ARM: dts: blanche: add support for general purpose LEDs
  ARM: dts: r8a7792: add VSP1V support
  ARM: dts: r8a7792: add VSP1V clocks
  ARM: dts: blanche: add DU support
  ARM: dts: blanche: add SDHI0 support
  ...
2016-09-13 17:34:49 +02:00
Arnd Bergmann
29b48f9860 Device Tree clean up for LPC18xx platform
* Removal of skeleton.dtsi from the common armv7-m dtsi together
   with lpc18xx and efm32 platforms.
 
 * Fix for unit address warnings from the dtc on lpc18xx/efm32.
   That is made possible with skeleton.dtsi gone.
 -----BEGIN PGP SIGNATURE-----
 
 iQEwBAABCAAaBQJXzyBlExxtYW5hYmlhbkBnbWFpbC5jb20ACgkQXnNIfj7+P9rV
 UwgAvfI2Lv75gqxfLhbIeKeY5Mxms8KGTmGJFX/xAIb9vUynAuVPhDnoie+bvDtA
 9lvJCAwL2pyrb5cyeofjq1lMscX8Ng6mSyrUZ+nhzZNXgNzPK0Z169gcLhugnNW5
 mk4TACKstfiCVQxlB1xa4JHa4/8r8EJ2ouB3Fwd6Zi1OJfC9bU9FFIgjOxfIRhWn
 W8swy5c1sufbUHnQbZeVCweCN4P6tAQN+bxaKgKawmWaVpCz/6jF/dRsD0zj8UHb
 J2nBSjo1Vac25ET9bz5K0jjNOK9BdOcvgbxD/EDDYTwQCbouRpnv+uQctVSyY98n
 2GIiX1Bk1W02NmKvXXQ/6RRz7g==
 =uht9
 -----END PGP SIGNATURE-----

Merge tag 'lpc18xx_dts_for_4.9_part2' of https://github.com/manabian/linux-lpc into next/dt

Pull "Device Tree clean up for LPC18xx platform" from Joachim Eastwood:

* Removal of skeleton.dtsi from the common armv7-m dtsi together
  with lpc18xx and efm32 platforms.

* Fix for unit address warnings from the dtc on lpc18xx/efm32.
  That is made possible with skeleton.dtsi gone.

* tag 'lpc18xx_dts_for_4.9_part2' of https://github.com/manabian/linux-lpc:
  ARM: dts: efm32: remove skeleton.dtsi include and fix unit address warnings
  ARM: dts: lpc18xx: remove skeleton.dtsi include and fix unit address warnings
  ARM: dts: armv7-m: remove skeleton.dtsi include
2016-09-13 17:32:51 +02:00
Arnd Bergmann
72f61d2e92 mvebu dt for 4.9 (part 1)
- update for Armada XP/38x allowing using direct access SPI
 - various improvement for Armada 39x platforms
 - add pinctrl information for NANd on Armada 38x
 - fix the kirkwood based Openblock A6 external GPIO pins
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlfMQ0gACgkQCwYYjhRyO9XZQgCfVtygCoGhhk2ou4huuBcWlutL
 It0An1jM4iRF4RwgWtikxEV00Ovg4dJw
 =LoDw
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-4.9-1' of git://git.infradead.org/linux-mvebu into next/dt

Pull "mvebu dt for 4.9 (part 1)" from Gregory CLEMENT:

- update for Armada XP/38x allowing using direct access SPI
- various improvement for Armada 39x platforms
- add pinctrl information for NANd on Armada 38x
- fix the kirkwood based Openblock A6 external GPIO pins

* tag 'mvebu-dt-4.9-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: mvebu: fix reference to a390 spi controller
  ARM: dts: armada-38x: Add NAND pinctrl information
  ARM: dts: kirkwood: Fix Openblock A6 external GPIO pins
  ARM: dts: mvebu: armada-395-gp: add support for the Armada 395 GP Board
  ARM: dts: mvebu: armada-390-db: add support for the Armada 390 DB board
  ARM: dts: mvebu: armada-398-db: enable supported usb interfaces
  ARM: dts: mvebu: armada-398: update the dtsi about missing interfaces
  ARM: dts: mvebu: armada-395: add support for the Armada 395 SoC family
  ARM: dts: mvebu: armada-39x: enable rtc for all Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: add missing nodes describing GPIO's
  ARM: dts: mvebu: armada-39x: enable watchdog for all Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: enable the thermal sensor in Armada-39x SoCs
  ARM: dts: mvebu: armada-39x: enable PMU, CA9 SoC Controller and Coherency fabric
  ARM: dts: mvebu: armada-39x: update the SDHCI node on Armada 39x
  ARM: dts: mvebu: armada-390: add missing compatibility string and bracket
  ARM: dts: mvebu: a385-db-ap: add default partition description for NAND
  ARM: dts: mvebu: a385-db-ap: enable USB (orion-ehci) port
  ARM: dts: mvebu: armada-370-xp: Add MBus mappings for all SPI devices
  ARM: dts: mvebu: A37x/XP/38x/39x: Move SPI controller nodes into 'soc' node
  ARM: dts: mvebu: Add SPI1 pinctrl defines for Armada XP
2016-09-13 17:31:16 +02:00
Arnd Bergmann
4b7b948b1f vme: fake: fix build for 64-bit dma_addr_t
casting between dma_addr_t and a pointer is generally tricky,
as they might not be the same size and almost never point into
the same address space. With 32-bit ARM systems and LPAE, we
get this warning for the vme_fake driver that stores a pointer
in a dma_addr_t variable:

drivers/vme/bridges/vme_fake.c: In function 'fake_slave_set':
drivers/vme/bridges/vme_fake.c:204:29: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]

To make this clearer while fixing the warning, I'm adding
a set of helper functions for the type conversion.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Martyn Welch <martyn@welchs.me.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:30:17 +02:00
Joe Perches
0b3191d4ea ttyprintk: Neaten and simplify printing
The code is a bit obscure.

Simplify it by using a single routine to flush the tpk_buffer and
emit the buffer prefixed with "[U] ".

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:30:17 +02:00
Arnd Bergmann
9992f21333 Qualcomm Device Tree Changes for v4.9
* Rework dr_mode on APQ8064 and Nexus7
 * Add MSM8974 BLSP1 UART1 port
 * Add AP148 SATA mapping
 * Add support for LG Nexus 5 (Hammerhead)
 * Fixup MSM8660/MSM8064 SPMI/MPP IRQs
 * Add Nexus7 IMEM/reboot reason
 * Add Honami touchscreen support
 * Add TSENS support on MSM8974, APQ8064, and APQ8084
 * Add APQ8060 Dragonboard PM8058 LEDs
 * Rework VPH PWR REG for MSM8974
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXycmZAAoJEFKiBbHx2RXV9xwQAJIkqjV4c9x7H6MAkfI1TyxE
 KfnkTbSRDwddvwoE8+Q7jlDcOi8CTw0mf6lkLX5O66GzP0xop0k5YQfGEGnOs3Ct
 5ikS7n55+6NE2PvF0HY4th1Lca0z6FSr48OONAXOuzwXsVoGv8MmKQKW8tLgdI3v
 cYnVfUgqU5JI1m3jhmYzn57bak8KktYUyt4RXjs+iIb1aYx1ol/PNp4Wp/87dpy3
 7B3lmVYp1Dp8P5d52jLjEV8m5pLEmn92YfaksLRTLeLwiwYwR8vfdR/sTnTVxa2/
 tOo0sXhPtsdq/jCu19z31eME5ucGlsqxOHg38TElgFDvztaz7KHwxOnQ/BgGYPmI
 niZEZty1uocAPULrxWOjuGSqaDhIWj1qmmxUGn8Si7MIlK+61ypCuJ9StC46PLjy
 uCnG64PibPEnikdM6pLT2qi6huz/O/8qR/HgGpEwHrRlzM5I88c5QljfPcgrTeNU
 P+D81RgK3/xyYOcZRsXb4imMtph/UwljK3/oa8gZYi50yRiT69zzRXMZeVTbLaiF
 zQJULk3h+4OXmUOzjnWzFZYxejVQ69uuSlnGt/OoD8zuD53R1v2PUE9U8tuh5iSY
 n28gJfz+wLbFBofbGwdujB1D9VTrHmSMcgbdmOpn56y3DB4LbKuyINhVXqMhHJuI
 HbeEj3o7J8HY1w37HW8K
 =hUYu
 -----END PGP SIGNATURE-----

Merge tag 'qcom-dts-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt

Pull "Qualcomm Device Tree Changes for v4.9" from Andy Gross:

* Rework dr_mode on APQ8064 and Nexus7
* Add MSM8974 BLSP1 UART1 port
* Add AP148 SATA mapping
* Add support for LG Nexus 5 (Hammerhead)
* Fixup MSM8660/MSM8064 SPMI/MPP IRQs
* Add Nexus7 IMEM/reboot reason
* Add Honami touchscreen support
* Add TSENS support on MSM8974, APQ8064, and APQ8084
* Add APQ8060 Dragonboard PM8058 LEDs
* Rework VPH PWR REG for MSM8974

* tag 'qcom-dts-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux:
  ARM: dts: msm8974: Move vreg_boost node from the honami to msm8974
  ARM: dts: qcom: msm8974: Add fixed regulator node for vph-pwr-reg
  ARM: dts: add PM8058 LEDs to the APQ8060 Dragonboard
  arm: dts: apq8084: Add thermal zones, tsens and qfprom nodes
  arm: dts: apq8064: Add thermal zones, tsens and qfprom nodes
  arm: dts: msm8974: Add thermal zones, tsens and qfprom nodes
  ARM: dts: msm8974: honami: Add touchscreen
  device-tree: nexus7: Add IMEM syscon and reboot reason support
  ARM: dts: MSM8660 remove flags from SPMI/MPP IRQs
  ARM: dts: MSM8064 remove flags from SPMI/MPP IRQs
  ARM: dts: msm8974-hammerhead: Introduce gpio-keys nodes
  ARM: dts: msm8974-hammerhead: Add regulator nodes for hammerhead
  ARM: dts: qcom: Add initial DTS for LG Nexus 5 Phone
  ipq8064: dts: force AP148 SATA port mapping
  ARM: dts: msm8974: Add nodes for blsp1_uart1 serial port
  device-tree: aqp8064.dtsi: Remove usb phy dr_mode = "host"
  device-tree: nexus7: Set phy mode to otg instead of host
2016-09-13 17:29:08 +02:00
Wei Yongjun
c20cb81193 tipc: fix possible memory leak in tipc_udp_enable()
'ub' is malloced in tipc_udp_enable() and should be freed before
leaving from the error handling cases, otherwise it will cause
memory leak.

Fixes: ba5aa84a2d ("tipc: split UDP nl address parsing")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-13 11:28:32 -04:00
Mark Rutland
9c0da3cc61 ARM: dts: explicitly mark skeleton.dtsi as deprecated
As noted in commit 3ebee5a2e1 ("arm64: dts: kill skeleton.dtsi"),
there are a number of problems with skeleton.dtsi, and it would be
prefereable to remove it entirely. As there are a large number of
existing users, fixing these up will take a while.

This patch adds a note to arm's skeleton.dtsi noting that this is the
case, to make this more obvious and hopefully minimize new uptake of
skeleton.dtsi in the mean time.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Olof Johansson <olof@lixom.net>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-09-13 17:28:14 +02:00
Tony Lindgren
54a2ec67f1 usb: ohci: Allow ohci on omap5 also
With LPAE config we don't have omap3 or omap4 selected for
omap5 variants.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:26:32 +02:00
Joonwoo Park
28b89b9e6f cpuset: handle race between CPU hotplug and cpuset_hotplug_work
A discrepancy between cpu_online_mask and cpuset's effective_cpus
mask is inevitable during hotplug since cpuset defers updating of
effective_cpus mask using a workqueue, during which time nothing
prevents the system from more hotplug operations.  For that reason
guarantee_online_cpus() walks up the cpuset hierarchy until it finds
an intersection under the assumption that top cpuset's effective_cpus
mask intersects with cpu_online_mask even with such a race occurring.

However a sequence of CPU hotplugs can open a time window, during which
none of the effective CPUs in the top cpuset intersect with
cpu_online_mask.

For example when there are 4 possible CPUs 0-3 and only CPU0 is online:

  ========================  ===========================
   cpu_online_mask           top_cpuset.effective_cpus
  ========================  ===========================
   echo 1 > cpu2/online.
   CPU hotplug notifier woke up hotplug work but not yet scheduled.
      [0,2]                     [0]

   echo 0 > cpu0/online.
   The workqueue is still runnable.
      [2]                       [0]
  ========================  ===========================

  Now there is no intersection between cpu_online_mask and
  top_cpuset.effective_cpus.  Thus invoking sys_sched_setaffinity() at
  this moment can cause following:

   Unable to handle kernel NULL pointer dereference at virtual address 000000d0
   ------------[ cut here ]------------
   Kernel BUG at ffffffc0001389b0 [verbose debug info unavailable]
   Internal error: Oops - BUG: 96000005 [#1] PREEMPT SMP
   Modules linked in:
   CPU: 2 PID: 1420 Comm: taskset Tainted: G        W       4.4.8+ #98
   task: ffffffc06a5c4880 ti: ffffffc06e124000 task.ti: ffffffc06e124000
   PC is at guarantee_online_cpus+0x2c/0x58
   LR is at cpuset_cpus_allowed+0x4c/0x6c
   <snip>
   Process taskset (pid: 1420, stack limit = 0xffffffc06e124020)
   Call trace:
   [<ffffffc0001389b0>] guarantee_online_cpus+0x2c/0x58
   [<ffffffc00013b208>] cpuset_cpus_allowed+0x4c/0x6c
   [<ffffffc0000d61f0>] sched_setaffinity+0xc0/0x1ac
   [<ffffffc0000d6374>] SyS_sched_setaffinity+0x98/0xac
   [<ffffffc000085cb0>] el0_svc_naked+0x24/0x28

The top cpuset's effective_cpus are guaranteed to be identical to
cpu_online_mask eventually.  Hence fall back to cpu_online_mask when
there is no intersection between top cpuset's effective_cpus and
cpu_online_mask.

Signed-off-by: Joonwoo Park <joonwoop@codeaurora.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: cgroups@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: <stable@vger.kernel.org> # 3.17+
Signed-off-by: Tejun Heo <tj@kernel.org>
2016-09-13 11:26:27 -04:00
Roger Quadros
b44bbc46a8 usb: core: setup dma_pfn_offset for USB devices and, interfaces
If dma_pfn_offset is not inherited correctly from the host controller,
it might result in sub-optimal configuration as bounce
buffer limit might be set to less than optimal level.

Consider the mass storage device case.
USB storage driver creates a scsi host for the mass storage interface in
drivers/usb/storage/usb.c
The scsi host parent device is nothing but the the USB interface device.
Now, __scsi_init_queue() calls scsi_calculate_bounce_limit() to find out
and set the block layer bounce limit.
scsi_calculate_bounce_limit() uses dma_max_pfn(host_dev) to get the
bounce_limit. host_dev is nothing but the device representing the
mass storage interface.
If that device doesn't have the right dma_pfn_offset, then dma_max_pfn()
is messed up and the bounce buffer limit is wrong.

e.g. On Keystone 2 systems, dma_max_pfn() is 0x87FFFF and dma_mask_pfn
is 0xFFFFF. Consider a mass storage use case: Without this patch,
usb scsi host device (usb-storage) will get a dma_pfn_offset of 0 resulting
in a dma_max_pfn() of 0xFFFFF within the scsi layer
(scsi_calculate_bounce_limit()).
This will result in bounce buffers being unnecessarily used.

Hint: On 32-bit ARM platforms dma_max_pfn() = dma_mask_pfn + dma_pfn_offset

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:25:35 +02:00
Huacai Chen
3cbc6fc9c9 MIPS: Add a missing ".set pop" in an early commit
Commit 842dfc11ea ("MIPS: Fix build with binutils 2.24.51+") missing
a ".set pop" in macro fpu_restore_16even, so add it.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Acked-by: Manuel Lauss <manuel.lauss@gmail.com>
Cc: Steven J . Hill <Steven.Hill@caviumnetworks.com>
Cc: Fuxin Zhang <zhangfx@lemote.com>
Cc: Zhangjin Wu <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org # 3.18+
Patchwork: https://patchwork.linux-mips.org/patch/14210/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 17:25:11 +02:00
Baoquan He
3e1be7ad2d bnx2: Reset device during driver initialization
When system enters into kdump kernel because of kernel panic, it won't
shutdown devices. On-flight DMA will continue transferring data until
device driver initializes. All devices are supposed to reset during
driver initialization. And this property is used to fix the kdump
failure in system with intel iommu. Other systems with hardware iommu
should be similar. Please check commit 091d42e ("iommu/vt-d: Copy
translation tables from old kernel") and those commits around.

But bnx2 driver doesn't reset device during driver initialization. The
device resetting is deferred to net device up stage. This will cause
hardware iommu handling failure on bnx2 device. And its resetting relies
on firmware. So in this patch move the firmware requesting code to earlier
bnx2_init_one(), then next call bnx2_reset_chip to reset device.

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-13 11:24:29 -04:00
Arnd Bergmann
af3fe47343 STi dts fixes and new STi 96board support:
Add thermal node for STiH407 family boards
 Add specific nodes for STMicroelectronics 96Board
 Add new B2260 STi board file = 96Board
 Fix ahci issue on STiH407 family
 Fix debugfs/pinctrl kernel warning
 Update gpio-cells and gpio specifier
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXyX3eAAoJEMrHeC97M/+mmHcP/3p2GXJd46L1A8Y9Yc3tEkPR
 UQ+kySCQcCuqRYiBywjciQXLguBaALEhJUC0OZ388vbz5tpAU1F+YmPH2oq3PFrt
 XE3EG2H/qs6jyzX9bC2bvbGnfpEdoJUlZ/+EOyHv+cMV4aqSx/OFt/s+u4guPnk1
 dGDmsxC3z8hmVug7uXbN/EJzaZVZPSvqrM2oLykz8WcznhDc9CpjL9DLKVdkO4KV
 a+pYFwAQ6C+rteX5WD1+lWk+S5fW2FjknfW0HglbOihhW0QQj8ZUTXtjkQm4rIPF
 ElBQz3K1r3ulHxuDjhTPnF4y99zwbIcdFJ9ZpLF8wqJd4Ezdhut5qk4+OPdmE4Me
 nqFKVp/FlZvTsPKhDSi3oWnLRj+s/fAI5nbG77bjQInW0nWDkDPalEhh+29empxg
 uqjOlPp/yE+2P54X4HQ+/lCFcwRS5hiRCjVXj6ElTG6mIqpMRIeEyXWIrc7T4pv6
 PFTUlx2AcRG6hIdqrSEfjPGSsqJ0QnMk68uh+u4UfCbTZgkoTrPKYULb/OHMn56i
 DbHxyIHQOeq9Fc5f/7VrtWubqAarOlXEXpuyJIOAKcKnhNiefg7H0BQcKZyvG/5U
 +I1xUmENSXY7zZlIa1ie9FqiRxMwwmjBUdtVJ38lQeNCKqsAaT6m7zjIXOxEOMcH
 7pmI1fyedjBM/5mfNahW
 =5YA+
 -----END PGP SIGNATURE-----

Merge tag 'sti-dt-for-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti into next/dt

Pull "STi dts fixes and new STi 96board support" from Patrice Chotard:

Add thermal node for STiH407 family boards
Add specific nodes for STMicroelectronics 96Board
Add new B2260 STi board file = 96Board
Fix ahci issue on STiH407 family
Fix debugfs/pinctrl kernel warning
Update gpio-cells and gpio specifier

* tag 'sti-dt-for-v4.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pchotard/sti:
  ARM: dts: STiH41x-b2020: Update gpio specifier
  ARM: dts: STiH418-B2199: Update gpio specifier
  ARM: dts: STiH407-pinctrl: Update gpio-cells to 2
  ARM: dts: STi: Introduce B2260 board
  ARM: dts: STiH407-family: Add ports-implemented property in sata nodes
  ARM: dts: STiH407-pinctrl: Add pinctrl_rgmii1_mdio_1 node
  ARM: dts: STiH407: Move non-removable property to board file
  ARM: dts: STiH407-pinctrl: Add i2c2_alt2_1 node
  ARM: dts: STiH410: Add thermal node
  ARM: dts: STiH407: Move pio20 node to fix kernel warning
2016-09-13 17:24:24 +02:00
Wei Yongjun
9cdd8e11c2 USB: host: ohci-at91: fix non static symbol warning
Fixes the following sparse warning:

drivers/usb/host/ohci-at91.c:141:15: warning:
 symbol 'at91_dt_syscon_sfr' was not declared. Should it be static?

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Wei Yongjun
b175b38a0f usb: host: xhci-tegra: Fix error return code in tegra_xusb_probe()
Fix to return error code -ENOMEM from the usb_create_shared_hcd()
error handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Julia Lawall
36ae6776e4 ezusb: constify local structures
For structure types defined in the same file or local header files, find
top-level static structure declarations that have the following
properties:
1. Never reassigned.
2. Address never taken
3. Not passed to a top-level macro call
4. No pointer or array-typed field passed to a function or stored in a
variable.
Declare structures having all of these properties as const.

Done using Coccinelle.
Based on a suggestion by Joe Perches <joe@perches.com>.

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Colin Ian King
f409440703 USB: wusbcore: add in missing white space in error message text
A dev_err message spans two lines and the literal string is missing
a white space between words. Add the white space and reformat the
message to not span multiple lines.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Oliver Neukum
efbe27b3cf cdc-acm: cleaning up debug in data submission path
Further cleanup making the debug messages more precise, useful
and removing mere trace points.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Oliver Neukum
46e75075ba cdc-acm: cleanup debugging in submission path
Actually make it retutn useful information.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:24:24 +02:00
Bharat Kumar Gogada
b584fa1fde PCI: xilinx: Keep both legacy and MSI interrupt domain references
When built with MSI support, the legacy domain reference was being
overwritten with MSI.

Create two separate domains for MSI and legacy interrupts.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
2016-09-13 10:21:36 -05:00
Vivien Didelot
308433155a net: bridge: add helper to call /sbin/bridge-stp
If /sbin/bridge-stp is available on the system, bridge tries to execute
it instead of the kernel implementation when starting/stopping STP.

If anything goes wrong with /sbin/bridge-stp, bridge silently falls back
to kernel STP, making hard to debug userspace STP.

This patch adds a br_stp_call_user helper to start/stop userspace STP
and debug errors from the program: abnormal exit status is stored in the
lower byte and normal exit status is stored in higher byte.

Below is a simple example on a kernel with dynamic debug enabled:

    # ln -s /bin/false /sbin/bridge-stp
    # brctl stp br0 on
    br0: failed to start userspace STP (256)
    # dmesg
    br0: /sbin/bridge-stp exited with code 1
    br0: failed to start userspace STP (256)
    br0: using kernel STP

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-13 11:21:31 -04:00
Rasmus Villemoes
21b031fbd1 usb: musb: remove redundant stack buffers
aDate is always the empty string, so entirely pointless. The aRevision
formatting might as well be done as part of the pr_debug() call - that
also avoids it altogether if pr_debug is compiled out.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Wei Yongjun
48fed03b4b usb: musb: am35x: fix error return code in am35x_probe()
Fix to return a negative error code from the usb_phy_generic_register()
error handling case instead of 0, as done elsewhere in this function.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
David Lechner
947c49afe4 usb: musb: da8xx: Remove mach code
Use the new phy-da8xx-usb driver to take the place of the mach code that
pokes CFGCHIP2 in the da8xx musb glue driver. This unbreaks the driver.

Signed-off-by: David Lechner <david@lechnology.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
David Lechner
d458fe9a71 usb: musb: da8xx: Use devm in probe
Simplify things a bit by using devm functions where possible.

Signed-off-by: David Lechner <david@lechnology.com>
[b-liu@ti.com: fixed merge conflict]
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Hans de Goede
7cba17ec9a musb: sunxi: Add support for platform_set_mode
This allows run-time dr_mode switching support via the "mode" musb
sysfs attribute.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Tony Lindgren
65b3f50ed6 usb: musb: Add PM runtime support for MUSB DSPS glue layer
We can now just use PM runtime autoidle support as musb core
keeps things enabled when the devctl session bit is set. And
there's no need for dsps_musb_try_idle() so let's just remove
it.

Note that as cppi41 dma is clocked by musb, this only makes
PM work for dsps glue layer if CONFIG_MUSB_PIO_ONLY=y and
cppi41.ko is unloaded. This will get fixed when cppi41.c has
PM runtime implemented.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Tony Lindgren
ae909fe4f4 usb: musb: Simplify PM runtime for 2430 glue layer
With musb core now blocking PM based on the devctl status
bit, we can remove related quirks from the 2430 glue layer
and simplify PM runtime further.

Lets's also use musb->controller instead of dev to make it
clear we make the PM runtime calls for the core, not the
glue layer.

And we can now also lower the autoidle timeout.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Tony Lindgren
2f3fd2c5bd usb: musb: Prepare dsps glue layer for PM runtime support
We want to be polling the state when nothing is connected.
Let's change the polling logic in preparation for PM runtime
support.

Signed-off-by: Tony Lindgren <tony@atomide.com>
[b-liu@ti.com: undo unnecessary line leading whitespace change]
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Tony Lindgren
467d5c9807 usb: musb: Implement session bit based runtime PM for musb-core
We want to keep musb enabled always when the session bit is
set. This simplifies the PM runtime and allows making it more
generic across the various glue layers.

So far the only exception to just following the session bit is
host mode disconnect where the session bit stays set.

In that case, just allow PM and let the PM runtime autoidle
timeout deal with it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
[b-liu@ti.com: changed using dev_dbg() to musb_dbg()]
Signed-off-by: Bin Liu <b-liu@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-13 17:20:02 +02:00
Greg Kroah-Hartman
4d719209be Update extcon for 4.9
Detailed description for this pull request:
 1. Support the extcon property and add the synchronization APIs.
 - This feature supports the extcon property for external connector
   because each external connector might have the property according to
   the H/W design.
 
 - The property name should keep the following style.
   : EXTCON_PROP_USB_[property_name]
   : EXTCON_PROP_CHG_[property_name]
   : EXTCON_PROP_JACK_[property_name]
   : EXTCON_PROP_DISP_[property_name]
 
 - Add the new extcon APIs to support the extcon property.
   : extcon_set_property()
   : extcon_get_property()
   : extcon_set_property_capability()
   : extcon_get_property_capability()
 
 - Add the new synchronization extcon APIs.
   : This feature adds the synchronization extcon APIs to support the noti
   for both state and property. When extcon_*_sync() functions is called,
   the extcon informs the information from extcon provider to extcon client.
 
   The extcon driver may need to change the both state and multiple properties
   at the same time. After setting the data of a external connector,
   the extcon send the notification to client driver with the extcon_*_sync().
 
   : extcon_sync()
   : extcon_set_state_sync()
   : extcon_set_property_sync()
 
 - Change the name of existing APIs.
   : extcon_set_cable_state_() -> extcon_set_cable()
   : extcon_get_cable_state_() -> extcon_get_cable()
 
 2. Add the extcon type to group the connector into five category.
 - EXTCON_TYPE_USB  : USB connector
 - EXTCON_TYPE_CHG  : Charger connector
 - EXTCON_TYPE_JACK : Jack connector
 - EXTCON_TYPE_DISP : Display connector
 - EXTCON_TYPE_MISC : Miscellaneous connector
 
 3. Add the new property for external connector.
 - EXTCON_PROP_USB_VBUS
 - EXTCON_PROP_USB_TYPEC_POLARITY
 - EXTCON_PROP_USB_SS   (SuperSpeed)
 - EXTCON_PROP_DISP_HPD (Hot Plug Detect)
 
 4. Add the new type of external connector.
 - EXTCON_DISP_DP  : Display Port
 - EXTCON_DISP_HMD : Head Mounted Device
 - EXTCON_CHG_WPT  : Wireless Power Transfer device
 
 5. Add the new extcon driver.
 - Qualcomm SPMI PMIC USB id detection driver detects whether
   EXTCON_USB_HOST is attached or detached. (extcon-qcom-spmi-mis.c)
 
 6. Remove the usage of extcon_update_state() and old extcon_set_state()
 - Both extcon_update_state() and extcon_set_state() should change the state
   of all external connectors with bit masking handling. It may occur the
   problem. Instead, extcon provides the extcon_set/get_state() functions.
 
 7. Fix the minor issues on extcon drivers.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJX15NdAAoJEJzN3yze689THBUP/jnchjajptYuKY/Y/TkDfdHF
 ffEQX/V4lJ1rZfQe4TOWf/f4Pa/+AssFXlOH08in9mAqphsYVZb6d05yVxZgK2cA
 3C0JH2SigpcnpIbxDAmz+IuJCzA9BIyhj3+qqzo72vRE8lS+CBQk0jsuQgbNVRG+
 T9Dg7GvqcWOpvlGXFhMszznYMQIXfnYSuY4JbT5YjEN6k7qC+fYPwyXN7iJfZ70r
 B9mQwjynimE82VV7xfeYwUhoXCSu+MS8YlfxayWP7p8//kNyID17LjCZttH/deF4
 bMr+PfUmn3Uv8PoOQL+hONRruVNbzp8fPaBERk1G/7CS9Gtf1jZUHYyG4Hn7cmpt
 i/WAvFc2aDJyZEzVRborbnZ4KAwas8ftfNy13fIzsXKwPg6FKoIGoj8+4cxO61fc
 rP+GDWpCOheCMLI9oRuXM1Ub6f8z5uZl3xDgWuGb2LCp7uquIC483AaZAKqpPNll
 Xo4oLFTWecyA0lt1FsHC/qTbSW104VtYeQv644zsDTMyVvarQ4daf9lce9Qw5dYc
 jM2EN8CYHw38jpgFquNXqRArNoTbdsLWQ9shv6MlQNguX8hao6lZZgFtWYq9j3dj
 I1YjkyyYyr5VwF+xUjTQFrLWXPZ77/7LRwgeifcIPI3MC+tYFhhBojIT709ri8L/
 QwgUF2ukSoPxPVT/jUVv
 =LF4N
 -----END PGP SIGNATURE-----

Merge tag 'extcon-next-for-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into usb-testing

Chanwoo writes:

Update extcon for 4.9

Detailed description for this pull request:
1. Support the extcon property and add the synchronization APIs.
- This feature supports the extcon property for external connector
  because each external connector might have the property according to
  the H/W design.

- The property name should keep the following style.
  : EXTCON_PROP_USB_[property_name]
  : EXTCON_PROP_CHG_[property_name]
  : EXTCON_PROP_JACK_[property_name]
  : EXTCON_PROP_DISP_[property_name]

- Add the new extcon APIs to support the extcon property.
  : extcon_set_property()
  : extcon_get_property()
  : extcon_set_property_capability()
  : extcon_get_property_capability()

- Add the new synchronization extcon APIs.
  : This feature adds the synchronization extcon APIs to support the noti
  for both state and property. When extcon_*_sync() functions is called,
  the extcon informs the information from extcon provider to extcon client.

  The extcon driver may need to change the both state and multiple properties
  at the same time. After setting the data of a external connector,
  the extcon send the notification to client driver with the extcon_*_sync().

  : extcon_sync()
  : extcon_set_state_sync()
  : extcon_set_property_sync()

- Change the name of existing APIs.
  : extcon_set_cable_state_() -> extcon_set_cable()
  : extcon_get_cable_state_() -> extcon_get_cable()

2. Add the extcon type to group the connector into five category.
- EXTCON_TYPE_USB  : USB connector
- EXTCON_TYPE_CHG  : Charger connector
- EXTCON_TYPE_JACK : Jack connector
- EXTCON_TYPE_DISP : Display connector
- EXTCON_TYPE_MISC : Miscellaneous connector

3. Add the new property for external connector.
- EXTCON_PROP_USB_VBUS
- EXTCON_PROP_USB_TYPEC_POLARITY
- EXTCON_PROP_USB_SS   (SuperSpeed)
- EXTCON_PROP_DISP_HPD (Hot Plug Detect)

4. Add the new type of external connector.
- EXTCON_DISP_DP  : Display Port
- EXTCON_DISP_HMD : Head Mounted Device
- EXTCON_CHG_WPT  : Wireless Power Transfer device

5. Add the new extcon driver.
- Qualcomm SPMI PMIC USB id detection driver detects whether
  EXTCON_USB_HOST is attached or detached. (extcon-qcom-spmi-mis.c)

6. Remove the usage of extcon_update_state() and old extcon_set_state()
- Both extcon_update_state() and extcon_set_state() should change the state
  of all external connectors with bit masking handling. It may occur the
  problem. Instead, extcon provides the extcon_set/get_state() functions.

7. Fix the minor issues on extcon drivers.
2016-09-13 17:17:31 +02:00
David S. Miller
67b9f0b737 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf
Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following patchset contains Netfilter fixes for your net tree,
they are:

1) Endianess fix for the new nf_tables netlink trace infrastructure,
   NFTA_TRACE_POLICY endianess was not correct, patch from Liping Zhang.

2) Fix broken re-route after userspace queueing in nf_tables route
   chain. This patch is large but it is simple since it is just getting
   this code in sync with iptable_mangle. Also from Liping.

3) NAT mangling via ctnetlink lies to userspace when nf_nat_setup_info()
   fails to setup the NAT conntrack extension. This problem has been
   there since the beginning, but it can now show up after rhashtable
   conversion.

4) Fix possible NULL pointer dereference due to failures in allocating
   the synproxy and seqadj conntrack extensions, from Gao feng.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-13 11:17:24 -04:00
Bharat Kumar Gogada
f665bd1515 PCI: xilinx-nwl: Enable all MSI interrupts using MSI mask
The current mask enables and allows only one MSI interrupt on each MSI
line.  Enable all MSI interrupts, which will also support Endpoints with
multi-MSI support.

Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2016-09-13 10:15:41 -05:00
Boris Brezillon
5eb0d6eb3f irqchip/atmel-aic: Fix potential deadlock in ->xlate()
aic5_irq_domain_xlate() and aic_irq_domain_xlate() take the generic chip
lock without disabling interrupts, which can lead to a deadlock if an
interrupt occurs while the lock is held in one of these functions.

Replace irq_gc_{lock,unlock}() calls by
irq_gc_{lock_irqsave,unlock_irqrestore}() ones to prevent this bug from
happening.

Fixes: b1479ebb77 ("irqchip: atmel-aic: Add atmel AIC/AIC5 drivers")
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable@vger.kernel.org
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Link: http://lkml.kernel.org/r/1473775109-4192-2-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-13 16:57:40 +02:00
Boris Brezillon
ebf9ff753c genirq: Provide irq_gc_{lock_irqsave,unlock_irqrestore}() helpers
Some irqchip drivers need to take the generic chip lock outside of the
irq context.

Provide the irq_gc_{lock_irqsave,unlock_irqrestore}() helpers to allow
one to disable irqs while entering a critical section protected by
gc->lock.

Note that we do not provide optimized version of these helpers for !SMP,
because they are not called from the hot-path.

[ tglx: Added a comment when these helpers should be [not] used ]

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: stable@vger.kernel.org
Cc: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Link: http://lkml.kernel.org/r/1473775109-4192-1-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-13 16:57:40 +02:00
Matt Redfearn
951c39cd3b MIPS: paravirt: Fix undefined reference to smp_bootstrap
If the paravirt machine is compiles without CONFIG_SMP, the following
linker error occurs

arch/mips/kernel/head.o: In function `kernel_entry':
(.ref.text+0x10): undefined reference to `smp_bootstrap'

due to the kernel entry macro always including SMP startup code.
Wrap this code in CONFIG_SMP to fix the error.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org # 3.16+
Patchwork: https://patchwork.linux-mips.org/patch/14212/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-09-13 16:45:15 +02:00
Chris Wilson
ecebca79f6 dma-buf/sync-file: Avoid enable fence signaling if poll(.timeout=0)
If we being polled with a timeout of zero, a nonblocking busy query,
we don't need to install any fence callbacks as we will not be waiting.
As we only install the callback once, the overhead comes from the atomic
bit test that also causes serialisation between threads.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Gustavo Padovan <gustavo@padovan.org>
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Reviewed-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20160829181613.30722-1-chris@chris-wilson.co.uk
2016-09-13 20:09:49 +05:30
Axel Lin
0a8784e792 hwmon: (lm95241) Update module description to include LM95231
This driver also supports LM95231.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-13 07:28:01 -07:00
Arnd Bergmann
3abb0c6cdc DTS related changes for omaps for v4.9 merge window:
- Update elm phandle for am335x
 
 - Fix overo NAND gpmc ranges, this has always been broken so it can
   wait for the merge window
 
 - Fix NAND and use NAND ready pin for logicpd gpmc, this can wait too
   as it's been using the older configration since the dts got added
 
 - A series of dtc warning fixes for unit names
 
 - Keep dcdc3, 5 and 6 enabled during suspend on am347x boards
 
 - Disable DDR regulator during rtc-only/poweroff mode for am437x boards
 
 - Remove redundant regulator compatibles for am437x boards
 
 - Increas QSPI max frequency for dra7 boards
 
 - Enable QSPI for am57xx-idk-common
 
 - Enable am335x-wega audio support
 
 - Workaround for i845 for dra7
 
 - Update binding for logicpd boards
 
 - Add gpio-decoder nodes for am335x-icev2 board
 
 - Add linux,pci-domain property for dra7
 
 - Fix dra7 clock data gmac_gmii_ref_clk_div and related clock tree
   entries, these can wait for merge window as Ethernet works on dra7
 
 - A series of changes to drop skeleton.dtsi because of dtc warnings
 -----BEGIN PGP SIGNATURE-----
 
 iQIuBAABCAAYBQJXyErxERx0b255QGF0b21pZGUuY29tAAoJEBvUPslcq6VzEU0Q
 ALfYnZ2/cNZ8ZkQ0jDLSxAOgb6SrXM5L6iUIYCyVuO6JP+lU88Zn0iQlB1wcD+e8
 Gx87pnexDmPHznwrwWDyXqP6U89vJM9eBdUHoGIt8fr0On7DGQXAN1yrHN+N2kxa
 y7DDePdu1InQM0oXeVqrKdSDNwnCMJpsdHOjmlB1bH83arrMOsG1bZZG3b5LgSTT
 zJss1l3ipw2YJhkGheHCai6bClrko9z8OcbmSF4qogMDs19+QiC9AZ2lIwAF8czG
 ll+/0Mwb9v0K4R/u+KZ9wC8tjz+Skitt0ffDSBpmP7ZBVJRRr5s3PxYDH6vSs+tM
 zVNH2jy1SvnSpxJ3lpIis1WzMi2hr9X9iM3qTzRX5JE+wBGuas1CDVy5duQXtb4d
 QRZWeHdQAX+x5MIRuVgYks6uDPHd6J6uXTlLNjASw5MRDSAGqnYv65BxYc+v5wyW
 v0kj+yQk9ewiwIL3z0T4mJg04mO/hFh+G/B868Un/uafuxvoxEGH1TaSEz3j1Ow3
 o1OGkxVWJj4N/tc7EP1EIqjFid6wAeu1eJdFkqv3zJjphOfKhToFg2T/5bUjbrFD
 mlRyx3aOBxwbrkTUcSC5Qxy/q9DFT7kYm4RESk03zID2QTJmcTpwqNaYX6/jmVFT
 xK7mWB4kyTkl/wC+/XJgLztsm79cDY0cWLDQd0zskyqU
 =k+4W
 -----END PGP SIGNATURE-----

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

Merge "DTS related changes for omaps for v4.9 merge window" from Tony Lindgren:

- Update elm phandle for am335x

- Fix overo NAND gpmc ranges, this has always been broken so it can
  wait for the merge window

- Fix NAND and use NAND ready pin for logicpd gpmc, this can wait too
  as it's been using the older configration since the dts got added

- A series of dtc warning fixes for unit names

- Keep dcdc3, 5 and 6 enabled during suspend on am347x boards

- Disable DDR regulator during rtc-only/poweroff mode for am437x boards

- Remove redundant regulator compatibles for am437x boards

- Increas QSPI max frequency for dra7 boards

- Enable QSPI for am57xx-idk-common

- Enable am335x-wega audio support

- Workaround for i845 for dra7

- Update binding for logicpd boards

- Add gpio-decoder nodes for am335x-icev2 board

- Add linux,pci-domain property for dra7

- Fix dra7 clock data gmac_gmii_ref_clk_div and related clock tree
  entries, these can wait for merge window as Ethernet works on dra7

- A series of changes to drop skeleton.dtsi because of dtc warnings

* tag 'omap-for-v4.9/dt-pt1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (54 commits)
  ARM: dts: dra7: Add missing unit name to memory nodes
  ARM: dts: dra62x: Add missing unit name to memory nodes
  ARM: dts: dm8168: Add missing unit name to memory nodes
  ARM: dts: dm8148: Add missing unit name to memory nodes
  ARM: dts: am572x: Add missing unit name to memory nodes
  ARM: dts: am4372: Add missing unit name to memory nodes
  ARM: dts: am3517: Add missing unit name to memory nodes
  ARM: dts: am335x: Add missing unit name to memory nodes
  ARM: dts: omap5: Add missing unit name to memory nodes
  ARM: dts: omap4: Add missing unit name to memory nodes
  ARM: dts: omap3: Add missing unit name to memory nodes
  ARM: dts: omap2: Add missing unit name to memory nodes
  ARM: dts: am4372: Remove skeleton.dtsi usage
  ARM: dts: dra7: Remove skeleton.dtsi usage
  ARM: dts: dm816x: Remove skeleton.dtsi usage
  ARM: dts: dm814x: Remove skeleton.dtsi usage
  ARM: dts: am33xx: Remove skeleton.dtsi usage
  ARM: dts: omap5: Remove skeleton.dtsi usage
  ARM: dts: omap4: Remove skeleton.dtsi usage
  ARM: dts: omap3: Remove skeleton.dtsi usage
  ...
2016-09-13 16:27:42 +02:00
Axel Lin
ca05ab20f1 hwmon: (lm95245) Select REGMAP_I2C
This driver now uses regmap APIs, so it needs to select REGMAP_I2C.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-13 07:27:34 -07:00
Michael Neuling
acf32964de hwmon: (ibmpowernv) Fix label for cores numbers not threads
Currently the label says "Core" but lists the thread numbers. This
ends up looking like this:
    # cat /sys/class/hwmon/hwmon0/temp[1-4]_label
    Core 0-7
    Core 8-15
    Core 16-23
    Core 24-31

This is misleading as it looks like it's cores 0-7 when it's actually
threads 0-7.

This changes the print to just give the core number, so the output now
looks like this:
    # cat /sys/class/hwmon/hwmon0/temp[1-4]_label
    Core 0
    Core 8
    Core 16
    Core 24

Signed-off-by: Michael Neuling <mikey@neuling.org>
Acked-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2016-09-13 07:27:05 -07:00
Arnd Bergmann
cbd1d63c77 ARM: dts: Keystone DTS for 4.9
Add K2G nodes for GPIO, IRQ and Message Manager
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXx17yAAoJEHJsHOdBp5c/XYYQAJqObNQw1/Hc0+uQl1ZQd4nf
 m6waeFM39qaU7x0bzc6+H9s4LxEQsBi6uQfilU+/Rh44r/kmEYbmmgijSKPJcfYt
 6UNfvgIln1TPTaFNRQ0UqOTALBUY3K2SbEykfHEFNdLIRV17Z8kfXTJboHg3AgG8
 05bdrEFFZ+G1PD1eAZTU7Xi2jPi67FT8QyiGOR1uTSCSqK+jH0K8LsPtmITdM8nk
 BaEe/BEfopn3IgdViE6hPGiqTIEpHFeY2H2Umata2KBnsGXX0Tm1iq1DyXiPNwQ7
 xzbJkNwIfo7JMz94IBl/a675IUXUna1cUj2sI33UqJE6szK6qs2CHufWOp3zcnN6
 Jh1yzxRJREcTNeioeO5O7h+yA+Ip0X0OOc0Xh3PB5pVIBWXQTuSNkbmgc/LOUpyP
 8r0bpj7+zjh3C3brdUiTU3g7jXtPXNRRr+Xvrwiuzn0J8EgDsYVAEPk06rCYKp8P
 NV7GC+r7tnFI0UaVcgWZpGMZlTOYsZnntMUZJYPycd0EuUa+8uwabb8xsd4PrIvh
 +D8Wo1jnEvM5P31I+cNk7FSVcumGF6x1qtxt/ZlqPk0vnpCQKlxfG64wXIWRqDWY
 8CYMT0cH6NRQR+/VY00seLRF7LQvOOW8y0R+7lIxwWdFbrTErAnlvbPwjv+ewrFj
 I6Z/PtnurmFT0hJaP3zd
 =Zz3r
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Merge "ARM: dts: Keystone DTS for 4.9" from Santosh Shilimkar

Add K2G nodes for GPIO, IRQ and Message Manager

* tag 'keystone_dts_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone-k2g: Add Message Manager node
  ARM: dts: keystone-k2g: Add DSP GPIO controller node
  ARM: dts: keystone-k2g: Add keystone IRQ controller node
  ARM: dts: keystone-k2g: Add device state controller node
  ARM: dts: keystone: specify usb mode explicitly
2016-09-13 16:21:02 +02:00
Bharat Kumar Gogada
c2a7ff18ed PCI: xilinx-nwl: Expand error logging
The current driver logs PCIe core errors.  Add logging for individual core
events.

[bhelgaas: changelog]
Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
2016-09-13 09:17:08 -05:00