فهرست منبع

Merge 4.2-rc3 into staging-next

We need the staging fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman 10 سال پیش
والد
کامیت
ed15e8880f
100فایلهای تغییر یافته به همراه1700 افزوده شده و 283 حذف شده
  1. 4 1
      .mailmap
  2. 2 4
      Documentation/ABI/testing/sysfs-bus-iio
  3. 1 1
      Documentation/DocBook/drm.tmpl
  4. 1 1
      Documentation/arm/SPEAr/overview.txt
  5. 17 1
      Documentation/arm/sunxi/README
  6. 6 0
      Documentation/device-mapper/cache.txt
  7. 8 1
      Documentation/device-mapper/thin-provisioning.txt
  8. 2 0
      Documentation/devicetree/bindings/arm/sunxi.txt
  9. 24 2
      Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt
  10. 1 0
      Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
  11. 8 0
      Documentation/kbuild/makefiles.txt
  12. 11 2
      Documentation/power/swsusp.txt
  13. 77 59
      MAINTAINERS
  14. 6 5
      Makefile
  15. 4 0
      arch/Kconfig
  16. 1 0
      arch/alpha/include/asm/Kbuild
  17. 0 15
      arch/alpha/include/asm/mm-arch-hooks.h
  18. 2 1
      arch/arc/Kconfig
  19. 2 1
      arch/arc/Makefile
  20. 1 1
      arch/arc/boot/dts/axc003.dtsi
  21. 1 1
      arch/arc/boot/dts/axc003_idu.dtsi
  22. 1 0
      arch/arc/include/asm/Kbuild
  23. 9 26
      arch/arc/include/asm/bitops.h
  24. 42 6
      arch/arc/include/asm/futex.h
  25. 0 15
      arch/arc/include/asm/mm-arch-hooks.h
  26. 1 1
      arch/arc/include/asm/ptrace.h
  27. 0 1
      arch/arc/kernel/intc-arcv2.c
  28. 0 1
      arch/arc/kernel/intc-compact.c
  29. 19 4
      arch/arc/kernel/mcip.c
  30. 10 5
      arch/arc/kernel/setup.c
  31. 0 1
      arch/arc/kernel/troubleshoot.c
  32. 10 2
      arch/arc/mm/cache.c
  33. 2 2
      arch/arc/mm/dma.c
  34. 6 0
      arch/arm/Kconfig
  35. 1 1
      arch/arm/Kconfig.debug
  36. 4 0
      arch/arm/boot/dts/am335x-boneblack.dts
  37. 13 3
      arch/arm/boot/dts/am335x-pepper.dts
  38. 7 0
      arch/arm/boot/dts/am4372.dtsi
  39. 4 0
      arch/arm/boot/dts/am57xx-beagle-x15.dts
  40. 1041 1
      arch/arm/boot/dts/atlas7.dtsi
  41. 4 0
      arch/arm/boot/dts/cros-ec-keyboard.dtsi
  42. 3 2
      arch/arm/boot/dts/dra7-evm.dts
  43. 3 2
      arch/arm/boot/dts/dra72-evm.dts
  44. 1 0
      arch/arm/boot/dts/imx23.dtsi
  45. 6 6
      arch/arm/boot/dts/imx27.dtsi
  46. 3 2
      arch/arm/boot/dts/imx53-qsb-common.dtsi
  47. 2 1
      arch/arm/boot/dts/k2e.dtsi
  48. 2 1
      arch/arm/boot/dts/keystone.dtsi
  49. 1 1
      arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
  50. 1 1
      arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
  51. 2 0
      arch/arm/boot/dts/omap4.dtsi
  52. 2 0
      arch/arm/boot/dts/omap5.dtsi
  53. 13 13
      arch/arm/boot/dts/socfpga_cyclone5_sockit.dts
  54. 1 1
      arch/arm/boot/dts/spear1310-evb.dts
  55. 1 1
      arch/arm/boot/dts/spear1310.dtsi
  56. 1 1
      arch/arm/boot/dts/spear1340-evb.dts
  57. 1 1
      arch/arm/boot/dts/spear1340.dtsi
  58. 1 1
      arch/arm/boot/dts/spear13xx.dtsi
  59. 1 1
      arch/arm/boot/dts/spear300-evb.dts
  60. 1 1
      arch/arm/boot/dts/spear300.dtsi
  61. 1 1
      arch/arm/boot/dts/spear310-evb.dts
  62. 1 1
      arch/arm/boot/dts/spear310.dtsi
  63. 1 1
      arch/arm/boot/dts/spear320-evb.dts
  64. 1 1
      arch/arm/boot/dts/spear320.dtsi
  65. 1 1
      arch/arm/boot/dts/spear3xx.dtsi
  66. 7 0
      arch/arm/boot/dts/ste-ccu8540.dts
  67. 7 0
      arch/arm/boot/dts/ste-ccu9540.dts
  68. 3 3
      arch/arm/boot/dts/ste-dbx5x0.dtsi
  69. 1 1
      arch/arm/boot/dts/ste-href.dtsi
  70. 7 0
      arch/arm/boot/dts/ste-hrefprev60-stuib.dts
  71. 7 0
      arch/arm/boot/dts/ste-hrefprev60-tvk.dts
  72. 5 0
      arch/arm/boot/dts/ste-hrefprev60.dtsi
  73. 7 0
      arch/arm/boot/dts/ste-hrefv60plus-stuib.dts
  74. 7 0
      arch/arm/boot/dts/ste-hrefv60plus-tvk.dts
  75. 23 2
      arch/arm/boot/dts/ste-hrefv60plus.dtsi
  76. 23 2
      arch/arm/boot/dts/ste-snowball.dts
  77. 23 2
      arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts
  78. 0 1
      arch/arm/configs/multi_v7_defconfig
  79. 5 1
      arch/arm/configs/sunxi_defconfig
  80. 1 0
      arch/arm/include/asm/Kbuild
  81. 58 17
      arch/arm/include/asm/io.h
  82. 2 2
      arch/arm/include/asm/memory.h
  83. 0 15
      arch/arm/include/asm/mm-arch-hooks.h
  84. 30 1
      arch/arm/include/asm/pgtable-2level.h
  85. 6 0
      arch/arm/kernel/armksyms.c
  86. 1 1
      arch/arm/kernel/entry-armv.S
  87. 2 1
      arch/arm/kernel/perf_event.c
  88. 1 1
      arch/arm/kernel/reboot.c
  89. 2 2
      arch/arm/kernel/smp.c
  90. 2 0
      arch/arm/lib/memcpy.S
  91. 2 0
      arch/arm/lib/memset.S
  92. 6 21
      arch/arm/mach-imx/gpc.c
  93. 1 0
      arch/arm/mach-omap2/Kconfig
  94. 0 1
      arch/arm/mach-omap2/dma.c
  95. 1 0
      arch/arm/mach-prima2/Kconfig
  96. 45 3
      arch/arm/mach-prima2/rtciobrg.c
  97. 3 0
      arch/arm/mach-pxa/capc7117.c
  98. 3 0
      arch/arm/mach-pxa/cm-x2xx.c
  99. 2 0
      arch/arm/mach-pxa/cm-x300.c
  100. 3 0
      arch/arm/mach-pxa/colibri-pxa270.c

+ 4 - 1
.mailmap

@@ -116,6 +116,7 @@ Shiraz Hashim <shiraz.linux.kernel@gmail.com> <shiraz.hashim@st.com>
 Simon Kelley <simon@thekelleys.org.uk>
 Simon Kelley <simon@thekelleys.org.uk>
 Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
 Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
 Stephen Hemminger <shemminger@osdl.org>
 Stephen Hemminger <shemminger@osdl.org>
+Sudeep Holla <sudeep.holla@arm.com> Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
 Sumit Semwal <sumit.semwal@ti.com>
 Sumit Semwal <sumit.semwal@ti.com>
 Tejun Heo <htejun@gmail.com>
 Tejun Heo <htejun@gmail.com>
 Thomas Graf <tgraf@suug.ch>
 Thomas Graf <tgraf@suug.ch>
@@ -125,7 +126,9 @@ Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
 Uwe Kleine-König <ukl@pengutronix.de>
 Uwe Kleine-König <ukl@pengutronix.de>
 Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
 Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
 Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
 Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
-Viresh Kumar <viresh.linux@gmail.com> <viresh.kumar@st.com>
+Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
+Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
+Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
 Takashi YOSHII <takashi.yoshii.zj@renesas.com>
 Takashi YOSHII <takashi.yoshii.zj@renesas.com>
 Yusuke Goda <goda.yusuke@renesas.com>
 Yusuke Goda <goda.yusuke@renesas.com>
 Gustavo Padovan <gustavo@las.ic.unicamp.br>
 Gustavo Padovan <gustavo@las.ic.unicamp.br>

+ 2 - 4
Documentation/ABI/testing/sysfs-bus-iio

@@ -1239,10 +1239,8 @@ Description:
 		object is near the sensor, usually be observing
 		object is near the sensor, usually be observing
 		reflectivity of infrared or ultrasound emitted.
 		reflectivity of infrared or ultrasound emitted.
 		Often these sensors are unit less and as such conversion
 		Often these sensors are unit less and as such conversion
-		to SI units is not possible.  Where it is, the units should
-		be meters.  If such a conversion is not possible, the reported
-		values should behave in the same way as a distance, i.e. lower
-		values indicate something is closer to the sensor.
+		to SI units is not possible. Higher proximity measurements
+		indicate closer objects, and vice versa.
 
 
 What:		/sys/.../iio:deviceX/in_illuminance_input
 What:		/sys/.../iio:deviceX/in_illuminance_input
 What:		/sys/.../iio:deviceX/in_illuminance_raw
 What:		/sys/.../iio:deviceX/in_illuminance_raw

+ 1 - 1
Documentation/DocBook/drm.tmpl

@@ -3383,7 +3383,7 @@ void intel_crt_init(struct drm_device *dev)
 	<td valign="top" >TBD</td>
 	<td valign="top" >TBD</td>
 	</tr>
 	</tr>
 	<tr>
 	<tr>
-	<td rowspan="2" valign="top" >omap</td>
+	<td valign="top" >omap</td>
 	<td valign="top" >Generic</td>
 	<td valign="top" >Generic</td>
 	<td valign="top" >“zorder”</td>
 	<td valign="top" >“zorder”</td>
 	<td valign="top" >RANGE</td>
 	<td valign="top" >RANGE</td>

+ 1 - 1
Documentation/arm/SPEAr/overview.txt

@@ -60,4 +60,4 @@ Introduction
   Document Author
   Document Author
   ---------------
   ---------------
 
 
-  Viresh Kumar <viresh.linux@gmail.com>, (c) 2010-2012 ST Microelectronics
+  Viresh Kumar <vireshk@kernel.org>, (c) 2010-2012 ST Microelectronics

+ 17 - 1
Documentation/arm/sunxi/README

@@ -36,7 +36,7 @@ SunXi family
         + User Manual
         + User Manual
           http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
           http://dl.linux-sunxi.org/A20/A20%20User%20Manual%202013-03-22.pdf
 
 
-      - Allwinner A23
+      - Allwinner A23 (sun8i)
         + Datasheet
         + Datasheet
           http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
           http://dl.linux-sunxi.org/A23/A23%20Datasheet%20V1.0%2020130830.pdf
         + User Manual
         + User Manual
@@ -55,7 +55,23 @@ SunXi family
         + User Manual
         + User Manual
           http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
           http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20User%20Manual%20%20V1.0%2020130322.pdf
 
 
+      - Allwinner A33 (sun8i)
+        + Datasheet
+          http://dl.linux-sunxi.org/A33/A33%20Datasheet%20release%201.1.pdf
+        + User Manual
+          http://dl.linux-sunxi.org/A33/A33%20user%20manual%20release%201.1.pdf
+
+      - Allwinner H3 (sun8i)
+        + Datasheet
+          http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf
+
     * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
     * Quad ARM Cortex-A15, Quad ARM Cortex-A7 based SoCs
       - Allwinner A80
       - Allwinner A80
         + Datasheet
         + Datasheet
 	  http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
 	  http://dl.linux-sunxi.org/A80/A80_Datasheet_Revision_1.0_0404.pdf
+
+    * Octa ARM Cortex-A7 based SoCs
+      - Allwinner A83T
+        + Not Supported
+        + Datasheet
+          http://dl.linux-sunxi.org/A83T/A83T_datasheet_Revision_1.1.pdf

+ 6 - 0
Documentation/device-mapper/cache.txt

@@ -258,6 +258,12 @@ cache metadata mode      : ro if read-only, rw if read-write
 	no further I/O will be permitted and the status will just
 	no further I/O will be permitted and the status will just
 	contain the string 'Fail'.  The userspace recovery tools
 	contain the string 'Fail'.  The userspace recovery tools
 	should then be used.
 	should then be used.
+needs_check		 : 'needs_check' if set, '-' if not set
+	A metadata operation has failed, resulting in the needs_check
+	flag being set in the metadata's superblock.  The metadata
+	device must be deactivated and checked/repaired before the
+	cache can be made fully operational again.  '-' indicates
+	needs_check is not set.
 
 
 Messages
 Messages
 --------
 --------

+ 8 - 1
Documentation/device-mapper/thin-provisioning.txt

@@ -296,7 +296,7 @@ ii) Status
 	underlying device.  When this is enabled when loading the table,
 	underlying device.  When this is enabled when loading the table,
 	it can get disabled if the underlying device doesn't support it.
 	it can get disabled if the underlying device doesn't support it.
 
 
-    ro|rw
+    ro|rw|out_of_data_space
 	If the pool encounters certain types of device failures it will
 	If the pool encounters certain types of device failures it will
 	drop into a read-only metadata mode in which no changes to
 	drop into a read-only metadata mode in which no changes to
 	the pool metadata (like allocating new blocks) are permitted.
 	the pool metadata (like allocating new blocks) are permitted.
@@ -314,6 +314,13 @@ ii) Status
 	module parameter can be used to change this timeout -- it
 	module parameter can be used to change this timeout -- it
 	defaults to 60 seconds but may be disabled using a value of 0.
 	defaults to 60 seconds but may be disabled using a value of 0.
 
 
+    needs_check
+	A metadata operation has failed, resulting in the needs_check
+	flag being set in the metadata's superblock.  The metadata
+	device must be deactivated and checked/repaired before the
+	thin-pool can be made fully operational again.  '-' indicates
+	needs_check is not set.
+
 iii) Messages
 iii) Messages
 
 
     create_thin <dev id>
     create_thin <dev id>

+ 2 - 0
Documentation/devicetree/bindings/arm/sunxi.txt

@@ -9,4 +9,6 @@ using one of the following compatible strings:
   allwinner,sun6i-a31
   allwinner,sun6i-a31
   allwinner,sun7i-a20
   allwinner,sun7i-a20
   allwinner,sun8i-a23
   allwinner,sun8i-a23
+  allwinner,sun8i-a33
+  allwinner,sun8i-h3
   allwinner,sun9i-a80
   allwinner,sun9i-a80

+ 24 - 2
Documentation/devicetree/bindings/drm/imx/fsl-imx-drm.txt

@@ -65,8 +65,10 @@ Optional properties:
 - edid: verbatim EDID data block describing attached display.
 - edid: verbatim EDID data block describing attached display.
 - ddc: phandle describing the i2c bus handling the display data
 - ddc: phandle describing the i2c bus handling the display data
   channel
   channel
-- port: A port node with endpoint definitions as defined in
+- port@[0-1]: Port nodes with endpoint definitions as defined in
   Documentation/devicetree/bindings/media/video-interfaces.txt.
   Documentation/devicetree/bindings/media/video-interfaces.txt.
+  Port 0 is the input port connected to the IPU display interface,
+  port 1 is the output port connected to a panel.
 
 
 example:
 example:
 
 
@@ -75,9 +77,29 @@ display@di0 {
 	edid = [edid-data];
 	edid = [edid-data];
 	interface-pix-fmt = "rgb24";
 	interface-pix-fmt = "rgb24";
 
 
-	port {
+	port@0 {
+		reg = <0>;
+
 		display_in: endpoint {
 		display_in: endpoint {
 			remote-endpoint = <&ipu_di0_disp0>;
 			remote-endpoint = <&ipu_di0_disp0>;
 		};
 		};
 	};
 	};
+
+	port@1 {
+		reg = <1>;
+
+		display_out: endpoint {
+			remote-endpoint = <&panel_in>;
+		};
+	};
+};
+
+panel {
+	...
+
+	port {
+		panel_in: endpoint {
+			remote-endpoint = <&display_out>;
+		};
+	};
 };
 };

+ 1 - 0
Documentation/devicetree/bindings/memory-controllers/ti/emif.txt

@@ -8,6 +8,7 @@ of the EMIF IP and memory parts attached to it.
 Required properties:
 Required properties:
 - compatible	: Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
 - compatible	: Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
   is the IP revision of the specific EMIF instance.
   is the IP revision of the specific EMIF instance.
+		  For am437x should be ti,emif-am4372.
 
 
 - phy-type	: <u32> indicating the DDR phy type. Following are the
 - phy-type	: <u32> indicating the DDR phy type. Following are the
   allowed values
   allowed values

+ 8 - 0
Documentation/kbuild/makefiles.txt

@@ -952,6 +952,14 @@ When kbuild executes, the following steps are followed (roughly):
 	$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
 	$(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
 	mode) if this option is supported by $(AR).
 	mode) if this option is supported by $(AR).
 
 
+    ARCH_CPPFLAGS, ARCH_AFLAGS, ARCH_CFLAGS   Overrides the kbuild defaults
+
+	These variables are appended to the KBUILD_CPPFLAGS,
+	KBUILD_AFLAGS, and KBUILD_CFLAGS, respectively, after the
+	top-level Makefile has set any other flags. This provides a
+	means for an architecture to override the defaults.
+
+
 --- 6.2 Add prerequisites to archheaders:
 --- 6.2 Add prerequisites to archheaders:
 
 
 	The archheaders: rule is used to generate header files that
 	The archheaders: rule is used to generate header files that

+ 11 - 2
Documentation/power/swsusp.txt

@@ -410,8 +410,17 @@ Documentation/usb/persist.txt.
 
 
 Q: Can I suspend-to-disk using a swap partition under LVM?
 Q: Can I suspend-to-disk using a swap partition under LVM?
 
 
-A: No. You can suspend successfully, but you'll not be able to
-resume. uswsusp should be able to work with LVM. See suspend.sf.net.
+A: Yes and No.  You can suspend successfully, but the kernel will not be able
+to resume on its own.  You need an initramfs that can recognize the resume
+situation, activate the logical volume containing the swap volume (but not
+touch any filesystems!), and eventually call
+
+echo -n "$major:$minor" > /sys/power/resume
+
+where $major and $minor are the respective major and minor device numbers of
+the swap volume.
+
+uswsusp works with LVM, too.  See http://suspend.sourceforge.net/
 
 
 Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were
 Q: I upgraded the kernel from 2.6.15 to 2.6.16. Both kernels were
 compiled with the similar configuration files. Anyway I found that
 compiled with the similar configuration files. Anyway I found that

+ 77 - 59
MAINTAINERS

@@ -361,11 +361,11 @@ S:	Supported
 F:	drivers/input/touchscreen/ad7879.c
 F:	drivers/input/touchscreen/ad7879.c
 
 
 ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
 ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 S:	Maintained
 S:	Maintained
 
 
 ADM1025 HARDWARE MONITOR DRIVER
 ADM1025 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/adm1025
 F:	Documentation/hwmon/adm1025
@@ -430,7 +430,7 @@ S:	Maintained
 F:	drivers/macintosh/therm_adt746x.c
 F:	drivers/macintosh/therm_adt746x.c
 
 
 ADT7475 HARDWARE MONITOR DRIVER
 ADT7475 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/adt7475
 F:	Documentation/hwmon/adt7475
@@ -445,7 +445,7 @@ F:	drivers/input/misc/adxl34x.c
 
 
 ADVANSYS SCSI DRIVER
 ADVANSYS SCSI DRIVER
 M:	Matthew Wilcox <matthew@wil.cx>
 M:	Matthew Wilcox <matthew@wil.cx>
-M:	Hannes Reinecke <hare@suse.de>
+M:	Hannes Reinecke <hare@suse.com>
 L:	linux-scsi@vger.kernel.org
 L:	linux-scsi@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/scsi/advansys.txt
 F:	Documentation/scsi/advansys.txt
@@ -506,7 +506,7 @@ F:	drivers/scsi/aha152x*
 F:	drivers/scsi/pcmcia/aha152x*
 F:	drivers/scsi/pcmcia/aha152x*
 
 
 AIC7XXX / AIC79XX SCSI DRIVER
 AIC7XXX / AIC79XX SCSI DRIVER
-M:	Hannes Reinecke <hare@suse.de>
+M:	Hannes Reinecke <hare@suse.com>
 L:	linux-scsi@vger.kernel.org
 L:	linux-scsi@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/scsi/aic7xxx/
 F:	drivers/scsi/aic7xxx/
@@ -746,7 +746,7 @@ S:	Maintained
 F:	sound/aoa/
 F:	sound/aoa/
 
 
 APM DRIVER
 APM DRIVER
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 S:	Odd fixes
 S:	Odd fixes
 F:	arch/x86/kernel/apm_32.c
 F:	arch/x86/kernel/apm_32.c
 F:	include/linux/apm_bios.h
 F:	include/linux/apm_bios.h
