Browse Source

apply 4.4.45 patch

parazyd 2 years ago
parent
commit
085aef59e3
100 changed files with 660 additions and 329 deletions
  1. 1 1
      Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935
  2. 9 7
      Documentation/ABI/testing/sysfs-bus-usb
  3. 1 0
      Documentation/devicetree/bindings/arm/omap/omap.txt
  4. 4 0
      Documentation/devicetree/bindings/ata/ahci-platform.txt
  5. 1 1
      Documentation/devicetree/bindings/clock/imx31-clock.txt
  6. 1 0
      Documentation/devicetree/bindings/clock/imx35-clock.txt
  7. 7 0
      Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt
  8. 6 6
      Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt
  9. 3 3
      Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt
  10. 7 0
      Documentation/filesystems/efivarfs.txt
  11. 3 6
      Documentation/filesystems/proc.txt
  12. 10 1
      Documentation/kernel-parameters.txt
  13. 2 2
      Documentation/mic/mpssd/mpssd.c
  14. 6 0
      Documentation/module-signing.txt
  15. 1 1
      Documentation/pinctrl.txt
  16. 6 2
      Documentation/scsi/scsi_eh.txt
  17. 0 3
      Documentation/serial/tty.txt
  18. 23 0
      Documentation/sysctl/fs.txt
  19. 6 5
      Documentation/usb/power-management.txt
  20. 1 0
      Documentation/virtual/kvm/api.txt
  21. 2 1
      Documentation/virtual/kvm/mmu.txt
  22. 32 0
      Documentation/x86/pat.txt
  23. 53 51
      MAINTAINERS
  24. 28 10
      Makefile
  25. 8 11
      arch/alpha/include/asm/uaccess.h
  26. 1 1
      arch/arc/Kconfig
  27. 14 2
      arch/arc/Makefile
  28. 0 6
      arch/arc/include/asm/arcregs.h
  29. 0 15
      arch/arc/include/asm/bitops.h
  30. 4 2
      arch/arc/include/asm/cacheflush.h
  31. 5 4
      arch/arc/include/asm/delay.h
  32. 2 2
      arch/arc/include/asm/entry.h
  33. 31 14
      arch/arc/include/asm/io.h
  34. 11 0
      arch/arc/include/asm/irqflags-arcv2.h
  35. 1 1
      arch/arc/include/asm/irqflags-compact.h
  36. 2 3
      arch/arc/include/asm/pgtable.h
  37. 9 2
      arch/arc/include/asm/uaccess.h
  38. 24 6
      arch/arc/kernel/entry-arcv2.S
  39. 15 0
      arch/arc/kernel/mcip.c
  40. 0 4
      arch/arc/kernel/setup.c
  41. 4 4
      arch/arc/kernel/signal.c
  42. 1 1
      arch/arc/kernel/stacktrace.c
  43. 11 8
      arch/arc/kernel/time.c
  44. 18 4
      arch/arc/mm/cache.c
  45. 6 11
      arch/arm/Kconfig.debug
  46. 1 1
      arch/arm/boot/compressed/head.S
  47. 5 0
      arch/arm/boot/dts/am43x-epos-evm.dts
  48. 1 1
      arch/arm/boot/dts/armada-375.dtsi
  49. 6 6
      arch/arm/boot/dts/armada-385-linksys.dtsi
  50. 0 10
      arch/arm/boot/dts/armada-388-gp.dts
  51. 3 0
      arch/arm/boot/dts/armada-390.dtsi
  52. 2 2
      arch/arm/boot/dts/armada-xp-axpwifiap.dts
  53. 2 2
      arch/arm/boot/dts/armada-xp-db.dts
  54. 2 2
      arch/arm/boot/dts/armada-xp-gp.dts
  55. 2 2
      arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts
  56. 4 4
      arch/arm/boot/dts/armada-xp-linksys-mamba.dts
  57. 2 2
      arch/arm/boot/dts/armada-xp-matrix.dts
  58. 2 2
      arch/arm/boot/dts/armada-xp-netgear-rn2120.dts
  59. 3 3
      arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts
  60. 2 2
      arch/arm/boot/dts/armada-xp-synology-ds414.dts
  61. 1 0
      arch/arm/boot/dts/at91-sama5d3_xplained.dts
  62. 8 1
      arch/arm/boot/dts/at91-sama5d4_xplained.dts
  63. 11 0
      arch/arm/boot/dts/at91-sama5d4ek.dts
  64. 1 1
      arch/arm/boot/dts/at91sam9x5.dtsi
  65. 1 0
      arch/arm/boot/dts/da850-evm.dts
  66. 10 0
      arch/arm/boot/dts/dra7.dtsi
  67. 2 0
      arch/arm/boot/dts/exynos4210-trats.dts
  68. 9 9
      arch/arm/boot/dts/imx31.dtsi
  69. 2 2
      arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi
  70. 1 1
      arch/arm/boot/dts/imx6qdl.dtsi
  71. 1 1
      arch/arm/boot/dts/kirkwood-ib62x0.dts
  72. 1 0
      arch/arm/boot/dts/logicpd-torpedo-som.dtsi
  73. 3 1
      arch/arm/boot/dts/omap3-overo-base.dtsi
  74. 0 2
      arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi
  75. 0 2
      arch/arm/boot/dts/omap3-overo-tobi-common.dtsi
  76. 0 3
      arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi
  77. 33 0
      arch/arm/boot/dts/omap5-board-common.dtsi
  78. 1 1
      arch/arm/boot/dts/pxa3xx.dtsi
  79. 57 19
      arch/arm/boot/dts/qcom-apq8064.dtsi
  80. 1 1
      arch/arm/boot/dts/r8a7794.dtsi
  81. 3 3
      arch/arm/boot/dts/sama5d2-pinfunc.h
  82. 1 1
      arch/arm/boot/dts/sama5d4.dtsi
  83. 20 17
      arch/arm/boot/dts/ste-nomadik-stn8815.dtsi
  84. 6 4
      arch/arm/boot/dts/stih407-family.dtsi
  85. 8 4
      arch/arm/boot/dts/stih410.dtsi
  86. 1 0
      arch/arm/boot/dts/sun4i-a10-a1000.dts
  87. 1 0
      arch/arm/boot/dts/sun4i-a10-hackberry.dts
  88. 1 0
      arch/arm/boot/dts/sun4i-a10-jesurun-q5.dts
  89. 1 0
      arch/arm/boot/dts/sun5i-a10s-wobo-i5.dts
  90. 1 1
      arch/arm/boot/dts/sun5i-a13.dtsi
  91. 1 1
      arch/arm/boot/dts/sun5i-r8-chip.dts
  92. 7 2
      arch/arm/common/icst.c
  93. 13 9
      arch/arm/common/sa1111.c
  94. 6 1
      arch/arm/crypto/aes-ce-glue.c
  95. 24 0
      arch/arm/crypto/ghash-ce-glue.c
  96. 3 0
      arch/arm/include/asm/cputype.h
  97. 1 1
      arch/arm/include/asm/dma-mapping.h
  98. 1 1
      arch/arm/include/asm/floppy.h
  99. 1 0
      arch/arm/include/asm/pgtable-2level.h
  100. 0 0
      arch/arm/include/asm/pgtable-3level.h

+ 1 - 1
Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935

@@ -1,4 +1,4 @@
1
-What		/sys/bus/iio/devices/iio:deviceX/in_proximity_raw
1
+What		/sys/bus/iio/devices/iio:deviceX/in_proximity_input
2 2
 Date:		March 2014
3 3
 KernelVersion:	3.15
4 4
 Contact:	Matt Ranostay <mranostay@gmail.com>

+ 9 - 7
Documentation/ABI/testing/sysfs-bus-usb

@@ -134,19 +134,21 @@ Description:
134 134
 		enabled for the device. Developer can write y/Y/1 or n/N/0 to
135 135
 		the file to enable/disable the feature.
136 136
 
137
-What:		/sys/bus/usb/devices/.../power/usb3_hardware_lpm
138
-Date:		June 2015
137
+What:		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1
138
+		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2
139
+Date:		November 2015
139 140
 Contact:	Kevin Strasser <kevin.strasser@linux.intel.com>
141
+		Lu Baolu <baolu.lu@linux.intel.com>
140 142
 Description:
141 143
 		If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged
142 144
 		in to a xHCI host which supports link PM, it will check if U1
143 145
 		and U2 exit latencies have been set in the BOS descriptor; if
144
-		the check is is passed and the host supports USB3 hardware LPM,
146
+		the check is passed and the host supports USB3 hardware LPM,
145 147
 		USB3 hardware LPM will be enabled for the device and the USB
146
-		device directory will contain a file named
147
-		power/usb3_hardware_lpm. The file holds a string value (enable
148
-		or disable) indicating whether or not USB3 hardware LPM is
149
-		enabled for the device.
148
+		device directory will contain two files named
149
+		power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These
150
+		files hold a string value (enable or disable) indicating whether
151
+		or not USB3 hardware LPM U1 or U2 is enabled for the device.
150 152
 
151 153
 What:		/sys/bus/usb/devices/.../removable
152 154
 Date:		February 2012

+ 1 - 0
Documentation/devicetree/bindings/arm/omap/omap.txt

@@ -23,6 +23,7 @@ Optional properties:
23 23
   during suspend.
24 24
 - ti,no-reset-on-init: When present, the module should not be reset at init
25 25
 - ti,no-idle-on-init: When present, the module should not be idled at init
26
+- ti,no-idle: When present, the module is never allowed to idle.
26 27
 
27 28
 Example:
28 29
 

+ 4 - 0
Documentation/devicetree/bindings/ata/ahci-platform.txt

@@ -30,6 +30,10 @@ Optional properties:
30 30
 - target-supply     : regulator for SATA target power
31 31
 - phys              : reference to the SATA PHY node
32 32
 - phy-names         : must be "sata-phy"
33
+- ports-implemented : Mask that indicates which ports that the HBA supports
34
+		      are available for software to use. Useful if PORTS_IMPL
35
+		      is not programmed by the BIOS, which is true with
36
+		      some embedded SOC's.
33 37
 
34 38
 Required properties when using sub-nodes:
35 39
 - #address-cells    : number of cells to encode an address

+ 1 - 1
Documentation/devicetree/bindings/clock/imx31-clock.txt

@@ -77,7 +77,7 @@ Examples:
77 77
 clks: ccm@53f80000{
78 78
 	compatible = "fsl,imx31-ccm";
79 79
 	reg = <0x53f80000 0x4000>;
80
-	interrupts = <0 31 0x04 0 53 0x04>;
80
+	interrupts = <31>, <53>;
81 81
 	#clock-cells = <1>;
82 82
 };
83 83
 

+ 1 - 0
Documentation/devicetree/bindings/clock/imx35-clock.txt

@@ -94,6 +94,7 @@ clocks and IDs.
94 94
 	csi_sel			79
95 95
 	iim_gate		80
96 96
 	gpu2d_gate		81
97
+	ckli_gate		82
97 98
 
98 99
 Examples:
99 100
 

+ 7 - 0
Documentation/devicetree/bindings/iio/adc/rockchip-saradc.txt

@@ -12,6 +12,11 @@ Required properties:
12 12
 - vref-supply: The regulator supply ADC reference voltage.
13 13
 - #io-channel-cells: Should be 1, see ../iio-bindings.txt
14 14
 
15
+Optional properties:
16
+- resets: Must contain an entry for each entry in reset-names if need support
17
+	  this option. See ../reset/reset.txt for details.
18
+- reset-names: Must include the name "saradc-apb".
19
+
15 20
 Example:
16 21
 	saradc: saradc@2006c000 {
17 22
 		compatible = "rockchip,saradc";
@@ -19,6 +24,8 @@ Example:
19 24
 		interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
20 25
 		clocks = <&cru SCLK_SARADC>, <&cru PCLK_SARADC>;
21 26
 		clock-names = "saradc", "apb_pclk";
27
+		resets = <&cru SRST_SARADC>;
28
+		reset-names = "saradc-apb";
22 29
 		#io-channel-cells = <1>;
23 30
 		vref-supply = <&vcc18>;
24 31
 	};

+ 6 - 6
Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt

@@ -134,12 +134,12 @@ mfio80		ddr_debug, mips_trace_data, mips_debug
134 134
 mfio81		dreq0, mips_trace_data, eth_debug
135 135
 mfio82		dreq1, mips_trace_data, eth_debug
136 136
 mfio83		mips_pll_lock, mips_trace_data, usb_debug
137
-mfio84		sys_pll_lock, mips_trace_data, usb_debug
138
-mfio85		wifi_pll_lock, mips_trace_data, sdhost_debug
139
-mfio86		bt_pll_lock, mips_trace_data, sdhost_debug
140
-mfio87		rpu_v_pll_lock, dreq2, socif_debug
141
-mfio88		rpu_l_pll_lock, dreq3, socif_debug
142
-mfio89		audio_pll_lock, dreq4, dreq5
137
+mfio84		audio_pll_lock, mips_trace_data, usb_debug
138
+mfio85		rpu_v_pll_lock, mips_trace_data, sdhost_debug
139
+mfio86		rpu_l_pll_lock, mips_trace_data, sdhost_debug
140
+mfio87		sys_pll_lock, dreq2, socif_debug
141
+mfio88		wifi_pll_lock, dreq3, socif_debug
142
+mfio89		bt_pll_lock, dreq4, dreq5
143 143
 tck
144 144
 trstn
145 145
 tdi

+ 3 - 3
Documentation/devicetree/bindings/regulator/qcom,spmi-regulator.txt

@@ -81,9 +81,9 @@ pm8916:
81 81
 	l14, l15, l16, l17, l18
82 82
 
83 83
 pm8941:
84
-	s1, s2, s3, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14,
85
-	l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3,
86
-	mvs1, mvs2
84
+	s1, s2, s3, s4, l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13,
85
+	l14, l15, l16, l17, l18, l19, l20, l21, l22, l23, l24, lvs1, lvs2, lvs3,
86
+	5vs1, 5vs2
87 87
 
88 88
 The content of each sub-node is defined by the standard binding for regulators -
89 89
 see regulator.txt - with additional custom properties described below:

+ 7 - 0
Documentation/filesystems/efivarfs.txt

@@ -14,3 +14,10 @@ filesystem.
14 14
 efivarfs is typically mounted like this,
15 15
 
16 16
 	mount -t efivarfs none /sys/firmware/efi/efivars
17
+
18
+Due to the presence of numerous firmware bugs where removing non-standard
19
+UEFI variables causes the system firmware to fail to POST, efivarfs
20
+files that are not well-known standardized variables are created
21
+as immutable files.  This doesn't prevent removal - "chattr -i" will work -
22
+but it does prevent this kind of failure from being accomplished
23
+accidentally.

+ 3 - 6
Documentation/filesystems/proc.txt

@@ -346,7 +346,7 @@ address           perms offset  dev   inode      pathname
346 346
 a7cb1000-a7cb2000 ---p 00000000 00:00 0
347 347
 a7cb2000-a7eb2000 rw-p 00000000 00:00 0
348 348
 a7eb2000-a7eb3000 ---p 00000000 00:00 0
349
-a7eb3000-a7ed5000 rw-p 00000000 00:00 0          [stack:1001]
349
+a7eb3000-a7ed5000 rw-p 00000000 00:00 0
350 350
 a7ed5000-a8008000 r-xp 00000000 03:00 4222       /lib/libc.so.6
351 351
 a8008000-a800a000 r--p 00133000 03:00 4222       /lib/libc.so.6
352 352
 a800a000-a800b000 rw-p 00135000 03:00 4222       /lib/libc.so.6
@@ -378,7 +378,6 @@ is not associated with a file:
378 378
 