@@ -1001,6 +1001,7 @@ ARM/CONEXANT DIGICOLOR MACHINE SUPPORT
 M:	Baruch Siach <baruch@tkos.co.il>
 M:	Baruch Siach <baruch@tkos.co.il>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
+F:	arch/arm/boot/dts/cx92755*
 N:	digicolor
 N:	digicolor
 
 
 ARM/EBSA110 MACHINE SUPPORT
 ARM/EBSA110 MACHINE SUPPORT
@@ -1324,7 +1325,7 @@ F:	arch/arm/mach-pxa/include/mach/palmtc.h
 F:	arch/arm/mach-pxa/palmtc.c
 F:	arch/arm/mach-pxa/palmtc.c
 
 
 ARM/PALM TREO SUPPORT
 ARM/PALM TREO SUPPORT
-M:	Tomas Cech <sleep_walker@suse.cz>
+M:	Tomas Cech <sleep_walker@suse.com>
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 W:	http://hackndev.com
 W:	http://hackndev.com
 S:	Maintained
 S:	Maintained
@@ -1614,6 +1615,7 @@ M:	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	arch/arm/boot/dts/vexpress*
 F:	arch/arm/boot/dts/vexpress*
+F:	arch/arm64/boot/dts/arm/vexpress*
 F:	arch/arm/mach-vexpress/
 F:	arch/arm/mach-vexpress/
 F:	*/*/vexpress*
 F:	*/*/vexpress*
 F:	*/*/*/vexpress*
 F:	*/*/*/vexpress*
@@ -2404,7 +2406,7 @@ F:	drivers/gpio/gpio-bt8xx.c
 BTRFS FILE SYSTEM
 BTRFS FILE SYSTEM
 M:	Chris Mason <clm@fb.com>
 M:	Chris Mason <clm@fb.com>
 M:	Josef Bacik <jbacik@fb.com>
 M:	Josef Bacik <jbacik@fb.com>
-M:	David Sterba <dsterba@suse.cz>
+M:	David Sterba <dsterba@suse.com>
 L:	linux-btrfs@vger.kernel.org
 L:	linux-btrfs@vger.kernel.org
 W:	http://btrfs.wiki.kernel.org/
 W:	http://btrfs.wiki.kernel.org/
 Q:	http://patchwork.kernel.org/project/linux-btrfs/list/
 Q:	http://patchwork.kernel.org/project/linux-btrfs/list/
@@ -2562,19 +2564,31 @@ F:	arch/powerpc/include/uapi/asm/spu*.h
 F:	arch/powerpc/oprofile/*cell*
 F:	arch/powerpc/oprofile/*cell*
 F:	arch/powerpc/platforms/cell/
 F:	arch/powerpc/platforms/cell/
 
 
-CEPH DISTRIBUTED FILE SYSTEM CLIENT
+CEPH COMMON CODE (LIBCEPH)
+M:	Ilya Dryomov <idryomov@gmail.com>
 M:	"Yan, Zheng" <zyan@redhat.com>
 M:	"Yan, Zheng" <zyan@redhat.com>
 M:	Sage Weil <sage@redhat.com>
 M:	Sage Weil <sage@redhat.com>
 L:	ceph-devel@vger.kernel.org
 L:	ceph-devel@vger.kernel.org
 W:	http://ceph.com/
 W:	http://ceph.com/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
+T:	git git://github.com/ceph/ceph-client.git
 S:	Supported
 S:	Supported
-F:	Documentation/filesystems/ceph.txt
-F:	fs/ceph/
 F:	net/ceph/
 F:	net/ceph/
 F:	include/linux/ceph/
 F:	include/linux/ceph/
 F:	include/linux/crush/
 F:	include/linux/crush/
 
 
+CEPH DISTRIBUTED FILE SYSTEM CLIENT (CEPH)
+M:	"Yan, Zheng" <zyan@redhat.com>
+M:	Sage Weil <sage@redhat.com>
+M:	Ilya Dryomov <idryomov@gmail.com>
+L:	ceph-devel@vger.kernel.org
+W:	http://ceph.com/
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
+T:	git git://github.com/ceph/ceph-client.git
+S:	Supported
+F:	Documentation/filesystems/ceph.txt
+F:	fs/ceph/
+
 CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
 CERTIFIED WIRELESS USB (WUSB) SUBSYSTEM:
 L:	linux-usb@vger.kernel.org
 L:	linux-usb@vger.kernel.org
 S:	Orphan
 S:	Orphan
@@ -2735,7 +2749,7 @@ COCCINELLE/Semantic Patches (SmPL)
 M:	Julia Lawall <Julia.Lawall@lip6.fr>
 M:	Julia Lawall <Julia.Lawall@lip6.fr>
 M:	Gilles Muller <Gilles.Muller@lip6.fr>
 M:	Gilles Muller <Gilles.Muller@lip6.fr>
 M:	Nicolas Palix <nicolas.palix@imag.fr>
 M:	Nicolas Palix <nicolas.palix@imag.fr>
-M:	Michal Marek <mmarek@suse.cz>
+M:	Michal Marek <mmarek@suse.com>
 L:	cocci@systeme.lip6.fr (moderated for non-subscribers)
 L:	cocci@systeme.lip6.fr (moderated for non-subscribers)
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git misc
 W:	http://coccinelle.lip6.fr/
 W:	http://coccinelle.lip6.fr/
@@ -2851,7 +2865,7 @@ F:	kernel/cpuset.c
 
 
 CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
 CONTROL GROUP - MEMORY RESOURCE CONTROLLER (MEMCG)
 M:	Johannes Weiner <hannes@cmpxchg.org>
 M:	Johannes Weiner <hannes@cmpxchg.org>
-M:	Michal Hocko <mhocko@suse.cz>
+M:	Michal Hocko <mhocko@kernel.org>
 L:	cgroups@vger.kernel.org
 L:	cgroups@vger.kernel.org
 L:	linux-mm@kvack.org
 L:	linux-mm@kvack.org
 S:	Maintained
 S:	Maintained
@@ -2932,7 +2946,7 @@ F:	arch/x86/kernel/cpuid.c
 F:	arch/x86/kernel/msr.c
 F:	arch/x86/kernel/msr.c
 
 
 CPU POWER MONITORING SUBSYSTEM
 CPU POWER MONITORING SUBSYSTEM
-M:	Thomas Renninger <trenn@suse.de>
+M:	Thomas Renninger <trenn@suse.com>
 L:	linux-pm@vger.kernel.org
 L:	linux-pm@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	tools/power/cpupower/
 F:	tools/power/cpupower/
@@ -3162,7 +3176,7 @@ F:	Documentation/networking/dmfe.txt
 F:	drivers/net/ethernet/dec/tulip/dmfe.c
 F:	drivers/net/ethernet/dec/tulip/dmfe.c
 
 
 DC390/AM53C974 SCSI driver
 DC390/AM53C974 SCSI driver
-M:	Hannes Reinecke <hare@suse.de>
+M:	Hannes Reinecke <hare@suse.com>
 L:	linux-scsi@vger.kernel.org
 L:	linux-scsi@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/scsi/am53c974.c
 F:	drivers/scsi/am53c974.c
@@ -3366,7 +3380,7 @@ W:	http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
 S:	Maintained
 S:	Maintained
 
 
 DISKQUOTA
 DISKQUOTA
-M:	Jan Kara <jack@suse.cz>
+M:	Jan Kara <jack@suse.com>
 S:	Maintained
 S:	Maintained
 F:	Documentation/filesystems/quota.txt
 F:	Documentation/filesystems/quota.txt
 F:	fs/quota/
 F:	fs/quota/
@@ -3422,7 +3436,7 @@ F:	Documentation/hwmon/dme1737
 F:	drivers/hwmon/dme1737.c
 F:	drivers/hwmon/dme1737.c
 
 
 DMI/SMBIOS SUPPORT
 DMI/SMBIOS SUPPORT
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 S:	Maintained
 S:	Maintained
 T:	quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
 T:	quilt http://jdelvare.nerim.net/devel/linux/jdelvare-dmi/
 F:	Documentation/ABI/testing/sysfs-firmware-dmi-tables
 F:	Documentation/ABI/testing/sysfs-firmware-dmi-tables
@@ -4038,7 +4052,7 @@ F:	drivers/of/of_mdio.c
 F:	drivers/of/of_net.c
 F:	drivers/of/of_net.c
 
 
 EXT2 FILE SYSTEM
 EXT2 FILE SYSTEM
-M:	Jan Kara <jack@suse.cz>
+M:	Jan Kara <jack@suse.com>
 L:	linux-ext4@vger.kernel.org
 L:	linux-ext4@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/filesystems/ext2.txt
 F:	Documentation/filesystems/ext2.txt
@@ -4046,7 +4060,7 @@ F:	fs/ext2/
 F:	include/linux/ext2*
 F:	include/linux/ext2*
 
 
 EXT3 FILE SYSTEM
 EXT3 FILE SYSTEM
-M:	Jan Kara <jack@suse.cz>
+M:	Jan Kara <jack@suse.com>
 M:	Andrew Morton <akpm@linux-foundation.org>
 M:	Andrew Morton <akpm@linux-foundation.org>
 M:	Andreas Dilger <adilger.kernel@dilger.ca>
 M:	Andreas Dilger <adilger.kernel@dilger.ca>
 L:	linux-ext4@vger.kernel.org
 L:	linux-ext4@vger.kernel.org
@@ -4096,7 +4110,7 @@ F:	drivers/video/fbdev/exynos/exynos_mipi*
 F:	include/video/exynos_mipi*
 F:	include/video/exynos_mipi*
 
 
 F71805F HARDWARE MONITORING DRIVER
 F71805F HARDWARE MONITORING DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/f71805f
 F:	Documentation/hwmon/f71805f
@@ -4231,7 +4245,7 @@ S:	Maintained
 F:	drivers/block/rsxx/
 F:	drivers/block/rsxx/
 
 
 FLOPPY DRIVER
 FLOPPY DRIVER
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git
 S:	Odd fixes
 S:	Odd fixes
 F:	drivers/block/floppy.c
 F:	drivers/block/floppy.c
@@ -4652,7 +4666,7 @@ F:	drivers/media/usb/stk1160/
 
 
 H8/300 ARCHITECTURE
 H8/300 ARCHITECTURE
 M:	Yoshinori Sato <ysato@users.sourceforge.jp>
 M:	Yoshinori Sato <ysato@users.sourceforge.jp>
-L:	uclinux-h8-devel@lists.sourceforge.jp
+L:	uclinux-h8-devel@lists.sourceforge.jp (moderated for non-subscribers)
 W:	http://uclinux-h8.sourceforge.jp
 W:	http://uclinux-h8.sourceforge.jp
 T:	git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
 T:	git git://git.sourceforge.jp/gitroot/uclinux-h8/linux.git
 S:	Maintained
 S:	Maintained
@@ -4699,7 +4713,7 @@ S:	Maintained
 F:	drivers/media/usb/hackrf/
 F:	drivers/media/usb/hackrf/
 
 
 HARDWARE MONITORING
 HARDWARE MONITORING
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 M:	Guenter Roeck <linux@roeck-us.net>
 M:	Guenter Roeck <linux@roeck-us.net>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 W:	http://www.lm-sensors.org/
 W:	http://www.lm-sensors.org/
@@ -4802,7 +4816,7 @@ F:	include/linux/pm.h
 F:	arch/*/include/asm/suspend*.h
 F:	arch/*/include/asm/suspend*.h
 
 
 HID CORE LAYER
 HID CORE LAYER
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 L:	linux-input@vger.kernel.org
 L:	linux-input@vger.kernel.org
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
 S:	Maintained
 S:	Maintained
@@ -4811,7 +4825,7 @@ F:	include/linux/hid*
 F:	include/uapi/linux/hid*
 F:	include/uapi/linux/hid*
 
 
 HID SENSOR HUB DRIVERS
 HID SENSOR HUB DRIVERS
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 M:	Jonathan Cameron <jic23@kernel.org>
 M:	Jonathan Cameron <jic23@kernel.org>
 M:	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
 M:	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
 L:	linux-input@vger.kernel.org
 L:	linux-input@vger.kernel.org
@@ -4945,7 +4959,7 @@ F:	include/linux/hyperv.h
 F:	tools/hv/
 F:	tools/hv/
 
 
 I2C OVER PARALLEL PORT
 I2C OVER PARALLEL PORT
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	linux-i2c@vger.kernel.org
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/i2c/busses/i2c-parport
 F:	Documentation/i2c/busses/i2c-parport
@@ -4954,7 +4968,7 @@ F:	drivers/i2c/busses/i2c-parport.c
 F:	drivers/i2c/busses/i2c-parport-light.c
 F:	drivers/i2c/busses/i2c-parport-light.c
 
 
 I2C/SMBUS CONTROLLER DRIVERS FOR PC
 I2C/SMBUS CONTROLLER DRIVERS FOR PC
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	linux-i2c@vger.kernel.org
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/i2c/busses/i2c-ali1535
 F:	Documentation/i2c/busses/i2c-ali1535
@@ -4995,7 +5009,7 @@ F:	drivers/i2c/busses/i2c-ismt.c
 F:	Documentation/i2c/busses/i2c-ismt
 F:	Documentation/i2c/busses/i2c-ismt
 
 
 I2C/SMBUS STUB DRIVER
 I2C/SMBUS STUB DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	linux-i2c@vger.kernel.org
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/i2c/i2c-stub.c
 F:	drivers/i2c/i2c-stub.c
@@ -5022,7 +5036,7 @@ L:	linux-acpi@vger.kernel.org
 S:	Maintained
 S:	Maintained
 
 
 I2C-TAOS-EVM DRIVER
 I2C-TAOS-EVM DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	linux-i2c@vger.kernel.org
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/i2c/busses/i2c-taos-evm
 F:	Documentation/i2c/busses/i2c-taos-evm
@@ -5551,8 +5565,8 @@ F:	include/uapi/linux/ip_vs.h
 F:	net/netfilter/ipvs/
 F:	net/netfilter/ipvs/
 
 
 IPWIRELESS DRIVER
 IPWIRELESS DRIVER
-M:	Jiri Kosina <jkosina@suse.cz>
-M:	David Sterba <dsterba@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
+M:	David Sterba <dsterba@suse.com>
 S:	Odd Fixes
 S:	Odd Fixes
 F:	drivers/tty/ipwireless/
 F:	drivers/tty/ipwireless/
 
 
@@ -5672,7 +5686,7 @@ S:	Maintained
 F:	drivers/isdn/hardware/eicon/
 F:	drivers/isdn/hardware/eicon/
 
 
 IT87 HARDWARE MONITORING DRIVER
 IT87 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/it87
 F:	Documentation/hwmon/it87
@@ -5739,7 +5753,7 @@ F:	include/uapi/linux/jffs2.h
 
 
 JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
 JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
 M:	Andrew Morton <akpm@linux-foundation.org>
 M:	Andrew Morton <akpm@linux-foundation.org>
-M:	Jan Kara <jack@suse.cz>
+M:	Jan Kara <jack@suse.com>
 L:	linux-ext4@vger.kernel.org
 L:	linux-ext4@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	fs/jbd/
 F:	fs/jbd/
@@ -5803,7 +5817,7 @@ S:	Maintained
 F:	fs/autofs4/
 F:	fs/autofs4/
 
 
 KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
 KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
-M:	Michal Marek <mmarek@suse.cz>
+M:	Michal Marek <mmarek@suse.com>
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git for-next
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild.git rc-fixes
 L:	linux-kbuild@vger.kernel.org
 L:	linux-kbuild@vger.kernel.org
@@ -5867,7 +5881,7 @@ F:	arch/x86/include/asm/svm.h
 F:	arch/x86/kvm/svm.c
 F:	arch/x86/kvm/svm.c
 
 
 KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
 KERNEL VIRTUAL MACHINE (KVM) FOR POWERPC
-M:	Alexander Graf <agraf@suse.de>
+M:	Alexander Graf <agraf@suse.com>
 L:	kvm-ppc@vger.kernel.org
 L:	kvm-ppc@vger.kernel.org
 W:	http://kvm.qumranet.com
 W:	http://kvm.qumranet.com
 T:	git git://github.com/agraf/linux-2.6.git
 T:	git git://github.com/agraf/linux-2.6.git
@@ -6024,7 +6038,7 @@ F:	drivers/leds/
 F:	include/linux/leds.h
 F:	include/linux/leds.h
 
 
 LEGACY EEPROM DRIVER
 LEGACY EEPROM DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 S:	Maintained
 S:	Maintained
 F:	Documentation/misc-devices/eeprom
 F:	Documentation/misc-devices/eeprom
 F:	drivers/misc/eeprom/eeprom.c
 F:	drivers/misc/eeprom/eeprom.c
@@ -6077,7 +6091,7 @@ F:	include/linux/ata.h
 F:	include/linux/libata.h
 F:	include/linux/libata.h
 
 
 LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
 LIBATA PATA ARASAN COMPACT FLASH CONTROLLER
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 L:	linux-ide@vger.kernel.org
 L:	linux-ide@vger.kernel.org
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git
 S:	Maintained
 S:	Maintained
@@ -6147,6 +6161,7 @@ L:	linux-nvdimm@lists.01.org
 Q:	https://patchwork.kernel.org/project/linux-nvdimm/list/
 Q:	https://patchwork.kernel.org/project/linux-nvdimm/list/
 S:	Supported
 S:	Supported
 F:	drivers/nvdimm/pmem.c
 F:	drivers/nvdimm/pmem.c
+F:	include/linux/pmem.h
 
 
 LINUX FOR IBM pSERIES (RS/6000)
 LINUX FOR IBM pSERIES (RS/6000)
 M:	Paul Mackerras <paulus@au.ibm.com>
 M:	Paul Mackerras <paulus@au.ibm.com>
@@ -6161,7 +6176,7 @@ M:	Michael Ellerman <mpe@ellerman.id.au>
 W:	http://www.penguinppc.org/
 W:	http://www.penguinppc.org/
 L:	linuxppc-dev@lists.ozlabs.org
 L:	linuxppc-dev@lists.ozlabs.org
 Q:	http://patchwork.ozlabs.org/project/linuxppc-dev/list/
 Q:	http://patchwork.ozlabs.org/project/linuxppc-dev/list/
-T:	git git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
 S:	Supported
 S:	Supported
 F:	Documentation/powerpc/
 F:	Documentation/powerpc/
 F:	arch/powerpc/
 F:	arch/powerpc/
@@ -6237,8 +6252,8 @@ F:	drivers/platform/x86/hp_accel.c
 LIVE PATCHING
 LIVE PATCHING
 M:	Josh Poimboeuf <jpoimboe@redhat.com>
 M:	Josh Poimboeuf <jpoimboe@redhat.com>
 M:	Seth Jennings <sjenning@redhat.com>
 M:	Seth Jennings <sjenning@redhat.com>
-M:	Jiri Kosina <jkosina@suse.cz>
-M:	Vojtech Pavlik <vojtech@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
+M:	Vojtech Pavlik <vojtech@suse.com>
 S:	Maintained
 S:	Maintained
 F:	kernel/livepatch/
 F:	kernel/livepatch/
 F:	include/linux/livepatch.h
 F:	include/linux/livepatch.h
@@ -6264,21 +6279,21 @@ S:	Maintained
 F:	drivers/hwmon/lm73.c
 F:	drivers/hwmon/lm73.c
 
 
 LM78 HARDWARE MONITOR DRIVER
 LM78 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/lm78
 F:	Documentation/hwmon/lm78
 F:	drivers/hwmon/lm78.c
 F:	drivers/hwmon/lm78.c
 
 
 LM83 HARDWARE MONITOR DRIVER
 LM83 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/lm83
 F:	Documentation/hwmon/lm83
 F:	drivers/hwmon/lm83.c
 F:	drivers/hwmon/lm83.c
 
 
 LM90 HARDWARE MONITOR DRIVER
 LM90 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/lm90
 F:	Documentation/hwmon/lm90
@@ -7005,6 +7020,7 @@ F:	include/uapi/linux/netfilter/
 F:	net/*/netfilter.c
 F:	net/*/netfilter.c
 F:	net/*/netfilter/
 F:	net/*/netfilter/
 F:	net/netfilter/
 F:	net/netfilter/
+F:	net/bridge/br_netfilter*.c
 
 
 NETLABEL
 NETLABEL
 M:	Paul Moore <paul@paul-moore.com>
 M:	Paul Moore <paul@paul-moore.com>
@@ -7704,7 +7720,7 @@ S:	Maintained
 F:	drivers/char/pc8736x_gpio.c
 F:	drivers/char/pc8736x_gpio.c
 
 
 PC87427 HARDWARE MONITORING DRIVER
 PC87427 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/pc87427
 F:	Documentation/hwmon/pc87427
@@ -7981,7 +7997,7 @@ S:	Maintained
 F:	drivers/pinctrl/samsung/
 F:	drivers/pinctrl/samsung/
 
 
 PIN CONTROLLER - ST SPEAR
 PIN CONTROLLER - ST SPEAR
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 L:	spear-devel@list.st.com
 L:	spear-devel@list.st.com
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 W:	http://www.st.com/spear
 W:	http://www.st.com/spear
@@ -7989,7 +8005,7 @@ S:	Maintained
 F:	drivers/pinctrl/spear/
 F:	drivers/pinctrl/spear/
 
 
 PKTCDVD DRIVER
 PKTCDVD DRIVER
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 S:	Maintained
 S:	Maintained
 F:	drivers/block/pktcdvd.c
 F:	drivers/block/pktcdvd.c
 F:	include/linux/pktcdvd.h
 F:	include/linux/pktcdvd.h
@@ -8366,10 +8382,12 @@ RADOS BLOCK DEVICE (RBD)
 M:	Ilya Dryomov <idryomov@gmail.com>
 M:	Ilya Dryomov <idryomov@gmail.com>
 M:	Sage Weil <sage@redhat.com>
 M:	Sage Weil <sage@redhat.com>
 M:	Alex Elder <elder@kernel.org>
 M:	Alex Elder <elder@kernel.org>
-M:	ceph-devel@vger.kernel.org
+L:	ceph-devel@vger.kernel.org
 W:	http://ceph.com/
 W:	http://ceph.com/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
+T:	git git://github.com/ceph/ceph-client.git
 S:	Supported
 S:	Supported
+F:	Documentation/ABI/testing/sysfs-bus-rbd
 F:	drivers/block/rbd.c
 F:	drivers/block/rbd.c
 F:	drivers/block/rbd_types.h
 F:	drivers/block/rbd_types.h
 
 
@@ -8878,7 +8896,7 @@ S:	Maintained
 F:	drivers/tty/serial/
 F:	drivers/tty/serial/
 
 
 SYNOPSYS DESIGNWARE DMAC DRIVER
 SYNOPSYS DESIGNWARE DMAC DRIVER
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 M:	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 M:	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
 S:	Maintained
 S:	Maintained
 F:	include/linux/dma/dw.h
 F:	include/linux/dma/dw.h
@@ -9045,7 +9063,7 @@ S:	Maintained
 F:	drivers/mmc/host/sdhci-s3c*
 F:	drivers/mmc/host/sdhci-s3c*
 
 
 SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 L:	spear-devel@list.st.com
 L:	spear-devel@list.st.com
 L:	linux-mmc@vger.kernel.org
 L:	linux-mmc@vger.kernel.org
 S:	Maintained
 S:	Maintained
@@ -9407,7 +9425,7 @@ F:	Documentation/hwmon/sch5627
 F:	drivers/hwmon/sch5627.c
 F:	drivers/hwmon/sch5627.c
 
 
 SMSC47B397 HARDWARE MONITOR DRIVER
 SMSC47B397 HARDWARE MONITOR DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/hwmon/smsc47b397
 F:	Documentation/hwmon/smsc47b397
@@ -9456,7 +9474,7 @@ S:	Supported
 F:	drivers/media/pci/solo6x10/
 F:	drivers/media/pci/solo6x10/
 
 
 SOFTWARE RAID (Multiple Disks) SUPPORT
 SOFTWARE RAID (Multiple Disks) SUPPORT
-M:	Neil Brown <neilb@suse.de>
+M:	Neil Brown <neilb@suse.com>
 L:	linux-raid@vger.kernel.org
 L:	linux-raid@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	drivers/md/
 F:	drivers/md/
@@ -9499,7 +9517,7 @@ F:	drivers/memstick/core/ms_block.*
 
 
 SOUND
 SOUND
 M:	Jaroslav Kysela <perex@perex.cz>
 M:	Jaroslav Kysela <perex@perex.cz>
-M:	Takashi Iwai <tiwai@suse.de>
+M:	Takashi Iwai <tiwai@suse.com>
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 W:	http://www.alsa-project.org/
 W:	http://www.alsa-project.org/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
@@ -9583,7 +9601,7 @@ S:	Maintained
 F:	include/linux/compiler.h
 F:	include/linux/compiler.h
 
 
 SPEAR PLATFORM SUPPORT
 SPEAR PLATFORM SUPPORT
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 M:	Shiraz Hashim <shiraz.linux.kernel@gmail.com>
 M:	Shiraz Hashim <shiraz.linux.kernel@gmail.com>
 L:	spear-devel@list.st.com
 L:	spear-devel@list.st.com
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -9592,7 +9610,7 @@ S:	Maintained
 F:	arch/arm/mach-spear/
 F:	arch/arm/mach-spear/
 
 
 SPEAR CLOCK FRAMEWORK SUPPORT
 SPEAR CLOCK FRAMEWORK SUPPORT
-M:	Viresh Kumar <viresh.linux@gmail.com>
+M:	Viresh Kumar <vireshk@kernel.org>
 L:	spear-devel@list.st.com
 L:	spear-devel@list.st.com
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 W:	http://www.st.com/spear
 W:	http://www.st.com/spear
@@ -10382,7 +10400,7 @@ K:	^Subject:.*(?i)trivial
 
 
 TTY LAYER
 TTY LAYER
 M:	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 M:	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-M:	Jiri Slaby <jslaby@suse.cz>
+M:	Jiri Slaby <jslaby@suse.com>
 S:	Supported
 S:	Supported
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
 F:	Documentation/serial/
 F:	Documentation/serial/
@@ -10456,7 +10474,7 @@ F:	arch/m68k/*/*_no.*
 F:	arch/m68k/include/asm/*_no.*
 F:	arch/m68k/include/asm/*_no.*
 
 
 UDF FILESYSTEM
 UDF FILESYSTEM
-M:	Jan Kara <jack@suse.cz>
+M:	Jan Kara <jack@suse.com>
 S:	Maintained
 S:	Maintained
 F:	Documentation/filesystems/udf.txt
 F:	Documentation/filesystems/udf.txt
 F:	fs/udf/
 F:	fs/udf/
@@ -10599,7 +10617,7 @@ F:	drivers/usb/gadget/
 F:	include/linux/usb/gadget*
 F:	include/linux/usb/gadget*
 
 
 USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
 USB HID/HIDBP DRIVERS (USB KEYBOARDS, MICE, REMOTE CONTROLS, ...)
-M:	Jiri Kosina <jkosina@suse.cz>
+M:	Jiri Kosina <jkosina@suse.com>
 L:	linux-usb@vger.kernel.org
 L:	linux-usb@vger.kernel.org
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
 S:	Maintained
 S:	Maintained
@@ -10724,7 +10742,7 @@ S:	Maintained
 F:	drivers/usb/host/uhci*
 F:	drivers/usb/host/uhci*
 
 
 USB "USBNET" DRIVER FRAMEWORK
 USB "USBNET" DRIVER FRAMEWORK
-M:	Oliver Neukum <oneukum@suse.de>
+M:	Oliver Neukum <oneukum@suse.com>
 L:	netdev@vger.kernel.org
 L:	netdev@vger.kernel.org
 W:	http://www.linux-usb.org/usbnet
 W:	http://www.linux-usb.org/usbnet
 S:	Maintained
 S:	Maintained
@@ -11051,7 +11069,7 @@ F:	Documentation/hwmon/w83793
 F:	drivers/hwmon/w83793.c
 F:	drivers/hwmon/w83793.c
 
 
 W83795 HARDWARE MONITORING DRIVER
 W83795 HARDWARE MONITORING DRIVER
-M:	Jean Delvare <jdelvare@suse.de>
+M:	Jean Delvare <jdelvare@suse.com>
 L:	lm-sensors@lm-sensors.org
 L:	lm-sensors@lm-sensors.org
 S:	Maintained
 S:	Maintained
 F:	drivers/hwmon/w83795.c
 F:	drivers/hwmon/w83795.c

+ 6 - 5
Makefile

@@ -1,7 +1,7 @@
 VERSION = 4
 VERSION = 4
 PATCHLEVEL = 2
 PATCHLEVEL = 2
 SUBLEVEL = 0
 SUBLEVEL = 0
-EXTRAVERSION = -rc1
+EXTRAVERSION = -rc3
 NAME = Hurr durr I'ma sheep
 NAME = Hurr durr I'ma sheep
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*
@@ -780,10 +780,11 @@ endif
 include scripts/Makefile.kasan
 include scripts/Makefile.kasan
 include scripts/Makefile.extrawarn
 include scripts/Makefile.extrawarn
 
 
-# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
-KBUILD_CPPFLAGS += $(KCPPFLAGS)
-KBUILD_AFLAGS += $(KAFLAGS)
-KBUILD_CFLAGS += $(KCFLAGS)
+# Add any arch overrides and user supplied CPPFLAGS, AFLAGS and CFLAGS as the
+# last assignments
+KBUILD_CPPFLAGS += $(ARCH_CPPFLAGS) $(KCPPFLAGS)
+KBUILD_AFLAGS   += $(ARCH_AFLAGS)   $(KAFLAGS)
+KBUILD_CFLAGS   += $(ARCH_CFLAGS)   $(KCFLAGS)
 
 
 # Use --build-id when available.
 # Use --build-id when available.
 LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
 LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\

+ 4 - 0
arch/Kconfig

@@ -221,6 +221,10 @@ config ARCH_TASK_STRUCT_ALLOCATOR
 config ARCH_THREAD_INFO_ALLOCATOR
 config ARCH_THREAD_INFO_ALLOCATOR
 	bool
 	bool
 
 
+# Select if arch wants to size task_struct dynamically via arch_task_struct_size:
+config ARCH_WANTS_DYNAMIC_TASK_STRUCT
+	bool
+
 config HAVE_REGS_AND_STACK_ACCESS_API
 config HAVE_REGS_AND_STACK_ACCESS_API
 	bool
 	bool
 	help
 	help

+ 1 - 0
arch/alpha/include/asm/Kbuild

@@ -5,6 +5,7 @@ generic-y += cputime.h
 generic-y += exec.h
 generic-y += exec.h
 generic-y += irq_work.h
 generic-y += irq_work.h
 generic-y += mcs_spinlock.h
 generic-y += mcs_spinlock.h
+generic-y += mm-arch-hooks.h
 generic-y += preempt.h
 generic-y += preempt.h
 generic-y += sections.h
 generic-y += sections.h
 generic-y += trace_clock.h
 generic-y += trace_clock.h

+ 0 - 15
arch/alpha/include/asm/mm-arch-hooks.h

@@ -1,15 +0,0 @@
-/*
- * Architecture specific mm hooks
- *
- * Copyright (C) 2015, IBM Corporation
- * Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef _ASM_ALPHA_MM_ARCH_HOOKS_H
-#define _ASM_ALPHA_MM_ARCH_HOOKS_H
-
-#endif /* _ASM_ALPHA_MM_ARCH_HOOKS_H */