379 379
  [heap]                   = the heap of the program
380 380
  [stack]                  = the stack of the main process
381
- [stack:1001]             = the stack of the thread with tid 1001
382 381
  [vdso]                   = the "virtual dynamic shared object",
383 382
                             the kernel system call handler
384 383
 
@@ -386,10 +385,8 @@ is not associated with a file:
386 385
 
387 386
 The /proc/PID/task/TID/maps is a view of the virtual memory from the viewpoint
388 387
 of the individual tasks of a process. In this file you will see a mapping marked
389
-as [stack] if that task sees it as a stack. This is a key difference from the
390
-content of /proc/PID/maps, where you will see all mappings that are being used
391
-as stack by all of those tasks. Hence, for the example above, the task-level
392
-map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this:
388
+as [stack] if that task sees it as a stack. Hence, for the example above, the
389
+task-level map, i.e. /proc/PID/task/TID/maps for thread 1001 will look like this:
393 390
 
394 391
 08048000-08049000 r-xp 00000000 03:00 8312       /opt/test
395 392
 08049000-0804a000 rw-p 00001000 03:00 8312       /opt/test

+ 10 - 1
Documentation/kernel-parameters.txt

@@ -1371,7 +1371,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
1371 1371
 	i8042.nopnp	[HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX
1372 1372
 			     controllers
1373 1373
 	i8042.notimeout	[HW] Ignore timeout condition signalled by controller
1374
-	i8042.reset	[HW] Reset the controller during init and cleanup
1374
+	i8042.reset	[HW] Reset the controller during init, cleanup and
1375
+			     suspend-to-ram transitions, only during s2r
1376
+			     transitions, or never reset
1377
+			Format: { 1 | Y | y | 0 | N | n }
1378
+			1, Y, y: always reset controller
1379
+			0, N, n: don't ever reset controller
1380
+			Default: only on s2r transitions on x86; most other
1381
+			architectures force reset to be always executed
1375 1382
 	i8042.unlock	[HW] Unlock (ignore) the keylock
1376 1383
 	i8042.kbdreset  [HW] Reset device connected to KBD port
1377 1384
 
@@ -3928,6 +3935,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
3928 3935
 					sector if the number is odd);
3929 3936
 				i = IGNORE_DEVICE (don't bind to this
3930 3937
 					device);
3938
+				j = NO_REPORT_LUNS (don't use report luns
3939
+					command, uas only);
3931 3940
 				l = NOT_LOCKABLE (don't try to lock and
3932 3941
 					unlock ejectable media);
3933 3942
 				m = MAX_SECTORS_64 (don't transfer more

+ 2 - 2
Documentation/mic/mpssd/mpssd.c

@@ -1538,9 +1538,9 @@ set_cmdline(struct mic_info *mic)
1538 1538
 
1539 1539
 	len = snprintf(buffer, PATH_MAX,
1540 1540
 		"clocksource=tsc highres=off nohz=off ");
1541
-	len += snprintf(buffer + len, PATH_MAX,
1541
+	len += snprintf(buffer + len, PATH_MAX - len,
1542 1542
 		"cpufreq_on;corec6_off;pc3_off;pc6_off ");
1543
-	len += snprintf(buffer + len, PATH_MAX,
1543
+	len += snprintf(buffer + len, PATH_MAX - len,
1544 1544
 		"ifcfg=static;address,172.31.%d.1;netmask,255.255.255.0",
1545 1545
 		mic->id + 1);
1546 1546
 

+ 6 - 0
Documentation/module-signing.txt

@@ -271,3 +271,9 @@ Since the private key is used to sign modules, viruses and malware could use
271 271
 the private key to sign modules and compromise the operating system.  The
272 272
 private key must be either destroyed or moved to a secure location and not kept
273 273
 in the root node of the kernel source tree.
274
+
275
+If you use the same private key to sign modules for multiple kernel
276
+configurations, you must ensure that the module version information is
277
+sufficient to prevent loading a module into a different kernel.  Either
278
+set CONFIG_MODVERSIONS=y or ensure that each configuration has a different
279
+kernel release string by changing EXTRAVERSION or CONFIG_LOCALVERSION.

+ 1 - 1
Documentation/pinctrl.txt

@@ -831,7 +831,7 @@ separate memory range only intended for GPIO driving, and the register
831 831
 range dealing with pin config and pin multiplexing get placed into a
832 832
 different memory range and a separate section of the data sheet.
833 833
 
834
-A flag "strict" in struct pinctrl_desc is available to check and deny
834
+A flag "strict" in struct pinmux_ops is available to check and deny
835 835
 simultaneous access to the same pin from GPIO and pin multiplexing
836 836
 consumers on hardware of this type. The pinctrl driver should set this flag
837 837
 accordingly.

+ 6 - 2
Documentation/scsi/scsi_eh.txt

@@ -263,19 +263,23 @@ scmd->allowed.
263 263
 
264 264
  3. scmd recovered
265 265
     ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd
266
-	- shost->host_failed--
267 266
 	- clear scmd->eh_eflags
268 267
 	- scsi_setup_cmd_retry()
269 268
 	- move from local eh_work_q to local eh_done_q
270 269
     LOCKING: none
270
+    CONCURRENCY: at most one thread per separate eh_work_q to
271
+		 keep queue manipulation lockless
271 272
 
272 273
  4. EH completes
273 274
     ACTION: scsi_eh_flush_done_q() retries scmds or notifies upper
274
-	    layer of failure.
275
+	    layer of failure. May be called concurrently but must have
276
+	    a no more than one thread per separate eh_work_q to
277
+	    manipulate the queue locklessly
275 278
 	- scmd is removed from eh_done_q and scmd->eh_entry is cleared
276 279
 	- if retry is necessary, scmd is requeued using
277 280
           scsi_queue_insert()
278 281
 	- otherwise, scsi_finish_command() is invoked for scmd
282
+	- zero shost->host_failed
279 283
     LOCKING: queue or finish function performs appropriate locking
280 284
 
281 285
 

+ 0 - 3
Documentation/serial/tty.txt

@@ -213,9 +213,6 @@ TTY_IO_ERROR		If set, causes all subsequent userspace read/write
213 213
 
214 214
 TTY_OTHER_CLOSED	Device is a pty and the other side has closed.
215 215
 
216
-TTY_OTHER_DONE		Device is a pty and the other side has closed and
217
-			all pending input processing has been completed.
218
-
219 216
 TTY_NO_WRITE_SPLIT	Prevent driver from splitting up writes into
220 217
 			smaller chunks.
221 218
 

+ 23 - 0
Documentation/sysctl/fs.txt

@@ -32,6 +32,8 @@ Currently, these files are in /proc/sys/fs:
32 32
 - nr_open
33 33
 - overflowuid
34 34
 - overflowgid
35
+- pipe-user-pages-hard
36
+- pipe-user-pages-soft
35 37
 - protected_hardlinks
36 38
 - protected_symlinks
37 39
 - suid_dumpable
@@ -159,6 +161,27 @@ The default is 65534.
159 161
 
160 162
 ==============================================================
161 163
 
164
+pipe-user-pages-hard:
165
+
166
+Maximum total number of pages a non-privileged user may allocate for pipes.
167
+Once this limit is reached, no new pipes may be allocated until usage goes
168
+below the limit again. When set to 0, no limit is applied, which is the default
169
+setting.
170
+
171
+==============================================================
172
+
173
+pipe-user-pages-soft:
174
+
175
+Maximum total number of pages a non-privileged user may allocate for pipes
176
+before the pipe size gets limited to a single page. Once this limit is reached,
177
+new pipes will be limited to a single page in size for this user in order to
178
+limit total memory usage, and trying to increase them using fcntl() will be
179
+denied until usage goes below the limit again. The default value allows to
180
+allocate up to 1024 pipes at their default size. When set to 0, no limit is
181
+applied.
182
+
183
+==============================================================
184
+
162 185
 protected_hardlinks:
163 186
 
164 187
 A long-standing class of security issues is the hardlink-based

+ 6 - 5
Documentation/usb/power-management.txt

@@ -537,17 +537,18 @@ relevant attribute files are usb2_hardware_lpm and usb3_hardware_lpm.
537 537
 		can write y/Y/1 or n/N/0 to the file to	enable/disable
538 538
 		USB2 hardware LPM manually. This is for	test purpose mainly.
539 539
 
540
-	power/usb3_hardware_lpm
540
+	power/usb3_hardware_lpm_u1
541
+	power/usb3_hardware_lpm_u2
541 542
 
542 543
 		When a USB 3.0 lpm-capable device is plugged in to a
543 544
 		xHCI host which supports link PM, it will check if U1
544 545
 		and U2 exit latencies have been set in the BOS
545 546
 		descriptor; if the check is is passed and the host
546 547
 		supports USB3 hardware LPM, USB3 hardware LPM will be
547
-		enabled for the device and this file will be created.
548
-		The file holds a string value (enable or disable)
549
-		indicating whether or not USB3 hardware LPM is
550
-		enabled for the device.
548
+		enabled for the device and these files will be created.
549
+		The files hold a string value (enable or disable)
550
+		indicating whether or not USB3 hardware LPM U1 or U2
551
+		is enabled for the device.
551 552
 
552 553
 	USB Port Power Control
553 554
 	----------------------

+ 1 - 0
Documentation/virtual/kvm/api.txt

@@ -1991,6 +1991,7 @@ registers, find a list below:
1991 1991
   PPC   | KVM_REG_PPC_TM_VSCR           | 32
1992 1992
   PPC   | KVM_REG_PPC_TM_DSCR           | 64
1993 1993
   PPC   | KVM_REG_PPC_TM_TAR            | 64
1994
+  PPC   | KVM_REG_PPC_TM_XER            | 64
1994 1995
         |                               |
1995 1996
   MIPS  | KVM_REG_MIPS_R0               | 64
1996 1997
           ...

+ 2 - 1
Documentation/virtual/kvm/mmu.txt

@@ -358,7 +358,8 @@ In the first case there are two additional complications:
358 358
 - if CR4.SMEP is enabled: since we've turned the page into a kernel page,
359 359
   the kernel may now execute it.  We handle this by also setting spte.nx.
360 360
   If we get a user fetch or read fault, we'll change spte.u=1 and
361
-  spte.nx=gpte.nx back.
361
+  spte.nx=gpte.nx back.  For this to work, KVM forces EFER.NX to 1 when
362
+  shadow paging is in use.
362 363
 - if CR4.SMAP is disabled: since the page has been changed to a kernel
363 364
   page, it can not be reused when CR4.SMAP is enabled. We set
364 365
   CR4.SMAP && !CR0.WP into shadow page's role to avoid this case. Note,

+ 32 - 0
Documentation/x86/pat.txt

@@ -196,3 +196,35 @@ Another, more verbose way of getting PAT related debug messages is with
196 196
 "debugpat" boot parameter. With this parameter, various debug messages are
197 197
 printed to dmesg log.
198 198
 
199
+PAT Initialization
200
+------------------
201
+
202
+The following table describes how PAT is initialized under various
203
+configurations. The PAT MSR must be updated by Linux in order to support WC
204
+and WT attributes. Otherwise, the PAT MSR has the value programmed in it
205
+by the firmware. Note, Xen enables WC attribute in the PAT MSR for guests.
206
+
207
+ MTRR PAT   Call Sequence               PAT State  PAT MSR
208
+ =========================================================
209
+ E    E     MTRR -> PAT init            Enabled    OS
210
+ E    D     MTRR -> PAT init            Disabled    -
211
+ D    E     MTRR -> PAT disable         Disabled   BIOS
212
+ D    D     MTRR -> PAT disable         Disabled    -
213
+ -    np/E  PAT  -> PAT disable         Disabled   BIOS
214
+ -    np/D  PAT  -> PAT disable         Disabled    -
215
+ E    !P/E  MTRR -> PAT init            Disabled   BIOS
216
+ D    !P/E  MTRR -> PAT disable         Disabled   BIOS
217
+ !M   !P/E  MTRR stub -> PAT disable    Disabled   BIOS
218
+
219
+ Legend
220
+ ------------------------------------------------
221
+ E         Feature enabled in CPU
222
+ D	   Feature disabled/unsupported in CPU
223
+ np	   "nopat" boot option specified
224
+ !P	   CONFIG_X86_PAT option unset
225
+ !M	   CONFIG_MTRR option unset
226
+ Enabled   PAT state set to enabled
227
+ Disabled  PAT state set to disabled
228
+ OS        PAT initializes PAT MSR with OS setting
229
+ BIOS      PAT keeps PAT MSR with BIOS setting
230
+

+ 53 - 51
MAINTAINERS

@@ -230,13 +230,13 @@ F:	kernel/sys_ni.c
230 230
 
231 231
 ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
232 232
 M:	Hans de Goede <hdegoede@redhat.com>
233
-L:	lm-sensors@lm-sensors.org
233
+L:	linux-hwmon@vger.kernel.org
234 234
 S:	Maintained
235 235
 F:	drivers/hwmon/abituguru.c
236 236
 
237 237
 ABIT UGURU 3 HARDWARE MONITOR DRIVER
238 238
 M:	Alistair John Strachan <alistair@devzero.co.uk>
239
-L:	lm-sensors@lm-sensors.org
239
+L:	linux-hwmon@vger.kernel.org
240 240
 S:	Maintained
241 241
 F:	drivers/hwmon/abituguru3.c
242 242
 
@@ -373,14 +373,14 @@ S:	Maintained
373 373
 
374 374
 ADM1025 HARDWARE MONITOR DRIVER
375 375
 M:	Jean Delvare <jdelvare@suse.com>
376
-L:	lm-sensors@lm-sensors.org
376
+L:	linux-hwmon@vger.kernel.org
377 377
 S:	Maintained
378 378
 F:	Documentation/hwmon/adm1025
379 379
 F:	drivers/hwmon/adm1025.c
380 380
 
381 381
 ADM1029 HARDWARE MONITOR DRIVER
382 382
 M:	Corentin Labbe <clabbe.montjoie@gmail.com>
383
-L:	lm-sensors@lm-sensors.org
383
+L:	linux-hwmon@vger.kernel.org
384 384
 S:	Maintained
385 385
 F:	drivers/hwmon/adm1029.c
386 386
 
@@ -425,7 +425,7 @@ F:	drivers/video/backlight/adp8860_bl.c
425 425
 
426 426
 ADS1015 HARDWARE MONITOR DRIVER
427 427
 M:	Dirk Eibach <eibach@gdsys.de>
428
-L:	lm-sensors@lm-sensors.org
428
+L:	linux-hwmon@vger.kernel.org
429 429
 S:	Maintained
430 430
 F:	Documentation/hwmon/ads1015
431 431
 F:	drivers/hwmon/ads1015.c
@@ -438,7 +438,7 @@ F:	drivers/macintosh/therm_adt746x.c
438 438
 
439 439
 ADT7475 HARDWARE MONITOR DRIVER
440 440
 M:	Jean Delvare <jdelvare@suse.com>
441
-L:	lm-sensors@lm-sensors.org
441
+L:	linux-hwmon@vger.kernel.org
442 442
 S:	Maintained
443 443
 F:	Documentation/hwmon/adt7475
444 444
 F:	drivers/hwmon/adt7475.c
@@ -615,7 +615,7 @@ F:	include/linux/ccp.h
615 615
 
616 616
 AMD FAM15H PROCESSOR POWER MONITORING DRIVER
617 617
 M:	Andreas Herrmann <herrmann.der.user@googlemail.com>
618
-L:	lm-sensors@lm-sensors.org
618
+L:	linux-hwmon@vger.kernel.org
619 619
 S:	Maintained
620 620
 F:	Documentation/hwmon/fam15h_power
621 621
 F:	drivers/hwmon/fam15h_power.c
@@ -779,7 +779,7 @@ F:	drivers/input/mouse/bcm5974.c
779 779
 
780 780
 APPLE SMC DRIVER
781 781
 M:	Henrik Rydberg <rydberg@bitmath.org>
782
-L:	lm-sensors@lm-sensors.org
782
+L:	linux-hwmon@vger.kernel.org
783 783
 S:	Odd fixes
784 784
 F:	drivers/hwmon/applesmc.c
785 785
 
@@ -1777,7 +1777,7 @@ F:	include/media/as3645a.h
1777 1777
 
1778 1778
 ASC7621 HARDWARE MONITOR DRIVER
1779 1779
 M:	George Joseph <george.joseph@fairview5.com>
1780
-L:	lm-sensors@lm-sensors.org
1780
+L:	linux-hwmon@vger.kernel.org
1781 1781
 S:	Maintained
1782 1782
 F:	Documentation/hwmon/asc7621
1783 1783
 F:	drivers/hwmon/asc7621.c
@@ -1864,7 +1864,7 @@ F:	drivers/net/wireless/ath/carl9170/
1864 1864
 
1865 1865
 ATK0110 HWMON DRIVER
1866 1866
 M:	Luca Tettamanti <kronos.it@gmail.com>
1867
-L:	lm-sensors@lm-sensors.org
1867
+L:	linux-hwmon@vger.kernel.org
1868 1868
 S:	Maintained
1869 1869
 F:	drivers/hwmon/asus_atk0110.c
1870 1870
 
@@ -2984,7 +2984,7 @@ F:	mm/swap_cgroup.c
2984 2984
 
2985 2985
 CORETEMP HARDWARE MONITORING DRIVER
2986 2986
 M:	Fenghua Yu <fenghua.yu@intel.com>
2987
-L:	lm-sensors@lm-sensors.org
2987
+L:	linux-hwmon@vger.kernel.org
2988 2988
 S:	Maintained
2989 2989
 F:	Documentation/hwmon/coretemp
2990 2990
 F:	drivers/hwmon/coretemp.c
@@ -3549,7 +3549,7 @@ T:	git git://git.infradead.org/users/vkoul/slave-dma.git
3549 3549
 
3550 3550
 DME1737 HARDWARE MONITOR DRIVER
3551 3551
 M:	Juerg Haefliger <juergh@gmail.com>
3552
-L:	lm-sensors@lm-sensors.org
3552
+L:	linux-hwmon@vger.kernel.org
3553 3553
 S:	Maintained
3554 3554
 F:	Documentation/hwmon/dme1737
3555 3555
 F:	drivers/hwmon/dme1737.c
@@ -4097,8 +4097,8 @@ F:	Documentation/efi-stub.txt
4097 4097
 F:	arch/ia64/kernel/efi.c
4098 4098
 F:	arch/x86/boot/compressed/eboot.[ch]
4099 4099
 F:	arch/x86/include/asm/efi.h
4100
-F:	arch/x86/platform/efi/*
4101
-F:	drivers/firmware/efi/*
4100
+F:	arch/x86/platform/efi/
4101
+F:	drivers/firmware/efi/
4102 4102
 F:	include/linux/efi*.h
4103 4103
 
4104 4104
 EFI VARIABLE FILESYSTEM
@@ -4262,7 +4262,7 @@ F:	include/video/exynos_mipi*
4262 4262
 
4263 4263
 F71805F HARDWARE MONITORING DRIVER
4264 4264
 M:	Jean Delvare <jdelvare@suse.com>
4265
-L:	lm-sensors@lm-sensors.org
4265
+L:	linux-hwmon@vger.kernel.org
4266 4266
 S:	Maintained
4267 4267
 F:	Documentation/hwmon/f71805f
4268 4268
 F:	drivers/hwmon/f71805f.c
@@ -4341,7 +4341,7 @@ F:	fs/*
4341 4341
 
4342 4342
 FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER
4343 4343
 M:	Riku Voipio <riku.voipio@iki.fi>
4344
-L:	lm-sensors@lm-sensors.org
4344
+L:	linux-hwmon@vger.kernel.org
4345 4345
 S:	Maintained
4346 4346
 F:	drivers/hwmon/f75375s.c
4347 4347
 F:	include/linux/f75375s.h
@@ -4883,8 +4883,8 @@ F:	drivers/media/usb/hackrf/
4883 4883
 HARDWARE MONITORING
4884 4884
 M:	Jean Delvare <jdelvare@suse.com>
4885 4885
 M:	Guenter Roeck <linux@roeck-us.net>
4886
-L:	lm-sensors@lm-sensors.org
4887
-W:	http://www.lm-sensors.org/
4886
+L:	linux-hwmon@vger.kernel.org
4887
+W:	http://hwmon.wiki.kernel.org/
4888 4888
 T:	quilt http://jdelvare.nerim.net/devel/linux/jdelvare-hwmon/
4889 4889
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
4890 4890
 S:	Maintained
@@ -5393,7 +5393,7 @@ F:	drivers/usb/atm/ueagle-atm.c
5393 5393
 
5394 5394
 INA209 HARDWARE MONITOR DRIVER
5395 5395
 M:	Guenter Roeck <linux@roeck-us.net>
5396
-L:	lm-sensors@lm-sensors.org
5396
+L:	linux-hwmon@vger.kernel.org
5397 5397
 S:	Maintained
5398 5398
 F:	Documentation/hwmon/ina209
5399 5399
 F:	Documentation/devicetree/bindings/i2c/ina209.txt
@@ -5401,7 +5401,7 @@ F:	drivers/hwmon/ina209.c
5401 5401
 
5402 5402
 INA2XX HARDWARE MONITOR DRIVER
5403 5403
 M:	Guenter Roeck <linux@roeck-us.net>
5404
-L:	lm-sensors@lm-sensors.org
5404
+L:	linux-hwmon@vger.kernel.org
5405 5405
 S:	Maintained
5406 5406
 F:	Documentation/hwmon/ina2xx
5407 5407
 F:	drivers/hwmon/ina2xx.c
@@ -5884,7 +5884,7 @@ F:	drivers/isdn/hardware/eicon/
5884 5884
 
5885 5885
 IT87 HARDWARE MONITORING DRIVER
5886 5886
 M:	Jean Delvare <jdelvare@suse.com>
5887
-L:	lm-sensors@lm-sensors.org
5887
+L:	linux-hwmon@vger.kernel.org
5888 5888
 S:	Maintained
5889 5889
 F:	Documentation/hwmon/it87
5890 5890
 F:	drivers/hwmon/it87.c
@@ -5920,7 +5920,7 @@ F:	drivers/media/dvb-frontends/ix2505v*
5920 5920
 
5921 5921
 JC42.4 TEMPERATURE SENSOR DRIVER
5922 5922
 M:	Guenter Roeck <linux@roeck-us.net>
5923
-L:	lm-sensors@lm-sensors.org
5923
+L:	linux-hwmon@vger.kernel.org
5924 5924
 S:	Maintained
5925 5925
 F:	drivers/hwmon/jc42.c
5926 5926
 F:	Documentation/hwmon/jc42
@@ -5970,14 +5970,14 @@ F:	drivers/tty/serial/jsm/
5970 5970
 
5971 5971
 K10TEMP HARDWARE MONITORING DRIVER
5972 5972
 M:	Clemens Ladisch <clemens@ladisch.de>
5973
-L:	lm-sensors@lm-sensors.org
5973
+L:	linux-hwmon@vger.kernel.org
5974 5974
 S:	Maintained
5975 5975
 F:	Documentation/hwmon/k10temp
5976 5976
 F:	drivers/hwmon/k10temp.c
5977 5977
 
5978 5978
 K8TEMP HARDWARE MONITORING DRIVER
5979 5979
 M:	Rudolf Marek <r.marek@assembler.cz>
5980
-L:	lm-sensors@lm-sensors.org
5980
+L:	linux-hwmon@vger.kernel.org
5981 5981
 S:	Maintained
5982 5982
 F:	Documentation/hwmon/k8temp
5983 5983
 F:	drivers/hwmon/k8temp.c
@@ -6485,27 +6485,27 @@ F:	net/llc/
6485 6485
 
6486 6486
 LM73 HARDWARE MONITOR DRIVER
6487 6487
 M:	Guillaume Ligneul <guillaume.ligneul@gmail.com>
6488
-L:	lm-sensors@lm-sensors.org
6488
+L:	linux-hwmon@vger.kernel.org
6489 6489
 S:	Maintained
6490 6490
 F:	drivers/hwmon/lm73.c
6491 6491
 
6492 6492
 LM78 HARDWARE MONITOR DRIVER
6493 6493
 M:	Jean Delvare <jdelvare@suse.com>
6494
-L:	lm-sensors@lm-sensors.org
6494
+L:	linux-hwmon@vger.kernel.org
6495 6495
 S:	Maintained
6496 6496
 F:	Documentation/hwmon/lm78
6497 6497
 F:	drivers/hwmon/lm78.c
6498 6498
 
6499 6499
 LM83 HARDWARE MONITOR DRIVER
6500 6500
 M:	Jean Delvare <jdelvare@suse.com>
6501
-L:	lm-sensors@lm-sensors.org
6501
+L:	linux-hwmon@vger.kernel.org
6502 6502
 S:	Maintained
6503 6503
 F:	Documentation/hwmon/lm83
6504 6504
 F:	drivers/hwmon/lm83.c
6505 6505
 
6506 6506
 LM90 HARDWARE MONITOR DRIVER
6507 6507
 M:	Jean Delvare <jdelvare@suse.com>
6508
-L:	lm-sensors@lm-sensors.org
6508
+L:	linux-hwmon@vger.kernel.org
6509 6509
 S:	Maintained
6510 6510
 F:	Documentation/hwmon/lm90
6511 6511
 F:	Documentation/devicetree/bindings/hwmon/lm90.txt
@@ -6513,7 +6513,7 @@ F:	drivers/hwmon/lm90.c
6513 6513
 
6514 6514
 LM95234 HARDWARE MONITOR DRIVER
6515 6515
 M:	Guenter Roeck <linux@roeck-us.net>
6516
-L:	lm-sensors@lm-sensors.org
6516
+L:	linux-hwmon@vger.kernel.org
6517 6517
 S:	Maintained
6518 6518
 F:	Documentation/hwmon/lm95234
6519 6519
 F:	drivers/hwmon/lm95234.c
@@ -6580,7 +6580,7 @@ F:	drivers/scsi/sym53c8xx_2/
6580 6580
 
6581 6581
 LTC4261 HARDWARE MONITOR DRIVER
6582 6582
 M:	Guenter Roeck <linux@roeck-us.net>
6583
-L:	lm-sensors@lm-sensors.org
6583
+L:	linux-hwmon@vger.kernel.org
6584 6584
 S:	Maintained
6585 6585
 F:	Documentation/hwmon/ltc4261
6586 6586
 F:	drivers/hwmon/ltc4261.c
@@ -6749,28 +6749,28 @@ F:	include/uapi/linux/matroxfb.h
6749 6749
 
6750 6750
 MAX16065 HARDWARE MONITOR DRIVER
6751 6751
 M:	Guenter Roeck <linux@roeck-us.net>
6752
-L:	lm-sensors@lm-sensors.org
6752
+L:	linux-hwmon@vger.kernel.org
6753 6753
 S:	Maintained
6754 6754
 F:	Documentation/hwmon/max16065
6755 6755
 F:	drivers/hwmon/max16065.c
6756 6756
 
6757 6757
 MAX20751 HARDWARE MONITOR DRIVER
6758 6758
 M:	Guenter Roeck <linux@roeck-us.net>
6759
-L:	lm-sensors@lm-sensors.org
6759
+L:	linux-hwmon@vger.kernel.org
6760 6760
 S:	Maintained
6761 6761
 F:	Documentation/hwmon/max20751
6762 6762
 F:	drivers/hwmon/max20751.c
6763 6763
 
6764 6764
 MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
6765 6765
 M:	"Hans J. Koch" <hjk@hansjkoch.de>
6766
-L:	lm-sensors@lm-sensors.org
6766
+L:	linux-hwmon@vger.kernel.org
6767 6767
 S:	Maintained
6768 6768
 F:	Documentation/hwmon/max6650
6769 6769
 F:	drivers/hwmon/max6650.c
6770 6770
 
6771 6771
 MAX6697 HARDWARE MONITOR DRIVER
6772 6772
 M:	Guenter Roeck <linux@roeck-us.net>
6773
-L:	lm-sensors@lm-sensors.org
6773
+L:	linux-hwmon@vger.kernel.org
6774 6774
 S:	Maintained
6775 6775
 F:	Documentation/hwmon/max6697
6776 6776
 F:	Documentation/devicetree/bindings/i2c/max6697.txt
@@ -7303,7 +7303,7 @@ F:	drivers/scsi/NCR_D700.*
7303 7303
 
7304 7304
 NCT6775 HARDWARE MONITOR DRIVER
7305 7305
 M:	Guenter Roeck <linux@roeck-us.net>
7306
-L:	lm-sensors@lm-sensors.org
7306
+L:	linux-hwmon@vger.kernel.org
7307 7307
 S:	Maintained
7308 7308
 F:	Documentation/hwmon/nct6775
7309 7309
 F:	drivers/hwmon/nct6775.c
@@ -8064,7 +8064,7 @@ F:	drivers/video/logo/logo_parisc*
8064 8064
 
8065 8065
 PC87360 HARDWARE MONITORING DRIVER
8066 8066
 M:	Jim Cromie <jim.cromie@gmail.com>
8067
-L:	lm-sensors@lm-sensors.org
8067
+L:	linux-hwmon@vger.kernel.org
8068 8068
 S:	Maintained
8069 8069
 F:	Documentation/hwmon/pc87360
8070 8070
 F:	drivers/hwmon/pc87360.c
@@ -8076,7 +8076,7 @@ F:	drivers/char/pc8736x_gpio.c
8076 8076
 
8077 8077
 PC87427 HARDWARE MONITORING DRIVER
8078 8078
 M:	Jean Delvare <jdelvare@suse.com>
8079
-L:	lm-sensors@lm-sensors.org
8079
+L:	linux-hwmon@vger.kernel.org
8080 8080
 S:	Maintained
8081 8081
 F:	Documentation/hwmon/pc87427
8082 8082
 F:	drivers/hwmon/pc87427.c
@@ -8415,8 +8415,8 @@ F:	drivers/rtc/rtc-puv3.c
8415 8415
 
8416 8416
 PMBUS HARDWARE MONITORING DRIVERS
8417 8417
 M:	Guenter Roeck <linux@roeck-us.net>
8418
-L:	lm-sensors@lm-sensors.org
8419
-W:	http://www.lm-sensors.org/
8418
+L:	linux-hwmon@vger.kernel.org
8419
+W:	http://hwmon.wiki.kernel.org/
8420 8420
 W:	http://www.roeck-us.net/linux/drivers/
8421 8421
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
8422 8422
 S:	Maintained
@@ -8610,7 +8610,7 @@ F:	drivers/media/usb/pwc/*
8610 8610
 
8611 8611
 PWM FAN DRIVER
8612 8612
 M:	Kamil Debski <k.debski@samsung.com>
8613
-L:	lm-sensors@lm-sensors.org
8613
+L:	linux-hwmon@vger.kernel.org
8614 8614
 S:	Supported
8615 8615
 F:	Documentation/devicetree/bindings/hwmon/pwm-fan.txt
8616 8616
 F:	Documentation/hwmon/pwm-fan
@@ -9882,28 +9882,28 @@ F:	Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
9882 9882
 
9883 9883
 SMM665 HARDWARE MONITOR DRIVER
9884 9884
 M:	Guenter Roeck <linux@roeck-us.net>
9885
-L:	lm-sensors@lm-sensors.org
9885
+L:	linux-hwmon@vger.kernel.org
9886 9886
 S:	Maintained
9887 9887
 F:	Documentation/hwmon/smm665
9888 9888
 F:	drivers/hwmon/smm665.c
9889 9889
 
9890 9890
 SMSC EMC2103 HARDWARE MONITOR DRIVER
9891 9891
 M:	Steve Glendinning <steve.glendinning@shawell.net>
9892
-L:	lm-sensors@lm-sensors.org
9892
+L:	linux-hwmon@vger.kernel.org
9893 9893
 S:	Maintained
9894 9894
 F:	Documentation/hwmon/emc2103
9895 9895
 F:	drivers/hwmon/emc2103.c
9896 9896
 
9897 9897
 SMSC SCH5627 HARDWARE MONITOR DRIVER
9898 9898
 M:	Hans de Goede <hdegoede@redhat.com>
9899
-L:	lm-sensors@lm-sensors.org
9899
+L:	linux-hwmon@vger.kernel.org
9900 9900
 S:	Supported
9901 9901
 F:	Documentation/hwmon/sch5627
9902 9902
 F:	drivers/hwmon/sch5627.c
9903 9903
 
9904 9904
 SMSC47B397 HARDWARE MONITOR DRIVER
9905 9905
 M:	Jean Delvare <jdelvare@suse.com>
9906
-L:	lm-sensors@lm-sensors.org
9906
+L:	linux-hwmon@vger.kernel.org
9907 9907
 S:	Maintained
9908 9908
 F:	Documentation/hwmon/smsc47b397
9909 9909
 F:	drivers/hwmon/smsc47b397.c
@@ -10289,9 +10289,11 @@ S:	Maintained
10289 10289
 F:	drivers/net/ethernet/dlink/sundance.c
10290 10290
 
10291 10291
 SUPERH
10292
+M:	Yoshinori Sato <ysato@users.sourceforge.jp>
10293
+M:	Rich Felker <dalias@libc.org>
10292 10294
 L:	linux-sh@vger.kernel.org
10293 10295
 Q:	http://patchwork.kernel.org/project/linux-sh/list/
10294
-S:	Orphan
10296
+S:	Maintained
10295 10297
 F:	Documentation/sh/
10296 10298
 F:	arch/sh/
10297 10299
 F:	drivers/sh/
@@ -10828,7 +10830,7 @@ F:	include/linux/mmc/sh_mobile_sdhi.h
10828 10830
 
10829 10831
 TMP401 HARDWARE MONITOR DRIVER
10830 10832
 M:	Guenter Roeck <linux@roeck-us.net>
10831
-L:	lm-sensors@lm-sensors.org
10833
+L:	linux-hwmon@vger.kernel.org
10832 10834
 S:	Maintained
10833 10835
 F:	Documentation/hwmon/tmp401
10834 10836
 F:	drivers/hwmon/tmp401.c
@@ -11562,14 +11564,14 @@ F:	Documentation/networking/vrf.txt
11562 11564
 
11563 11565
 VT1211 HARDWARE MONITOR DRIVER
11564 11566
 M:	Juerg Haefliger <juergh@gmail.com>
11565
-L:	lm-sensors@lm-sensors.org
11567
+L:	linux-hwmon@vger.kernel.org
11566 11568
 S:	Maintained
11567 11569
 F:	Documentation/hwmon/vt1211
11568 11570
 F:	drivers/hwmon/vt1211.c
11569 11571
 
11570 11572
 VT8231 HARDWARE MONITOR DRIVER
11571 11573
 M:	Roger Lucas <vt8231@hiddenengine.co.uk>
11572
-L:	lm-sensors@lm-sensors.org
11574
+L:	linux-hwmon@vger.kernel.org
11573 11575
 S:	Maintained
11574 11576
 F:	drivers/hwmon/vt8231.c
11575 11577
 
@@ -11588,21 +11590,21 @@ F:	drivers/w1/
11588 11590
 
11589 11591
 W83791D HARDWARE MONITORING DRIVER
11590 11592
 M:	Marc Hulsman <m.hulsman@tudelft.nl>
11591
-L:	lm-sensors@lm-sensors.org
11593
+L:	linux-hwmon@vger.kernel.org
11592 11594
 S:	Maintained
11593 11595
 F:	Documentation/hwmon/w83791d
11594 11596
 F:	drivers/hwmon/w83791d.c
11595 11597
 
11596 11598
 W83793 HARDWARE MONITORING DRIVER
11597 11599
 M:	Rudolf Marek <r.marek@assembler.cz>
11598
-L:	lm-sensors@lm-sensors.org
11600
+L:	linux-hwmon@vger.kernel.org
11599 11601
 S:	Maintained
11600 11602
 F:	Documentation/hwmon/w83793
11601 11603
 F:	drivers/hwmon/w83793.c
11602 11604
 
11603 11605
 W83795 HARDWARE MONITORING DRIVER
11604 11606
 M:	Jean Delvare <jdelvare@suse.com>
11605
-L:	lm-sensors@lm-sensors.org
11607
+L:	linux-hwmon@vger.kernel.org
11606 11608
 S:	Maintained
11607 11609
 F:	drivers/hwmon/w83795.c
11608 11610
 

+ 28 - 10
Makefile

@@ -1,6 +1,6 @@
1 1
 VERSION = 4
2 2
 PATCHLEVEL = 4
3
-SUBLEVEL = 0
3
+SUBLEVEL = 45
4 4
 EXTRAVERSION =
5 5
 NAME = Blurry Fish Butt
6 6
 
@@ -128,6 +128,10 @@ _all:
128 128
 # Cancel implicit rules on top Makefile
129 129
 $(CURDIR)/Makefile Makefile: ;
130 130
 
131
+ifneq ($(words $(subst :, ,$(CURDIR))), 1)
132
+  $(error main directory cannot contain spaces nor colons)
133
+endif
134
+
131 135
 ifneq ($(KBUILD_OUTPUT),)
132 136
 # Invoke a second make in the output directory, passing relevant variables
133 137
 # check that the output directory actually exists
@@ -364,7 +368,7 @@ AFLAGS_MODULE   =
364 368
 LDFLAGS_MODULE  =
365 369
 CFLAGS_KERNEL	=
366 370
 AFLAGS_KERNEL	=
367
-CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage
371
+CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage -fno-tree-loop-im
368 372
 
369 373
 
370 374
 # Use USERINCLUDE when you must reference the UAPI directories only.
@@ -391,11 +395,12 @@ KBUILD_CFLAGS   := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
391 395
 		   -fno-strict-aliasing -fno-common \
392 396
 		   -Werror-implicit-function-declaration \
393 397
 		   -Wno-format-security \
394
-		   -std=gnu89
398
+		   -std=gnu89 $(call cc-option,-fno-PIE)
399
+
395 400
 
396 401
 KBUILD_AFLAGS_KERNEL :=
397 402
 KBUILD_CFLAGS_KERNEL :=
398
-KBUILD_AFLAGS   := -D__ASSEMBLY__
403
+KBUILD_AFLAGS   := -D__ASSEMBLY__ $(call cc-option,-fno-PIE)
399 404
 KBUILD_AFLAGS_MODULE  := -DMODULE
400 405
 KBUILD_CFLAGS_MODULE  := -DMODULE
401 406
 KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
@@ -495,6 +500,12 @@ ifeq ($(KBUILD_EXTMOD),)
495 500
                 endif
496 501
         endif
497 502
 endif
503
+# install and module_install need also be processed one by one
504
+ifneq ($(filter install,$(MAKECMDGOALS)),)
505
+        ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
506
+	        mixed-targets := 1
507
+        endif
508
+endif
498 509
 
499 510
 ifeq ($(mixed-targets),1)
500 511
 # ===========================================================================
@@ -606,11 +617,17 @@ ARCH_CFLAGS :=
606 617
 include arch/$(SRCARCH)/Makefile
607 618
 
608 619
 KBUILD_CFLAGS	+= $(call cc-option,-fno-delete-null-pointer-checks,)
620
+KBUILD_CFLAGS	+= $(call cc-disable-warning,maybe-uninitialized,)
621
+KBUILD_CFLAGS	+= $(call cc-disable-warning,frame-address,)
609 622
 
610 623
 ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
611
-KBUILD_CFLAGS	+= -Os $(call cc-disable-warning,maybe-uninitialized,)
624
+KBUILD_CFLAGS	+= -Os
612 625
 else
626
+ifdef CONFIG_PROFILE_ALL_BRANCHES
613 627
 KBUILD_CFLAGS	+= -O2
628
+else
629
+KBUILD_CFLAGS   += -O2
630
+endif
614 631
 endif
615 632
 
616 633
 # Tell gcc to never replace conditional load with a non-conditional one
@@ -682,9 +699,10 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,)
682 699
 KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior)
683 700
 else
684 701
 
685
-# This warning generated too much noise in a regular build.
686
-# Use make W=1 to enable this warning (see scripts/Makefile.build)
702
+# These warnings generated too much noise in a regular build.
703
+# Use make W=1 to enable them (see scripts/Makefile.build)
687 704
 KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
705
+KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
688 706
 endif
689 707
 
690 708
 ifdef CONFIG_FRAME_POINTER
@@ -1259,7 +1277,7 @@ help:
1259 1277
 	@echo  '  firmware_install- Install all firmware to INSTALL_FW_PATH'
1260 1278
 	@echo  '                    (default: $$(INSTALL_MOD_PATH)/lib/firmware)'
1261 1279
 	@echo  '  dir/            - Build all files in dir and below'
1262
-	@echo  '  dir/file.[oisS] - Build specified target only'
1280
+	@echo  '  dir/file.[ois]  - Build specified target only'
1263 1281
 	@echo  '  dir/file.lst    - Build specified mixed source/assembly target only'
1264 1282
 	@echo  '                    (requires a recent binutils and recent build (System.map))'
1265 1283
 	@echo  '  dir/file.ko     - Build module including final link'
@@ -1499,11 +1517,11 @@ image_name:
1499 1517
 # Clear a bunch of variables before executing the submake
1500 1518
 tools/: FORCE
1501 1519
 	$(Q)mkdir -p $(objtree)/tools
1502
-	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/
1520
+	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/
1503 1521
 
1504 1522
 tools/%: FORCE
1505 1523
 	$(Q)mkdir -p $(objtree)/tools
1506
-	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(O) subdir=tools -C $(src)/tools/ $*
1524
+	$(Q)$(MAKE) LDFLAGS= MAKEFLAGS="$(filter --j% -j,$(MAKEFLAGS))" O=$(shell cd $(objtree) && /bin/pwd) subdir=tools -C $(src)/tools/ $*
1507 1525
 
1508 1526
 # Single targets
1509 1527
 # ---------------------------------------------------------------------------

+ 8 - 11
arch/alpha/include/asm/uaccess.h

@@ -371,14 +371,6 @@ __copy_tofrom_user_nocheck(void *to, const void *from, long len)
371 371
 	return __cu_len;
372 372
 }
373 373
 
374
-extern inline long
375
-__copy_tofrom_user(void *to, const void *from, long len, const void __user *validate)
376
-{
377
-	if (__access_ok((unsigned long)validate, len, get_fs()))
378
-		len = __copy_tofrom_user_nocheck(to, from, len);
379
-	return len;
380
-}
381
-
382 374
 #define __copy_to_user(to, from, n)					\
383 375
 ({									\
384 376
 	__chk_user_ptr(to);						\
@@ -393,17 +385,22 @@ __copy_tofrom_user(void *to, const void *from, long len, const void __user *vali
393 385
 #define __copy_to_user_inatomic __copy_to_user
394 386
 #define __copy_from_user_inatomic __copy_from_user
395 387
 
396
-
397 388
 extern inline long
398 389
 copy_to_user(void __user *to, const void *from, long n)
399 390
 {
400
-	return __copy_tofrom_user((__force void *)to, from, n, to);
391
+	if (likely(__access_ok((unsigned long)to, n, get_fs())))
392
+		n = __copy_tofrom_user_nocheck((__force void *)to, from, n);
393
+	return n;
401 394
 }
402 395
 
403 396
 extern inline long
404 397
 copy_from_user(void *to, const void __user *from, long n)
405 398
 {
406
-	return __copy_tofrom_user(to, (__force void *)from, n, from);
399
+	if (likely(__access_ok((unsigned long)from, n, get_fs())))
400
+		n = __copy_tofrom_user_nocheck(to, (__force void *)from, n);
401
+	else
402
+		memset(to, 0, n);
403
+	return n;
407 404
 }
408 405
 
409 406
 extern void __do_clear_user(void);

+ 1 - 1
arch/arc/Kconfig

@@ -387,7 +387,7 @@ config ARC_HAS_LLSC
387 387
 
388 388
 config ARC_STAR_9000923308
389 389
 	bool "Workaround for llock/scond livelock"
390
-	default y
390
+	default n
391 391
 	depends on ISA_ARCV2 && SMP && ARC_HAS_LLSC
392 392
 
393 393
 config ARC_HAS_SWAPE

+ 14 - 2
arch/arc/Makefile

@@ -18,6 +18,20 @@ cflags-y	+= -fno-common -pipe -fno-builtin -D__linux__
18 18
 cflags-$(CONFIG_ISA_ARCOMPACT)	+= -mA7
19 19
 cflags-$(CONFIG_ISA_ARCV2)	+= -mcpu=archs
20 20
 
21
+is_700 = $(shell $(CC) -dM -E - < /dev/null | grep -q "ARC700" && echo 1 || echo 0)
22
+
23
+ifdef CONFIG_ISA_ARCOMPACT
24
+ifeq ($(is_700), 0)
25
+    $(error Toolchain not configured for ARCompact builds)
26
+endif
27
+endif
28
+
29
+ifdef CONFIG_ISA_ARCV2
30
+ifeq ($(is_700), 1)
31
+    $(error Toolchain not configured for ARCv2 builds)
32
+endif
33
+endif
34
+
21 35
 ifdef CONFIG_ARC_CURR_IN_REG
22 36
 # For a global register defintion, make sure it gets passed to every file
23 37
 # We had a customer reported bug where some code built in kernel was NOT using
@@ -48,8 +62,6 @@ endif
48 62
 
49 63
 endif
50 64
 
51
-cflags-$(CONFIG_ARC_DW2_UNWIND)		+= -fasynchronous-unwind-tables
52
-
53 65
 # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok
54 66
 ifeq ($(atleast_gcc48),y)
55 67
 cflags-$(CONFIG_ARC_DW2_UNWIND)		+= -gdwarf-2

+ 0 - 6
arch/arc/include/asm/arcregs.h

@@ -374,12 +374,6 @@ static inline int is_isa_arcompact(void)
374 374
 	return IS_ENABLED(CONFIG_ISA_ARCOMPACT);
375 375
 }
376 376
 
377
-#if defined(CONFIG_ISA_ARCOMPACT) && !defined(_CPU_DEFAULT_A7)
378
-#error "Toolchain not configured for ARCompact builds"
379
-#elif defined(CONFIG_ISA_ARCV2) && !defined(_CPU_DEFAULT_HS)
380
-#error "Toolchain not configured for ARCv2 builds"
381
-#endif
382
-
383 377
 #endif /* __ASEMBLY__ */
384 378
 
385 379
 #endif /* _ASM_ARC_ARCREGS_H */

+ 0 - 15
arch/arc/include/asm/bitops.h

@@ -35,21 +35,6 @@ static inline void op##_bit(unsigned long nr, volatile unsigned long *m)\
35 35
 									\
36 36
 	m += nr >> 5;							\
37 37
 									\
38
-	/*								\
39
-	 * ARC ISA micro-optimization:					\
40
-	 *								\
41
-	 * Instructions dealing with bitpos only consider lower 5 bits	\
42
-	 * e.g (x << 33) is handled like (x << 1) by ASL instruction	\
43
-	 *  (mem pointer still needs adjustment to point to next word)	\
44
-	 *								\
45
-	 * Hence the masking to clamp @nr arg can be elided in general.	\
46
-	 *								\
47
-	 * However if @nr is a constant (above assumed in a register),	\
48
-	 * and greater than 31, gcc can optimize away (x << 33) to 0,	\
49
-	 * as overflow, given the 32-bit ISA. Thus masking needs to be	\
50
-	 * done for const @nr, but no code is generated due to gcc	\
51
-	 * const prop.							\
52
-	 */								\
53 38
 	nr &= 0x1f;							\
54 39
 									\
55 40
 	__asm__ __volatile__(						\

+ 4 - 2
arch/arc/include/asm/cacheflush.h

@@ -85,6 +85,10 @@ void flush_anon_page(struct vm_area_struct *vma,
85 85
  */
86 86
 #define PG_dc_clean	PG_arch_1
87 87
 
88
+#define CACHE_COLORS_NUM	4
89
+#define CACHE_COLORS_MSK	(CACHE_COLORS_NUM - 1)
90
+#define CACHE_COLOR(addr)	(((unsigned long)(addr) >> (PAGE_SHIFT)) & CACHE_COLORS_MSK)
91
+
88 92
 /*
89 93
  * Simple wrapper over config option
90 94
  * Bootup code ensures that hardware matches kernel configuration
@@ -94,8 +98,6 @@ static inline int cache_is_vipt_aliasing(void)
94 98
 	return IS_ENABLED(CONFIG_ARC_CACHE_VIPT_ALIASING);
95 99
 }
96 100
 
97
-#define CACHE_COLOR(addr)	(((unsigned long)(addr) >> (PAGE_SHIFT)) & 1)
98
-
99 101
 /*
100 102
  * checks if two addresses (after page aligning) index into same cache set
101 103
  */

+ 5 - 4
arch/arc/include/asm/delay.h

@@ -22,10 +22,11 @@
22 22
 static inline void __delay(unsigned long loops)
23 23
 {
24 24
 	__asm__ __volatile__(
25
-	"	lp  1f	\n"
26
-	"	nop	\n"
27
-	"1:		\n"
28
-	: "+l"(loops));
25
+	"	mov lp_count, %0	\n"
26
+	"	lp  1f			\n"
27
+	"	nop			\n"
28
+	"1:				\n"
29
+	: : "r"(loops));
29 30
 }
30 31
 
31 32
 extern void __bad_udelay(void);

+ 2 - 2
arch/arc/include/asm/entry.h

@@ -142,7 +142,7 @@
142 142
 
143 143
 #ifdef CONFIG_ARC_CURR_IN_REG
144 144
 	; Retrieve orig r25 and save it with rest of callee_regs
145
-	ld.as   r12, [r12, PT_user_r25]
145
+	ld	r12, [r12, PT_user_r25]
146 146
 	PUSH	r12
147 147
 #else
148 148
 	PUSH	r25
@@ -198,7 +198,7 @@
198 198
 
199 199
 	; SP is back to start of pt_regs
200 200
 #ifdef CONFIG_ARC_CURR_IN_REG
201
-	st.as   r12, [sp, PT_user_r25]
201
+	st	r12, [sp, PT_user_r25]
202 202
 #endif
203 203
 .endm
204 204
 

+ 31 - 14
arch/arc/include/asm/io.h

@@ -13,6 +13,15 @@
13 13
 #include <asm/byteorder.h>
14 14
 #include <asm/page.h>
15 15
 
16
+#ifdef CONFIG_ISA_ARCV2
17
+#include <asm/barrier.h>
18
+#define __iormb()		rmb()
19
+#define __iowmb()		wmb()
20
+#else
21
+#define __iormb()		do { } while (0)
22
+#define __iowmb()		do { } while (0)
23
+#endif
24
+
16 25
 extern void __iomem *ioremap(unsigned long physaddr, unsigned long size);
17 26
 extern void __iomem *ioremap_prot(phys_addr_t offset, unsigned long size,
18 27
 				  unsigned long flags);
@@ -22,6 +31,15 @@ extern void iounmap(const void __iomem *addr);
22 31
 #define ioremap_wc(phy, sz)		ioremap(phy, sz)
23 32
 #define ioremap_wt(phy, sz)		ioremap(phy, sz)
24 33
 
34
+/*
35
+ * io{read,write}{16,32}be() macros
36
+ */
37
+#define ioread16be(p)		({ u16 __v = be16_to_cpu((__force __be16)__raw_readw(p)); __iormb(); __v; })
38
+#define ioread32be(p)		({ u32 __v = be32_to_cpu((__force __be32)__raw_readl(p)); __iormb(); __v; })
39
+
40
+#define iowrite16be(v,p)	({ __iowmb(); __raw_writew((__force u16)cpu_to_be16(v), p); })
41
+#define iowrite32be(v,p)	({ __iowmb(); __raw_writel((__force u32)cpu_to_be32(v), p); })
42
+
25 43
 /* Change struct page to physical address */
26 44
 #define page_to_phys(page)		(page_to_pfn(page) << PAGE_SHIFT)
27 45
 
@@ -99,15 +117,6 @@ static inline void __raw_writel(u32 w, volatile void __iomem *addr)
99 117
 
100 118
 }
101 119
 
102
-#ifdef CONFIG_ISA_ARCV2
103
-#include <asm/barrier.h>
104
-#define __iormb()		rmb()
105
-#define __iowmb()		wmb()
106
-#else
107
-#define __iormb()		do { } while (0)
108
-#define __iowmb()		do { } while (0)
109
-#endif
110
-
111 120
 /*
112 121
  * MMIO can also get buffered/optimized in micro-arch, so barriers needed
113 122
  * Based on ARM model for the typical use case
@@ -129,15 +138,23 @@ static inline void __raw_writel(u32 w, volatile void __iomem *addr)
129 138
 #define writel(v,c)		({ __iowmb(); writel_relaxed(v,c); })
130 139
 
131 140
 /*
132
- * Relaxed API for drivers which can handle any ordering themselves
141
+ * Relaxed API for drivers which can handle barrier ordering themselves
142
+ *
143
+ * Also these are defined to perform little endian accesses.
144
+ * To provide the typical device register semantics of fixed endian,
145
+ * swap the byte order for Big Endian
146
+ *
147
+ * http://lkml.kernel.org/r/201603100845.30602.arnd@arndb.de
133 148
  */
134 149
 #define readb_relaxed(c)	__raw_readb(c)
135
-#define readw_relaxed(c)	__raw_readw(c)
136
-#define readl_relaxed(c)	__raw_readl(c)
150
+#define readw_relaxed(c) ({ u16 __r = le16_to_cpu((__force __le16) \
151
+					__raw_readw(c)); __r; })
152
+#define readl_relaxed(c) ({ u32 __r = le32_to_cpu((__force __le32) \
153
+					__raw_readl(c)); __r; })
137 154
 