+ 2 - 1
arch/arc/Kconfig

@@ -115,6 +115,7 @@ if ISA_ARCOMPACT
 
 
 config ARC_CPU_750D
 config ARC_CPU_750D
 	bool "ARC750D"
 	bool "ARC750D"
+	select ARC_CANT_LLSC
 	help
 	help
 	  Support for ARC750 core
 	  Support for ARC750 core
 
 
@@ -362,7 +363,7 @@ config ARC_CANT_LLSC
 config ARC_HAS_LLSC
 config ARC_HAS_LLSC
 	bool "Insn: LLOCK/SCOND (efficient atomic ops)"
 	bool "Insn: LLOCK/SCOND (efficient atomic ops)"
 	default y
 	default y
-	depends on !ARC_CPU_750D && !ARC_CANT_LLSC
+	depends on !ARC_CANT_LLSC
 
 
 config ARC_HAS_SWAPE
 config ARC_HAS_SWAPE
 	bool "Insn: SWAPE (endian-swap)"
 	bool "Insn: SWAPE (endian-swap)"

+ 2 - 1
arch/arc/Makefile

@@ -49,7 +49,8 @@ endif
 
 
 ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
 ifndef CONFIG_CC_OPTIMIZE_FOR_SIZE
 # Generic build system uses -O2, we want -O3
 # Generic build system uses -O2, we want -O3
-cflags-y  += -O3
+# Note: No need to add to cflags-y as that happens anyways
+ARCH_CFLAGS += -O3
 endif
 endif
 
 
 # small data is default for elf32 tool-chain. If not usable, disable it
 # small data is default for elf32 tool-chain. If not usable, disable it

+ 1 - 1
arch/arc/boot/dts/axc003.dtsi

@@ -12,7 +12,7 @@
 
 
 / {
 / {
 	compatible = "snps,arc";
 	compatible = "snps,arc";
-	clock-frequency = <75000000>;
+	clock-frequency = <90000000>;
 	#address-cells = <1>;
 	#address-cells = <1>;
 	#size-cells = <1>;
 	#size-cells = <1>;
 
 

+ 1 - 1
arch/arc/boot/dts/axc003_idu.dtsi

@@ -12,7 +12,7 @@
 
 
 / {
 / {
 	compatible = "snps,arc";
 	compatible = "snps,arc";
-	clock-frequency = <75000000>;
+	clock-frequency = <90000000>;
 	#address-cells = <1>;
 	#address-cells = <1>;
 	#size-cells = <1>;
 	#size-cells = <1>;
 
 

+ 1 - 0
arch/arc/include/asm/Kbuild

@@ -22,6 +22,7 @@ generic-y += kvm_para.h
 generic-y += local.h
 generic-y += local.h
 generic-y += local64.h
 generic-y += local64.h
 generic-y += mcs_spinlock.h
 generic-y += mcs_spinlock.h
+generic-y += mm-arch-hooks.h
 generic-y += mman.h
 generic-y += mman.h
 generic-y += msgbuf.h
 generic-y += msgbuf.h
 generic-y += param.h
 generic-y += param.h

+ 9 - 26
arch/arc/include/asm/bitops.h

@@ -50,8 +50,7 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
 	 * done for const @nr, but no code is generated due to gcc	\
 	 * done for const @nr, but no code is generated due to gcc	\
 	 * const prop.							\
 	 * const prop.							\
 	 */								\
 	 */								\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
+	nr &= 0x1f;							\
 									\
 									\
 	__asm__ __volatile__(						\
 	__asm__ __volatile__(						\
 	"1:	llock       %0, [%1]		\n"			\
 	"1:	llock       %0, [%1]		\n"			\
@@ -82,8 +81,7 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
 									\
 									\
 	m += nr >> 5;							\
 	m += nr >> 5;							\
 									\
 									\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
+	nr &= 0x1f;							\
 									\
 									\
 	/*								\
 	/*								\
 	 * Explicit full memory barrier needed before/after as		\
 	 * Explicit full memory barrier needed before/after as		\
@@ -129,16 +127,13 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
 	unsigned long temp, flags;					\
 	unsigned long temp, flags;					\
 	m += nr >> 5;							\
 	m += nr >> 5;							\
 									\
 									\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
-									\
 	/*								\
 	/*								\
 	 * spin lock/unlock provide the needed smp_mb() before/after	\
 	 * spin lock/unlock provide the needed smp_mb() before/after	\
 	 */								\
 	 */								\
 	bitops_lock(flags);						\
 	bitops_lock(flags);						\
 									\
 									\
 	temp = *m;							\
 	temp = *m;							\
-	*m = temp c_op (1UL << nr);					\
+	*m = temp c_op (1UL << (nr & 0x1f));					\
 									\
 									\
 	bitops_unlock(flags);						\
 	bitops_unlock(flags);						\
 }
 }
@@ -149,17 +144,14 @@ static inline int test_and_##op##_bit(unsigned long nr, volatile unsigned long *
 	unsigned long old, flags;					\
 	unsigned long old, flags;					\
 	m += nr >> 5;							\
 	m += nr >> 5;							\
 									\
 									\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
-									\
 	bitops_lock(flags);						\
 	bitops_lock(flags);						\
 									\
 									\
 	old = *m;							\
 	old = *m;							\
-	*m = old c_op (1 << nr);					\
+	*m = old c_op (1UL << (nr & 0x1f));				\
 									\
 									\
 	bitops_unlock(flags);						\
 	bitops_unlock(flags);						\
 									\
 									\
-	return (old & (1 << nr)) != 0;					\
+	return (old & (1UL << (nr & 0x1f))) != 0;			\
 }
 }
 
 
 #endif /* CONFIG_ARC_HAS_LLSC */
 #endif /* CONFIG_ARC_HAS_LLSC */
@@ -174,11 +166,8 @@ static inline void __##op##_bit(unsigned long nr, volatile unsigned long *m)	\
 	unsigned long temp;						\
 	unsigned long temp;						\
 	m += nr >> 5;							\
 	m += nr >> 5;							\
 									\
 									\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
-									\
 	temp = *m;							\
 	temp = *m;							\
-	*m = temp c_op (1UL << nr);					\
+	*m = temp c_op (1UL << (nr & 0x1f));				\
 }
 }
 
 
 #define __TEST_N_BIT_OP(op, c_op, asm_op)				\
 #define __TEST_N_BIT_OP(op, c_op, asm_op)				\
@@ -187,13 +176,10 @@ static inline int __test_and_##op##_bit(unsigned long nr, volatile unsigned long
 	unsigned long old;						\
 	unsigned long old;						\
 	m += nr >> 5;							\
 	m += nr >> 5;							\
 									\
 									\
-	if (__builtin_constant_p(nr))					\
-		nr &= 0x1f;						\
-									\
 	old = *m;							\
 	old = *m;							\
-	*m = old c_op (1 << nr);					\
+	*m = old c_op (1UL << (nr & 0x1f));				\
 									\
 									\
-	return (old & (1 << nr)) != 0;					\
+	return (old & (1UL << (nr & 0x1f))) != 0;			\
 }
 }
 
 
 #define BIT_OPS(op, c_op, asm_op)					\
 #define BIT_OPS(op, c_op, asm_op)					\
@@ -224,10 +210,7 @@ test_bit(unsigned int nr, const volatile unsigned long *addr)
 
 
 	addr += nr >> 5;
 	addr += nr >> 5;
 
 
-	if (__builtin_constant_p(nr))
-		nr &= 0x1f;
-
-	mask = 1 << nr;
+	mask = 1UL << (nr & 0x1f);
 
 
 	return ((mask & *addr) != 0);
 	return ((mask & *addr) != 0);
 }
 }

+ 42 - 6
arch/arc/include/asm/futex.h

@@ -16,12 +16,40 @@
 #include <linux/uaccess.h>
 #include <linux/uaccess.h>
 #include <asm/errno.h>
 #include <asm/errno.h>
 
 
+#ifdef CONFIG_ARC_HAS_LLSC
+
+#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
+							\
+	__asm__ __volatile__(				\
+	"1:	llock	%1, [%2]		\n"	\
+		insn				"\n"	\
+	"2:	scond	%0, [%2]		\n"	\
+	"	bnz	1b			\n"	\
+	"	mov %0, 0			\n"	\
+	"3:					\n"	\
+	"	.section .fixup,\"ax\"		\n"	\
+	"	.align  4			\n"	\
+	"4:	mov %0, %4			\n"	\
+	"	b   3b				\n"	\
+	"	.previous			\n"	\
+	"	.section __ex_table,\"a\"	\n"	\
+	"	.align  4			\n"	\
+	"	.word   1b, 4b			\n"	\
+	"	.word   2b, 4b			\n"	\
+	"	.previous			\n"	\
+							\
+	: "=&r" (ret), "=&r" (oldval)			\
+	: "r" (uaddr), "r" (oparg), "ir" (-EFAULT)	\
+	: "cc", "memory")
+
+#else	/* !CONFIG_ARC_HAS_LLSC */
+
 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg)\
 							\
 							\
 	__asm__ __volatile__(				\
 	__asm__ __volatile__(				\
-	"1:	ld  %1, [%2]			\n"	\
+	"1:	ld	%1, [%2]		\n"	\
 		insn				"\n"	\
 		insn				"\n"	\
-	"2:	st  %0, [%2]			\n"	\
+	"2:	st	%0, [%2]		\n"	\
 	"	mov %0, 0			\n"	\
 	"	mov %0, 0			\n"	\
 	"3:					\n"	\
 	"3:					\n"	\
 	"	.section .fixup,\"ax\"		\n"	\
 	"	.section .fixup,\"ax\"		\n"	\
@@ -39,6 +67,8 @@
 	: "r" (uaddr), "r" (oparg), "ir" (-EFAULT)	\
 	: "r" (uaddr), "r" (oparg), "ir" (-EFAULT)	\
 	: "cc", "memory")
 	: "cc", "memory")
 
 