138 155
 #define writeb_relaxed(v,c)	__raw_writeb(v,c)
139
-#define writew_relaxed(v,c)	__raw_writew(v,c)
140
-#define writel_relaxed(v,c)	__raw_writel(v,c)
156
+#define writew_relaxed(v,c)	__raw_writew((__force u16) cpu_to_le16(v),c)
157
+#define writel_relaxed(v,c)	__raw_writel((__force u32) cpu_to_le32(v),c)
141 158
 
142 159
 #include <asm-generic/io.h>
143 160
 

+ 11 - 0
arch/arc/include/asm/irqflags-arcv2.h

@@ -22,6 +22,7 @@
22 22
 #define AUX_IRQ_CTRL		0x00E
23 23
 #define AUX_IRQ_ACT		0x043	/* Active Intr across all levels */
24 24
 #define AUX_IRQ_LVL_PEND	0x200	/* Pending Intr across all levels */
25
+#define AUX_IRQ_HINT		0x201	/* For generating Soft Interrupts */
25 26
 #define AUX_IRQ_PRIORITY	0x206
26 27
 #define ICAUSE			0x40a
27 28
 #define AUX_IRQ_SELECT		0x40b
@@ -112,6 +113,16 @@ static inline int arch_irqs_disabled(void)
112 113
 	return arch_irqs_disabled_flags(arch_local_save_flags());
113 114
 }
114 115
 
116
+static inline void arc_softirq_trigger(int irq)
117
+{
118
+	write_aux_reg(AUX_IRQ_HINT, irq);
119
+}
120
+
121
+static inline void arc_softirq_clear(int irq)
122
+{
123
+	write_aux_reg(AUX_IRQ_HINT, 0);
124
+}
125
+
115 126
 #else
116 127
 
117 128
 .macro IRQ_DISABLE  scratch

+ 1 - 1
arch/arc/include/asm/irqflags-compact.h

@@ -188,10 +188,10 @@ static inline int arch_irqs_disabled(void)
188 188
 .endm
189 189
 
190 190
 .macro IRQ_ENABLE  scratch
191
+	TRACE_ASM_IRQ_ENABLE
191 192
 	lr	\scratch, [status32]
192 193
 	or	\scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK)
193 194
 	flag	\scratch
194
-	TRACE_ASM_IRQ_ENABLE
195 195
 .endm
196 196
 
197 197
 #endif	/* __ASSEMBLY__ */

+ 2 - 3
arch/arc/include/asm/pgtable.h

@@ -110,7 +110,7 @@
110 110
 #define ___DEF (_PAGE_PRESENT | _PAGE_CACHEABLE)
111 111
 
112 112
 /* Set of bits not changed in pte_modify */
113
-#define _PAGE_CHG_MASK	(PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY)
113
+#define _PAGE_CHG_MASK	(PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_SPECIAL)
114 114
 
115 115
 /* More Abbrevaited helpers */
116 116
 #define PAGE_U_NONE     __pgprot(___DEF)
@@ -277,8 +277,7 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep)
277 277
 
278 278
 #define mk_pte(page, prot)	pfn_pte(page_to_pfn(page), prot)
279 279
 #define pte_pfn(pte)		(pte_val(pte) >> PAGE_SHIFT)
280
-#define pfn_pte(pfn, prot)	(__pte(((pte_t)(pfn) << PAGE_SHIFT) | \
281
-				 pgprot_val(prot)))
280
+#define pfn_pte(pfn, prot)	(__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))
282 281
 #define __pte_index(addr)	(((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
283 282
 
284 283
 /*

+ 9 - 2
arch/arc/include/asm/uaccess.h

@@ -83,7 +83,10 @@
83 83
 	"2:	;nop\n"				\
84 84
 	"	.section .fixup, \"ax\"\n"	\
85 85
 	"	.align 4\n"			\
86
-	"3:	mov %0, %3\n"			\
86
+	"3:	# return -EFAULT\n"		\
87
+	"	mov %0, %3\n"			\
88
+	"	# zero out dst ptr\n"		\
89
+	"	mov %1,  0\n"			\
87 90
 	"	j   2b\n"			\
88 91
 	"	.previous\n"			\
89 92
 	"	.section __ex_table, \"a\"\n"	\
@@ -101,7 +104,11 @@
101 104
 	"2:	;nop\n"				\
102 105
 	"	.section .fixup, \"ax\"\n"	\
103 106
 	"	.align 4\n"			\
104
-	"3:	mov %0, %3\n"			\
107
+	"3:	# return -EFAULT\n"		\
108
+	"	mov %0, %3\n"			\
109
+	"	# zero out dst ptr\n"		\
110
+	"	mov %1,  0\n"			\
111
+	"	mov %R1, 0\n"			\
105 112
 	"	j   2b\n"			\
106 113
 	"	.previous\n"			\
107 114
 	"	.section __ex_table, \"a\"\n"	\

+ 24 - 6
arch/arc/kernel/entry-arcv2.S

@@ -45,11 +45,12 @@ VECTOR	reserved		; Reserved slots
45 45
 VECTOR	handle_interrupt	; (16) Timer0
46 46
 VECTOR	handle_interrupt	; unused (Timer1)
47 47
 VECTOR	handle_interrupt	; unused (WDT)
48
-VECTOR	handle_interrupt	; (19) ICI (inter core interrupt)
49
-VECTOR	handle_interrupt
50
-VECTOR	handle_interrupt
51
-VECTOR	handle_interrupt
52
-VECTOR	handle_interrupt	; (23) End of fixed IRQs
48
+VECTOR	handle_interrupt	; (19) Inter core Interrupt (IPI)
49
+VECTOR	handle_interrupt	; (20) perf Interrupt
50
+VECTOR	handle_interrupt	; (21) Software Triggered Intr (Self IPI)
51
+VECTOR	handle_interrupt	; unused
52
+VECTOR	handle_interrupt	; (23) unused
53
+# End of fixed IRQs
53 54
 
54 55
 .rept CONFIG_ARC_NUMBER_OF_INTERRUPTS - 8
55 56
 	VECTOR	handle_interrupt
@@ -211,7 +212,11 @@ debug_marker_syscall:
211 212
 ; (since IRQ NOT allowed in DS in ARCv2, this can only happen if orig
212 213
 ; entry was via Exception in DS which got preempted in kernel).
213 214
 ;
214
-; IRQ RTIE won't reliably restore DE bit and/or BTA, needs handling
215
+; IRQ RTIE won't reliably restore DE bit and/or BTA, needs workaround
216
+;
217
+; Solution is return from Intr w/o any delay slot quirks into a kernel trampoline
218
+; and from pure kernel mode return to delay slot which handles DS bit/BTA correctly
219
+
215 220
 .Lintr_ret_to_delay_slot:
216 221
 debug_marker_ds:
217 222
 
@@ -222,18 +227,23 @@ debug_marker_ds:
222 227
 	ld	r2, [sp, PT_ret]
223 228
 	ld	r3, [sp, PT_status32]
224 229
 
230
+	; STAT32 for Int return created from scratch
231
+	; (No delay dlot, disable Further intr in trampoline)
232
+
225 233
 	bic  	r0, r3, STATUS_U_MASK|STATUS_DE_MASK|STATUS_IE_MASK|STATUS_L_MASK
226 234
 	st	r0, [sp, PT_status32]
227 235
 
228 236
 	mov	r1, .Lintr_ret_to_delay_slot_2
229 237
 	st	r1, [sp, PT_ret]
230 238
 
239
+	; Orig exception PC/STAT32 safekept @orig_r0 and @event stack slots
231 240
 	st	r2, [sp, 0]
232 241
 	st	r3, [sp, 4]
233 242
 
234 243
 	b	.Lisr_ret_fast_path
235 244
 
236 245
 .Lintr_ret_to_delay_slot_2:
246
+	; Trampoline to restore orig exception PC/STAT32/BTA/AUX_USER_SP
237 247
 	sub	sp, sp, SZ_PT_REGS
238 248
 	st	r9, [sp, -4]
239 249
 
@@ -243,11 +253,19 @@ debug_marker_ds:
243 253
 	ld	r9, [sp, 4]
244 254
 	sr	r9, [erstatus]
245 255
 
256
+	; restore AUX_USER_SP if returning to U mode
257
+	bbit0	r9, STATUS_U_BIT, 1f
258
+	ld	r9, [sp, PT_sp]
259
+	sr	r9, [AUX_USER_SP]
260
+
261
+1:
246 262
 	ld	r9, [sp, 8]
247 263
 	sr	r9, [erbta]
248 264
 
249 265
 	ld	r9, [sp, -4]
250 266
 	add	sp, sp, SZ_PT_REGS
267
+
268
+	; return from pure kernel mode to delay slot
251 269
 	rtie
252 270
 
253 271
 END(ret_from_exception)

+ 15 - 0
arch/arc/kernel/mcip.c

@@ -11,9 +11,12 @@
11 11
 #include <linux/smp.h>
12 12
 #include <linux/irq.h>
13 13
 #include <linux/spinlock.h>
14
+#include <asm/irqflags-arcv2.h>
14 15
 #include <asm/mcip.h>
15 16
 #include <asm/setup.h>
16 17
 
18
+#define SOFTIRQ_IRQ	21
19
+
17 20
 static char smp_cpuinfo_buf[128];
18 21
 static int idu_detected;
19 22
 
@@ -22,6 +25,7 @@ static DEFINE_RAW_SPINLOCK(mcip_lock);
22 25
 static void mcip_setup_per_cpu(int cpu)
23 26
 {
24 27
 	smp_ipi_irq_setup(cpu, IPI_IRQ);
28
+	smp_ipi_irq_setup(cpu, SOFTIRQ_IRQ);
25 29
 }
26 30
 
27 31
 static void mcip_ipi_send(int cpu)
@@ -29,6 +33,12 @@ static void mcip_ipi_send(int cpu)
29 33
 	unsigned long flags;
30 34
 	int ipi_was_pending;
31 35
 
36
+	/* ARConnect can only send IPI to others */
37
+	if (unlikely(cpu == raw_smp_processor_id())) {
38
+		arc_softirq_trigger(SOFTIRQ_IRQ);
39
+		return;
40
+	}
41
+
32 42
 	/*
33 43
 	 * NOTE: We must spin here if the other cpu hasn't yet
34 44
 	 * serviced a previous message. This can burn lots
@@ -63,6 +73,11 @@ static void mcip_ipi_clear(int irq)
63 73
 	unsigned long flags;
64 74
 	unsigned int __maybe_unused copy;
65 75
 
76
+	if (unlikely(irq == SOFTIRQ_IRQ)) {
77
+		arc_softirq_clear(irq);
78
+		return;
79
+	}
80
+
66 81
 	raw_spin_lock_irqsave(&mcip_lock, flags);
67 82
 
68 83
 	/* Who sent the IPI */