+#endif
+
 static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
 static inline int futex_atomic_op_inuser(int encoded_op, u32 __user *uaddr)
 {
 {
 	int op = (encoded_op >> 28) & 7;
 	int op = (encoded_op >> 28) & 7;
@@ -123,11 +153,17 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, u32 oldval,
 
 
 	pagefault_disable();
 	pagefault_disable();
 
 
-	/* TBD : can use llock/scond */
 	__asm__ __volatile__(
 	__asm__ __volatile__(
-	"1:	ld    %0, [%3]	\n"
-	"	brne  %0, %1, 3f	\n"
-	"2:	st    %2, [%3]	\n"
+#ifdef CONFIG_ARC_HAS_LLSC
+	"1:	llock	%0, [%3]		\n"
+	"	brne	%0, %1, 3f		\n"
+	"2:	scond	%2, [%3]		\n"
+	"	bnz	1b			\n"
+#else
+	"1:	ld	%0, [%3]		\n"
+	"	brne	%0, %1, 3f		\n"
+	"2:	st	%2, [%3]		\n"
+#endif
 	"3:	\n"
 	"3:	\n"
 	"	.section .fixup,\"ax\"	\n"
 	"	.section .fixup,\"ax\"	\n"
 	"4:	mov %0, %4	\n"
 	"4:	mov %0, %4	\n"

+ 0 - 15
arch/arc/include/asm/mm-arch-hooks.h

@@ -1,15 +0,0 @@
-/*
- * Architecture specific mm hooks
- *
- * Copyright (C) 2015, IBM Corporation
- * Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef _ASM_ARC_MM_ARCH_HOOKS_H
-#define _ASM_ARC_MM_ARCH_HOOKS_H
-
-#endif /* _ASM_ARC_MM_ARCH_HOOKS_H */

+ 1 - 1
arch/arc/include/asm/ptrace.h

@@ -106,7 +106,7 @@ struct callee_regs {
 	long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
 	long r25, r24, r23, r22, r21, r20, r19, r18, r17, r16, r15, r14, r13;
 };
 };
 
 
-#define instruction_pointer(regs)	((regs)->ret)
+#define instruction_pointer(regs)	(unsigned long)((regs)->ret)
 #define profile_pc(regs)		instruction_pointer(regs)
 #define profile_pc(regs)		instruction_pointer(regs)
 
 
 /* return 1 if user mode or 0 if kernel mode */
 /* return 1 if user mode or 0 if kernel mode */

+ 0 - 1
arch/arc/kernel/intc-arcv2.c

@@ -12,7 +12,6 @@
 #include <linux/of.h>
 #include <linux/of.h>
 #include <linux/irqdomain.h>
 #include <linux/irqdomain.h>
 #include <linux/irqchip.h>
 #include <linux/irqchip.h>
-#include "../../drivers/irqchip/irqchip.h"
 #include <asm/irq.h>
 #include <asm/irq.h>
 
 
 /*
 /*

+ 0 - 1
arch/arc/kernel/intc-compact.c

@@ -12,7 +12,6 @@
 #include <linux/of.h>
 #include <linux/of.h>
 #include <linux/irqdomain.h>
 #include <linux/irqdomain.h>
 #include <linux/irqchip.h>
 #include <linux/irqchip.h>
-#include "../../drivers/irqchip/irqchip.h"
 #include <asm/irq.h>
 #include <asm/irq.h>
 
 
 /*
 /*

+ 19 - 4
arch/arc/kernel/mcip.c

@@ -175,7 +175,6 @@ void mcip_init_early_smp(void)
 #include <linux/irqchip.h>
 #include <linux/irqchip.h>
 #include <linux/of.h>
 #include <linux/of.h>
 #include <linux/of_irq.h>
 #include <linux/of_irq.h>
-#include "../../drivers/irqchip/irqchip.h"
 
 
 /*
 /*
  * Set the DEST for @cmn_irq to @cpu_mask (1 bit per core)
  * Set the DEST for @cmn_irq to @cpu_mask (1 bit per core)
@@ -218,11 +217,28 @@ static void idu_irq_unmask(struct irq_data *data)
 	raw_spin_unlock_irqrestore(&mcip_lock, flags);
 	raw_spin_unlock_irqrestore(&mcip_lock, flags);
 }
 }
 
 
+#ifdef CONFIG_SMP
 static int
 static int
-idu_irq_set_affinity(struct irq_data *d, const struct cpumask *cpumask, bool f)
+idu_irq_set_affinity(struct irq_data *data, const struct cpumask *cpumask,
+		     bool force)
 {
 {
+	unsigned long flags;
+	cpumask_t online;
+
+	/* errout if no online cpu per @cpumask */
+	if (!cpumask_and(&online, cpumask, cpu_online_mask))
+		return -EINVAL;
+
+	raw_spin_lock_irqsave(&mcip_lock, flags);
+
+	idu_set_dest(data->hwirq, cpumask_bits(&online)[0]);
+	idu_set_mode(data->hwirq, IDU_M_TRIG_LEVEL, IDU_M_DISTRI_RR);
+
+	raw_spin_unlock_irqrestore(&mcip_lock, flags);
+
 	return IRQ_SET_MASK_OK;
 	return IRQ_SET_MASK_OK;
 }
 }
+#endif
 
 
 static struct irq_chip idu_irq_chip = {
 static struct irq_chip idu_irq_chip = {
 	.name			= "MCIP IDU Intc",
 	.name			= "MCIP IDU Intc",
@@ -330,8 +346,7 @@ idu_of_init(struct device_node *intc, struct device_node *parent)
 		if (!i)
 		if (!i)
 			idu_first_irq = irq;
 			idu_first_irq = irq;
 
 
-		irq_set_handler_data(irq, domain);
-		irq_set_chained_handler(irq, idu_cascade_isr);
+		irq_set_chained_handler_and_data(irq, idu_cascade_isr, domain);
 	}
 	}
 
 
 	__mcip_cmd(CMD_IDU_ENABLE, 0);
 	__mcip_cmd(CMD_IDU_ENABLE, 0);

+ 10 - 5
arch/arc/kernel/setup.c

@@ -142,17 +142,22 @@ static void read_arc_build_cfg_regs(void)
 }
 }
 
 
 static const struct cpuinfo_data arc_cpu_tbl[] = {
 static const struct cpuinfo_data arc_cpu_tbl[] = {
+#ifdef CONFIG_ISA_ARCOMPACT
 	{ {0x20, "ARC 600"      }, 0x2F},
 	{ {0x20, "ARC 600"      }, 0x2F},
 	{ {0x30, "ARC 700"      }, 0x33},
 	{ {0x30, "ARC 700"      }, 0x33},
 	{ {0x34, "ARC 700 R4.10"}, 0x34},
 	{ {0x34, "ARC 700 R4.10"}, 0x34},
 	{ {0x35, "ARC 700 R4.11"}, 0x35},
 	{ {0x35, "ARC 700 R4.11"}, 0x35},
-	{ {0x50, "ARC HS38"	}, 0x51},
+#else
+	{ {0x50, "ARC HS38 R2.0"}, 0x51},
+	{ {0x52, "ARC HS38 R2.1"}, 0x52},
+#endif
 	{ {0x00, NULL		} }
 	{ {0x00, NULL		} }
 };
 };
 
 
-#define IS_AVAIL1(v, str)	((v) ? str : "")
-#define IS_USED(cfg)		(IS_ENABLED(cfg) ? "" : "(not used) ")
-#define IS_AVAIL2(v, str, cfg)  IS_AVAIL1(v, str), IS_AVAIL1(v, IS_USED(cfg))
+#define IS_AVAIL1(v, s)		((v) ? s : "")
+#define IS_USED_RUN(v)		((v) ? "" : "(not used) ")
+#define IS_USED_CFG(cfg)	IS_USED_RUN(IS_ENABLED(cfg))
+#define IS_AVAIL2(v, s, cfg)	IS_AVAIL1(v, s), IS_AVAIL1(v, IS_USED_CFG(cfg))
 
 
 static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
 static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
 {
 {
@@ -226,7 +231,7 @@ static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
 			n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt);
 			n += scnprintf(buf + n, len - n, "mpy[opt %d] ", opt);
 		}
 		}
 		n += scnprintf(buf + n, len - n, "%s",
 		n += scnprintf(buf + n, len - n, "%s",
-			       IS_USED(CONFIG_ARC_HAS_HW_MPY));
+			       IS_USED_CFG(CONFIG_ARC_HAS_HW_MPY));
 	}
 	}
 
 
 	n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n",
 	n += scnprintf(buf + n, len - n, "%s%s%s%s%s%s%s%s\n",

+ 0 - 1
arch/arc/kernel/troubleshoot.c

@@ -58,7 +58,6 @@ static void show_callee_regs(struct callee_regs *cregs)
 
 
 static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
 static void print_task_path_n_nm(struct task_struct *tsk, char *buf)
 {
 {
-	struct path path;
 	char *path_nm = NULL;
 	char *path_nm = NULL;
 	struct mm_struct *mm;
 	struct mm_struct *mm;
 	struct file *exe_file;
 	struct file *exe_file;

+ 10 - 2
arch/arc/mm/cache.c

@@ -468,10 +468,18 @@ static void __ic_line_inv_vaddr(unsigned long paddr, unsigned long vaddr,
 noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
 noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
 {
 {
 #ifdef CONFIG_ISA_ARCV2
 #ifdef CONFIG_ISA_ARCV2
+	/*
+	 * SLC is shared between all cores and concurrent aux operations from
+	 * multiple cores need to be serialized using a spinlock
+	 * A concurrent operation can be silently ignored and/or the old/new
+	 * operation can remain incomplete forever (lockup in SLC_CTRL_BUSY loop
+	 * below)
+	 */
+	static DEFINE_SPINLOCK(lock);
 	unsigned long flags;
 	unsigned long flags;
 	unsigned int ctrl;
 	unsigned int ctrl;
 
 
-	local_irq_save(flags);
+	spin_lock_irqsave(&lock, flags);
 
 
 	/*
 	/*
 	 * The Region Flush operation is specified by CTRL.RGN_OP[11..9]
 	 * The Region Flush operation is specified by CTRL.RGN_OP[11..9]
@@ -504,7 +512,7 @@ noinline void slc_op(unsigned long paddr, unsigned long sz, const int op)
 
 
 	while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY);
 	while (read_aux_reg(ARC_REG_SLC_CTRL) & SLC_CTRL_BUSY);
 
 
-	local_irq_restore(flags);
+	spin_unlock_irqrestore(&lock, flags);
 #endif
 #endif
 }
 }
 
 

+ 2 - 2
arch/arc/mm/dma.c

@@ -60,8 +60,8 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
 
 
 	/* This is kernel Virtual address (0x7000_0000 based) */
 	/* This is kernel Virtual address (0x7000_0000 based) */
 	kvaddr = ioremap_nocache((unsigned long)paddr, size);
 	kvaddr = ioremap_nocache((unsigned long)paddr, size);
-	if (kvaddr != NULL)
-		memset(kvaddr, 0, size);
+	if (kvaddr == NULL)
+		return NULL;
 
 
 	/* This is bus address, platform dependent */
 	/* This is bus address, platform dependent */
 	*dma_handle = (dma_addr_t)paddr;
 	*dma_handle = (dma_addr_t)paddr;

+ 6 - 0
arch/arm/Kconfig

@@ -1693,6 +1693,12 @@ config HIGHMEM
 config HIGHPTE
 config HIGHPTE
 	bool "Allocate 2nd-level pagetables from highmem"
 	bool "Allocate 2nd-level pagetables from highmem"
 	depends on HIGHMEM
 	depends on HIGHMEM
+	help
+	  The VM uses one page of physical memory for each page table.
+	  For systems with a lot of processes, this can use a lot of
+	  precious low memory, eventually leading to low memory being
+	  consumed by page tables.  Setting this option will allow
+	  user-space 2nd level page tables to reside in high memory.
 
 
 config HW_PERF_EVENTS
 config HW_PERF_EVENTS
 	bool "Enable hardware performance counter support for perf events"
 	bool "Enable hardware performance counter support for perf events"

+ 1 - 1
arch/arm/Kconfig.debug

@@ -1635,7 +1635,7 @@ config PID_IN_CONTEXTIDR
 
 
 config DEBUG_SET_MODULE_RONX
 config DEBUG_SET_MODULE_RONX
 	bool "Set loadable kernel module data as NX and text as RO"
 	bool "Set loadable kernel module data as NX and text as RO"
-	depends on MODULES
+	depends on MODULES && MMU
 	---help---
 	---help---
 	  This option helps catch unintended modifications to loadable
 	  This option helps catch unintended modifications to loadable
 	  kernel module's text and read-only data. It also prevents execution
 	  kernel module's text and read-only data. It also prevents execution

+ 4 - 0
arch/arm/boot/dts/am335x-boneblack.dts

@@ -80,3 +80,7 @@
 		status = "okay";
 		status = "okay";
 	};
 	};
 };
 };
+
+&rtc {
+	system-power-controller;
+};

+ 13 - 3
arch/arm/boot/dts/am335x-pepper.dts

@@ -74,6 +74,7 @@
 	audio_codec: tlv320aic3106@1b {
 	audio_codec: tlv320aic3106@1b {
 		compatible = "ti,tlv320aic3106";
 		compatible = "ti,tlv320aic3106";
 		reg = <0x1b>;
 		reg = <0x1b>;
+		ai3x-micbias-vg = <0x2>;
 	};
 	};
 
 
 	accel: lis331dlh@1d {
 	accel: lis331dlh@1d {
@@ -153,7 +154,7 @@
 	ti,audio-routing =
 	ti,audio-routing =
 		"Headphone Jack",	"HPLOUT",
 		"Headphone Jack",	"HPLOUT",
 		"Headphone Jack",	"HPROUT",
 		"Headphone Jack",	"HPROUT",
-		"LINE1L",		"Line In";
+		"MIC3L",		"Mic3L Switch";
 };
 };
 
 
 &mcasp0 {
 &mcasp0 {
@@ -438,41 +439,50 @@
 	regulators {
 	regulators {
 		dcdc1_reg: regulator@0 {
 		dcdc1_reg: regulator@0 {
 			/* VDD_1V8 system supply */
 			/* VDD_1V8 system supply */
+			regulator-always-on;
 		};
 		};
 
 
 		dcdc2_reg: regulator@1 {
 		dcdc2_reg: regulator@1 {
 			/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
 			/* VDD_CORE voltage limits 0.95V - 1.26V with +/-4% tolerance */
 			regulator-name = "vdd_core";
 			regulator-name = "vdd_core";
 			regulator-min-microvolt = <925000>;
 			regulator-min-microvolt = <925000>;
-			regulator-max-microvolt = <1325000>;
+			regulator-max-microvolt = <1150000>;
 			regulator-boot-on;
 			regulator-boot-on;
+			regulator-always-on;
 		};
 		};
 
 
 		dcdc3_reg: regulator@2 {
 		dcdc3_reg: regulator@2 {
 			/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
 			/* VDD_MPU voltage limits 0.95V - 1.1V with +/-4% tolerance */
 			regulator-name = "vdd_mpu";
 			regulator-name = "vdd_mpu";
 			regulator-min-microvolt = <925000>;
 			regulator-min-microvolt = <925000>;
-			regulator-max-microvolt = <1150000>;
+			regulator-max-microvolt = <1325000>;
 			regulator-boot-on;
 			regulator-boot-on;
+			regulator-always-on;
 		};
 		};
 
 
 		ldo1_reg: regulator@3 {
 		ldo1_reg: regulator@3 {
 			/* VRTC 1.8V always-on supply */
 			/* VRTC 1.8V always-on supply */
+			regulator-name = "vrtc,vdds";
 			regulator-always-on;
 			regulator-always-on;
 		};
 		};
 
 
 		ldo2_reg: regulator@4 {
 		ldo2_reg: regulator@4 {
 			/* 3.3V rail */
 			/* 3.3V rail */
+			regulator-name = "vdd_3v3aux";
+			regulator-always-on;
 		};
 		};
 
 
 		ldo3_reg: regulator@5 {
 		ldo3_reg: regulator@5 {
 			/* VDD_3V3A 3.3V rail */
 			/* VDD_3V3A 3.3V rail */
+			regulator-name = "vdd_3v3a";
 			regulator-min-microvolt = <3300000>;
 			regulator-min-microvolt = <3300000>;
 			regulator-max-microvolt = <3300000>;
 			regulator-max-microvolt = <3300000>;
 		};
 		};
 
 
 		ldo4_reg: regulator@6 {
 		ldo4_reg: regulator@6 {
 			/* VDD_3V3B 3.3V rail */
 			/* VDD_3V3B 3.3V rail */
+			regulator-name = "vdd_3v3b";
+			regulator-always-on;
 		};
 		};
 	};
 	};
 };
 };

+ 7 - 0
arch/arm/boot/dts/am4372.dtsi

@@ -132,6 +132,12 @@
 			};
 			};
 		};
 		};
 
 
+		emif: emif@4c000000 {
+			compatible = "ti,emif-am4372";
+			reg = <0x4c000000 0x1000000>;
+			ti,hwmods = "emif";
+		};
+
 		edma: edma@49000000 {
 		edma: edma@49000000 {
 			compatible = "ti,edma3";
 			compatible = "ti,edma3";
 			ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
 			ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
@@ -941,6 +947,7 @@
 				ti,hwmods = "dss_rfbi";
 				ti,hwmods = "dss_rfbi";
 				clocks = <&disp_clk>;
 				clocks = <&disp_clk>;
 				clock-names = "fck";
 				clock-names = "fck";
+				status = "disabled";
 			};
 			};
 		};
 		};
 
 

+ 4 - 0
arch/arm/boot/dts/am57xx-beagle-x15.dts

@@ -605,6 +605,10 @@
 	phy-supply = <&ldousb_reg>;
 	phy-supply = <&ldousb_reg>;
 };
 };
 
 
+&usb2_phy2 {
+	phy-supply = <&ldousb_reg>;
+};
+
 &usb1 {
 &usb1 {
 	dr_mode = "host";
 	dr_mode = "host";
 	pinctrl-names = "default";
 	pinctrl-names = "default";

+ 1041 - 1
arch/arm/boot/dts/atlas7.dtsi

@@ -135,6 +135,1025 @@
 			compatible = "sirf,atlas7-ioc";
 			compatible = "sirf,atlas7-ioc";
 			reg = <0x18880000 0x1000>,
 			reg = <0x18880000 0x1000>,
 				<0x10E40000 0x1000>;
 				<0x10E40000 0x1000>;
+
+			audio_ac97_pmx: audio_ac97@0 {
+				audio_ac97 {
+					groups = "audio_ac97_grp";
+					function = "audio_ac97";
+				};
+			};
+
+			audio_func_dbg_pmx: audio_func_dbg@0 {
+				audio_func_dbg {
+					groups = "audio_func_dbg_grp";
+					function = "audio_func_dbg";
+				};
+			};
+
+			audio_i2s_pmx: audio_i2s@0 {
+				audio_i2s {
+					groups = "audio_i2s_grp";
+					function = "audio_i2s";
+				};
+			};
+
+			audio_i2s_2ch_pmx: audio_i2s_2ch@0 {
+				audio_i2s_2ch {
+					groups = "audio_i2s_2ch_grp";
+					function = "audio_i2s_2ch";
+				};
+			};
+
+			audio_i2s_extclk_pmx: audio_i2s_extclk@0 {
+				audio_i2s_extclk {
+					groups = "audio_i2s_extclk_grp";
+					function = "audio_i2s_extclk";
+				};
+			};
+
+			audio_uart0_pmx: audio_uart0@0 {
+				audio_uart0 {
+					groups = "audio_uart0_grp";
+					function = "audio_uart0";
+				};
+			};
+
+			audio_uart1_pmx: audio_uart1@0 {
+				audio_uart1 {
+					groups = "audio_uart1_grp";
+					function = "audio_uart1";
+				};
+			};
+
+			audio_uart2_pmx0: audio_uart2@0 {
+				audio_uart2_0 {
+					groups = "audio_uart2_grp0";
+					function = "audio_uart2_m0";
+				};
+			};
+
+			audio_uart2_pmx1: audio_uart2@1 {
+				audio_uart2_1 {
+					groups = "audio_uart2_grp1";
+					function = "audio_uart2_m1";
+				};
+			};
+
+			c_can_trnsvr_pmx: c_can_trnsvr@0 {
+				c_can_trnsvr {
+					groups = "c_can_trnsvr_grp";
+					function = "c_can_trnsvr";
+				};
+			};
+
+			c0_can_pmx0: c0_can@0 {
+				c0_can_0 {
+					groups = "c0_can_grp0";
+					function = "c0_can_m0";
+				};
+			};
+
+			c0_can_pmx1: c0_can@1 {
+				c0_can_1 {
+					groups = "c0_can_grp1";
+					function = "c0_can_m1";
+				};
+			};
+
+			c1_can_pmx0: c1_can@0 {
+				c1_can_0 {
+					groups = "c1_can_grp0";
+					function = "c1_can_m0";
+				};
+			};
+
+			c1_can_pmx1: c1_can@1 {
+				c1_can_1 {
+					groups = "c1_can_grp1";
+					function = "c1_can_m1";
+				};
+			};
+
+			c1_can_pmx2: c1_can@2 {
+				c1_can_2 {
+					groups = "c1_can_grp2";
+					function = "c1_can_m2";
+				};
+			};
+
+			ca_audio_lpc_pmx: ca_audio_lpc@0 {
+				ca_audio_lpc {
+					groups = "ca_audio_lpc_grp";
+					function = "ca_audio_lpc";
+				};
+			};
+
+			ca_bt_lpc_pmx: ca_bt_lpc@0 {
+				ca_bt_lpc {
+					groups = "ca_bt_lpc_grp";
+					function = "ca_bt_lpc";
+				};
+			};
+
+			ca_coex_pmx: ca_coex@0 {
+				ca_coex {
+					groups = "ca_coex_grp";
+					function = "ca_coex";
+				};
+			};
+
+			ca_curator_lpc_pmx: ca_curator_lpc@0 {
+				ca_curator_lpc {
+					groups = "ca_curator_lpc_grp";
+					function = "ca_curator_lpc";
+				};
+			};
+
+			ca_pcm_debug_pmx: ca_pcm_debug@0 {
+				ca_pcm_debug {
+					groups = "ca_pcm_debug_grp";
+					function = "ca_pcm_debug";
+				};
+			};
+
+			ca_pio_pmx: ca_pio@0 {
+				ca_pio {
+					groups = "ca_pio_grp";
+					function = "ca_pio";
+				};
+			};
+
+			ca_sdio_debug_pmx: ca_sdio_debug@0 {
+				ca_sdio_debug {
+					groups = "ca_sdio_debug_grp";
+					function = "ca_sdio_debug";
+				};
+			};
+
+			ca_spi_pmx: ca_spi@0 {
+				ca_spi {
+					groups = "ca_spi_grp";
+					function = "ca_spi";
+				};
+			};
+
+			ca_trb_pmx: ca_trb@0 {
+				ca_trb {
+					groups = "ca_trb_grp";
+					function = "ca_trb";
+				};
+			};
+
+			ca_uart_debug_pmx: ca_uart_debug@0 {
+				ca_uart_debug {
+					groups = "ca_uart_debug_grp";
+					function = "ca_uart_debug";
+				};
+			};
+
+			clkc_pmx0: clkc@0 {
+				clkc_0 {
+					groups = "clkc_grp0";
+					function = "clkc_m0";
+				};
+			};
+
+			clkc_pmx1: clkc@1 {
+				clkc_1 {
+					groups = "clkc_grp1";
+					function = "clkc_m1";
+				};
+			};
+
+			gn_gnss_i2c_pmx: gn_gnss_i2c@0 {
+				gn_gnss_i2c {
+					groups = "gn_gnss_i2c_grp";
+					function = "gn_gnss_i2c";
+				};
+			};
+
+			gn_gnss_uart_nopause_pmx: gn_gnss_uart_nopause@0 {
+				gn_gnss_uart_nopause {
+					groups = "gn_gnss_uart_nopause_grp";
+					function = "gn_gnss_uart_nopause";
+				};
+			};
+
+			gn_gnss_uart_pmx: gn_gnss_uart@0 {
+				gn_gnss_uart {
+					groups = "gn_gnss_uart_grp";
+					function = "gn_gnss_uart";
+				};
+			};
+
+			gn_trg_spi_pmx0: gn_trg_spi@0 {
+				gn_trg_spi_0 {
+					groups = "gn_trg_spi_grp0";
+					function = "gn_trg_spi_m0";
+				};
+			};
+
+			gn_trg_spi_pmx1: gn_trg_spi@1 {
+				gn_trg_spi_1 {
+					groups = "gn_trg_spi_grp1";
+					function = "gn_trg_spi_m1";
+				};
+			};
+
+			cvbs_dbg_pmx: cvbs_dbg@0 {
+				cvbs_dbg {
+					groups = "cvbs_dbg_grp";
+					function = "cvbs_dbg";
+				};
+			};
+
+			cvbs_dbg_test_pmx0: cvbs_dbg_test@0 {
+				cvbs_dbg_test_0 {
+					groups = "cvbs_dbg_test_grp0";
+					function = "cvbs_dbg_test_m0";
+				};
+			};
+
+			cvbs_dbg_test_pmx1: cvbs_dbg_test@1 {
+				cvbs_dbg_test_1 {
+					groups = "cvbs_dbg_test_grp1";
+					function = "cvbs_dbg_test_m1";
+				};
+			};
+
+			cvbs_dbg_test_pmx2: cvbs_dbg_test@2 {
+				cvbs_dbg_test_2 {
+					groups = "cvbs_dbg_test_grp2";
+					function = "cvbs_dbg_test_m2";
+				};
+			};
+
+			cvbs_dbg_test_pmx3: cvbs_dbg_test@3 {
+				cvbs_dbg_test_3 {
+					groups = "cvbs_dbg_test_grp3";
+					function = "cvbs_dbg_test_m3";
+				};
+			};
+
+			cvbs_dbg_test_pmx4: cvbs_dbg_test@4 {
+				cvbs_dbg_test_4 {
+					groups = "cvbs_dbg_test_grp4";
+					function = "cvbs_dbg_test_m4";
+				};
+			};
+
+			cvbs_dbg_test_pmx5: cvbs_dbg_test@5 {
+				cvbs_dbg_test_5 {
+					groups = "cvbs_dbg_test_grp5";
+					function = "cvbs_dbg_test_m5";
+				};
+			};
+
+			cvbs_dbg_test_pmx6: cvbs_dbg_test@6 {
+				cvbs_dbg_test_6 {
+					groups = "cvbs_dbg_test_grp6";
+					function = "cvbs_dbg_test_m6";
+				};
+			};
+
+			cvbs_dbg_test_pmx7: cvbs_dbg_test@7 {
+				cvbs_dbg_test_7 {
+					groups = "cvbs_dbg_test_grp7";
+					function = "cvbs_dbg_test_m7";
+				};
+			};
+
+			cvbs_dbg_test_pmx8: cvbs_dbg_test@8 {
+				cvbs_dbg_test_8 {
+					groups = "cvbs_dbg_test_grp8";
+					function = "cvbs_dbg_test_m8";
+				};
+			};
+
+			cvbs_dbg_test_pmx9: cvbs_dbg_test@9 {
+				cvbs_dbg_test_9 {
+					groups = "cvbs_dbg_test_grp9";
+					function = "cvbs_dbg_test_m9";
+				};
+			};
+
+			cvbs_dbg_test_pmx10: cvbs_dbg_test@10 {
+				cvbs_dbg_test_10 {
+					groups = "cvbs_dbg_test_grp10";
+					function = "cvbs_dbg_test_m10";
+				};
+			};
+
+			cvbs_dbg_test_pmx11: cvbs_dbg_test@11 {
+				cvbs_dbg_test_11 {
+					groups = "cvbs_dbg_test_grp11";
+					function = "cvbs_dbg_test_m11";
+				};
+			};
+
+			cvbs_dbg_test_pmx12: cvbs_dbg_test@12 {
+				cvbs_dbg_test_12 {
+					groups = "cvbs_dbg_test_grp12";
+					function = "cvbs_dbg_test_m12";
+				};
+			};
+
+			cvbs_dbg_test_pmx13: cvbs_dbg_test@13 {
+				cvbs_dbg_test_13 {
+					groups = "cvbs_dbg_test_grp13";
+					function = "cvbs_dbg_test_m13";
+				};
+			};
+
+			cvbs_dbg_test_pmx14: cvbs_dbg_test@14 {
+				cvbs_dbg_test_14 {
+					groups = "cvbs_dbg_test_grp14";
+					function = "cvbs_dbg_test_m14";
+				};
+			};
+
+			cvbs_dbg_test_pmx15: cvbs_dbg_test@15 {
+				cvbs_dbg_test_15 {
+					groups = "cvbs_dbg_test_grp15";
+					function = "cvbs_dbg_test_m15";
+				};
+			};
+
+			gn_gnss_power_pmx: gn_gnss_power@0 {
+				gn_gnss_power {
+					groups = "gn_gnss_power_grp";
+					function = "gn_gnss_power";
+				};
+			};
+
+			gn_gnss_sw_status_pmx: gn_gnss_sw_status@0 {
+				gn_gnss_sw_status {
+					groups = "gn_gnss_sw_status_grp";
+					function = "gn_gnss_sw_status";
+				};
+			};
+
+			gn_gnss_eclk_pmx: gn_gnss_eclk@0 {
+				gn_gnss_eclk {
+					groups = "gn_gnss_eclk_grp";
+					function = "gn_gnss_eclk";
+				};
+			};
+
+			gn_gnss_irq1_pmx0: gn_gnss_irq1@0 {
+				gn_gnss_irq1_0 {
+					groups = "gn_gnss_irq1_grp0";
+					function = "gn_gnss_irq1_m0";
+				};
+			};
+
+			gn_gnss_irq2_pmx0: gn_gnss_irq2@0 {
+				gn_gnss_irq2_0 {
+					groups = "gn_gnss_irq2_grp0";
+					function = "gn_gnss_irq2_m0";
+				};
+			};
+
+			gn_gnss_tm_pmx: gn_gnss_tm@0 {
+				gn_gnss_tm {
+					groups = "gn_gnss_tm_grp";
+					function = "gn_gnss_tm";
+				};
+			};
+
+			gn_gnss_tsync_pmx: gn_gnss_tsync@0 {
+				gn_gnss_tsync {
+					groups = "gn_gnss_tsync_grp";
+					function = "gn_gnss_tsync";
+				};
+			};
+
+			gn_io_gnsssys_sw_cfg_pmx: gn_io_gnsssys_sw_cfg@0 {
+				gn_io_gnsssys_sw_cfg {
+					groups = "gn_io_gnsssys_sw_cfg_grp";
+					function = "gn_io_gnsssys_sw_cfg";
+				};
+			};
+
+			gn_trg_pmx0: gn_trg@0 {
+				gn_trg_0 {
+					groups = "gn_trg_grp0";
+					function = "gn_trg_m0";
+				};
+			};
+
+			gn_trg_pmx1: gn_trg@1 {
+				gn_trg_1 {
+					groups = "gn_trg_grp1";
+					function = "gn_trg_m1";
+				};
+			};
+
+			gn_trg_shutdown_pmx0: gn_trg_shutdown@0 {
+				gn_trg_shutdown_0 {
+					groups = "gn_trg_shutdown_grp0";
+					function = "gn_trg_shutdown_m0";
+				};
+			};
+
+			gn_trg_shutdown_pmx1: gn_trg_shutdown@1 {
+				gn_trg_shutdown_1 {
+					groups = "gn_trg_shutdown_grp1";
+					function = "gn_trg_shutdown_m1";
+				};
+			};
+
+			gn_trg_shutdown_pmx2: gn_trg_shutdown@2 {
+				gn_trg_shutdown_2 {
+					groups = "gn_trg_shutdown_grp2";
+					function = "gn_trg_shutdown_m2";
+				};
+			};
+
+			gn_trg_shutdown_pmx3: gn_trg_shutdown@3 {
+				gn_trg_shutdown_3 {
+					groups = "gn_trg_shutdown_grp3";
+					function = "gn_trg_shutdown_m3";
+				};
+			};
+
+			i2c0_pmx: i2c0@0 {
+				i2c0 {
+					groups = "i2c0_grp";
+					function = "i2c0";
+				};
+			};
+
+			i2c1_pmx: i2c1@0 {
+				i2c1 {
+					groups = "i2c1_grp";
+					function = "i2c1";
+				};
+			};
+
+			jtag_pmx0: jtag@0 {
+				jtag_0 {
+					groups = "jtag_grp0";
+					function = "jtag_m0";
+				};
+			};
+
+			ks_kas_spi_pmx0: ks_kas_spi@0 {
+				ks_kas_spi_0 {
+					groups = "ks_kas_spi_grp0";
+					function = "ks_kas_spi_m0";
+				};
+			};
+
+			ld_ldd_pmx: ld_ldd@0 {
+				ld_ldd {
+					groups = "ld_ldd_grp";
+					function = "ld_ldd";
+				};
+			};
+
+			ld_ldd_16bit_pmx: ld_ldd_16bit@0 {
+				ld_ldd_16bit {
+					groups = "ld_ldd_16bit_grp";
+					function = "ld_ldd_16bit";
+				};
+			};
+
+			ld_ldd_fck_pmx: ld_ldd_fck@0 {
+				ld_ldd_fck {
+					groups = "ld_ldd_fck_grp";
+					function = "ld_ldd_fck";
+				};
+			};
+
+			ld_ldd_lck_pmx: ld_ldd_lck@0 {
+				ld_ldd_lck {
+					groups = "ld_ldd_lck_grp";
+					function = "ld_ldd_lck";
+				};
+			};
+
+			lr_lcdrom_pmx: lr_lcdrom@0 {
+				lr_lcdrom {
+					groups = "lr_lcdrom_grp";
+					function = "lr_lcdrom";
+				};
+			};
+
+			lvds_analog_pmx: lvds_analog@0 {
+				lvds_analog {
+					groups = "lvds_analog_grp";
+					function = "lvds_analog";
+				};
+			};
+
+			nd_df_pmx: nd_df@0 {
+				nd_df {
+					groups = "nd_df_grp";
+					function = "nd_df";
+				};
+			};
+
+			nd_df_nowp_pmx: nd_df_nowp@0 {
+				nd_df_nowp {
+					groups = "nd_df_nowp_grp";
+					function = "nd_df_nowp";
+				};
+			};
+
+			ps_pmx: ps@0 {
+				ps {
+					groups = "ps_grp";
+					function = "ps";
+				};
+			};
+
+			pwc_core_on_pmx: pwc_core_on@0 {
+				pwc_core_on {
+					groups = "pwc_core_on_grp";
+					function = "pwc_core_on";
+				};
+			};
+
+			pwc_ext_on_pmx: pwc_ext_on@0 {
+				pwc_ext_on {
+					groups = "pwc_ext_on_grp";
+					function = "pwc_ext_on";
+				};
+			};
+
+			pwc_gpio3_clk_pmx: pwc_gpio3_clk@0 {
+				pwc_gpio3_clk {
+					groups = "pwc_gpio3_clk_grp";
+					function = "pwc_gpio3_clk";
+				};
+			};
+
+			pwc_io_on_pmx: pwc_io_on@0 {
+				pwc_io_on {
+					groups = "pwc_io_on_grp";
+					function = "pwc_io_on";
+				};
+			};
+
+			pwc_lowbatt_b_pmx0: pwc_lowbatt_b@0 {
+				pwc_lowbatt_b_0 {
+					groups = "pwc_lowbatt_b_grp0";
+					function = "pwc_lowbatt_b_m0";
+				};
+			};
+
+			pwc_mem_on_pmx: pwc_mem_on@0 {
+				pwc_mem_on {
+					groups = "pwc_mem_on_grp";
+					function = "pwc_mem_on";
+				};
+			};
+
+			pwc_on_key_b_pmx0: pwc_on_key_b@0 {
+				pwc_on_key_b_0 {
+					groups = "pwc_on_key_b_grp0";
+					function = "pwc_on_key_b_m0";
+				};
+			};
+
+			pwc_wakeup_src0_pmx: pwc_wakeup_src0@0 {
+				pwc_wakeup_src0 {
+					groups = "pwc_wakeup_src0_grp";
+					function = "pwc_wakeup_src0";
+				};
+			};
+
+			pwc_wakeup_src1_pmx: pwc_wakeup_src1@0 {
+				pwc_wakeup_src1 {
+					groups = "pwc_wakeup_src1_grp";
+					function = "pwc_wakeup_src1";
+				};
+			};
+
+			pwc_wakeup_src2_pmx: pwc_wakeup_src2@0 {
+				pwc_wakeup_src2 {
+					groups = "pwc_wakeup_src2_grp";
+					function = "pwc_wakeup_src2";
+				};
+			};
+
+			pwc_wakeup_src3_pmx: pwc_wakeup_src3@0 {
+				pwc_wakeup_src3 {
+					groups = "pwc_wakeup_src3_grp";
+					function = "pwc_wakeup_src3";
+				};
+			};
+
+			pw_cko0_pmx0: pw_cko0@0 {
+				pw_cko0_0 {
+					groups = "pw_cko0_grp0";
+					function = "pw_cko0_m0";
+				};
+			};
+
+			pw_cko0_pmx1: pw_cko0@1 {
+				pw_cko0_1 {
+					groups = "pw_cko0_grp1";
+					function = "pw_cko0_m1";
+				};
+			};
+
+			pw_cko0_pmx2: pw_cko0@2 {
+				pw_cko0_2 {
+					groups = "pw_cko0_grp2";
+					function = "pw_cko0_m2";
+				};
+			};
+
+			pw_cko1_pmx0: pw_cko1@0 {
+				pw_cko1_0 {
+					groups = "pw_cko1_grp0";
+					function = "pw_cko1_m0";
+				};
+			};
+
+			pw_cko1_pmx1: pw_cko1@1 {
+				pw_cko1_1 {
+					groups = "pw_cko1_grp1";
+					function = "pw_cko1_m1";
+				};
+			};
+
+			pw_i2s01_clk_pmx0: pw_i2s01_clk@0 {
+				pw_i2s01_clk_0 {
+					groups = "pw_i2s01_clk_grp0";
+					function = "pw_i2s01_clk_m0";
+				};
+			};
+
+			pw_i2s01_clk_pmx1: pw_i2s01_clk@1 {
+				pw_i2s01_clk_1 {
+					groups = "pw_i2s01_clk_grp1";
+					function = "pw_i2s01_clk_m1";
+				};
+			};
+
+			pw_pwm0_pmx: pw_pwm0@0 {
+				pw_pwm0 {
+					groups = "pw_pwm0_grp";
+					function = "pw_pwm0";
+				};
+			};
+
+			pw_pwm1_pmx: pw_pwm1@0 {
+				pw_pwm1 {
+					groups = "pw_pwm1_grp";
+					function = "pw_pwm1";
+				};
+			};
+
+			pw_pwm2_pmx0: pw_pwm2@0 {
+				pw_pwm2_0 {
+					groups = "pw_pwm2_grp0";
+					function = "pw_pwm2_m0";
+				};
+			};
+
+			pw_pwm2_pmx1: pw_pwm2@1 {
+				pw_pwm2_1 {
+					groups = "pw_pwm2_grp1";
+					function = "pw_pwm2_m1";
+				};
+			};
+
+			pw_pwm3_pmx0: pw_pwm3@0 {
+				pw_pwm3_0 {
+					groups = "pw_pwm3_grp0";
+					function = "pw_pwm3_m0";
+				};
+			};
+
+			pw_pwm3_pmx1: pw_pwm3@1 {
+				pw_pwm3_1 {
+					groups = "pw_pwm3_grp1";
+					function = "pw_pwm3_m1";
+				};
+			};
+
+			pw_pwm_cpu_vol_pmx0: pw_pwm_cpu_vol@0 {
+				pw_pwm_cpu_vol_0 {
+					groups = "pw_pwm_cpu_vol_grp0";
+					function = "pw_pwm_cpu_vol_m0";
+				};
+			};
+
+			pw_pwm_cpu_vol_pmx1: pw_pwm_cpu_vol@1 {
+				pw_pwm_cpu_vol_1 {
+					groups = "pw_pwm_cpu_vol_grp1";
+					function = "pw_pwm_cpu_vol_m1";
+				};
+			};
+
+			pw_backlight_pmx0: pw_backlight@0 {
+				pw_backlight_0 {
+					groups = "pw_backlight_grp0";
+					function = "pw_backlight_m0";
+				};
+			};
+
+			pw_backlight_pmx1: pw_backlight@1 {
+				pw_backlight_1 {
+					groups = "pw_backlight_grp1";
+					function = "pw_backlight_m1";
+				};
+			};
+
+			rg_eth_mac_pmx: rg_eth_mac@0 {
+				rg_eth_mac {
+					groups = "rg_eth_mac_grp";
+					function = "rg_eth_mac";
+				};
+			};
+
+			rg_gmac_phy_intr_n_pmx: rg_gmac_phy_intr_n@0 {
+				rg_gmac_phy_intr_n {
+					groups = "rg_gmac_phy_intr_n_grp";
+					function = "rg_gmac_phy_intr_n";
+				};
+			};
+
+			rg_rgmii_mac_pmx: rg_rgmii_mac@0 {
+				rg_rgmii_mac {
+					groups = "rg_rgmii_mac_grp";
+					function = "rg_rgmii_mac";
+				};
+			};
+
+			rg_rgmii_phy_ref_clk_pmx0: rg_rgmii_phy_ref_clk@0 {
+				rg_rgmii_phy_ref_clk_0 {
+					groups =
+						"rg_rgmii_phy_ref_clk_grp0";
+					function =
+						"rg_rgmii_phy_ref_clk_m0";
+				};
+			};
+
+			rg_rgmii_phy_ref_clk_pmx1: rg_rgmii_phy_ref_clk@1 {
+				rg_rgmii_phy_ref_clk_1 {
+					groups =
+						"rg_rgmii_phy_ref_clk_grp1";
+					function =
+						"rg_rgmii_phy_ref_clk_m1";
+				};
+			};
+
+			sd0_pmx: sd0@0 {
+				sd0 {
+					groups = "sd0_grp";
+					function = "sd0";
+				};
+			};
+
+			sd0_4bit_pmx: sd0_4bit@0 {
+				sd0_4bit {
+					groups = "sd0_4bit_grp";
+					function = "sd0_4bit";
+				};
+			};
+
+			sd1_pmx: sd1@0 {
+				sd1 {
+					groups = "sd1_grp";
+					function = "sd1";
+				};
+			};
+
+			sd1_4bit_pmx0: sd1_4bit@0 {
+				sd1_4bit_0 {
+					groups = "sd1_4bit_grp0";
+					function = "sd1_4bit_m0";
+				};
+			};
+
+			sd1_4bit_pmx1: sd1_4bit@1 {
+				sd1_4bit_1 {
+					groups = "sd1_4bit_grp1";
+					function = "sd1_4bit_m1";
+				};
+			};
+
+			sd2_pmx0: sd2@0 {
+				sd2_0 {
+					groups = "sd2_grp0";
+					function = "sd2_m0";
+				};
+			};
+
+			sd2_no_cdb_pmx0: sd2_no_cdb@0 {
+				sd2_no_cdb_0 {
+					groups = "sd2_no_cdb_grp0";
+					function = "sd2_no_cdb_m0";
+				};
+			};
+
+			sd3_pmx: sd3@0 {
+				sd3 {
+					groups = "sd3_grp";
+					function = "sd3";
+				};
+			};
+
+			sd5_pmx: sd5@0 {
+				sd5 {
+					groups = "sd5_grp";
+					function = "sd5";
+				};
+			};
+
+			sd6_pmx0: sd6@0 {
+				sd6_0 {
+					groups = "sd6_grp0";
+					function = "sd6_m0";
+				};
+			};
+
+			sd6_pmx1: sd6@1 {
+				sd6_1 {
+					groups = "sd6_grp1";
+					function = "sd6_m1";
+				};
+			};
+
+			sp0_ext_ldo_on_pmx: sp0_ext_ldo_on@0 {
+				sp0_ext_ldo_on {
+					groups = "sp0_ext_ldo_on_grp";
+					function = "sp0_ext_ldo_on";
+				};
+			};
+
+			sp0_qspi_pmx: sp0_qspi@0 {
+				sp0_qspi {
+					groups = "sp0_qspi_grp";
+					function = "sp0_qspi";
+				};
+			};
+
+			sp1_spi_pmx: sp1_spi@0 {
+				sp1_spi {
+					groups = "sp1_spi_grp";
+					function = "sp1_spi";
+				};
+			};
+
+			tpiu_trace_pmx: tpiu_trace@0 {
+				tpiu_trace {
+					groups = "tpiu_trace_grp";
+					function = "tpiu_trace";
+				};
+			};
+
+			uart0_pmx: uart0@0 {
+				uart0 {
+					groups = "uart0_grp";
+					function = "uart0";
+				};
+			};
+
+			uart0_nopause_pmx: uart0_nopause@0 {
+				uart0_nopause {
+					groups = "uart0_nopause_grp";
+					function = "uart0_nopause";
+				};
+			};
+
+			uart1_pmx: uart1@0 {
+				uart1 {
+					groups = "uart1_grp";
+					function = "uart1";
+				};
+			};
+
+			uart2_pmx: uart2@0 {
+				uart2 {
+					groups = "uart2_grp";
+					function = "uart2";
+				};
+			};
+
+			uart3_pmx0: uart3@0 {
+				uart3_0 {
+					groups = "uart3_grp0";
+					function = "uart3_m0";
+				};
+			};
+
+			uart3_pmx1: uart3@1 {
+				uart3_1 {
+					groups = "uart3_grp1";
+					function = "uart3_m1";
+				};
+			};
+
+			uart3_pmx2: uart3@2 {
+				uart3_2 {
+					groups = "uart3_grp2";
+					function = "uart3_m2";
+				};
+			};
+
+			uart3_pmx3: uart3@3 {
+				uart3_3 {
+					groups = "uart3_grp3";
+					function = "uart3_m3";
+				};
+			};
+
+			uart3_nopause_pmx0: uart3_nopause@0 {
+				uart3_nopause_0 {
+					groups = "uart3_nopause_grp0";
+					function = "uart3_nopause_m0";
+				};
+			};
+
+			uart3_nopause_pmx1: uart3_nopause@1 {
+				uart3_nopause_1 {
+					groups = "uart3_nopause_grp1";
+					function = "uart3_nopause_m1";
+				};
+			};
+
+			uart4_pmx0: uart4@0 {
+				uart4_0 {
+					groups = "uart4_grp0";
+					function = "uart4_m0";
+				};
+			};
+
+			uart4_pmx1: uart4@1 {
+				uart4_1 {
+					groups = "uart4_grp1";
+					function = "uart4_m1";
+				};
+			};
+
+			uart4_pmx2: uart4@2 {
+				uart4_2 {
+					groups = "uart4_grp2";
+					function = "uart4_m2";
+				};
+			};
+
+			uart4_nopause_pmx: uart4_nopause@0 {
+				uart4_nopause {
+					groups = "uart4_nopause_grp";
+					function = "uart4_nopause";
+				};
+			};
+
+			usb0_drvvbus_pmx: usb0_drvvbus@0 {
+				usb0_drvvbus {
+					groups = "usb0_drvvbus_grp";
+					function = "usb0_drvvbus";
+				};
+			};
+
+			usb1_drvvbus_pmx: usb1_drvvbus@0 {
+				usb1_drvvbus {
+					groups = "usb1_drvvbus_grp";
+					function = "usb1_drvvbus";
+				};
+			};
+
+			visbus_dout_pmx: visbus_dout@0 {
+				visbus_dout {
+					groups = "visbus_dout_grp";
+					function = "visbus_dout";
+				};
+			};
+
+			vi_vip1_pmx: vi_vip1@0 {
+				vi_vip1 {
+					groups = "vi_vip1_grp";
+					function = "vi_vip1";
+				};
+			};
+
+			vi_vip1_ext_pmx: vi_vip1_ext@0 {
+				vi_vip1_ext {
+					groups = "vi_vip1_ext_grp";
+					function = "vi_vip1_ext";
+				};
+			};
+
+			vi_vip1_low8bit_pmx: vi_vip1_low8bit@0 {
+				vi_vip1_low8bit {
+					groups = "vi_vip1_low8bit_grp";
+					function = "vi_vip1_low8bit";
+				};
+			};
+
+			vi_vip1_high8bit_pmx: vi_vip1_high8bit@0 {
+				vi_vip1_high8bit {
+					groups = "vi_vip1_high8bit_grp";
+					function = "vi_vip1_high8bit";
+				};
+			};
 		};
 		};
 
 
 		pmipc {
 		pmipc {
@@ -356,6 +1375,12 @@
 				clock-names = "gpio0_io";
 				clock-names = "gpio0_io";
 				gpio-controller;
 				gpio-controller;
 				interrupt-controller;
 				interrupt-controller;
+
+				gpio-banks = <2>;
+				gpio-ranges = <&pinctrl 0 0 0>,
+						<&pinctrl 32 0 0>;
+				gpio-ranges-group-names = "lvds_gpio_grp",
+							"uart_nand_gpio_grp";
 			};
 			};
 
 
 			nand@17050000 {
 			nand@17050000 {
@@ -461,11 +1486,22 @@
 				#interrupt-cells = <2>;
 				#interrupt-cells = <2>;
 				compatible = "sirf,atlas7-gpio";
 				compatible = "sirf,atlas7-gpio";
 				reg = <0x13300000 0x1000>;
 				reg = <0x13300000 0x1000>;
-				interrupts = <0 43 0>, <0 44 0>, <0 45 0>;
+				interrupts = <0 43 0>, <0 44 0>,
+						<0 45 0>, <0 46 0>;
 				clocks = <&car 84>;
 				clocks = <&car 84>;
 				clock-names = "gpio1_io";
 				clock-names = "gpio1_io";
 				gpio-controller;
 				gpio-controller;
 				interrupt-controller;
 				interrupt-controller;
+
+				gpio-banks = <4>;
+				gpio-ranges = <&pinctrl 0 0 0>,
+						<&pinctrl 32 0 0>,
+						<&pinctrl 64 0 0>,
+						<&pinctrl 96 0 0>;
+				gpio-ranges-group-names = "gnss_gpio_grp",
+							"lcd_vip_gpio_grp",
+							"sdio_i2s_gpio_grp",
+							"sp_rgmii_gpio_grp";
 			};
 			};
 
 
 			sd2: sdhci@14200000 {
 			sd2: sdhci@14200000 {
@@ -744,6 +1780,10 @@
 				interrupts = <0 47 0>;
 				interrupts = <0 47 0>;
 				gpio-controller;
 				gpio-controller;
 				interrupt-controller;
 				interrupt-controller;
+
+				gpio-banks = <1>;
+				gpio-ranges = <&pinctrl 0 0 0>;
+				gpio-ranges-group-names = "rtc_gpio_grp";
 			};
 			};
 
 
 			rtc-iobg@18840000 {
 			rtc-iobg@18840000 {

+ 4 - 0
arch/arm/boot/dts/cros-ec-keyboard.dtsi

@@ -22,6 +22,7 @@
 			MATRIX_KEY(0x00, 0x02, KEY_F1)
 			MATRIX_KEY(0x00, 0x02, KEY_F1)
 			MATRIX_KEY(0x00, 0x03, KEY_B)
 			MATRIX_KEY(0x00, 0x03, KEY_B)
 			MATRIX_KEY(0x00, 0x04, KEY_F10)
 			MATRIX_KEY(0x00, 0x04, KEY_F10)
+			MATRIX_KEY(0x00, 0x05, KEY_RO)
 			MATRIX_KEY(0x00, 0x06, KEY_N)
 			MATRIX_KEY(0x00, 0x06, KEY_N)
 			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
 			MATRIX_KEY(0x00, 0x08, KEY_EQUAL)
 			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
 			MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT)
@@ -34,6 +35,7 @@
 			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
 			MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE)
 			MATRIX_KEY(0x01, 0x09, KEY_F9)
 			MATRIX_KEY(0x01, 0x09, KEY_F9)
 			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
 			MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE)