+ 0 - 4
arch/arc/kernel/setup.c

@@ -332,10 +332,6 @@ static void arc_chk_core_config(void)
332 332
 		pr_warn("CONFIG_ARC_FPU_SAVE_RESTORE needed for working apps\n");
333 333
 	else if (!cpu->extn.fpu_dp && fpu_enabled)
334 334
 		panic("FPU non-existent, disable CONFIG_ARC_FPU_SAVE_RESTORE\n");
335
-
336
-	if (is_isa_arcv2() && IS_ENABLED(CONFIG_SMP) && cpu->isa.atomic &&
337
-	    !IS_ENABLED(CONFIG_ARC_STAR_9000923308))
338
-		panic("llock/scond livelock workaround missing\n");
339 335
 }
340 336
 
341 337
 /*

+ 4 - 4
arch/arc/kernel/signal.c

@@ -107,13 +107,13 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
107 107
 	struct user_regs_struct uregs;
108 108
 
109 109
 	err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set));
110
-	if (!err)
111
-		set_current_blocked(&set);
112
-
113 110
 	err |= __copy_from_user(&uregs.scratch,
114 111
 				&(sf->uc.uc_mcontext.regs.scratch),
115 112
 				sizeof(sf->uc.uc_mcontext.regs.scratch));
113
+	if (err)
114
+		return err;
116 115
 
116
+	set_current_blocked(&set);
117 117
 	regs->bta	= uregs.scratch.bta;
118 118
 	regs->lp_start	= uregs.scratch.lp_start;
119 119
 	regs->lp_end	= uregs.scratch.lp_end;
@@ -138,7 +138,7 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf)
138 138
 	regs->r0	= uregs.scratch.r0;
139 139
 	regs->sp	= uregs.scratch.sp;
140 140
 
141
-	return err;
141
+	return 0;
142 142
 }
143 143
 
144 144
 static inline int is_do_ss_needed(unsigned int magic)

+ 1 - 1
arch/arc/kernel/stacktrace.c

@@ -142,7 +142,7 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs,
142 142
 	 * prelogue is setup (callee regs saved and then fp set and not other
143 143
 	 * way around
144 144
 	 */
145
-	pr_warn("CONFIG_ARC_DW2_UNWIND needs to be enabled\n");
145
+	pr_warn_once("CONFIG_ARC_DW2_UNWIND needs to be enabled\n");
146 146
 	return 0;
147 147
 
148 148
 #endif

+ 11 - 8
arch/arc/kernel/time.c

@@ -130,14 +130,17 @@ static cycle_t arc_counter_read(struct clocksource *cs)
130 130
 		cycle_t  full;
131 131
 	} stamp;
132 132
 
133
-
134
-	__asm__ __volatile(
135
-	"1:						\n"
136
-	"	lr		%0, [AUX_RTC_LOW]	\n"
137
-	"	lr		%1, [AUX_RTC_HIGH]	\n"
138
-	"	lr		%2, [AUX_RTC_CTRL]	\n"
139
-	"	bbit0.nt	%2, 31, 1b		\n"
140
-	: "=r" (stamp.low), "=r" (stamp.high), "=r" (status));
133
+	/*
134
+	 * hardware has an internal state machine which tracks readout of
135
+	 * low/high and updates the CTRL.status if
136
+	 *  - interrupt/exception taken between the two reads
137
+	 *  - high increments after low has been read
138
+	 */
139
+	do {
140
+		stamp.low = read_aux_reg(AUX_RTC_LOW);
141
+		stamp.high = read_aux_reg(AUX_RTC_HIGH);
142
+		status = read_aux_reg(AUX_RTC_CTRL);
143
+	} while (!(status & _BITUL(31)));
141 144
 
142 145
 	return stamp.full;
143 146
 }

+ 18 - 4
arch/arc/mm/cache.c

@@ -914,6 +914,15 @@ void arc_cache_init(void)
914 914
 
915 915
 	printk(arc_cache_mumbojumbo(0, str, sizeof(str)));
916 916
 
917
+	/*
918
+	 * Only master CPU needs to execute rest of function:
919
+	 *  - Assume SMP so all cores will have same cache config so
920
+	 *    any geomtry checks will be same for all
921
+	 *  - IOC setup / dma callbacks only need to be setup once
922
+	 */
923
+	if (cpu)
924
+		return;
925
+
917 926
 	if (IS_ENABLED(CONFIG_ARC_HAS_ICACHE)) {
918 927
 		struct cpuinfo_arc_cache *ic = &cpuinfo_arc700[cpu].icache;
919 928
 
@@ -951,11 +960,16 @@ void arc_cache_init(void)
951 960
 		/* check for D-Cache aliasing on ARCompact: ARCv2 has PIPT */
952 961
 		if (is_isa_arcompact()) {
953 962
 			int handled = IS_ENABLED(CONFIG_ARC_CACHE_VIPT_ALIASING);
954
-
955
-			if (dc->alias && !handled)
956
-				panic("Enable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
957
-			else if (!dc->alias && handled)
963
+			int num_colors = dc->sz_k/dc->assoc/TO_KB(PAGE_SIZE);
964
+
965
+			if (dc->alias) {
966
+				if (!handled)
967
+					panic("Enable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
968
+				if (CACHE_COLORS_NUM != num_colors)
969
+					panic("CACHE_COLORS_NUM not optimized for config\n");
970
+			} else if (!dc->alias && handled) {
958 971
 				panic("Disable CONFIG_ARC_CACHE_VIPT_ALIASING\n");
972
+			}
959 973
 		}
960 974
 	}
961 975
 

+ 6 - 11
arch/arm/Kconfig.debug

@@ -162,10 +162,9 @@ choice
162 162
 		  mobile SoCs in the Kona family of chips (e.g. bcm28155,
163 163
 		  bcm11351, etc...)
164 164
 
165
-	config DEBUG_BCM63XX
165
+	config DEBUG_BCM63XX_UART
166 166
 		bool "Kernel low-level debugging on BCM63XX UART"
167 167
 		depends on ARCH_BCM_63XX
168
-		select DEBUG_UART_BCM63XX
169 168
 
170 169
 	config DEBUG_BERLIN_UART
171 170
 		bool "Marvell Berlin SoC Debug UART"
@@ -1348,7 +1347,7 @@ config DEBUG_LL_INCLUDE
1348 1347
 	default "debug/vf.S" if DEBUG_VF_UART
1349 1348
 	default "debug/vt8500.S" if DEBUG_VT8500_UART0
1350 1349
 	default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1351
-	default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1350
+	default "debug/bcm63xx.S" if DEBUG_BCM63XX_UART
1352 1351
 	default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1353 1352
 	default "mach/debug-macro.S"
1354 1353
 
@@ -1364,10 +1363,6 @@ config DEBUG_UART_8250
1364 1363
 		ARCH_IOP33X || ARCH_IXP4XX || \
1365 1364
 		ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1366 1365
 
1367
-# Compatibility options for BCM63xx
1368
-config DEBUG_UART_BCM63XX
1369
-	def_bool ARCH_BCM_63XX
1370
-
1371 1366
 config DEBUG_UART_PHYS
1372 1367
 	hex "Physical base address of debug UART"
1373 1368
 	default 0x00100a00 if DEBUG_NETX_UART
@@ -1462,7 +1457,7 @@ config DEBUG_UART_PHYS
1462 1457
 	default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1463 1458
 	default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1464 1459
 	default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1465
-	default 0xfffe8600 if DEBUG_UART_BCM63XX
1460
+	default 0xfffe8600 if DEBUG_BCM63XX_UART
1466 1461
 	default 0xfffff700 if ARCH_IOP33X
1467 1462
 	depends on ARCH_EP93XX || \
1468 1463
 	        DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
@@ -1474,7 +1469,7 @@ config DEBUG_UART_PHYS
1474 1469
 		DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1475 1470
 		DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1476 1471
 		DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1477
-		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1472
+		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1478 1473
 		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0 || \
1479 1474
 		DEBUG_AT91_UART
1480 1475
 
@@ -1515,7 +1510,7 @@ config DEBUG_UART_VIRT
1515 1510
 	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1516 1511
 	default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1517 1512
 	default 0xfc705000 if DEBUG_ZTE_ZX
1518
-	default 0xfcfe8600 if DEBUG_UART_BCM63XX
1513
+	default 0xfcfe8600 if DEBUG_BCM63XX_UART
1519 1514
 	default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1520 1515
 	default 0xfd000000 if ARCH_SPEAR13XX
1521 1516
 	default 0xfd012000 if ARCH_MV78XX0
@@ -1566,7 +1561,7 @@ config DEBUG_UART_VIRT
1566 1561
 		DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1567 1562
 		DEBUG_NETX_UART || \
1568 1563
 		DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1569
-		DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1564
+		DEBUG_BCM63XX_UART || DEBUG_ASM9260_UART || \
1570 1565
 		DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1571 1566
 
1572 1567
 config DEBUG_UART_8250_SHIFT

+ 1 - 1
arch/arm/boot/compressed/head.S

@@ -776,7 +776,7 @@ __armv7_mmu_cache_on:
776 776
 		orrne	r0, r0, #1		@ MMU enabled
777 777
 		movne	r1, #0xfffffffd		@ domain 0 = client
778 778
 		bic     r6, r6, #1 << 31        @ 32-bit translation system
779
-		bic     r6, r6, #3 << 0         @ use only ttbr0
779
+		bic     r6, r6, #(7 << 0) | (1 << 4)	@ use only ttbr0
780 780
 		mcrne	p15, 0, r3, c2, c0, 0	@ load page table pointer
781 781
 		mcrne	p15, 0, r1, c3, c0, 0	@ load domain access control
782 782
 		mcrne   p15, 0, r6, c2, c0, 2   @ load ttb control

+ 5 - 0
arch/arm/boot/dts/am43x-epos-evm.dts

@@ -792,3 +792,8 @@
792 792
 	tx-num-evt = <32>;
793 793
 	rx-num-evt = <32>;
794 794
 };
795
+
796
+&synctimer_32kclk {
797
+	assigned-clocks = <&mux_synctimer32k_ck>;
798
+	assigned-clock-parents = <&clkdiv32k_ick>;
799
+};

+ 1 - 1
arch/arm/boot/dts/armada-375.dtsi

@@ -529,7 +529,7 @@
529 529
 			};
530 530
 
531 531
 			sata@a0000 {
532
-				compatible = "marvell,orion-sata";
532
+				compatible = "marvell,armada-370-sata";
533 533
 				reg = <0xa0000 0x5000>;
534 534
 				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
535 535
 				clocks = <&gateclk 14>, <&gateclk 20>;

+ 6 - 6
arch/arm/boot/dts/armada-385-linksys.dtsi

@@ -58,8 +58,8 @@
58 58
 	soc {
59 59
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
60 60
 			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
61
-			  MBUS_ID(0x09, 0x09) 0 0xf1100000 0x10000
62
-			  MBUS_ID(0x09, 0x05) 0 0xf1110000 0x10000>;
61
+			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
62
+			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
63 63
 
64 64
 		internal-regs {
65 65
 
@@ -117,7 +117,7 @@
117 117
 			};
118 118
 
119 119
 			/* USB part of the eSATA/USB 2.0 port */
120
-			usb@50000 {
120
+			usb@58000 {
121 121
 				status = "okay";
122 122
 			};
123 123
 
@@ -245,7 +245,7 @@
245 245
 		button@2 {
246 246
 			label = "Factory Reset Button";
247 247
 			linux,code = <KEY_RESTART>;
248
-			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
248
+			gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
249 249
 		};
250 250
 	};
251 251
 
@@ -260,7 +260,7 @@
260 260
 		};
261 261
 
262 262
 		sata {
263
-			gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
263
+			gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
264 264
 			default-state = "off";
265 265
 		};
266 266
 	};
@@ -313,7 +313,7 @@
313 313
 
314 314
 &pinctrl {
315 315
 	keys_pin: keys-pin {
316
-		marvell,pins = "mpp24", "mpp47";
316
+		marvell,pins = "mpp24", "mpp29";
317 317
 		marvell,function = "gpio";
318 318
 	};
319 319
 

+ 0 - 10
arch/arm/boot/dts/armada-388-gp.dts

@@ -303,16 +303,6 @@
303 303
 		gpio = <&expander0 4 GPIO_ACTIVE_HIGH>;
304 304
 	};
305 305
 