+			MATRIX_KEY(0x01, 0x0c, KEY_HENKAN)
 
 
 			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
 			MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL)
 			MATRIX_KEY(0x02, 0x01, KEY_TAB)
 			MATRIX_KEY(0x02, 0x01, KEY_TAB)
@@ -45,6 +47,7 @@
 			MATRIX_KEY(0x02, 0x07, KEY_102ND)
 			MATRIX_KEY(0x02, 0x07, KEY_102ND)
 			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
 			MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE)
 			MATRIX_KEY(0x02, 0x09, KEY_F8)
 			MATRIX_KEY(0x02, 0x09, KEY_F8)
+			MATRIX_KEY(0x02, 0x0a, KEY_YEN)
 
 
 			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
 			MATRIX_KEY(0x03, 0x01, KEY_GRAVE)
 			MATRIX_KEY(0x03, 0x02, KEY_F2)
 			MATRIX_KEY(0x03, 0x02, KEY_F2)
@@ -53,6 +56,7 @@
 			MATRIX_KEY(0x03, 0x06, KEY_6)
 			MATRIX_KEY(0x03, 0x06, KEY_6)
 			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
 			MATRIX_KEY(0x03, 0x08, KEY_MINUS)
 			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
 			MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH)
+			MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN)
 
 
 			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
 			MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
 			MATRIX_KEY(0x04, 0x01, KEY_A)
 			MATRIX_KEY(0x04, 0x01, KEY_A)

+ 3 - 2
arch/arm/boot/dts/dra7-evm.dts

@@ -686,7 +686,8 @@
 
 
 &dcan1 {
 &dcan1 {
 	status = "ok";
 	status = "ok";
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&dcan1_pins_default>;
+	pinctrl-names = "default", "sleep", "active";
+	pinctrl-0 = <&dcan1_pins_sleep>;
 	pinctrl-1 = <&dcan1_pins_sleep>;
 	pinctrl-1 = <&dcan1_pins_sleep>;
+	pinctrl-2 = <&dcan1_pins_default>;
 };
 };

+ 3 - 2
arch/arm/boot/dts/dra72-evm.dts

@@ -587,9 +587,10 @@
 
 
 &dcan1 {
 &dcan1 {
 	status = "ok";
 	status = "ok";
-	pinctrl-names = "default", "sleep";
-	pinctrl-0 = <&dcan1_pins_default>;
+	pinctrl-names = "default", "sleep", "active";
+	pinctrl-0 = <&dcan1_pins_sleep>;
 	pinctrl-1 = <&dcan1_pins_sleep>;
 	pinctrl-1 = <&dcan1_pins_sleep>;
+	pinctrl-2 = <&dcan1_pins_default>;
 };
 };
 
 
 &qspi {
 &qspi {

+ 1 - 0
arch/arm/boot/dts/imx23.dtsi

@@ -468,6 +468,7 @@
 				interrupts = <36 37 38 39 40 41 42 43 44>;
 				interrupts = <36 37 38 39 40 41 42 43 44>;
 				status = "disabled";
 				status = "disabled";
 				clocks = <&clks 26>;
 				clocks = <&clks 26>;
+				#io-channel-cells = <1>;
 			};
 			};
 
 
 			spdif@80054000 {
 			spdif@80054000 {

+ 6 - 6
arch/arm/boot/dts/imx27.dtsi

@@ -108,7 +108,7 @@
 			};
 			};
 
 
 			gpt1: timer@10003000 {
 			gpt1: timer@10003000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x10003000 0x1000>;
 				reg = <0x10003000 0x1000>;
 				interrupts = <26>;
 				interrupts = <26>;
 				clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT1_IPG_GATE>,
@@ -117,7 +117,7 @@
 			};
 			};
 
 
 			gpt2: timer@10004000 {
 			gpt2: timer@10004000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x10004000 0x1000>;
 				reg = <0x10004000 0x1000>;
 				interrupts = <25>;
 				interrupts = <25>;
 				clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT2_IPG_GATE>,
@@ -126,7 +126,7 @@
 			};
 			};
 
 
 			gpt3: timer@10005000 {
 			gpt3: timer@10005000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x10005000 0x1000>;
 				reg = <0x10005000 0x1000>;
 				interrupts = <24>;
 				interrupts = <24>;
 				clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT3_IPG_GATE>,
@@ -376,7 +376,7 @@
 			};
 			};
 
 
 			gpt4: timer@10019000 {
 			gpt4: timer@10019000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x10019000 0x1000>;
 				reg = <0x10019000 0x1000>;
 				interrupts = <4>;
 				interrupts = <4>;
 				clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT4_IPG_GATE>,
@@ -385,7 +385,7 @@
 			};
 			};
 
 
 			gpt5: timer@1001a000 {
 			gpt5: timer@1001a000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x1001a000 0x1000>;
 				reg = <0x1001a000 0x1000>;
 				interrupts = <3>;
 				interrupts = <3>;
 				clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT5_IPG_GATE>,
@@ -436,7 +436,7 @@
 			};
 			};
 
 
 			gpt6: timer@1001f000 {
 			gpt6: timer@1001f000 {
-				compatible = "fsl,imx27-gpt", "fsl,imx1-gpt";
+				compatible = "fsl,imx27-gpt", "fsl,imx21-gpt";
 				reg = <0x1001f000 0x1000>;
 				reg = <0x1001f000 0x1000>;
 				interrupts = <2>;
 				interrupts = <2>;
 				clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,
 				clocks = <&clks IMX27_CLK_GPT6_IPG_GATE>,

+ 3 - 2
arch/arm/boot/dts/imx53-qsb-common.dtsi

@@ -295,9 +295,10 @@
 &tve {
 &tve {
 	pinctrl-names = "default";
 	pinctrl-names = "default";
 	pinctrl-0 = <&pinctrl_vga_sync>;
 	pinctrl-0 = <&pinctrl_vga_sync>;
+	ddc-i2c-bus = <&i2c2>;
 	fsl,tve-mode = "vga";
 	fsl,tve-mode = "vga";
-	fsl,hsync-pin = <4>;
-	fsl,vsync-pin = <6>;
+	fsl,hsync-pin = <7>;	/* IPU DI1 PIN7 via EIM_OE */
+	fsl,vsync-pin = <8>;	/* IPU DI1 PIN8 via EIM_RW */
 	status = "okay";
 	status = "okay";
 };
 };
 
 

+ 2 - 1
arch/arm/boot/dts/k2e.dtsi

@@ -86,7 +86,7 @@
 			gpio,syscon-dev = <&devctrl 0x240>;
 			gpio,syscon-dev = <&devctrl 0x240>;
 		};
 		};
 
 
-		pcie@21020000 {
+		pcie1: pcie@21020000 {
 			compatible = "ti,keystone-pcie","snps,dw-pcie";
 			compatible = "ti,keystone-pcie","snps,dw-pcie";
 			clocks = <&clkpcie1>;
 			clocks = <&clkpcie1>;
 			clock-names = "pcie";
 			clock-names = "pcie";
@@ -96,6 +96,7 @@
 			ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
 			ranges = <0x81000000 0 0 0x23260000 0x4000 0x4000
 				0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
 				0x82000000 0 0x60000000 0x60000000 0 0x10000000>;
 
 
+			status = "disabled";
 			device_type = "pci";
 			device_type = "pci";
 			num-lanes = <2>;
 			num-lanes = <2>;
 
 

+ 2 - 1
arch/arm/boot/dts/keystone.dtsi

@@ -286,7 +286,7 @@
 			ti,syscon-dev = <&devctrl 0x2a0>;
 			ti,syscon-dev = <&devctrl 0x2a0>;
 		};
 		};
 
 
-		pcie@21800000 {
+		pcie0: pcie@21800000 {
 			compatible = "ti,keystone-pcie", "snps,dw-pcie";
 			compatible = "ti,keystone-pcie", "snps,dw-pcie";
 			clocks = <&clkpcie>;
 			clocks = <&clkpcie>;
 			clock-names = "pcie";
 			clock-names = "pcie";
@@ -296,6 +296,7 @@
 			ranges = <0x81000000 0 0 0x23250000 0 0x4000
 			ranges = <0x81000000 0 0 0x23250000 0 0x4000
 				0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
 				0x82000000 0 0x50000000 0x50000000 0 0x10000000>;
 
 
+			status = "disabled";
 			device_type = "pci";
 			device_type = "pci";
 			num-lanes = <2>;
 			num-lanes = <2>;
 
 

+ 1 - 1
arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi

@@ -120,7 +120,7 @@
 
 
 	lcd0: display@0 {
 	lcd0: display@0 {
 		compatible = "lgphilips,lb035q02";
 		compatible = "lgphilips,lb035q02";
-		label = "lcd";
+		label = "lcd35";
 
 
 		reg = <1>;					/* CS1 */
 		reg = <1>;					/* CS1 */
 		spi-max-frequency = <10000000>;
 		spi-max-frequency = <10000000>;

+ 1 - 1
arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi

@@ -98,7 +98,7 @@
 
 
 	lcd0: display@0 {
 	lcd0: display@0 {
 		compatible = "samsung,lte430wq-f0c", "panel-dpi";
 		compatible = "samsung,lte430wq-f0c", "panel-dpi";
-		label = "lcd";
+		label = "lcd43";
 
 
 		pinctrl-names = "default";
 		pinctrl-names = "default";
 		pinctrl-0 = <&lte430_pins>;
 		pinctrl-0 = <&lte430_pins>;

+ 2 - 0
arch/arm/boot/dts/omap4.dtsi

@@ -551,6 +551,7 @@
 			reg = <0x4a066000 0x100>;
 			reg = <0x4a066000 0x100>;
 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 			ti,hwmods = "mmu_dsp";
 			ti,hwmods = "mmu_dsp";
+			#iommu-cells = <0>;
 		};
 		};
 
 
 		mmu_ipu: mmu@55082000 {
 		mmu_ipu: mmu@55082000 {
@@ -558,6 +559,7 @@
 			reg = <0x55082000 0x100>;
 			reg = <0x55082000 0x100>;
 			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
 			ti,hwmods = "mmu_ipu";
 			ti,hwmods = "mmu_ipu";
+			#iommu-cells = <0>;
 			ti,iommu-bus-err-back;
 			ti,iommu-bus-err-back;
 		};
 		};
 
 

+ 2 - 0
arch/arm/boot/dts/omap5.dtsi

@@ -612,6 +612,7 @@
 			reg = <0x4a066000 0x100>;
 			reg = <0x4a066000 0x100>;
 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 			ti,hwmods = "mmu_dsp";
 			ti,hwmods = "mmu_dsp";
+			#iommu-cells = <0>;
 		};
 		};
 
 
 		mmu_ipu: mmu@55082000 {
 		mmu_ipu: mmu@55082000 {
@@ -619,6 +620,7 @@
 			reg = <0x55082000 0x100>;
 			reg = <0x55082000 0x100>;
 			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
 			ti,hwmods = "mmu_ipu";
 			ti,hwmods = "mmu_ipu";
+			#iommu-cells = <0>;
 			ti,iommu-bus-err-back;
 			ti,iommu-bus-err-back;
 		};
 		};
 
 

+ 13 - 13
arch/arm/boot/dts/socfpga_cyclone5_sockit.dts

@@ -60,27 +60,27 @@
 	rxc-skew-ps = <2000>;
 	rxc-skew-ps = <2000>;
 };
 };
 
 
-&mmc0 {
-	vmmc-supply = <&regulator_3_3v>;
-	vqmmc-supply = <&regulator_3_3v>;
-};
-
-&usb1 {
-	status = "okay";
-};
-
 &gpio2 {
 &gpio2 {
 	status = "okay";
 	status = "okay";
 };
 };
 
 
-&i2c1{
+&i2c1 {
 	status = "okay";
 	status = "okay";
 
 
-	accel1: accel1@53{
-		compatible = "adxl34x";
+	accel1: accelerometer@53 {
+		compatible = "adi,adxl345";
 		reg = <0x53>;
 		reg = <0x53>;
 
 
-		interrupt-parent = < &portc >;
+		interrupt-parent = <&portc>;
 		interrupts = <3 2>;
 		interrupts = <3 2>;
 	};
 	};
 };
 };
+
+&mmc0 {
+	vmmc-supply = <&regulator_3_3v>;
+	vqmmc-supply = <&regulator_3_3v>;
+};
+
+&usb1 {
+	status = "okay";
+};

+ 1 - 1
arch/arm/boot/dts/spear1310-evb.dts

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr1310 Evaluation Baord
  * DTS file for SPEAr1310 Evaluation Baord
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear1310.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for all SPEAr1310 SoCs
  * DTS file for all SPEAr1310 SoCs
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear1340-evb.dts

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr1340 Evaluation Baord
  * DTS file for SPEAr1340 Evaluation Baord
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear1340.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for all SPEAr1340 SoCs
  * DTS file for all SPEAr1340 SoCs
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear13xx.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for all SPEAr13xx SoCs
  * DTS file for all SPEAr13xx SoCs
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear300-evb.dts

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr300 Evaluation Baord
  * DTS file for SPEAr300 Evaluation Baord
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear300.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr300 SoC
  * DTS file for SPEAr300 SoC
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear310-evb.dts

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr310 Evaluation Baord
  * DTS file for SPEAr310 Evaluation Baord
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear310.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr310 SoC
  * DTS file for SPEAr310 SoC
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear320-evb.dts

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr320 Evaluation Baord
  * DTS file for SPEAr320 Evaluation Baord
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear320.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for SPEAr320 SoC
  * DTS file for SPEAr320 SoC
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 1 - 1
arch/arm/boot/dts/spear3xx.dtsi