306
-	reg_usb2_1_vbus: v5-vbus1 {
307
-		compatible = "regulator-fixed";
308
-		regulator-name = "v5.0-vbus1";
309
-		regulator-min-microvolt = <5000000>;
310
-		regulator-max-microvolt = <5000000>;
311
-		enable-active-high;
312
-		regulator-always-on;
313
-		gpio = <&expander0 4 GPIO_ACTIVE_HIGH>;
314
-	};
315
-
316 306
 	reg_sata0: pwr-sata0 {
317 307
 		compatible = "regulator-fixed";
318 308
 		regulator-name = "pwr_en_sata0";

+ 3 - 0
arch/arm/boot/dts/armada-390.dtsi

@@ -47,6 +47,8 @@
47 47
 #include "armada-39x.dtsi"
48 48
 
49 49
 / {
50
+	compatible = "marvell,armada390";
51
+
50 52
 	soc {
51 53
 		internal-regs {
52 54
 			pinctrl@18000 {
@@ -54,4 +56,5 @@
54 56
 				reg = <0x18000 0x20>;
55 57
 			};
56 58
 		};
59
+	};
57 60
 };

+ 2 - 2
arch/arm/boot/dts/armada-xp-axpwifiap.dts

@@ -70,8 +70,8 @@
70 70
 	soc {
71 71
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
72 72
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
73
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
74
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
73
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
74
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
75 75
 
76 76
 		pcie-controller {
77 77
 			status = "okay";

+ 2 - 2
arch/arm/boot/dts/armada-xp-db.dts

@@ -76,8 +76,8 @@
76 76
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
77 77
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
78 78
 			  MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000
79
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
80
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
79
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
80
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
81 81
 
82 82
 		devbus-bootcs {
83 83
 			status = "okay";

+ 2 - 2
arch/arm/boot/dts/armada-xp-gp.dts

@@ -95,8 +95,8 @@
95 95
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
96 96
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
97 97
 			  MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x1000000
98
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
99
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
98
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
99
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
100 100
 
101 101
 		devbus-bootcs {
102 102
 			status = "okay";

+ 2 - 2
arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts

@@ -65,8 +65,8 @@
65 65
 	soc {
66 66
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
67 67
 			MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
68
-			MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
69
-			MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
68
+			MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
69
+			MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
70 70
 
71 71
 		pcie-controller {
72 72
 			status = "okay";

+ 4 - 4
arch/arm/boot/dts/armada-xp-linksys-mamba.dts

@@ -70,8 +70,8 @@
70 70
 	soc {
71 71
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
72 72
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
73
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
74
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
73
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
74
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
75 75
 
76 76
 		pcie-controller {
77 77
 			status = "okay";
@@ -304,13 +304,13 @@
304 304
 		button@1 {
305 305
 			label = "WPS";
306 306
 			linux,code = <KEY_WPS_BUTTON>;
307
-			gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
307
+			gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
308 308
 		};
309 309
 
310 310
 		button@2 {
311 311
 			label = "Factory Reset Button";
312 312
 			linux,code = <KEY_RESTART>;
313
-			gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
313
+			gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
314 314
 		};
315 315
 	};
316 316
 

+ 2 - 2
arch/arm/boot/dts/armada-xp-matrix.dts

@@ -68,8 +68,8 @@
68 68
 	soc {
69 69
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
70 70
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
71
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
72
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
71
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
72
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
73 73
 
74 74
 		internal-regs {
75 75
 			serial@12000 {

+ 2 - 2
arch/arm/boot/dts/armada-xp-netgear-rn2120.dts

@@ -64,8 +64,8 @@
64 64
 	soc {
65 65
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
66 66
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
67
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
68
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
67
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
68
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
69 69
 
70 70
 		pcie-controller {
71 71
 			status = "okay";

+ 3 - 3
arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts

@@ -65,9 +65,9 @@
65 65
 	soc {
66 66
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000
67 67
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
68
-			  MBUS_ID(0x01, 0x2f) 0 0 0xf0000000 0x8000000
69
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
70
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
68
+			  MBUS_ID(0x01, 0x2f) 0 0 0xe8000000 0x8000000
69
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
70
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
71 71
 
72 72
 		devbus-bootcs {
73 73
 			status = "okay";

+ 2 - 2
arch/arm/boot/dts/armada-xp-synology-ds414.dts

@@ -78,8 +78,8 @@
78 78
 	soc {
79 79
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xf1000000 0x100000
80 80
 			  MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000
81
-			  MBUS_ID(0x09, 0x09) 0 0 0xf8100000 0x10000
82
-			  MBUS_ID(0x09, 0x05) 0 0 0xf8110000 0x10000>;
81
+			  MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000
82
+			  MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>;
83 83
 
84 84
 		pcie-controller {
85 85
 			status = "okay";

+ 1 - 0
arch/arm/boot/dts/at91-sama5d3_xplained.dts

@@ -303,6 +303,7 @@
303 303
 		regulator-name = "mmc0-card-supply";
304 304
 		regulator-min-microvolt = <3300000>;
305 305
 		regulator-max-microvolt = <3300000>;
306
+		regulator-always-on;
306 307
 	};
307 308
 
308 309
 	gpio_keys {

+ 8 - 1
arch/arm/boot/dts/at91-sama5d4_xplained.dts

@@ -86,10 +86,12 @@
86 86
 			macb0: ethernet@f8020000 {
87 87
 				phy-mode = "rmii";
88 88
 				status = "okay";
89
+				pinctrl-names = "default";
90
+				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
89 91
 
90 92
 				phy0: ethernet-phy@1 {
91 93
 					interrupt-parent = <&pioE>;
92
-					interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
94
+					interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
93 95
 					reg = <1>;
94 96
 				};
95 97
 			};
@@ -152,6 +154,10 @@
152 154
 						atmel,pins =
153 155
 							<AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
154 156
 					};
157
+					pinctrl_macb0_phy_irq: macb0_phy_irq_0 {
158
+						atmel,pins =
159
+							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
160
+					};
155 161
 				};
156 162
 			};
157 163
 		};
@@ -262,5 +268,6 @@
262 268
 		regulator-min-microvolt = <3300000>;
263 269
 		regulator-max-microvolt = <3300000>;
264 270
 		vin-supply = <&vcc_3v3_reg>;
271
+		regulator-always-on;
265 272
 	};
266 273
 };

+ 11 - 0
arch/arm/boot/dts/at91-sama5d4ek.dts

@@ -160,8 +160,15 @@
160 160
 			};
161 161
 
162 162
 			macb0: ethernet@f8020000 {
163
+				pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>;
163 164
 				phy-mode = "rmii";
164 165
 				status = "okay";
166
+
167
+				ethernet-phy@1 {
168
+					reg = <0x1>;
169
+					interrupt-parent = <&pioE>;
170
+					interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
171
+				};
165 172
 			};
166 173
 
167 174
 			mmc1: mmc@fc000000 {
@@ -193,6 +200,10 @@
193 200
 
194 201
 			pinctrl@fc06a000 {
195 202
 				board {
203
+					pinctrl_macb0_phy_irq: macb0_phy_irq {
204
+						atmel,pins =
205
+							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
206
+					};
196 207
 					pinctrl_mmc0_cd: mmc0_cd {
197 208
 						atmel,pins =
198 209
 							<AT91_PIOE 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;

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

@@ -106,7 +106,7 @@
106 106
 
107 107
 			pmc: pmc@fffffc00 {
108 108
 				compatible = "atmel,at91sam9x5-pmc", "syscon";
109
-				reg = <0xfffffc00 0x100>;
109
+				reg = <0xfffffc00 0x200>;
110 110
 				interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
111 111
 				interrupt-controller;
112 112
 				#address-cells = <1>;

+ 1 - 0
arch/arm/boot/dts/da850-evm.dts

@@ -85,6 +85,7 @@
85 85
 				#size-cells = <1>;
86 86
 				compatible = "m25p64";
87 87
 				spi-max-frequency = <30000000>;
88
+				m25p,fast-read;
88 89
 				reg = <0>;
89 90
 				partition@0 {
90 91
 					label = "U-Boot-SPL";

+ 10 - 0
arch/arm/boot/dts/dra7.dtsi

@@ -1497,6 +1497,16 @@
1497 1497
 			       0x48485200 0x2E00>;
1498 1498
 			#address-cells = <1>;
1499 1499
 			#size-cells = <1>;
1500
+
1501
+			/*
1502
+			 * Do not allow gating of cpsw clock as workaround
1503
+			 * for errata i877. Keeping internal clock disabled
1504
+			 * causes the device switching characteristics
1505
+			 * to degrade over time and eventually fail to meet
1506
+			 * the data manual delay time/skew specs.
1507
+			 */
1508
+			ti,no-idle;
1509
+
1500 1510
 			/*
1501 1511
 			 * rx_thresh_pend
1502 1512
 			 * rx_pend

+ 2 - 0
arch/arm/boot/dts/exynos4210-trats.dts

@@ -298,6 +298,8 @@
298 298
 		compatible = "maxim,max8997-pmic";
299 299
 
300 300
 		reg = <0x66>;
301
+		interrupt-parent = <&gpx0>;
302
+		interrupts = <7 0>;
301 303
 
302 304
 		max8997,pmic-buck1-uses-gpio-dvs;
303 305
 		max8997,pmic-buck2-uses-gpio-dvs;

+ 9 - 9
arch/arm/boot/dts/imx31.dtsi

@@ -30,11 +30,11 @@
30 30
 		};
31 31
 	};
32 32
 
33
-	avic: avic-interrupt-controller@60000000 {
33
+	avic: interrupt-controller@68000000 {
34 34
 		compatible = "fsl,imx31-avic", "fsl,avic";
35 35
 		interrupt-controller;
36 36
 		#interrupt-cells = <1>;
37
-		reg = <0x60000000 0x100000>;
37
+		reg = <0x68000000 0x100000>;
38 38
 	};
39 39
 
40 40
 	soc {
@@ -110,13 +110,6 @@
110 110
 				interrupts = <19>;
111 111
 				clocks = <&clks 25>;
112 112
 			};
113
-
114
-			clks: ccm@53f80000{
115
-				compatible = "fsl,imx31-ccm";
116
-				reg = <0x53f80000 0x4000>;
117
-				interrupts = <0 31 0x04 0 53 0x04>;
118
-				#clock-cells = <1>;
119
-			};
120 113
 		};
121 114
 
122 115
 		aips@53f00000 { /* AIPS2 */
@@ -126,6 +119,13 @@
126 119
 			reg = <0x53f00000 0x100000>;
127 120
 			ranges;
128 121
 
122
+			clks: ccm@53f80000{
123
+				compatible = "fsl,imx31-ccm";
124
+				reg = <0x53f80000 0x4000>;
125
+				interrupts = <31>, <53>;
126
+				#clock-cells = <1>;
127
+			};
128
+
129 129
 			gpt: timer@53f90000 {
130 130
 				compatible = "fsl,imx31-gpt";
131 131
 				reg = <0x53f90000 0x4000>;

+ 2 - 2
arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi

@@ -319,8 +319,6 @@
319 319
 		compatible = "fsl,imx6q-nitrogen6_max-sgtl5000",
320 320
 			     "fsl,imx-audio-sgtl5000";
321 321
 		model = "imx6q-nitrogen6_max-sgtl5000";
322
-		pinctrl-names = "default";
323
-		pinctrl-0 = <&pinctrl_sgtl5000>;
324 322
 		ssi-controller = <&ssi1>;
325 323
 		audio-codec = <&codec>;
326 324
 		audio-routing =
@@ -401,6 +399,8 @@
401 399
 
402 400
 	codec: sgtl5000@0a {
403 401
 		compatible = "fsl,sgtl5000";
402
+		pinctrl-names = "default";
403
+		pinctrl-0 = <&pinctrl_sgtl5000>;
404 404
 		reg = <0x0a>;
405 405
 		clocks = <&clks 201>;
406 406
 		VDDA-supply = <&reg_2p5v>;

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

@@ -221,7 +221,7 @@
221 221
 					clocks = <&clks IMX6QDL_CLK_SPDIF_GCLK>, <&clks IMX6QDL_CLK_OSC>,
222 222
 						 <&clks IMX6QDL_CLK_SPDIF>, <&clks IMX6QDL_CLK_ASRC>,
223 223
 						 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_ESAI_EXTAL>,
224
-						 <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_MLB>,
224
+						 <&clks IMX6QDL_CLK_IPG>, <&clks IMX6QDL_CLK_DUMMY>,
225 225
 						 <&clks IMX6QDL_CLK_DUMMY>, <&clks IMX6QDL_CLK_SPBA>;
226 226
 					clock-names = "core",  "rxtx0",
227 227
 						      "rxtx1", "rxtx2",

+ 1 - 1
arch/arm/boot/dts/kirkwood-ib62x0.dts

@@ -113,7 +113,7 @@
113 113
 
114 114
 	partition@e0000 {
115 115
 		label = "u-boot environment";
116
-		reg = <0xe0000 0x100000>;
116
+		reg = <0xe0000 0x20000>;
117 117
 	};
118 118
 
119 119
 	partition@100000 {

+ 1 - 0
arch/arm/boot/dts/logicpd-torpedo-som.dtsi

@@ -122,6 +122,7 @@
122 122
 		interrupt-parent = <&gpio5>;
123 123
 		interrupts = <24 IRQ_TYPE_LEVEL_HIGH>; /* gpio 152 */
124 124
 		ref-clock-frequency = <26000000>;
125
+		tcxo-clock-frequency = <26000000>;
125 126
 	};
126 127
 };
127 128
 

+ 3 - 1
arch/arm/boot/dts/omap3-overo-base.dtsi

@@ -223,7 +223,9 @@
223 223
 };
224 224
 
225 225
 &gpmc {
226
-	ranges = <0 0 0x00000000 0x20000000>;
226
+	ranges = <0 0 0x30000000 0x1000000>,	/* CS0 */
227
+		 <4 0 0x2b000000 0x1000000>,	/* CS4 */
228
+		 <5 0 0x2c000000 0x1000000>;	/* CS5 */
227 229
 
228 230
 	nand@0,0 {
229 231
 		linux,mtd-name= "micron,mt29c4g96maz";

+ 0 - 2
arch/arm/boot/dts/omap3-overo-chestnut43-common.dtsi

@@ -55,8 +55,6 @@
55 55
 #include "omap-gpmc-smsc9221.dtsi"
56 56
 
57 57
 &gpmc {
58
-	ranges = <5 0 0x2c000000 0x1000000>;	/* CS5 */
59
-
60 58
 	ethernet@gpmc {
61 59
 		reg = <5 0 0xff>;
62 60
 		interrupt-parent = <&gpio6>;

+ 0 - 2
arch/arm/boot/dts/omap3-overo-tobi-common.dtsi

@@ -27,8 +27,6 @@
27 27
 #include "omap-gpmc-smsc9221.dtsi"
28 28
 
29 29
 &gpmc {
30
-	ranges = <5 0 0x2c000000 0x1000000>;	/* CS5 */
31
-
32 30
 	ethernet@gpmc {
33 31
 		reg = <5 0 0xff>;
34 32
 		interrupt-parent = <&gpio6>;

+ 0 - 3
arch/arm/boot/dts/omap3-overo-tobiduo-common.dtsi

@@ -15,9 +15,6 @@
15 15
 #include "omap-gpmc-smsc9221.dtsi"
16 16
 
17 17
 &gpmc {
18
-	ranges = <4 0 0x2b000000 0x1000000>,	/* CS4 */
19
-		 <5 0 0x2c000000 0x1000000>;	/* CS5 */
20
-
21 18
 	smsc1: ethernet@gpmc {
22 19
 		reg = <5 0 0xff>;
23 20
 		interrupt-parent = <&gpio6>;

+ 33 - 0
arch/arm/boot/dts/omap5-board-common.dtsi

@@ -130,6 +130,16 @@
130 130
 	};
131 131
 };
132 132
 
133
+&gpio8 {
134
+	/* TI trees use GPIO instead of msecure, see also muxing */
135
+	p234 {
136
+		gpio-hog;
137
+		gpios = <10 GPIO_ACTIVE_HIGH>;
138
+		output-high;
139
+		line-name = "gpio8_234/msecure";
140
+	};
141
+};
142
+
133 143
 &omap5_pmx_core {
134 144
 	pinctrl-names = "default";
135 145
 	pinctrl-0 = <
@@ -213,6 +223,13 @@
213 223
 		>;
214 224
 	};
215 225
 
226
+	/* TI trees use GPIO mode; msecure mode does not work reliably? */
227
+	palmas_msecure_pins: palmas_msecure_pins {
228
+		pinctrl-single,pins = <
229
+			OMAP5_IOPAD(0x180, PIN_OUTPUT | MUX_MODE6) /* gpio8_234 */
230
+		>;
231
+	};
232
+
216 233
 	usbhost_pins: pinmux_usbhost_pins {
217 234
 		pinctrl-single,pins = <
218 235
 			0x84 (PIN_INPUT | MUX_MODE0) /* usbb2_hsic_strobe */
@@ -278,6 +295,12 @@
278 295
 			&usbhost_wkup_pins
279 296
 	>;
280 297
 
298
+	palmas_sys_nirq_pins: pinmux_palmas_sys_nirq_pins {
299
+		pinctrl-single,pins = <
300
+			OMAP5_IOPAD(0x068, PIN_INPUT_PULLUP | MUX_MODE0) /* sys_nirq1 */
301
+		>;
302
+	};
303
+
281 304
 	usbhost_wkup_pins: pinmux_usbhost_wkup_pins {
282 305
 		pinctrl-single,pins = <
283 306
 			0x1A (PIN_OUTPUT | MUX_MODE0) /* fref_clk1_out, USB hub clk */
@@ -345,6 +368,8 @@
345 368
 		interrupt-controller;
346 369
 		#interrupt-cells = <2>;
347 370
 		ti,system-power-controller;
371
+		pinctrl-names = "default";
372
+		pinctrl-0 = <&palmas_sys_nirq_pins &palmas_msecure_pins>;
348 373
 
349 374
 		extcon_usb3: palmas_usb {
350 375
 			compatible = "ti,palmas-usb-vid";
@@ -358,6 +383,14 @@
358 383
 			#clock-cells = <0>;
359 384
 		};
360 385
 
386
+		rtc {
387
+			compatible = "ti,palmas-rtc";
388
+			interrupt-parent = <&palmas>;
389
+			interrupts = <8 IRQ_TYPE_NONE>;
390
+			ti,backup-battery-chargeable;
391
+			ti,backup-battery-charge-high-current;
392
+		};
393
+
361 394
 		palmas_pmic {
362 395
 			compatible = "ti,palmas-pmic";
363 396
 			interrupt-parent = <&palmas>;

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

@@ -30,7 +30,7 @@
30 30
 			reg = <0x43100000 90>;
31 31
 			interrupts = <45>;
32 32
 			clocks = <&clks CLK_NAND>;
33
-			dmas = <&pdma 97>;
33
+			dmas = <&pdma 97 3>;
34 34
 			dma-names = "data";
35 35
 			#address-cells = <1>;
36 36
 			#size-cells = <1>;	

+ 57 - 19
arch/arm/boot/dts/qcom-apq8064.dtsi

@@ -5,6 +5,7 @@
5 5
 #include <dt-bindings/reset/qcom,gcc-msm8960.h>
6 6
 #include <dt-bindings/clock/qcom,mmcc-msm8960.h>
7 7
 #include <dt-bindings/soc/qcom,gsbi.h>
8
+#include <dt-bindings/interrupt-controller/irq.h>
8 9
 #include <dt-bindings/interrupt-controller/arm-gic.h>
9 10
 / {
10 11
 	model = "Qualcomm APQ8064";
@@ -354,22 +355,50 @@
354 355
 
355 356
 					compatible = "qcom,pm8921-gpio";
356 357
 					reg = <0x150>;
357
-					interrupts = <192 1>, <193 1>, <194 1>,
358
-						     <195 1>, <196 1>, <197 1>,
359
-						     <198 1>, <199 1>, <200 1>,
360
-						     <201 1>, <202 1>, <203 1>,
361
-						     <204 1>, <205 1>, <206 1>,
362
-						     <207 1>, <208 1>, <209 1>,
363
-						     <210 1>, <211 1>, <212 1>,
364
-						     <213 1>, <214 1>, <215 1>,
365
-						     <216 1>, <217 1>, <218 1>,
366
-						     <219 1>, <220 1>, <221 1>,
367
-						     <222 1>, <223 1>, <224 1>,
368
-						     <225 1>, <226 1>, <227 1>,
369
-						     <228 1>, <229 1>, <230 1>,
370
-						     <231 1>, <232 1>, <233 1>,
371
-						     <234 1>, <235 1>;
372
-
358
+					interrupts = <192 IRQ_TYPE_NONE>,
359
+						     <193 IRQ_TYPE_NONE>,
360
+						     <194 IRQ_TYPE_NONE>,
361
+						     <195 IRQ_TYPE_NONE>,
362
+						     <196 IRQ_TYPE_NONE>,
363
+						     <197 IRQ_TYPE_NONE>,
364
+						     <198 IRQ_TYPE_NONE>,
365
+						     <199 IRQ_TYPE_NONE>,
366
+						     <200 IRQ_TYPE_NONE>,
367
+						     <201 IRQ_TYPE_NONE>,
368
+						     <202 IRQ_TYPE_NONE>,
369
+						     <203 IRQ_TYPE_NONE>,
370
+						     <204 IRQ_TYPE_NONE>,
371
+						     <205 IRQ_TYPE_NONE>,
372
+						     <206 IRQ_TYPE_NONE>,
373
+						     <207 IRQ_TYPE_NONE>,
374
+						     <208 IRQ_TYPE_NONE>,
375
+						     <209 IRQ_TYPE_NONE>,
376
+						     <210 IRQ_TYPE_NONE>,
377
+						     <211 IRQ_TYPE_NONE>,
378
+						     <212 IRQ_TYPE_NONE>,
379
+						     <213 IRQ_TYPE_NONE>,
380
+						     <214 IRQ_TYPE_NONE>,
381
+						     <215 IRQ_TYPE_NONE>,
382
+						     <216 IRQ_TYPE_NONE>,
383
+						     <217 IRQ_TYPE_NONE>,
384
+						     <218 IRQ_TYPE_NONE>,
385
+						     <219 IRQ_TYPE_NONE>,
386
+						     <220 IRQ_TYPE_NONE>,
387
+						     <221 IRQ_TYPE_NONE>,
388
+						     <222 IRQ_TYPE_NONE>,
389
+						     <223 IRQ_TYPE_NONE>,
390
+						     <224 IRQ_TYPE_NONE>,
391
+						     <225 IRQ_TYPE_NONE>,
392
+						     <226 IRQ_TYPE_NONE>,
393
+						     <227 IRQ_TYPE_NONE>,
394
+						     <228 IRQ_TYPE_NONE>,
395
+						     <229 IRQ_TYPE_NONE>,
396
+						     <230 IRQ_TYPE_NONE>,
397
+						     <231 IRQ_TYPE_NONE>,
398
+						     <232 IRQ_TYPE_NONE>,
399
+						     <233 IRQ_TYPE_NONE>,
400
+						     <234 IRQ_TYPE_NONE>,
401
+						     <235 IRQ_TYPE_NONE>;
373 402
 					gpio-controller;
374 403
 					#gpio-cells = <2>;
375 404
 
@@ -381,9 +410,18 @@
381 410
 					gpio-controller;
382 411
 					#gpio-cells = <2>;
383 412
 					interrupts =
384
-					<128 1>, <129 1>, <130 1>, <131 1>,
385
-					<132 1>, <133 1>, <134 1>, <135 1>,
386
-					<136 1>, <137 1>, <138 1>, <139 1>;
413
+					<128 IRQ_TYPE_NONE>,
414
+					<129 IRQ_TYPE_NONE>,
415
+					<130 IRQ_TYPE_NONE>,
416
+					<131 IRQ_TYPE_NONE>,
417
+					<132 IRQ_TYPE_NONE>,
418
+					<133 IRQ_TYPE_NONE>,
419
+					<134 IRQ_TYPE_NONE>,
420
+					<135 IRQ_TYPE_NONE>,
421
+					<136 IRQ_TYPE_NONE>,
422
+					<137 IRQ_TYPE_NONE>,
423
+					<138 IRQ_TYPE_NONE>,
424
+					<139 IRQ_TYPE_NONE>;
387 425
 				};
388 426
 
389 427
 				rtc@11d {

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

@@ -1023,7 +1023,7 @@
1023 1023
 		mstp7_clks: mstp7_clks@e615014c {
1024 1024
 			compatible = "renesas,r8a7794-mstp-clocks", "renesas,cpg-mstp-clocks";
1025 1025
 			reg = <0 0xe615014c 0 4>, <0 0xe61501c4 0 4>;
1026
-			clocks = <&mp_clk>, <&mp_clk>,
1026
+			clocks = <&mp_clk>, <&hp_clk>,
1027 1027
 				 <&zs_clk>, <&p_clk>, <&p_clk>, <&zs_clk>,
1028 1028
 				 <&zs_clk>, <&p_clk>, <&p_clk>, <&p_clk>, <&p_clk>;
1029 1029
 			#clock-cells = <1>;

+ 3 - 3
arch/arm/boot/dts/sama5d2-pinfunc.h

@@ -90,7 +90,7 @@
90 90
 #define PIN_PA14__I2SC1_MCK		PINMUX_PIN(PIN_PA14, 4, 2)
91 91
 #define PIN_PA14__FLEXCOM3_IO2		PINMUX_PIN(PIN_PA14, 5, 1)
92 92
 #define PIN_PA14__D9			PINMUX_PIN(PIN_PA14, 6, 2)
93
-#define PIN_PA15			14
93
+#define PIN_PA15			15
94 94
 #define PIN_PA15__GPIO			PINMUX_PIN(PIN_PA15, 0, 0)
95 95
 #define PIN_PA15__SPI0_MOSI		PINMUX_PIN(PIN_PA15, 1, 1)
96 96
 #define PIN_PA15__TF1			PINMUX_PIN(PIN_PA15, 2, 1)
@@ -837,8 +837,8 @@
837 837
 #define PIN_PD23__ISC_FIELD		PINMUX_PIN(PIN_PD23, 6, 4)
838 838
 #define PIN_PD24			120
839 839
 #define PIN_PD24__GPIO			PINMUX_PIN(PIN_PD24, 0, 0)
840
-#define PIN_PD24__UTXD2			PINMUX_PIN(PIN_PD23, 1, 2)
841
-#define PIN_PD24__FLEXCOM4_IO3		PINMUX_PIN(PIN_PD23, 3, 3)
840
+#define PIN_PD24__UTXD2			PINMUX_PIN(PIN_PD24, 1, 2)
841
+#define PIN_PD24__FLEXCOM4_IO3		PINMUX_PIN(PIN_PD24, 3, 3)
842 842
 #define PIN_PD25			121
843 843
 #define PIN_PD25__GPIO			PINMUX_PIN(PIN_PD25, 0, 0)
844 844
 #define PIN_PD25__SPI1_SPCK		PINMUX_PIN(PIN_PD25, 1, 3)

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

@@ -1342,7 +1342,7 @@
1342 1342
 			dbgu: serial@fc069000 {
1343 1343
 				compatible = "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
1344 1344
 				reg = <0xfc069000 0x200>;
1345
-				interrupts = <2 IRQ_TYPE_LEVEL_HIGH 7>;
1345
+				interrupts = <45 IRQ_TYPE_LEVEL_HIGH 7>;
1346 1346
 				pinctrl-names = "default";
1347 1347
 				pinctrl-0 = <&pinctrl_dbgu>;
1348 1348
 				clocks = <&dbgu_clk>;

+ 20 - 17
arch/arm/boot/dts/ste-nomadik-stn8815.dtsi

@@ -127,22 +127,14 @@
127 127
 			};
128 128
 			mmcsd_default_mode: mmcsd_default {
129 129
 				mmcsd_default_cfg1 {
130
-					/* MCCLK */
131
-					pins = "GPIO8_B10";
132
-					ste,output = <0>;
133
-				};
134
-				mmcsd_default_cfg2 {
135
-					/* MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2 */
136
-					pins = "GPIO10_C11", "GPIO15_A12",
137
-					"GPIO16_C13", "GPIO23_D15";
138
-					ste,output = <1>;
139
-				};
140
-				mmcsd_default_cfg3 {
141
-					/* MCCMD, MCDAT3-0, MCMSFBCLK */
142
-					pins = "GPIO9_A10", "GPIO11_B11",
143
-					"GPIO12_A11", "GPIO13_C12",
144
-					"GPIO14_B12", "GPIO24_C15";
145
-					ste,input = <1>;
130
+					/*
131
+					 * MCCLK, MCCMDDIR, MCDAT0DIR, MCDAT31DIR, MCDATDIR2
132
+					 * MCCMD, MCDAT3-0, MCMSFBCLK
133
+					 */
134
+					pins = "GPIO8_B10", "GPIO9_A10", "GPIO10_C11", "GPIO11_B11",
135
+					       "GPIO12_A11", "GPIO13_C12", "GPIO14_B12", "GPIO15_A12",
136
+					       "GPIO16_C13", "GPIO23_D15", "GPIO24_C15";
137
+					ste,output = <2>;
146 138
 				};
147 139
 			};
148 140
 		};
@@ -802,10 +794,21 @@
802 794
 			clock-names = "mclk", "apb_pclk";
803 795
 			interrupt-parent = <&vica>;
804 796
 			interrupts = <22>;
805
-			max-frequency = <48000000>;
797
+			max-frequency = <400000>;
806 798
 			bus-width = <4>;
807 799
 			cap-mmc-highspeed;
808 800
 			cap-sd-highspeed;
801
+			full-pwr-cycle;
802
+			/*
803
+			 * The STw4811 circuit used with the Nomadik strictly
804
+			 * requires that all of these signal direction pins be
805
+			 * routed and used for its 4-bit levelshifter.
806
+			 */
807
+			st,sig-dir-dat0;
808
+			st,sig-dir-dat2;
809
+			st,sig-dir-dat31;
810
+			st,sig-dir-cmd;
811
+			st,sig-pin-fbclk;
809 812
 			pinctrl-names = "default";
810 813
 			pinctrl-0 = <&mmcsd_default_mux>, <&mmcsd_default_mode>;
811 814
 			vmmc-supply = <&vmmc_regulator>;

+ 6 - 4
arch/arm/boot/dts/stih407-family.dtsi

@@ -497,8 +497,9 @@
497 497
 			interrupt-names = "mmcirq";
498 498
 			pinctrl-names = "default";
499 499
 			pinctrl-0 = <&pinctrl_mmc0>;
500
-			clock-names = "mmc";
501
-			clocks = <&clk_s_c0_flexgen CLK_MMC_0>;
500
+			clock-names = "mmc", "icn";
501
+			clocks = <&clk_s_c0_flexgen CLK_MMC_0>,
502
+				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
502 503
 			bus-width = <8>;
503 504
 			non-removable;
504 505
 		};
@@ -512,8 +513,9 @@
512 513
 			interrupt-names = "mmcirq";
513 514
 			pinctrl-names = "default";
514 515
 			pinctrl-0 = <&pinctrl_sd1>;
515
-			clock-names = "mmc";
516
-			clocks = <&clk_s_c0_flexgen CLK_MMC_1>;
516
+			clock-names = "mmc", "icn";
517
+			clocks = <&clk_s_c0_flexgen CLK_MMC_1>,
518
+				 <&clk_s_c0_flexgen CLK_RX_ICN_HVA>;
517 519
 			resets = <&softreset STIH407_MMC1_SOFTRESET>;
518 520
 			bus-width = <4>;
519 521
 		};

+ 8 - 4
arch/arm/boot/dts/stih410.dtsi

@@ -41,7 +41,8 @@
41 41
 			compatible = "st,st-ohci-300x";
42 42
 			reg = <0x9a03c00 0x100>;
43 43
 			interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>;
44
-			clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>;