@@ -1,7 +1,7 @@
 /*
 /*
  * DTS file for all SPEAr3xx SoCs
  * DTS file for all SPEAr3xx SoCs
  *
  *
- * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
+ * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
  *
  *
  * The code contained herein is licensed under the GNU General Public
  * The code contained herein is licensed under the GNU General Public
  * License. You may obtain a copy of the GNU General Public License
  * License. You may obtain a copy of the GNU General Public License

+ 7 - 0
arch/arm/boot/dts/ste-ccu8540.dts

@@ -17,6 +17,13 @@
 	model = "ST-Ericsson U8540 platform with Device Tree";
 	model = "ST-Ericsson U8540 platform with Device Tree";
 	compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
 	compatible = "st-ericsson,ccu8540", "st-ericsson,u8540";
 
 
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
+
 	memory@0 {
 	memory@0 {
 		device_type = "memory";
 		device_type = "memory";
 		reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;
 		reg = <0x20000000 0x1f000000>, <0xc0000000 0x3f000000>;

+ 7 - 0
arch/arm/boot/dts/ste-ccu9540.dts

@@ -16,6 +16,13 @@
 	model = "ST-Ericsson CCU9540 platform with Device Tree";
 	model = "ST-Ericsson CCU9540 platform with Device Tree";
 	compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
 	compatible = "st-ericsson,ccu9540", "st-ericsson,u9540";
 
 
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
+
 	memory {
 	memory {
 		reg = <0x00000000 0x20000000>;
 		reg = <0x00000000 0x20000000>;
 	};
 	};

+ 3 - 3
arch/arm/boot/dts/ste-dbx5x0.dtsi

@@ -971,7 +971,7 @@
 			power-domains = <&pm_domains DOMAIN_VAPE>;
 			power-domains = <&pm_domains DOMAIN_VAPE>;
 		};
 		};
 
 
-		uart@80120000 {
+		ux500_serial0: uart@80120000 {
 			compatible = "arm,pl011", "arm,primecell";
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x80120000 0x1000>;
 			reg = <0x80120000 0x1000>;
 			interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
@@ -986,7 +986,7 @@
 			status = "disabled";
 			status = "disabled";
 		};
 		};
 
 
-		uart@80121000 {
+		ux500_serial1: uart@80121000 {
 			compatible = "arm,pl011", "arm,primecell";
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x80121000 0x1000>;
 			reg = <0x80121000 0x1000>;
 			interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
@@ -1001,7 +1001,7 @@
 			status = "disabled";
 			status = "disabled";
 		};
 		};
 
 
-		uart@80007000 {
+		ux500_serial2: uart@80007000 {
 			compatible = "arm,pl011", "arm,primecell";
 			compatible = "arm,pl011", "arm,primecell";
 			reg = <0x80007000 0x1000>;
 			reg = <0x80007000 0x1000>;
 			interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
 			interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;

+ 1 - 1
arch/arm/boot/dts/ste-href.dtsi

@@ -32,11 +32,11 @@
 			status = "okay";
 			status = "okay";
 		};
 		};
 
 
+		/* This UART is unused and thus left disabled */
 		uart@80121000 {
 		uart@80121000 {
 			pinctrl-names = "default", "sleep";
 			pinctrl-names = "default", "sleep";
 			pinctrl-0 = <&uart1_default_mode>;
 			pinctrl-0 = <&uart1_default_mode>;
 			pinctrl-1 = <&uart1_sleep_mode>;
 			pinctrl-1 = <&uart1_sleep_mode>;
-			status = "okay";
 		};
 		};
 
 
 		uart@80007000 {
 		uart@80007000 {

+ 7 - 0
arch/arm/boot/dts/ste-hrefprev60-stuib.dts

@@ -17,6 +17,13 @@
 	model = "ST-Ericsson HREF (pre-v60) and ST UIB";
 	model = "ST-Ericsson HREF (pre-v60) and ST UIB";
 	compatible = "st-ericsson,mop500", "st-ericsson,u8500";
 	compatible = "st-ericsson,mop500", "st-ericsson,u8500";
 
 
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
+
 	soc {
 	soc {
 		/* Reset line for the BU21013 touchscreen */
 		/* Reset line for the BU21013 touchscreen */
 		i2c@80110000 {
 		i2c@80110000 {

+ 7 - 0
arch/arm/boot/dts/ste-hrefprev60-tvk.dts

@@ -16,4 +16,11 @@
 / {
 / {
 	model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
 	model = "ST-Ericsson HREF (pre-v60) and TVK1281618 UIB";
 	compatible = "st-ericsson,mop500", "st-ericsson,u8500";
 	compatible = "st-ericsson,mop500", "st-ericsson,u8500";
+
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
 };
 };

+ 5 - 0
arch/arm/boot/dts/ste-hrefprev60.dtsi

@@ -23,6 +23,11 @@
 	};
 	};
 
 
 	soc {
 	soc {
+		/* Enable UART1 on this board */
+		uart@80121000 {
+			status = "okay";
+		};
+
 		i2c@80004000 {
 		i2c@80004000 {
 			tps61052@33 {
 			tps61052@33 {
 				compatible = "tps61052";
 				compatible = "tps61052";

+ 7 - 0
arch/arm/boot/dts/ste-hrefv60plus-stuib.dts

@@ -19,6 +19,13 @@
 	model = "ST-Ericsson HREF (v60+) and ST UIB";
 	model = "ST-Ericsson HREF (v60+) and ST UIB";
 	compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
 	compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
 
 
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
+
 	soc {
 	soc {
 		/* Reset line for the BU21013 touchscreen */
 		/* Reset line for the BU21013 touchscreen */
 		i2c@80110000 {
 		i2c@80110000 {

+ 7 - 0
arch/arm/boot/dts/ste-hrefv60plus-tvk.dts

@@ -18,4 +18,11 @@
 / {
 / {
 	model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
 	model = "ST-Ericsson HREF (v60+) and TVK1281618 UIB";
 	compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
 	compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
+
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
 };
 };

+ 23 - 2
arch/arm/boot/dts/ste-hrefv60plus.dtsi

@@ -43,15 +43,26 @@
 				  <&vaudio_hf_hrefv60_mode>,
 				  <&vaudio_hf_hrefv60_mode>,
 				  <&gbf_hrefv60_mode>,
 				  <&gbf_hrefv60_mode>,
 				  <&hdtv_hrefv60_mode>,
 				  <&hdtv_hrefv60_mode>,
-				  <&touch_hrefv60_mode>;
+				  <&touch_hrefv60_mode>,
+				  <&gpios_hrefv60_mode>;
 
 
 			sdi0 {
 			sdi0 {
-				/* SD card detect GPIO pin, extend default state */
 				sdi0_default_mode: sdi0_default {
 				sdi0_default_mode: sdi0_default {
+					/* SD card detect GPIO pin, extend default state */
 					default_hrefv60_cfg1 {
 					default_hrefv60_cfg1 {
 						pins = "GPIO95_E8";
 						pins = "GPIO95_E8";
 						ste,config = <&gpio_in_pu>;
 						ste,config = <&gpio_in_pu>;
 					};
 					};
+					/* VMMCI level-shifter enable */
+					default_hrefv60_cfg2 {
+						pins = "GPIO169_D22";
+						ste,config = <&gpio_out_lo>;
+					};
+					/* VMMCI level-shifter voltage select */
+					default_hrefv60_cfg3 {
+						pins = "GPIO5_AG6";
+						ste,config = <&gpio_out_hi>;
+					};
 				};
 				};
 			};
 			};
 			ipgpio {
 			ipgpio {
@@ -213,6 +224,16 @@
 					};
 					};
 				};
 				};
 			};
 			};
+			gpios {
+				/* Dangling GPIO pins */
+				gpios_hrefv60_mode: gpios_hrefv60 {
+					default_cfg1 {
+						/* Normally UART1 RXD, now dangling */
+						pins = "GPIO4_AH6";
+						ste,config = <&in_pu>;
+					};
+				};
+			};
 		};
 		};
 	};
 	};
 };
 };

+ 23 - 2
arch/arm/boot/dts/ste-snowball.dts

@@ -18,6 +18,13 @@
 	model = "Calao Systems Snowball platform with device tree";
 	model = "Calao Systems Snowball platform with device tree";
 	compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
 	compatible = "calaosystems,snowball-a9500", "st-ericsson,u9500";
 
 
+	/* This stablilizes the serial port enumeration */
+	aliases {
+		serial0 = &ux500_serial0;
+		serial1 = &ux500_serial1;
+		serial2 = &ux500_serial2;
+	};
+
 	memory {
 	memory {
 		reg = <0x00000000 0x20000000>;
 		reg = <0x00000000 0x20000000>;
 	};
 	};
@@ -223,11 +230,11 @@
 			status = "okay";
 			status = "okay";
 		};
 		};
 
 
+		/* This UART is unused and thus left disabled */
 		uart@80121000 {
 		uart@80121000 {
 			pinctrl-names = "default", "sleep";
 			pinctrl-names = "default", "sleep";
 			pinctrl-0 = <&uart1_default_mode>;
 			pinctrl-0 = <&uart1_default_mode>;
 			pinctrl-1 = <&uart1_sleep_mode>;
 			pinctrl-1 = <&uart1_sleep_mode>;
-			status = "okay";
 		};
 		};
 
 
 		uart@80007000 {
 		uart@80007000 {
@@ -452,7 +459,21 @@
 						pins = "GPIO21_AB3"; /* DAT31DIR */
 						pins = "GPIO21_AB3"; /* DAT31DIR */
 						ste,config = <&out_hi>;
 						ste,config = <&out_hi>;
 					};
 					};
-
+					/* SD card detect GPIO pin, extend default state */
+					snowball_cfg2 {
+						pins = "GPIO218_AH11";
+						ste,config = <&gpio_in_pu>;
+					};
+					/* VMMCI level-shifter enable */
+					snowball_cfg3 {
+						pins = "GPIO217_AH12";
+						ste,config = <&gpio_out_lo>;
+					};
+					/* VMMCI level-shifter voltage select */
+					snowball_cfg4 {
+						pins = "GPIO228_AJ6";
+						ste,config = <&gpio_out_hi>;
+					};
 				};
 				};
 			};
 			};
 			ssp0 {
 			ssp0 {

+ 23 - 2
arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts

@@ -150,6 +150,16 @@
 			interface-type = "ace";
 			interface-type = "ace";
 			reg = <0x5000 0x1000>;
 			reg = <0x5000 0x1000>;
 		};
 		};
+
+		pmu@9000 {
+			 compatible = "arm,cci-400-pmu,r0";
+			 reg = <0x9000 0x5000>;
+			 interrupts = <0 105 4>,
+				      <0 101 4>,
+				      <0 102 4>,
+				      <0 103 4>,
+				      <0 104 4>;
+		};
 	};
 	};
 
 
 	memory-controller@7ffd0000 {
 	memory-controller@7ffd0000 {
@@ -187,11 +197,22 @@
 			     <1 10 0xf08>;
 			     <1 10 0xf08>;
 	};
 	};
 
 
-	pmu {
+	pmu_a15 {
 		compatible = "arm,cortex-a15-pmu";
 		compatible = "arm,cortex-a15-pmu";
 		interrupts = <0 68 4>,
 		interrupts = <0 68 4>,
 			     <0 69 4>;
 			     <0 69 4>;
-		interrupt-affinity = <&cpu0>, <&cpu1>;
+		interrupt-affinity = <&cpu0>,
+				     <&cpu1>;
+	};
+
+	pmu_a7 {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <0 128 4>,
+			     <0 129 4>,
+			     <0 130 4>;
+		interrupt-affinity = <&cpu2>,
+				     <&cpu3>,
+				     <&cpu4>;
 	};
 	};
 
 
 	oscclk6a: oscclk6a {
 	oscclk6a: oscclk6a {

+ 0 - 1
arch/arm/configs/multi_v7_defconfig

@@ -353,7 +353,6 @@ CONFIG_POWER_RESET_AS3722=y
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_POWER_RESET_GPIO=y
 CONFIG_POWER_RESET_GPIO_RESTART=y
 CONFIG_POWER_RESET_GPIO_RESTART=y
 CONFIG_POWER_RESET_KEYSTONE=y
 CONFIG_POWER_RESET_KEYSTONE=y
-CONFIG_POWER_RESET_SUN6I=y
 CONFIG_POWER_RESET_RMOBILE=y
 CONFIG_POWER_RESET_RMOBILE=y
 CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_LM90=y
 CONFIG_SENSORS_LM95245=y
 CONFIG_SENSORS_LM95245=y

+ 5 - 1
arch/arm/configs/sunxi_defconfig

@@ -2,6 +2,7 @@ CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_HIGH_RES_TIMERS=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_BLK_DEV_INITRD=y
 CONFIG_PERF_EVENTS=y
 CONFIG_PERF_EVENTS=y
+CONFIG_MODULES=y
 CONFIG_ARCH_SUNXI=y
 CONFIG_ARCH_SUNXI=y
 CONFIG_SMP=y
 CONFIG_SMP=y
 CONFIG_NR_CPUS=8
 CONFIG_NR_CPUS=8
@@ -77,7 +78,6 @@ CONFIG_SPI_SUN6I=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_POWER_SUPPLY=y
 CONFIG_POWER_SUPPLY=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_SUN6I=y
 CONFIG_THERMAL=y
 CONFIG_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_CPU_THERMAL=y
 CONFIG_WATCHDOG=y
 CONFIG_WATCHDOG=y
@@ -87,6 +87,10 @@ CONFIG_REGULATOR=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_FIXED_VOLTAGE=y
 CONFIG_REGULATOR_AXP20X=y
 CONFIG_REGULATOR_AXP20X=y
 CONFIG_REGULATOR_GPIO=y
 CONFIG_REGULATOR_GPIO=y
+CONFIG_FB=y
+CONFIG_FB_SIMPLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 CONFIG_USB=y
 CONFIG_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_HCD_PLATFORM=y
 CONFIG_USB_EHCI_HCD_PLATFORM=y

+ 1 - 0
arch/arm/include/asm/Kbuild

@@ -13,6 +13,7 @@ generic-y += kdebug.h
 generic-y += local.h
 generic-y += local.h
 generic-y += local64.h
 generic-y += local64.h
 generic-y += mcs_spinlock.h
 generic-y += mcs_spinlock.h
+generic-y += mm-arch-hooks.h
 generic-y += msgbuf.h
 generic-y += msgbuf.h
 generic-y += param.h
 generic-y += param.h
 generic-y += parport.h
 generic-y += parport.h

+ 58 - 17
arch/arm/include/asm/io.h

@@ -140,16 +140,11 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
  * The _caller variety takes a __builtin_return_address(0) value for
  * The _caller variety takes a __builtin_return_address(0) value for
  * /proc/vmalloc to use - and should only be used in non-inline functions.
  * /proc/vmalloc to use - and should only be used in non-inline functions.
  */
  */
-extern void __iomem *__arm_ioremap_pfn_caller(unsigned long, unsigned long,
-	size_t, unsigned int, void *);
 extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int,
 extern void __iomem *__arm_ioremap_caller(phys_addr_t, size_t, unsigned int,
 	void *);
 	void *);
-
 extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
 extern void __iomem *__arm_ioremap_pfn(unsigned long, unsigned long, size_t, unsigned int);
-extern void __iomem *__arm_ioremap(phys_addr_t, size_t, unsigned int);
 extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached);
 extern void __iomem *__arm_ioremap_exec(phys_addr_t, size_t, bool cached);
 extern void __iounmap(volatile void __iomem *addr);
 extern void __iounmap(volatile void __iomem *addr);
-extern void __arm_iounmap(volatile void __iomem *addr);
 
 
 extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
 extern void __iomem * (*arch_ioremap_caller)(phys_addr_t, size_t,
 	unsigned int, void *);
 	unsigned int, void *);
@@ -321,21 +316,24 @@ extern void _memset_io(volatile void __iomem *, int, size_t);
 static inline void memset_io(volatile void __iomem *dst, unsigned c,
 static inline void memset_io(volatile void __iomem *dst, unsigned c,
 	size_t count)
 	size_t count)
 {
 {
-	memset((void __force *)dst, c, count);
+	extern void mmioset(void *, unsigned int, size_t);
+	mmioset((void __force *)dst, c, count);
 }
 }
 #define memset_io(dst,c,count) memset_io(dst,c,count)
 #define memset_io(dst,c,count) memset_io(dst,c,count)
 
 
 static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
 static inline void memcpy_fromio(void *to, const volatile void __iomem *from,
 	size_t count)
 	size_t count)
 {
 {
-	memcpy(to, (const void __force *)from, count);
+	extern void mmiocpy(void *, const void *, size_t);
+	mmiocpy(to, (const void __force *)from, count);
 }
 }
 #define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
 #define memcpy_fromio(to,from,count) memcpy_fromio(to,from,count)
 
 
 static inline void memcpy_toio(volatile void __iomem *to, const void *from,
 static inline void memcpy_toio(volatile void __iomem *to, const void *from,
 	size_t count)
 	size_t count)
 {
 {
-	memcpy((void __force *)to, from, count);
+	extern void mmiocpy(void *, const void *, size_t);
+	mmiocpy((void __force *)to, from, count);
 }
 }
 #define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
 #define memcpy_toio(to,from,count) memcpy_toio(to,from,count)
 
 
@@ -348,18 +346,61 @@ static inline void memcpy_toio(volatile void __iomem *to, const void *from,
 #endif	/* readl */
 #endif	/* readl */
 
 
 /*
 /*
- * ioremap and friends.
+ * ioremap() and friends.
+ *
+ * ioremap() takes a resource address, and size.  Due to the ARM memory
+ * types, it is important to use the correct ioremap() function as each
+ * mapping has specific properties.
+ *
+ * Function		Memory type	Cacheability	Cache hint
+ * ioremap()		Device		n/a		n/a
+ * ioremap_nocache()	Device		n/a		n/a
+ * ioremap_cache()	Normal		Writeback	Read allocate
+ * ioremap_wc()		Normal		Non-cacheable	n/a
+ * ioremap_wt()		Normal		Non-cacheable	n/a
+ *
+ * All device mappings have the following properties:
+ * - no access speculation
+ * - no repetition (eg, on return from an exception)
+ * - number, order and size of accesses are maintained
+ * - unaligned accesses are "unpredictable"
+ * - writes may be delayed before they hit the endpoint device
  *
  *
- * ioremap takes a PCI memory address, as specified in
- * Documentation/io-mapping.txt.
+ * ioremap_nocache() is the same as ioremap() as there are too many device
+ * drivers using this for device registers, and documentation which tells
+ * people to use it for such for this to be any different.  This is not a
+ * safe fallback for memory-like mappings, or memory regions where the
+ * compiler may generate unaligned accesses - eg, via inlining its own
+ * memcpy.
  *
  *
+ * All normal memory mappings have the following properties:
+ * - reads can be repeated with no side effects
+ * - repeated reads return the last value written
+ * - reads can fetch additional locations without side effects
+ * - writes can be repeated (in certain cases) with no side effects
+ * - writes can be merged before accessing the target
+ * - unaligned accesses can be supported
+ * - ordering is not guaranteed without explicit dependencies or barrier
+ *   instructions
+ * - writes may be delayed before they hit the endpoint memory
+ *
+ * The cache hint is only a performance hint: CPUs may alias these hints.
+ * Eg, a CPU not implementing read allocate but implementing write allocate
+ * will provide a write allocate mapping instead.
  */
  */
-#define ioremap(cookie,size)		__arm_ioremap((cookie), (size), MT_DEVICE)
-#define ioremap_nocache(cookie,size)	__arm_ioremap((cookie), (size), MT_DEVICE)
-#define ioremap_cache(cookie,size)	__arm_ioremap((cookie), (size), MT_DEVICE_CACHED)
-#define ioremap_wc(cookie,size)		__arm_ioremap((cookie), (size), MT_DEVICE_WC)
-#define ioremap_wt(cookie,size)		__arm_ioremap((cookie), (size), MT_DEVICE)
-#define iounmap				__arm_iounmap
+void __iomem *ioremap(resource_size_t res_cookie, size_t size);
+#define ioremap ioremap
+#define ioremap_nocache ioremap
+
+void __iomem *ioremap_cache(resource_size_t res_cookie, size_t size);
+#define ioremap_cache ioremap_cache
+
+void __iomem *ioremap_wc(resource_size_t res_cookie, size_t size);
+#define ioremap_wc ioremap_wc
+#define ioremap_wt ioremap_wc
+
+void iounmap(volatile void __iomem *iomem_cookie);
+#define iounmap iounmap
 
 
 /*
 /*
  * io{read,write}{16,32}be() macros
  * io{read,write}{16,32}be() macros

+ 2 - 2
arch/arm/include/asm/memory.h

@@ -275,7 +275,7 @@ static inline void *phys_to_virt(phys_addr_t x)
  */
  */
 #define __pa(x)			__virt_to_phys((unsigned long)(x))
 #define __pa(x)			__virt_to_phys((unsigned long)(x))
 #define __va(x)			((void *)__phys_to_virt((phys_addr_t)(x)))
 #define __va(x)			((void *)__phys_to_virt((phys_addr_t)(x)))
-#define pfn_to_kaddr(pfn)	__va((pfn) << PAGE_SHIFT)
+#define pfn_to_kaddr(pfn)	__va((phys_addr_t)(pfn) << PAGE_SHIFT)
 
 
 extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
 extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
 
 
@@ -286,7 +286,7 @@ extern phys_addr_t (*arch_virt_to_idmap)(unsigned long x);
  */
  */
 static inline phys_addr_t __virt_to_idmap(unsigned long x)
 static inline phys_addr_t __virt_to_idmap(unsigned long x)
 {
 {
-	if (arch_virt_to_idmap)
+	if (IS_ENABLED(CONFIG_MMU) && arch_virt_to_idmap)
 		return arch_virt_to_idmap(x);
 		return arch_virt_to_idmap(x);
 	else
 	else
 		return __virt_to_phys(x);
 		return __virt_to_phys(x);

+ 0 - 15
arch/arm/include/asm/mm-arch-hooks.h

@@ -1,15 +0,0 @@
-/*
- * Architecture specific mm hooks
- *
- * Copyright (C) 2015, IBM Corporation
- * Author: Laurent Dufour <ldufour@linux.vnet.ibm.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef _ASM_ARM_MM_ARCH_HOOKS_H
-#define _ASM_ARM_MM_ARCH_HOOKS_H
-
-#endif /* _ASM_ARM_MM_ARCH_HOOKS_H */

+ 30 - 1
arch/arm/include/asm/pgtable-2level.h

@@ -129,7 +129,36 @@
 
 
 /*
 /*
  * These are the memory types, defined to be compatible with
  * These are the memory types, defined to be compatible with
- * pre-ARMv6 CPUs cacheable and bufferable bits:   XXCB
+ * pre-ARMv6 CPUs cacheable and bufferable bits: n/a,n/a,C,B
+ * ARMv6+ without TEX remapping, they are a table index.
+ * ARMv6+ with TEX remapping, they correspond to n/a,TEX(0),C,B
+ *
+ * MT type		Pre-ARMv6	ARMv6+ type / cacheable status
+ * UNCACHED		Uncached	Strongly ordered
+ * BUFFERABLE		Bufferable	Normal memory / non-cacheable
+ * WRITETHROUGH		Writethrough	Normal memory / write through
+ * WRITEBACK		Writeback	Normal memory / write back, read alloc
+ * MINICACHE		Minicache	N/A
+ * WRITEALLOC		Writeback	Normal memory / write back, write alloc
+ * DEV_SHARED		Uncached	Device memory (shared)
+ * DEV_NONSHARED	Uncached	Device memory (non-shared)
+ * DEV_WC		Bufferable	Normal memory / non-cacheable
+ * DEV_CACHED		Writeback	Normal memory / write back, read alloc
+ * VECTORS		Variable	Normal memory / variable
+ *
+ * All normal memory mappings have the following properties:
+ * - reads can be repeated with no side effects
+ * - repeated reads return the last value written
+ * - reads can fetch additional locations without side effects
+ * - writes can be repeated (in certain cases) with no side effects
+ * - writes can be merged before accessing the target
+ * - unaligned accesses can be supported
+ *
+ * All device mappings have the following properties:
+ * - no access speculation
+ * - no repetition (eg, on return from an exception)
+ * - number, order and size of accesses are maintained
+ * - unaligned accesses are "unpredictable"
  */
  */
 #define L_PTE_MT_UNCACHED	(_AT(pteval_t, 0x00) << 2)	/* 0000 */
 #define L_PTE_MT_UNCACHED	(_AT(pteval_t, 0x00) << 2)	/* 0000 */
 #define L_PTE_MT_BUFFERABLE	(_AT(pteval_t, 0x01) << 2)	/* 0001 */
 #define L_PTE_MT_BUFFERABLE	(_AT(pteval_t, 0x01) << 2)	/* 0001 */

+ 6 - 0
arch/arm/kernel/armksyms.c

@@ -50,6 +50,9 @@ extern void __aeabi_ulcmp(void);
 
 
 extern void fpundefinstr(void);
 extern void fpundefinstr(void);
 
 
+void mmioset(void *, unsigned int, size_t);
+void mmiocpy(void *, const void *, size_t);
+
 	/* platform dependent support */
 	/* platform dependent support */
 EXPORT_SYMBOL(arm_delay_ops);
 EXPORT_SYMBOL(arm_delay_ops);
 
 
@@ -88,6 +91,9 @@ EXPORT_SYMBOL(memmove);
 EXPORT_SYMBOL(memchr);
 EXPORT_SYMBOL(memchr);
 EXPORT_SYMBOL(__memzero);
 EXPORT_SYMBOL(__memzero);
 
 
+EXPORT_SYMBOL(mmioset);
+EXPORT_SYMBOL(mmiocpy);
+
 #ifdef CONFIG_MMU
 #ifdef CONFIG_MMU
 EXPORT_SYMBOL(copy_page);
 EXPORT_SYMBOL(copy_page);
 
 

+ 1 - 1
arch/arm/kernel/entry-armv.S

@@ -410,7 +410,7 @@ ENDPROC(__fiq_abt)
 	zero_fp
 	zero_fp
 
 
 	.if	\trace
 	.if	\trace
-#ifdef CONFIG_IRQSOFF_TRACER
+#ifdef CONFIG_TRACE_IRQFLAGS
 	bl	trace_hardirqs_off
 	bl	trace_hardirqs_off
 #endif
 #endif
 	ct_user_exit save = 0
 	ct_user_exit save = 0

+ 2 - 1
arch/arm/kernel/perf_event.c

@@ -818,12 +818,13 @@ static int of_pmu_irq_cfg(struct arm_pmu *pmu)
 			if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL))
 			if (arch_find_n_match_cpu_physical_id(dn, cpu, NULL))
 				break;
 				break;
 
 
-		of_node_put(dn);
 		if (cpu >= nr_cpu_ids) {
 		if (cpu >= nr_cpu_ids) {
 			pr_warn("Failed to find logical CPU for %s\n",
 			pr_warn("Failed to find logical CPU for %s\n",
 				dn->name);
 				dn->name);
+			of_node_put(dn);
 			break;
 			break;
 		}
 		}
+		of_node_put(dn);
 
 
 		irqs[i] = cpu;
 		irqs[i] = cpu;
 		cpumask_set_cpu(cpu, &pmu->supported_cpus);
 		cpumask_set_cpu(cpu, &pmu->supported_cpus);

+ 1 - 1
arch/arm/kernel/reboot.c

@@ -50,7 +50,7 @@ static void __soft_restart(void *addr)
 	flush_cache_all();
 	flush_cache_all();
 
 
 	/* Switch to the identity mapping. */
 	/* Switch to the identity mapping. */
-	phys_reset = (phys_reset_t)(unsigned long)virt_to_phys(cpu_reset);
+	phys_reset = (phys_reset_t)(unsigned long)virt_to_idmap(cpu_reset);
 	phys_reset((unsigned long)addr);
 	phys_reset((unsigned long)addr);
 
 
 	/* Should never get here. */
 	/* Should never get here. */

+ 2 - 2
arch/arm/kernel/smp.c

@@ -578,7 +578,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
 	struct pt_regs *old_regs = set_irq_regs(regs);
 	struct pt_regs *old_regs = set_irq_regs(regs);
 
 
 	if ((unsigned)ipinr < NR_IPI) {
 	if ((unsigned)ipinr < NR_IPI) {
-		trace_ipi_entry(ipi_types[ipinr]);
+		trace_ipi_entry_rcuidle(ipi_types[ipinr]);
 		__inc_irq_stat(cpu, ipi_irqs[ipinr]);
 		__inc_irq_stat(cpu, ipi_irqs[ipinr]);
 	}
 	}
 
 
@@ -637,7 +637,7 @@ void handle_IPI(int ipinr, struct pt_regs *regs)
 	}
 	}
 
 
 	if ((unsigned)ipinr < NR_IPI)
 	if ((unsigned)ipinr < NR_IPI)
-		trace_ipi_exit(ipi_types[ipinr]);
+		trace_ipi_exit_rcuidle(ipi_types[ipinr]);
 	set_irq_regs(old_regs);
 	set_irq_regs(old_regs);
 }
 }
 
 

+ 2 - 0
arch/arm/lib/memcpy.S

@@ -61,8 +61,10 @@
 
 
 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
 /* Prototype: void *memcpy(void *dest, const void *src, size_t n); */
 
 
+ENTRY(mmiocpy)
 ENTRY(memcpy)
 ENTRY(memcpy)
 
 
 #include "copy_template.S"
 #include "copy_template.S"
 
 
 ENDPROC(memcpy)
 ENDPROC(memcpy)
+ENDPROC(mmiocpy)

+ 2 - 0
arch/arm/lib/memset.S

@@ -16,6 +16,7 @@
 	.text
 	.text
 	.align	5
 	.align	5
 
 
+ENTRY(mmioset)
 ENTRY(memset)
 ENTRY(memset)
 UNWIND( .fnstart         )
 UNWIND( .fnstart         )
 	ands	r3, r0, #3		@ 1 unaligned?
 	ands	r3, r0, #3		@ 1 unaligned?
@@ -133,3 +134,4 @@ UNWIND( .fnstart            )
 	b	1b
 	b	1b
 UNWIND( .fnend   )
 UNWIND( .fnend   )
 ENDPROC(memset)
 ENDPROC(memset)
+ENDPROC(mmioset)

+ 6 - 21
arch/arm/mach-imx/gpc.c

@@ -291,8 +291,6 @@ void __init imx_gpc_check_dt(void)
 	}
 	}
 }
 }
 
 
-#ifdef CONFIG_PM_GENERIC_DOMAINS
-
 static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
 static void _imx6q_pm_pu_power_off(struct generic_pm_domain *genpd)
 {
 {
 	int iso, iso2sw;
 	int iso, iso2sw;
@@ -399,7 +397,6 @@ static struct genpd_onecell_data imx_gpc_onecell_data = {
 static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
 static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
 {
 {
 	struct clk *clk;
 	struct clk *clk;
-	bool is_off;
 	int i;
 	int i;
 
 
 	imx6q_pu_domain.reg = pu_reg;
 	imx6q_pu_domain.reg = pu_reg;
@@ -416,18 +413,13 @@ static int imx_gpc_genpd_init(struct device *dev, struct regulator *pu_reg)
 	}
 	}
 	imx6q_pu_domain.num_clks = i;
 	imx6q_pu_domain.num_clks = i;
 
 
-	is_off = IS_ENABLED(CONFIG_PM);
-	if (is_off) {
-		_imx6q_pm_pu_power_off(&imx6q_pu_domain.base);
-	} else {
-		/*
-		 * Enable power if compiled without CONFIG_PM in case the
-		 * bootloader disabled it.
-		 */
-		imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
-	}
+	/* Enable power always in case bootloader disabled it. */
+	imx6q_pm_pu_power_on(&imx6q_pu_domain.base);
+
+	if (!IS_ENABLED(CONFIG_PM_GENERIC_DOMAINS))
+		return 0;
 
 
-	pm_genpd_init(&imx6q_pu_domain.base, NULL, is_off);
+	pm_genpd_init(&imx6q_pu_domain.base, NULL, false);
 	return of_genpd_add_provider_onecell(dev->of_node,
 	return of_genpd_add_provider_onecell(dev->of_node,
 					     &imx_gpc_onecell_data);
 					     &imx_gpc_onecell_data);
 
 
@@ -437,13 +429,6 @@ clk_err:
 	return -EINVAL;
 	return -EINVAL;
 }
 }
 
 
-#else
-static inline int imx_gpc_genpd_init(struct device *dev, struct regulator *reg)
-{
-	return 0;
-}
-#endif /* CONFIG_PM_GENERIC_DOMAINS */
-
 static int imx_gpc_probe(struct platform_device *pdev)
 static int imx_gpc_probe(struct platform_device *pdev)
 {
 {
 	struct regulator *pu_reg;
 	struct regulator *pu_reg;

+ 1 - 0
arch/arm/mach-omap2/Kconfig

@@ -60,6 +60,7 @@ config SOC_AM43XX
 	select ARM_GIC
 	select ARM_GIC
 	select MACH_OMAP_GENERIC
 	select MACH_OMAP_GENERIC
 	select MIGHT_HAVE_CACHE_L2X0
 	select MIGHT_HAVE_CACHE_L2X0
+	select HAVE_ARM_SCU
 
 
 config SOC_DRA7XX
 config SOC_DRA7XX
 	bool "TI DRA7XX"
 	bool "TI DRA7XX"

+ 0 - 1
arch/arm/mach-omap2/dma.c

@@ -117,7 +117,6 @@ static void omap2_show_dma_caps(void)
 	u8 revision = dma_read(REVISION, 0) & 0xff;
 	u8 revision = dma_read(REVISION, 0) & 0xff;
 	printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
 	printk(KERN_INFO "OMAP DMA hardware revision %d.%d\n",
 				revision >> 4, revision & 0xf);
 				revision >> 4, revision & 0xf);
-	return;
 }
 }
 
 
 static unsigned configure_dma_errata(void)
 static unsigned configure_dma_errata(void)

+ 1 - 0
arch/arm/mach-prima2/Kconfig

@@ -4,6 +4,7 @@ menuconfig ARCH_SIRF
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_IRQ_CHIP
 	select GENERIC_IRQ_CHIP
 	select NO_IOPORT_MAP
 	select NO_IOPORT_MAP
+	select REGMAP
 	select PINCTRL
 	select PINCTRL
 	select PINCTRL_SIRF
 	select PINCTRL_SIRF
 	help
 	help

+ 45 - 3
arch/arm/mach-prima2/rtciobrg.c

@@ -1,5 +1,5 @@
 /*
 /*
- * RTC I/O Bridge interfaces for CSR SiRFprimaII
+ * RTC I/O Bridge interfaces for CSR SiRFprimaII/atlas7
  * ARM access the registers of SYSRTC, GPSRTC and PWRC through this module
  * ARM access the registers of SYSRTC, GPSRTC and PWRC through this module
  *
  *
  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
  * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
@@ -10,6 +10,7 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/io.h>
 #include <linux/io.h>
+#include <linux/regmap.h>
 #include <linux/of.h>
 #include <linux/of.h>
 #include <linux/of_address.h>
 #include <linux/of_address.h>
 #include <linux/of_device.h>
 #include <linux/of_device.h>
@@ -66,6 +67,7 @@ u32 sirfsoc_rtc_iobrg_readl(u32 addr)
 {
 {
 	unsigned long flags, val;
 	unsigned long flags, val;
 
 
+	/* TODO: add hwspinlock to sync with M3 */
 	spin_lock_irqsave(&rtciobrg_lock, flags);
 	spin_lock_irqsave(&rtciobrg_lock, flags);
 
 
 	val = __sirfsoc_rtc_iobrg_readl(addr);
 	val = __sirfsoc_rtc_iobrg_readl(addr);
@@ -90,6 +92,7 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
 {
 {
 	unsigned long flags;
 	unsigned long flags;
 
 
+	 /* TODO: add hwspinlock to sync with M3 */
 	spin_lock_irqsave(&rtciobrg_lock, flags);
 	spin_lock_irqsave(&rtciobrg_lock, flags);
 
 
 	sirfsoc_rtc_iobrg_pre_writel(val, addr);
 	sirfsoc_rtc_iobrg_pre_writel(val, addr);
@@ -102,6 +105,45 @@ void sirfsoc_rtc_iobrg_writel(u32 val, u32 addr)
 }
 }
 EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel);
 EXPORT_SYMBOL_GPL(sirfsoc_rtc_iobrg_writel);
 
 
+
+static int regmap_iobg_regwrite(void *context, unsigned int reg,
+				   unsigned int val)
+{
+	sirfsoc_rtc_iobrg_writel(val, reg);
+	return 0;
+}
+
+static int regmap_iobg_regread(void *context, unsigned int reg,
+				  unsigned int *val)
+{
+	*val = (u32)sirfsoc_rtc_iobrg_readl(reg);
+	return 0;
+}
+
+static struct regmap_bus regmap_iobg = {
+	.reg_write = regmap_iobg_regwrite,
+	.reg_read = regmap_iobg_regread,
+};
+
+/**
+ * devm_regmap_init_iobg(): Initialise managed register map
+ *
+ * @iobg: Device that will be interacted with
+ * @config: Configuration for register map
+ *
+ * The return value will be an ERR_PTR() on error or a valid pointer
+ * to a struct regmap.  The regmap will be automatically freed by the
+ * device management code.
+ */
+struct regmap *devm_regmap_init_iobg(struct device *dev,
+				    const struct regmap_config *config)
+{
+	const struct regmap_bus *bus = &regmap_iobg;
+
+	return devm_regmap_init(dev, bus, dev, config);
+}
+EXPORT_SYMBOL_GPL(devm_regmap_init_iobg);
+
 static const struct of_device_id rtciobrg_ids[] = {
 static const struct of_device_id rtciobrg_ids[] = {
 	{ .compatible = "sirf,prima2-rtciobg" },
 	{ .compatible = "sirf,prima2-rtciobg" },
 	{}
 	{}
@@ -132,7 +174,7 @@ static int __init sirfsoc_rtciobrg_init(void)
 }
 }
 postcore_initcall(sirfsoc_rtciobrg_init);
 postcore_initcall(sirfsoc_rtciobrg_init);
 
 
-MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>, "
-		"Barry Song <baohua.song@csr.com>");
+MODULE_AUTHOR("Zhiwu Song <zhiwu.song@csr.com>");
+MODULE_AUTHOR("Barry Song <baohua.song@csr.com>");
 MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
 MODULE_DESCRIPTION("CSR SiRFprimaII rtc io bridge");
 MODULE_LICENSE("GPL v2");
 MODULE_LICENSE("GPL v2");

+ 3 - 0
arch/arm/mach-pxa/capc7117.c

@@ -24,6 +24,7 @@
 #include <linux/ata_platform.h>
 #include <linux/ata_platform.h>
 #include <linux/serial_8250.h>
 #include <linux/serial_8250.h>
 #include <linux/gpio.h>
 #include <linux/gpio.h>
+#include <linux/regulator/machine.h>
 
 
 #include <asm/mach-types.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>
@@ -144,6 +145,8 @@ static void __init capc7117_init(void)
 
 
 	capc7117_uarts_init();
 	capc7117_uarts_init();
 	capc7117_ide_init();
 	capc7117_ide_init();
+
+	regulator_has_full_constraints();
 }
 }
 
 
 MACHINE_START(CAPC7117,
 MACHINE_START(CAPC7117,

+ 3 - 0
arch/arm/mach-pxa/cm-x2xx.c

@@ -13,6 +13,7 @@
 #include <linux/syscore_ops.h>
 #include <linux/syscore_ops.h>
 #include <linux/irq.h>
 #include <linux/irq.h>
 #include <linux/gpio.h>
 #include <linux/gpio.h>
+#include <linux/regulator/machine.h>
 
 
 #include <linux/dm9000.h>
 #include <linux/dm9000.h>
 #include <linux/leds.h>
 #include <linux/leds.h>
@@ -466,6 +467,8 @@ static void __init cmx2xx_init(void)
 	cmx2xx_init_ac97();
 	cmx2xx_init_ac97();
 	cmx2xx_init_touchscreen();
 	cmx2xx_init_touchscreen();
 	cmx2xx_init_leds();
 	cmx2xx_init_leds();
+
+	regulator_has_full_constraints();
 }
 }
 
 
 static void __init cmx2xx_init_irq(void)
 static void __init cmx2xx_init_irq(void)

+ 2 - 0
arch/arm/mach-pxa/cm-x300.c

@@ -835,6 +835,8 @@ static void __init cm_x300_init(void)
 	cm_x300_init_ac97();
 	cm_x300_init_ac97();
 	cm_x300_init_wi2wi();
 	cm_x300_init_wi2wi();
 	cm_x300_init_bl();
 	cm_x300_init_bl();
+
+	regulator_has_full_constraints();
 }
 }
 
 
 static void __init cm_x300_fixup(struct tag *tags, char **cmdline)
 static void __init cm_x300_fixup(struct tag *tags, char **cmdline)

+ 3 - 0
arch/arm/mach-pxa/colibri-pxa270.c

@@ -18,6 +18,7 @@
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/physmap.h>
 #include <linux/platform_device.h>
 #include <linux/platform_device.h>
+#include <linux/regulator/machine.h>
 #include <linux/ucb1400.h>
 #include <linux/ucb1400.h>
 
 
 #include <asm/mach/arch.h>
 #include <asm/mach/arch.h>
@@ -294,6 +295,8 @@ static void __init colibri_pxa270_init(void)
 		printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
 		printk(KERN_ERR "Illegal colibri_pxa270_baseboard type %d\n",
 				colibri_pxa270_baseboard);
 				colibri_pxa270_baseboard);
 	}
 	}
+
+	regulator_has_full_constraints();
 }
 }
 
 
 /* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either
 /* The "Income s.r.o. SH-Dmaster PXA270 SBC" board can be booted either

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است