瀏覽代碼

Merge 3.8-rc5 into staging-next

This resolves a merge issue with a iio driver, and the zram code.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman 12 年之前
父節點
當前提交
8f5f90a872
共有 100 個文件被更改,包括 797 次插入403 次删除
  1. 3 3
      Documentation/DocBook/media/v4l/driver.xml
  2. 3 3
      Documentation/PCI/pci-iov-howto.txt
  3. 0 20
      Documentation/PCI/pci.txt
  4. 1 1
      Documentation/acpi/enumeration.txt
  5. 0 5
      Documentation/devicetree/bindings/clock/imx23-clock.txt
  6. 0 4
      Documentation/devicetree/bindings/clock/imx25-clock.txt
  7. 0 5
      Documentation/devicetree/bindings/clock/imx28-clock.txt
  8. 0 4
      Documentation/devicetree/bindings/clock/imx6q-clock.txt
  9. 17 3
      Documentation/devicetree/bindings/gpio/gpio-poweroff.txt
  10. 3 2
      Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt
  11. 47 0
      Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
  12. 9 9
      Documentation/filesystems/f2fs.txt
  13. 1 1
      Documentation/i2c/instantiating-devices
  14. 11 5
      Documentation/networking/ip-sysctl.txt
  15. 5 4
      Documentation/power/runtime_pm.txt
  16. 2 2
      Documentation/rpmsg.txt
  17. 2 2
      Documentation/spi/spi-summary
  18. 32 0
      Documentation/sysctl/kernel.txt
  19. 1 2
      Documentation/video4linux/v4l2-framework.txt
  20. 1 2
      Documentation/zh_CN/video4linux/v4l2-framework.txt
  21. 158 93
      MAINTAINERS
  22. 2 2
      Makefile
  23. 2 2
      arch/alpha/include/asm/parport.h
  24. 5 7
      arch/alpha/kernel/pci.c
  25. 3 3
      arch/alpha/kernel/smp.c
  26. 1 1
      arch/alpha/kernel/sys_titan.c
  27. 6 1
      arch/arm/Kconfig
  28. 1 0
      arch/arm/boot/dts/Makefile
  29. 1 1
      arch/arm/boot/dts/armada-370-db.dts
  30. 4 2
      arch/arm/boot/dts/armada-370-xp.dtsi
  31. 14 9
      arch/arm/boot/dts/armada-xp-mv78230.dtsi
  32. 17 12
      arch/arm/boot/dts/armada-xp-mv78260.dtsi
  33. 17 12
      arch/arm/boot/dts/armada-xp-mv78460.dtsi
  34. 4 10
      arch/arm/boot/dts/armada-xp.dtsi
  35. 2 2
      arch/arm/boot/dts/at91rm9200.dtsi
  36. 18 0
      arch/arm/boot/dts/at91sam9260.dtsi
  37. 36 0
      arch/arm/boot/dts/at91sam9263.dtsi
  38. 36 0
      arch/arm/boot/dts/at91sam9g45.dtsi
  39. 26 0
      arch/arm/boot/dts/at91sam9n12.dtsi
  40. 65 27
      arch/arm/boot/dts/at91sam9x5.dtsi
  41. 6 6
      arch/arm/boot/dts/cros5250-common.dtsi
  42. 3 1
      arch/arm/boot/dts/dbx5x0.dtsi
  43. 12 2
      arch/arm/boot/dts/dove-cubox.dts
  44. 1 0
      arch/arm/boot/dts/dove.dtsi
  45. 4 0
      arch/arm/boot/dts/ecx-2000.dts
  46. 1 1
      arch/arm/boot/dts/exynos4210-smdkv310.dts
  47. 4 4
      arch/arm/boot/dts/exynos5250-smdk5250.dts
  48. 1 1
      arch/arm/boot/dts/exynos5250.dtsi
  49. 1 1
      arch/arm/boot/dts/exynos5440-ssdk5440.dts
  50. 12 8
      arch/arm/boot/dts/highbank.dts
  51. 4 4
      arch/arm/boot/dts/imx23-olinuxino.dts
  52. 1 1
      arch/arm/boot/dts/imx31-bug.dts
  53. 1 1
      arch/arm/boot/dts/imx53.dtsi
  54. 1 0
      arch/arm/boot/dts/kirkwood-6282.dtsi
  55. 16 0
      arch/arm/boot/dts/kirkwood-ns2-common.dtsi
  56. 17 0
      arch/arm/boot/dts/kirkwood-topkick.dts
  57. 3 0
      arch/arm/boot/dts/kirkwood.dtsi
  58. 2 0
      arch/arm/boot/dts/kizbox.dts
  59. 4 2
      arch/arm/boot/dts/sunxi.dtsi
  60. 0 2
      arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts
  61. 2 3
      arch/arm/common/sa1111.c
  62. 3 3
      arch/arm/common/scoop.c
  63. 7 2
      arch/arm/common/vic.c
  64. 2 1
      arch/arm/configs/at91_dt_defconfig
  65. 1 3
      arch/arm/configs/mvebu_defconfig
  66. 8 10
      arch/arm/kernel/bios32.c
  67. 2 0
      arch/arm/kernel/debug.S
  68. 2 2
      arch/arm/kernel/etm.c
  69. 4 1
      arch/arm/kernel/head.S
  70. 6 12
      arch/arm/kernel/hyp-stub.S
  71. 5 5
      arch/arm/kernel/perf_event_cpu.c
  72. 2 2
      arch/arm/kernel/perf_event_v6.c
  73. 6 6
      arch/arm/kernel/perf_event_v7.c
  74. 2 2
      arch/arm/kernel/perf_event_xscale.c
  75. 2 0
      arch/arm/mach-at91/setup.c
  76. 1 1
      arch/arm/mach-davinci/board-dm646x-evm.c
  77. 2 2
      arch/arm/mach-davinci/cdce949.c
  78. 1 1
      arch/arm/mach-dove/pcie.c
  79. 2 0
      arch/arm/mach-exynos/Kconfig
  80. 7 0
      arch/arm/mach-exynos/common.c
  81. 1 1
      arch/arm/mach-highbank/highbank.c
  82. 1 1
      arch/arm/mach-highbank/hotplug.c
  83. 1 11
      arch/arm/mach-highbank/platsmp.c
  84. 18 1
      arch/arm/mach-highbank/pm.c
  85. 19 4
      arch/arm/mach-highbank/sysregs.h
  86. 2 2
      arch/arm/mach-highbank/system.c
  87. 1 2
      arch/arm/mach-imx/Kconfig
  88. 3 3
      arch/arm/mach-imx/clk-imx25.c
  89. 3 3
      arch/arm/mach-imx/clk-imx27.c
  90. 3 3
      arch/arm/mach-imx/clk-imx31.c
  91. 3 3
      arch/arm/mach-imx/clk-imx35.c
  92. 3 3
      arch/arm/mach-imx/clk-imx51-imx53.c
  93. 3 0
      arch/arm/mach-imx/clk-imx6q.c
  94. 1 0
      arch/arm/mach-imx/common.h
  95. 1 1
      arch/arm/mach-imx/cpufreq.c
  96. 1 0
      arch/arm/mach-imx/devices/devices-common.h
  97. 8 7
      arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c
  98. 1 1
      arch/arm/mach-imx/devices/platform-imx-fb.c
  99. 6 4
      arch/arm/mach-imx/hotplug.c
  100. 1 2
      arch/arm/mach-imx/iram_alloc.c

+ 3 - 3
Documentation/DocBook/media/v4l/driver.xml

@@ -116,7 +116,7 @@ my_suspend              (struct pci_dev *               pci_dev,
 	return 0; /* a negative value on error, 0 on success. */
 	return 0; /* a negative value on error, 0 on success. */
 }
 }
 
 
-static void __devexit
+static void
 my_remove               (struct pci_dev *               pci_dev)
 my_remove               (struct pci_dev *               pci_dev)
 {
 {
 	my_device *my = pci_get_drvdata (pci_dev);
 	my_device *my = pci_get_drvdata (pci_dev);
@@ -124,7 +124,7 @@ my_remove               (struct pci_dev *               pci_dev)
 	/* Describe me. */
 	/* Describe me. */
 }
 }
 
 
-static int __devinit
+static int
 my_probe                (struct pci_dev *               pci_dev,
 my_probe                (struct pci_dev *               pci_dev,
 			 const struct pci_device_id *   pci_id)
 			 const struct pci_device_id *   pci_id)
 {
 {
@@ -157,7 +157,7 @@ my_pci_driver = {
 	.id_table = my_pci_device_ids,
 	.id_table = my_pci_device_ids,
 
 
 	.probe    = my_probe,
 	.probe    = my_probe,
-	.remove   = __devexit_p (my_remove),
+	.remove   = my_remove,
 
 
 	/* Power management functions. */
 	/* Power management functions. */
 	.suspend  = my_suspend,
 	.suspend  = my_suspend,

+ 3 - 3
Documentation/PCI/pci-iov-howto.txt

@@ -76,7 +76,7 @@ To notify SR-IOV core of Virtual Function Migration:
 
 
 Following piece of code illustrates the usage of the SR-IOV API.
 Following piece of code illustrates the usage of the SR-IOV API.
 
 
-static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
+static int dev_probe(struct pci_dev *dev, const struct pci_device_id *id)
 {
 {
 	pci_enable_sriov(dev, NR_VIRTFN);
 	pci_enable_sriov(dev, NR_VIRTFN);
 
 
@@ -85,7 +85,7 @@ static int __devinit dev_probe(struct pci_dev *dev, const struct pci_device_id *
 	return 0;
 	return 0;
 }
 }
 
 
-static void __devexit dev_remove(struct pci_dev *dev)
+static void dev_remove(struct pci_dev *dev)
 {
 {
 	pci_disable_sriov(dev);
 	pci_disable_sriov(dev);
 
 
@@ -131,7 +131,7 @@ static struct pci_driver dev_driver = {
 	.name =		"SR-IOV Physical Function driver",
 	.name =		"SR-IOV Physical Function driver",
 	.id_table =	dev_id_table,
 	.id_table =	dev_id_table,
 	.probe =	dev_probe,
 	.probe =	dev_probe,
-	.remove =	__devexit_p(dev_remove),
+	.remove =	dev_remove,
 	.suspend =	dev_suspend,
 	.suspend =	dev_suspend,
 	.resume =	dev_resume,
 	.resume =	dev_resume,
 	.shutdown =	dev_shutdown,
 	.shutdown =	dev_shutdown,

+ 0 - 20
Documentation/PCI/pci.txt

@@ -183,12 +183,6 @@ Please mark the initialization and cleanup functions where appropriate
 			initializes.
 			initializes.
 	__exit		Exit code. Ignored for non-modular drivers.
 	__exit		Exit code. Ignored for non-modular drivers.
 
 
-
-	__devinit	Device initialization code.
-			Identical to __init if the kernel is not compiled
-			with CONFIG_HOTPLUG, normal function otherwise.
-	__devexit	The same for __exit.
-
 Tips on when/where to use the above attributes:
 Tips on when/where to use the above attributes:
 	o The module_init()/module_exit() functions (and all
 	o The module_init()/module_exit() functions (and all
 	  initialization functions called _only_ from these)
 	  initialization functions called _only_ from these)
@@ -196,20 +190,6 @@ Tips on when/where to use the above attributes:
 
 
 	o Do not mark the struct pci_driver.
 	o Do not mark the struct pci_driver.
 
 
-	o The ID table array should be marked __devinitconst; this is done
-	  automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE().
-
-	o The probe() and remove() functions should be marked __devinit
-	  and __devexit respectively.  All initialization functions
-	  exclusively called by the probe() routine, can be marked __devinit.
-	  Ditto for remove() and __devexit.
-
-	o If mydriver_remove() is marked with __devexit(), then all address
-	  references to mydriver_remove must use __devexit_p(mydriver_remove)
-	  (in the struct pci_driver declaration for example).
-	  __devexit_p() will generate the function name _or_ NULL if the
-	  function will be discarded.  For an example, see drivers/net/tg3.c.
-
 	o Do NOT mark a function if you are not sure which mark to use.
 	o Do NOT mark a function if you are not sure which mark to use.
 	  Better to not mark the function than mark the function wrong.
 	  Better to not mark the function than mark the function wrong.
 
 

+ 1 - 1
Documentation/acpi/enumeration.txt

@@ -185,7 +185,7 @@ input driver:
 			.acpi_match_table  ACPI_PTR(mpu3050_acpi_match),
 			.acpi_match_table  ACPI_PTR(mpu3050_acpi_match),
 		},
 		},
 		.probe		= mpu3050_probe,
 		.probe		= mpu3050_probe,
-		.remove		= __devexit_p(mpu3050_remove),
+		.remove		= mpu3050_remove,
 		.id_table	= mpu3050_ids,
 		.id_table	= mpu3050_ids,
 	};
 	};
 
 

+ 0 - 5
Documentation/devicetree/bindings/clock/imx23-clock.txt

@@ -60,11 +60,6 @@ clks: clkctrl@80040000 {
 	compatible = "fsl,imx23-clkctrl";
 	compatible = "fsl,imx23-clkctrl";
 	reg = <0x80040000 0x2000>;
 	reg = <0x80040000 0x2000>;
 	#clock-cells = <1>;
 	#clock-cells = <1>;
-	clock-output-names =
-		...
-		"uart",		/* 32 */
-		...
-		"end_of_list";
 };
 };
 
 
 auart0: serial@8006c000 {
 auart0: serial@8006c000 {

+ 0 - 4
Documentation/devicetree/bindings/clock/imx25-clock.txt

@@ -146,10 +146,6 @@ clks: ccm@53f80000 {
 	compatible = "fsl,imx25-ccm";
 	compatible = "fsl,imx25-ccm";
 	reg = <0x53f80000 0x4000>;
 	reg = <0x53f80000 0x4000>;
 	interrupts = <31>;
 	interrupts = <31>;
-	clock-output-names = ...
-			"uart_ipg",
-			"uart_serial",
-			...;
 };
 };
 
 
 uart1: serial@43f90000 {
 uart1: serial@43f90000 {

+ 0 - 5
Documentation/devicetree/bindings/clock/imx28-clock.txt

@@ -83,11 +83,6 @@ clks: clkctrl@80040000 {
 	compatible = "fsl,imx28-clkctrl";
 	compatible = "fsl,imx28-clkctrl";
 	reg = <0x80040000 0x2000>;
 	reg = <0x80040000 0x2000>;
 	#clock-cells = <1>;
 	#clock-cells = <1>;
-	clock-output-names =
-		...
-		"uart",		/* 45 */
-		...
-		"end_of_list";
 };
 };
 
 
 auart0: serial@8006a000 {
 auart0: serial@8006a000 {

+ 0 - 4
Documentation/devicetree/bindings/clock/imx6q-clock.txt

@@ -211,10 +211,6 @@ clks: ccm@020c4000 {
 	reg = <0x020c4000 0x4000>;
 	reg = <0x020c4000 0x4000>;
 	interrupts = <0 87 0x04 0 88 0x04>;
 	interrupts = <0 87 0x04 0 88 0x04>;
 	#clock-cells = <1>;
 	#clock-cells = <1>;
-	clock-output-names = ...
-			     "uart_ipg",
-			     "uart_serial",
-			     ...;
 };
 };
 
 
 uart1: serial@02020000 {
 uart1: serial@02020000 {

+ 17 - 3
Documentation/devicetree/bindings/gpio/gpio-poweroff.txt

@@ -1,4 +1,19 @@
-GPIO line that should be set high/low to power off a device
+Driver a GPIO line that can be used to turn the power off.
+
+The driver supports both level triggered and edge triggered power off.
+At driver load time, the driver will request the given gpio line and
+install a pm_power_off handler. If the optional properties 'input' is
+not found, the GPIO line will be driven in the inactive
+state. Otherwise its configured as an input.
+
+When the pm_power_off is called, the gpio is configured as an output,
+and drive active, so triggering a level triggered power off
+condition. This will also cause an inactive->active edge condition, so
+triggering positive edge triggered power off. After a delay of 100ms,
+the GPIO is set to inactive, thus causing an active->inactive edge,
+triggering negative edge triggered power off. After another 100ms
+delay the GPIO is driver active again. If the power is still on and
+the CPU still running after a 3000ms delay, a WARN_ON(1) is emitted.
 
 
 Required properties:
 Required properties:
 - compatible : should be "gpio-poweroff".
 - compatible : should be "gpio-poweroff".
@@ -13,10 +28,9 @@ Optional properties:
   property is not specified, the GPIO is initialized as an output in its
   property is not specified, the GPIO is initialized as an output in its
   inactive state.
   inactive state.
 
 
-
 Examples:
 Examples:
 
 
 gpio-poweroff {
 gpio-poweroff {
 	compatible = "gpio-poweroff";
 	compatible = "gpio-poweroff";
-	gpios = <&gpio 4 0>; /* GPIO 4 Active Low */
+	gpios = <&gpio 4 0>;
 };
 };

+ 3 - 2
Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt

@@ -81,7 +81,8 @@ PA31	TXD4
 Required properties for pin configuration node:
 Required properties for pin configuration node:
 - atmel,pins: 4 integers array, represents a group of pins mux and config
 - atmel,pins: 4 integers array, represents a group of pins mux and config
   setting. The format is atmel,pins = <PIN_BANK PIN_BANK_NUM PERIPH CONFIG>.
   setting. The format is atmel,pins = <PIN_BANK PIN_BANK_NUM PERIPH CONFIG>.
-  The PERIPH 0 means gpio.
+  The PERIPH 0 means gpio, PERIPH 1 is periph A, PERIPH 2 is periph B...
+  PIN_BANK 0 is pioA, PIN_BANK 1 is pioB...
 
 
 Bits used for CONFIG:
 Bits used for CONFIG:
 PULL_UP		(1 << 0): indicate this pin need a pull up.
 PULL_UP		(1 << 0): indicate this pin need a pull up.
@@ -126,7 +127,7 @@ pinctrl@fffff400 {
 		pinctrl_dbgu: dbgu-0 {
 		pinctrl_dbgu: dbgu-0 {
 			atmel,pins =
 			atmel,pins =
 				<1 14 0x1 0x0	/* PB14 periph A */
 				<1 14 0x1 0x0	/* PB14 periph A */
-				 1 15 0x1 0x1>;	/* PB15 periph with pullup */
+				 1 15 0x1 0x1>;	/* PB15 periph A with pullup */
 		};
 		};
 	};
 	};
 };
 };

+ 47 - 0
Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt

@@ -0,0 +1,47 @@
+CSR SiRFprimaII pinmux controller
+
+Required properties:
+- compatible	: "sirf,prima2-pinctrl"
+- reg		: Address range of the pinctrl registers
+- interrupts    : Interrupts used by every GPIO group
+- gpio-controller : Indicates this device is a GPIO controller
+- interrupt-controller  : Marks the device node as an interrupt controller
+Optional properties:
+- sirf,pullups : if n-th bit of m-th bank is set, set a pullup on GPIO-n of bank m
+- sirf,pulldowns : if n-th bit of m-th bank is set, set a pulldown on GPIO-n of bank m
+
+Please refer to pinctrl-bindings.txt in this directory for details of the common
+pinctrl bindings used by client devices.
+
+SiRFprimaII's pinmux nodes act as a container for an abitrary number of subnodes.
+Each of these subnodes represents some desired configuration for a group of pins.
+
+Required subnode-properties:
+- sirf,pins : An array of strings. Each string contains the name of a group.
+- sirf,function: A string containing the name of the function to mux to the
+  group.
+
+  Valid values for group and function names can be found from looking at the
+  group and function arrays in driver files:
+  drivers/pinctrl/pinctrl-sirf.c
+
+For example, pinctrl might have subnodes like the following:
+ uart2_pins_a: uart2@0 {
+         uart {
+                 sirf,pins = "uart2grp";
+                 sirf,function = "uart2";
+         };
+ };
+ uart2_noflow_pins_a: uart2@1 {
+         uart {
+                 sirf,pins = "uart2_nostreamctrlgrp";
+                 sirf,function = "uart2_nostreamctrl";
+         };
+ };
+
+For a specific board, if it wants to use uart2 without hardware flow control,
+it can add the following to its board-specific .dts file.
+uart2: uart@0xb0070000 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart2_noflow_pins_a>;
+}

+ 9 - 9
Documentation/filesystems/f2fs.txt

@@ -175,9 +175,9 @@ consists of multiple segments as described below.
                                             align with the zone size <-|
                                             align with the zone size <-|
                  |-> align with the segment size
                  |-> align with the segment size
      _________________________________________________________________________
      _________________________________________________________________________
-    |            |            |    Node     |   Segment   |   Segment  |      |
-    | Superblock | Checkpoint |   Address   |    Info.    |   Summary  | Main |
-    |    (SB)    |   (CP)     | Table (NAT) | Table (SIT) | Area (SSA) |      |
+    |            |            |   Segment   |    Node     |   Segment  |      |
+    | Superblock | Checkpoint |    Info.    |   Address   |   Summary  | Main |
+    |    (SB)    |   (CP)     | Table (SIT) | Table (NAT) | Area (SSA) |      |
     |____________|_____2______|______N______|______N______|______N_____|__N___|
     |____________|_____2______|______N______|______N______|______N_____|__N___|
                                                                        .      .
                                                                        .      .
                                                              .                .
                                                              .                .
@@ -200,14 +200,14 @@ consists of multiple segments as described below.
  : It contains file system information, bitmaps for valid NAT/SIT sets, orphan
  : It contains file system information, bitmaps for valid NAT/SIT sets, orphan
    inode lists, and summary entries of current active segments.
    inode lists, and summary entries of current active segments.
 
 
-- Node Address Table (NAT)
- : It is composed of a block address table for all the node blocks stored in
-   Main area.
-
 - Segment Information Table (SIT)
 - Segment Information Table (SIT)
  : It contains segment information such as valid block count and bitmap for the
  : It contains segment information such as valid block count and bitmap for the
    validity of all the blocks.
    validity of all the blocks.
 
 
+- Node Address Table (NAT)
+ : It is composed of a block address table for all the node blocks stored in
+   Main area.
+
 - Segment Summary Area (SSA)
 - Segment Summary Area (SSA)
  : It contains summary entries which contains the owner information of all the
  : It contains summary entries which contains the owner information of all the
    data and node blocks stored in Main area.
    data and node blocks stored in Main area.
@@ -236,13 +236,13 @@ For file system consistency, each CP points to which NAT and SIT copies are
 valid, as shown as below.
 valid, as shown as below.
 
 
   +--------+----------+---------+
   +--------+----------+---------+
-  |   CP   |    NAT   |   SIT   |
+  |   CP   |    SIT   |   NAT   |
   +--------+----------+---------+
   +--------+----------+---------+
   .         .          .          .
   .         .          .          .
   .            .              .              .
   .            .              .              .
   .               .                 .                 .
   .               .                 .                 .
   +-------+-------+--------+--------+--------+--------+
   +-------+-------+--------+--------+--------+--------+
-  | CP #0 | CP #1 | NAT #0 | NAT #1 | SIT #0 | SIT #1 |
+  | CP #0 | CP #1 | SIT #0 | SIT #1 | NAT #0 | NAT #1 |
   +-------+-------+--------+--------+--------+--------+
   +-------+-------+--------+--------+--------+--------+
      |             ^                          ^
      |             ^                          ^
      |             |                          |
      |             |                          |

+ 1 - 1
Documentation/i2c/instantiating-devices

@@ -91,7 +91,7 @@ Example (from the nxp OHCI driver):
 
 
 static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
 static const unsigned short normal_i2c[] = { 0x2c, 0x2d, I2C_CLIENT_END };
 
 
-static int __devinit usb_hcd_nxp_probe(struct platform_device *pdev)
+static int usb_hcd_nxp_probe(struct platform_device *pdev)
 {
 {
 	(...)
 	(...)
 	struct i2c_adapter *i2c_adap;
 	struct i2c_adapter *i2c_adap;

+ 11 - 5
Documentation/networking/ip-sysctl.txt

@@ -36,7 +36,7 @@ neigh/default/unres_qlen_bytes - INTEGER
 	The maximum number of bytes which may be used by packets
 	The maximum number of bytes which may be used by packets
 	queued for each	unresolved address by other network layers.
 	queued for each	unresolved address by other network layers.
 	(added in linux 3.3)
 	(added in linux 3.3)
-	Seting negative value is meaningless and will retrun error.
+	Setting negative value is meaningless and will return error.
 	Default: 65536 Bytes(64KB)
 	Default: 65536 Bytes(64KB)
 
 
 neigh/default/unres_qlen - INTEGER
 neigh/default/unres_qlen - INTEGER
@@ -215,7 +215,7 @@ tcp_ecn - INTEGER
 	Possible values are:
 	Possible values are:
 		0 Disable ECN.  Neither initiate nor accept ECN.
 		0 Disable ECN.  Neither initiate nor accept ECN.
 		1 Always request ECN on outgoing connection attempts.
 		1 Always request ECN on outgoing connection attempts.
-		2 Enable ECN when requested by incomming connections
+		2 Enable ECN when requested by incoming connections
 		  but do not request ECN on outgoing connections.
 		  but do not request ECN on outgoing connections.
 	Default: 2
 	Default: 2
 
 
@@ -503,7 +503,7 @@ tcp_fastopen - INTEGER
 tcp_syn_retries - INTEGER
 tcp_syn_retries - INTEGER
 	Number of times initial SYNs for an active TCP connection attempt
 	Number of times initial SYNs for an active TCP connection attempt
 	will be retransmitted. Should not be higher than 255. Default value
 	will be retransmitted. Should not be higher than 255. Default value
-	is 6, which corresponds to 63seconds till the last restransmission
+	is 6, which corresponds to 63seconds till the last retransmission
 	with the current initial RTO of 1second. With this the final timeout
 	with the current initial RTO of 1second. With this the final timeout
 	for an active TCP connection attempt will happen after 127seconds.
 	for an active TCP connection attempt will happen after 127seconds.
 
 
@@ -1331,6 +1331,12 @@ force_tllao - BOOLEAN
 	race condition where the sender deletes the cached link-layer address
 	race condition where the sender deletes the cached link-layer address
 	prior to receiving a response to a previous solicitation."
 	prior to receiving a response to a previous solicitation."
 
 
+ndisc_notify - BOOLEAN
+	Define mode for notification of address and device changes.
+	0 - (default): do nothing
+	1 - Generate unsolicited neighbour advertisements when device is brought
+	    up or hardware address changes.
+
 icmp/*:
 icmp/*:
 ratelimit - INTEGER
 ratelimit - INTEGER
 	Limit the maximal rates for sending ICMPv6 packets.
 	Limit the maximal rates for sending ICMPv6 packets.
@@ -1530,7 +1536,7 @@ cookie_hmac_alg - STRING
 	* sha1
 	* sha1
 	* none
 	* none
 	Ability to assign md5 or sha1 as the selected alg is predicated on the
 	Ability to assign md5 or sha1 as the selected alg is predicated on the
-	configuarion of those algorithms at build time (CONFIG_CRYPTO_MD5 and
+	configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and
 	CONFIG_CRYPTO_SHA1).
 	CONFIG_CRYPTO_SHA1).
 
 
 	Default: Dependent on configuration.  MD5 if available, else SHA1 if
 	Default: Dependent on configuration.  MD5 if available, else SHA1 if
@@ -1548,7 +1554,7 @@ rcvbuf_policy - INTEGER
 	blocking.
 	blocking.
 
 
 	1: rcvbuf space is per association
 	1: rcvbuf space is per association
-	0: recbuf space is per socket
+	0: rcvbuf space is per socket
 
 
 	Default: 0
 	Default: 0
 
 

+ 5 - 4
Documentation/power/runtime_pm.txt

@@ -642,12 +642,13 @@ out the following operations:
   * During system suspend it calls pm_runtime_get_noresume() and
   * During system suspend it calls pm_runtime_get_noresume() and
     pm_runtime_barrier() for every device right before executing the
     pm_runtime_barrier() for every device right before executing the
     subsystem-level .suspend() callback for it.  In addition to that it calls
     subsystem-level .suspend() callback for it.  In addition to that it calls
-    pm_runtime_disable() for every device right after executing the
-    subsystem-level .suspend() callback for it.
+    __pm_runtime_disable() with 'false' as the second argument for every device
+    right before executing the subsystem-level .suspend_late() callback for it.
 
 
   * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync()
   * During system resume it calls pm_runtime_enable() and pm_runtime_put_sync()
-    for every device right before and right after executing the subsystem-level
-    .resume() callback for it, respectively.
+    for every device right after executing the subsystem-level .resume_early()
+    callback and right after executing the subsystem-level .resume() callback
+    for it, respectively.
 
 
 7. Generic subsystem callbacks
 7. Generic subsystem callbacks
 
 

+ 2 - 2
Documentation/rpmsg.txt

@@ -236,7 +236,7 @@ static int rpmsg_sample_probe(struct rpmsg_channel *rpdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static void __devexit rpmsg_sample_remove(struct rpmsg_channel *rpdev)
+static void rpmsg_sample_remove(struct rpmsg_channel *rpdev)
 {
 {
 	dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n");
 	dev_info(&rpdev->dev, "rpmsg sample client driver is removed\n");
 }
 }
@@ -253,7 +253,7 @@ static struct rpmsg_driver rpmsg_sample_client = {
 	.id_table	= rpmsg_driver_sample_id_table,
 	.id_table	= rpmsg_driver_sample_id_table,
 	.probe		= rpmsg_sample_probe,
 	.probe		= rpmsg_sample_probe,
 	.callback	= rpmsg_sample_cb,
 	.callback	= rpmsg_sample_cb,
-	.remove		= __devexit_p(rpmsg_sample_remove),
+	.remove		= rpmsg_sample_remove,
 };
 };
 
 
 static int __init init(void)
 static int __init init(void)

+ 2 - 2
Documentation/spi/spi-summary

@@ -345,7 +345,7 @@ SPI protocol drivers somewhat resemble platform device drivers:
 		},
 		},
 
 
 		.probe		= CHIP_probe,
 		.probe		= CHIP_probe,
-		.remove		= __devexit_p(CHIP_remove),
+		.remove		= CHIP_remove,
 		.suspend	= CHIP_suspend,
 		.suspend	= CHIP_suspend,
 		.resume		= CHIP_resume,
 		.resume		= CHIP_resume,
 	};
 	};
@@ -355,7 +355,7 @@ device whose board_info gave a modalias of "CHIP".  Your probe() code
 might look like this unless you're creating a device which is managing
 might look like this unless you're creating a device which is managing
 a bus (appearing under /sys/class/spi_master).
 a bus (appearing under /sys/class/spi_master).
 
 
-	static int __devinit CHIP_probe(struct spi_device *spi)
+	static int CHIP_probe(struct spi_device *spi)
 	{
 	{
 		struct CHIP			*chip;
 		struct CHIP			*chip;
 		struct CHIP_platform_data	*pdata;
 		struct CHIP_platform_data	*pdata;

+ 32 - 0
Documentation/sysctl/kernel.txt

@@ -38,6 +38,7 @@ show up in /proc/sys/kernel:
 - l2cr                        [ PPC only ]
 - l2cr                        [ PPC only ]
 - modprobe                    ==> Documentation/debugging-modules.txt
 - modprobe                    ==> Documentation/debugging-modules.txt
 - modules_disabled
 - modules_disabled
+- msg_next_id		      [ sysv ipc ]
 - msgmax
 - msgmax
 - msgmnb
 - msgmnb
 - msgmni
 - msgmni
@@ -62,7 +63,9 @@ show up in /proc/sys/kernel:
 - rtsig-max
 - rtsig-max
 - rtsig-nr
 - rtsig-nr
 - sem
 - sem
+- sem_next_id		      [ sysv ipc ]
 - sg-big-buff                 [ generic SCSI device (sg) ]
 - sg-big-buff                 [ generic SCSI device (sg) ]
+- shm_next_id		      [ sysv ipc ]
 - shm_rmid_forced
 - shm_rmid_forced
 - shmall
 - shmall
 - shmmax                      [ sysv ipc ]
 - shmmax                      [ sysv ipc ]
@@ -320,6 +323,22 @@ to false.
 
 
 ==============================================================
 ==============================================================
 
 
+msg_next_id, sem_next_id, and shm_next_id:
+
+These three toggles allows to specify desired id for next allocated IPC
+object: message, semaphore or shared memory respectively.
+
+By default they are equal to -1, which means generic allocation logic.
+Possible values to set are in range {0..INT_MAX}.
+
+Notes:
+1) kernel doesn't guarantee, that new object will have desired id. So,
+it's up to userspace, how to handle an object with "wrong" id.
+2) Toggle with non-default value will be set back to -1 by kernel after
+successful IPC object allocation.
+
+==============================================================
+
 nmi_watchdog:
 nmi_watchdog:
 
 
 Enables/Disables the NMI watchdog on x86 systems. When the value is
 Enables/Disables the NMI watchdog on x86 systems. When the value is
@@ -542,6 +561,19 @@ are doing anyway :)
 
 
 ==============================================================
 ==============================================================
 
 
+shmall:
+
+This parameter sets the total amount of shared memory pages that
+can be used system wide. Hence, SHMALL should always be at least
+ceil(shmmax/PAGE_SIZE).
+
+If you are not sure what the default PAGE_SIZE is on your Linux
+system, you can run the following command:
+
+# getconf PAGE_SIZE
+
+==============================================================
+
 shmmax:
 shmmax:
 
 
 This value can be used to query and set the run time limit
 This value can be used to query and set the run time limit

+ 1 - 2
Documentation/video4linux/v4l2-framework.txt

@@ -174,8 +174,7 @@ The recommended approach is as follows:
 
 
 static atomic_t drv_instance = ATOMIC_INIT(0);
 static atomic_t drv_instance = ATOMIC_INIT(0);
 
 
-static int __devinit drv_probe(struct pci_dev *pdev,
-				const struct pci_device_id *pci_id)
+static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
 {
 {
 	...
 	...
 	state->instance = atomic_inc_return(&drv_instance) - 1;
 	state->instance = atomic_inc_return(&drv_instance) - 1;

+ 1 - 2
Documentation/zh_CN/video4linux/v4l2-framework.txt

@@ -182,8 +182,7 @@ int iterate(void *p)
 
 
 static atomic_t drv_instance = ATOMIC_INIT(0);
 static atomic_t drv_instance = ATOMIC_INIT(0);
 
 
-static int __devinit drv_probe(struct pci_dev *pdev,
-				const struct pci_device_id *pci_id)
+static int drv_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id)
 {
 {
 	...
 	...
 	state->instance = atomic_inc_return(&drv_instance) - 1;
 	state->instance = atomic_inc_return(&drv_instance) - 1;

+ 158 - 93
MAINTAINERS

@@ -228,7 +228,7 @@ S:	Maintained
 F:	drivers/platform/x86/acerhdf.c
 F:	drivers/platform/x86/acerhdf.c
 
 
 ACER WMI LAPTOP EXTRAS
 ACER WMI LAPTOP EXTRAS
-M:	Joey Lee <jlee@novell.com>
+M:	"Lee, Chun-Yi" <jlee@suse.com>
 L:	platform-driver-x86@vger.kernel.org
 L:	platform-driver-x86@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/platform/x86/acer-wmi.c
 F:	drivers/platform/x86/acer-wmi.c
@@ -449,6 +449,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
 S:	Maintained
 S:	Maintained
 F:	drivers/char/agp/
 F:	drivers/char/agp/
 F:	include/linux/agp*
 F:	include/linux/agp*
+F:	include/uapi/linux/agp*
 
 
 AHA152X SCSI DRIVER
 AHA152X SCSI DRIVER
 M:	"Juergen E. Fischer" <fischer@norbit.de>
 M:	"Juergen E. Fischer" <fischer@norbit.de>
@@ -589,6 +590,7 @@ M:	Jiri Kosina <jkosina@suse.cz>
 S:	Odd fixes
 S:	Odd fixes
 F:	arch/x86/kernel/apm_32.c
 F:	arch/x86/kernel/apm_32.c
 F:	include/linux/apm_bios.h
 F:	include/linux/apm_bios.h
+F:	include/uapi/linux/apm_bios.h
 F:	drivers/char/apm-emulation.c
 F:	drivers/char/apm-emulation.c
 
 
 APPLE BCM5974 MULTITOUCH DRIVER
 APPLE BCM5974 MULTITOUCH DRIVER
@@ -646,7 +648,7 @@ F:	arch/arm/
 
 
 ARM SUB-ARCHITECTURES
 ARM SUB-ARCHITECTURES
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	MAINTAINED
+S:	Maintained
 F:	arch/arm/mach-*/
 F:	arch/arm/mach-*/
 F:	arch/arm/plat-*/
 F:	arch/arm/plat-*/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc.git
@@ -1005,7 +1007,6 @@ F:	drivers/mmc/host/msm_sdcc.c
 F:	drivers/mmc/host/msm_sdcc.h
 F:	drivers/mmc/host/msm_sdcc.h
 F:	drivers/tty/serial/msm_serial.h
 F:	drivers/tty/serial/msm_serial.h
 F:	drivers/tty/serial/msm_serial.c
 F:	drivers/tty/serial/msm_serial.c
-F:	drivers/platform/msm/
 F:	drivers/*/pm8???-*
 F:	drivers/*/pm8???-*
 F:	include/linux/mfd/pm8xxx/
 F:	include/linux/mfd/pm8xxx/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
@@ -1069,7 +1070,6 @@ M:	Russell King <linux@arm.linux.org.uk>
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 W:	http://www.arm.linux.org.uk/
 W:	http://www.arm.linux.org.uk/
 S:	Maintained
 S:	Maintained
-F:	arch/arm/common/time-acorn.c
 F:	arch/arm/include/asm/hardware/entry-macro-iomd.S
 F:	arch/arm/include/asm/hardware/entry-macro-iomd.S
 F:	arch/arm/include/asm/hardware/ioc.h
 F:	arch/arm/include/asm/hardware/ioc.h
 F:	arch/arm/include/asm/hardware/iomd.h
 F:	arch/arm/include/asm/hardware/iomd.h
@@ -1094,7 +1094,6 @@ W:	http://www.fluff.org/ben/linux/
 S:	Maintained
 S:	Maintained
 F:	arch/arm/plat-samsung/
 F:	arch/arm/plat-samsung/
 F:	arch/arm/plat-s3c24xx/
 F:	arch/arm/plat-s3c24xx/
-F:	arch/arm/plat-s5p/
 F:	arch/arm/mach-s3c24*/
 F:	arch/arm/mach-s3c24*/
 F:	arch/arm/mach-s3c64xx/
 F:	arch/arm/mach-s3c64xx/
 F:	drivers/*/*s3c2410*
 F:	drivers/*/*s3c2410*
@@ -1125,7 +1124,6 @@ M:	Sylwester Nawrocki <s.nawrocki@samsung.com>
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-media@vger.kernel.org
 L:	linux-media@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	arch/arm/plat-s5p/dev-fimc*
 F:	arch/arm/plat-samsung/include/plat/*fimc*
 F:	arch/arm/plat-samsung/include/plat/*fimc*
 F:	drivers/media/platform/s5p-fimc/
 F:	drivers/media/platform/s5p-fimc/
 
 
@@ -1136,7 +1134,7 @@ M:	Jeongtae Park <jtp.park@samsung.com>
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-arm-kernel@lists.infradead.org
 L:	linux-media@vger.kernel.org
 L:	linux-media@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	arch/arm/plat-s5p/dev-mfc.c
+F:	arch/arm/plat-samsung/s5p-dev-mfc.c
 F:	drivers/media/platform/s5p-mfc/
 F:	drivers/media/platform/s5p-mfc/
 
 
 ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
 ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
@@ -1254,7 +1252,7 @@ F:	drivers/video/vt8500lcdfb.*
 F:	drivers/video/wm8505fb*
 F:	drivers/video/wm8505fb*
 F:	drivers/video/wmt_ge_rops.*
 F:	drivers/video/wmt_ge_rops.*
 F:	drivers/tty/serial/vt8500_serial.c
 F:	drivers/tty/serial/vt8500_serial.c
-F:	drivers/rtc/rtc-vt8500-c
+F:	drivers/rtc/rtc-vt8500.c
 F:	drivers/mmc/host/wmt-sdmmc.c
 F:	drivers/mmc/host/wmt-sdmmc.c
 
 
 ARM/ZIPIT Z2 SUPPORT
 ARM/ZIPIT Z2 SUPPORT
@@ -1353,6 +1351,14 @@ W:	http://wireless.kernel.org/en/users/Drivers/ath9k
 S:	Supported
 S:	Supported
 F:	drivers/net/wireless/ath/ath9k/
 F:	drivers/net/wireless/ath/ath9k/
 
 
+WILOCITY WIL6210 WIRELESS DRIVER
+M:	Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
+L:	linux-wireless@vger.kernel.org
+L:	wil6210@qca.qualcomm.com
+S:	Supported
+W:	http://wireless.kernel.org/en/users/Drivers/wil6210
+F:	drivers/net/wireless/ath/wil6210/
+
 CARL9170 LINUX COMMUNITY WIRELESS DRIVER
 CARL9170 LINUX COMMUNITY WIRELESS DRIVER
 M:	Christian Lamparter <chunkeey@googlemail.com>
 M:	Christian Lamparter <chunkeey@googlemail.com>
 L:	linux-wireless@vger.kernel.org
 L:	linux-wireless@vger.kernel.org
@@ -1388,6 +1394,7 @@ W:	http://linux-atm.sourceforge.net
 S:	Maintained
 S:	Maintained
 F:	drivers/atm/
 F:	drivers/atm/
 F:	include/linux/atm*
 F:	include/linux/atm*
+F:	include/uapi/linux/atm*
 
 
 ATMEL AT91 / AT32 MCI DRIVER
 ATMEL AT91 / AT32 MCI DRIVER
 M:	Ludovic Desroches <ludovic.desroches@atmel.com>
 M:	Ludovic Desroches <ludovic.desroches@atmel.com>
@@ -1406,13 +1413,13 @@ L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Supported
 S:	Supported
 F:	drivers/dma/at_hdmac.c
 F:	drivers/dma/at_hdmac.c
 F:	drivers/dma/at_hdmac_regs.h
 F:	drivers/dma/at_hdmac_regs.h
-F:	arch/arm/mach-at91/include/mach/at_hdmac.h
+F:	include/linux/platform_data/dma-atmel.h
 
 
 ATMEL ISI DRIVER
 ATMEL ISI DRIVER
 M:	Josh Wu <josh.wu@atmel.com>
 M:	Josh Wu <josh.wu@atmel.com>
 L:	linux-media@vger.kernel.org
 L:	linux-media@vger.kernel.org
 S:	Supported
 S:	Supported
-F:	drivers/media/platform/atmel-isi.c
+F:	drivers/media/platform/soc_camera/atmel-isi.c
 F:	include/media/atmel-isi.h
 F:	include/media/atmel-isi.h
 
 
 ATMEL LCDFB DRIVER
 ATMEL LCDFB DRIVER
@@ -1467,6 +1474,7 @@ W:	http://people.redhat.com/sgrubb/audit/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current.git
 S:	Maintained
 S:	Maintained
 F:	include/linux/audit.h
 F:	include/linux/audit.h
+F:	include/uapi/linux/audit.h
 F:	kernel/audit*
 F:	kernel/audit*
 
 
 AUXILIARY DISPLAY DRIVERS
 AUXILIARY DISPLAY DRIVERS
@@ -1497,7 +1505,7 @@ M:	Ralf Baechle <ralf@linux-mips.org>
 L:	linux-hams@vger.kernel.org
 L:	linux-hams@vger.kernel.org
 W:	http://www.linux-ax25.org/
 W:	http://www.linux-ax25.org/
 S:	Maintained
 S:	Maintained
-F:	include/linux/ax25.h
+F:	include/uapi/linux/ax25.h
 F:	include/net/ax25.h
 F:	include/net/ax25.h
 F:	net/ax25/
 F:	net/ax25/
 
 
@@ -1558,7 +1566,7 @@ M:	"Tigran A. Aivazian" <tigran@aivazian.fsnet.co.uk>
 S:	Maintained
 S:	Maintained
 F:	Documentation/filesystems/bfs.txt
 F:	Documentation/filesystems/bfs.txt
 F:	fs/bfs/
 F:	fs/bfs/
-F:	include/linux/bfs_fs.h
+F:	include/uapi/linux/bfs_fs.h
 
 
 BLACKFIN ARCHITECTURE
 BLACKFIN ARCHITECTURE
 M:	Mike Frysinger <vapier@gentoo.org>
 M:	Mike Frysinger <vapier@gentoo.org>
@@ -1655,7 +1663,7 @@ L:	netdev@vger.kernel.org
 W:	http://sourceforge.net/projects/bonding/
 W:	http://sourceforge.net/projects/bonding/
 S:	Supported
 S:	Supported
 F:	drivers/net/bonding/
 F:	drivers/net/bonding/
-F:	include/linux/if_bonding.h
+F:	include/uapi/linux/if_bonding.h
 
 
 BROADCOM B44 10/100 ETHERNET DRIVER
 BROADCOM B44 10/100 ETHERNET DRIVER
 M:	Gary Zambrano <zambrano@broadcom.com>
 M:	Gary Zambrano <zambrano@broadcom.com>
@@ -1734,6 +1742,7 @@ L:	linux-scsi@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	block/bsg.c
 F:	block/bsg.c
 F:	include/linux/bsg.h
 F:	include/linux/bsg.h
+F:	include/uapi/linux/bsg.h
 
 
 BT87X AUDIO DRIVER
 BT87X AUDIO DRIVER
 M:	Clemens Ladisch <clemens@ladisch.de>
 M:	Clemens Ladisch <clemens@ladisch.de>
@@ -1804,7 +1813,7 @@ L:	netdev@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	Documentation/networking/caif/
 F:	Documentation/networking/caif/
 F:	drivers/net/caif/
 F:	drivers/net/caif/
-F:	include/linux/caif/
+F:	include/uapi/linux/caif/
 F:	include/net/caif/
 F:	include/net/caif/
 F:	net/caif/
 F:	net/caif/
 
 
@@ -1825,11 +1834,11 @@ W:	http://gitorious.org/linux-can
 T:	git git://gitorious.org/linux-can/linux-can-next.git
 T:	git git://gitorious.org/linux-can/linux-can-next.git
 S:	Maintained
 S:	Maintained
 F:	net/can/
 F:	net/can/
-F:	include/linux/can.h
 F:	include/linux/can/core.h
 F:	include/linux/can/core.h
-F:	include/linux/can/bcm.h
-F:	include/linux/can/raw.h
-F:	include/linux/can/gw.h
+F:	include/uapi/linux/can.h
+F:	include/uapi/linux/can/bcm.h
+F:	include/uapi/linux/can/raw.h
+F:	include/uapi/linux/can/gw.h
 
 
 CAN NETWORK DRIVERS
 CAN NETWORK DRIVERS
 M:	Wolfgang Grandegger <wg@grandegger.com>
 M:	Wolfgang Grandegger <wg@grandegger.com>
@@ -1840,15 +1849,16 @@ T:	git git://gitorious.org/linux-can/linux-can-next.git
 S:	Maintained
 S:	Maintained
 F:	drivers/net/can/
 F:	drivers/net/can/
 F:	include/linux/can/dev.h
 F:	include/linux/can/dev.h
-F:	include/linux/can/error.h
-F:	include/linux/can/netlink.h
 F:	include/linux/can/platform/
 F:	include/linux/can/platform/
+F:	include/uapi/linux/can/error.h
+F:	include/uapi/linux/can/netlink.h
 
 
 CAPABILITIES
 CAPABILITIES
 M:	Serge Hallyn <serge.hallyn@canonical.com>
 M:	Serge Hallyn <serge.hallyn@canonical.com>
 L:	linux-security-module@vger.kernel.org
 L:	linux-security-module@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	include/linux/capability.h
 F:	include/linux/capability.h
+F:	include/uapi/linux/capability.h
 F:	security/capability.c
 F:	security/capability.c
 F:	security/commoncap.c
 F:	security/commoncap.c
 F:	kernel/capability.c
 F:	kernel/capability.c
@@ -1861,6 +1871,7 @@ W:	http://www.ibm.com/developerworks/power/cell/
 S:	Supported
 S:	Supported
 F:	arch/powerpc/include/asm/cell*.h
 F:	arch/powerpc/include/asm/cell*.h
 F:	arch/powerpc/include/asm/spu*.h
 F:	arch/powerpc/include/asm/spu*.h
+F:	arch/powerpc/include/uapi/asm/spu*.h
 F:	arch/powerpc/oprofile/*cell*
 F:	arch/powerpc/oprofile/*cell*
 F:	arch/powerpc/platforms/cell/
 F:	arch/powerpc/platforms/cell/
 
 
@@ -1909,7 +1920,7 @@ W:	http://wireless.kernel.org/
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
 S:	Maintained
 S:	Maintained
-F:	include/linux/nl80211.h
+F:	include/uapi/linux/nl80211.h
 F:	include/net/cfg80211.h
 F:	include/net/cfg80211.h
 F:	net/wireless/*
 F:	net/wireless/*
 X:	net/wireless/wext*
 X:	net/wireless/wext*
@@ -1961,9 +1972,9 @@ S:	Maintained
 F:	drivers/usb/host/ohci-ep93xx.c
 F:	drivers/usb/host/ohci-ep93xx.c
 
 
 CIRRUS LOGIC CS4270 SOUND DRIVER
 CIRRUS LOGIC CS4270 SOUND DRIVER
-M:	Timur Tabi <timur@freescale.com>
+M:	Timur Tabi <timur@tabi.org>
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
-S:	Supported
+S:	Odd Fixes
 F:	sound/soc/codecs/cs4270*
 F:	sound/soc/codecs/cs4270*
 
 
 CLEANCACHE API
 CLEANCACHE API
@@ -2012,6 +2023,7 @@ S:	Maintained
 F:	Documentation/filesystems/coda.txt
 F:	Documentation/filesystems/coda.txt
 F:	fs/coda/
 F:	fs/coda/
 F:	include/linux/coda*.h
 F:	include/linux/coda*.h
+F:	include/uapi/linux/coda*.h
 
 
 COMMON CLK FRAMEWORK
 COMMON CLK FRAMEWORK
 M:	Mike Turquette <mturquette@linaro.org>
 M:	Mike Turquette <mturquette@linaro.org>
@@ -2266,6 +2278,7 @@ W:	http://www.cyclades.com/
 S:	Orphan
 S:	Orphan
 F:	drivers/tty/cyclades.c
 F:	drivers/tty/cyclades.c
 F:	include/linux/cyclades.h
 F:	include/linux/cyclades.h
+F:	include/uapi/linux/cyclades.h
 
 
 CYCLADES PC300 DRIVER
 CYCLADES PC300 DRIVER
 W:	http://www.cyclades.com/
 W:	http://www.cyclades.com/
@@ -2323,6 +2336,7 @@ L:	dccp@vger.kernel.org
 W:	http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp
 W:	http://www.linuxfoundation.org/collaborate/workgroups/networking/dccp
 S:	Maintained
 S:	Maintained
 F:	include/linux/dccp.h
 F:	include/linux/dccp.h
+F:	include/uapi/linux/dccp.h
 F:	include/linux/tfrc.h
 F:	include/linux/tfrc.h
 F:	net/dccp/
 F:	net/dccp/
 
 
@@ -2349,7 +2363,7 @@ M:	Massimo Dal Zotto <dz@debian.org>
 W:	http://www.debian.org/~dz/i8k/
 W:	http://www.debian.org/~dz/i8k/
 S:	Maintained
 S:	Maintained
 F:	drivers/char/i8k.c
 F:	drivers/char/i8k.c
-F:	include/linux/i8k.h
+F:	include/uapi/linux/i8k.h
 
 
 DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
 DELL SYSTEMS MANAGEMENT BASE DRIVER (dcdbas)
 M:	Doug Warzecha <Douglas_Warzecha@dell.com>
 M:	Doug Warzecha <Douglas_Warzecha@dell.com>
@@ -2422,6 +2436,7 @@ S:	Maintained
 F:	Documentation/filesystems/quota.txt
 F:	Documentation/filesystems/quota.txt
 F:	fs/quota/
 F:	fs/quota/
 F:	include/linux/quota*.h
 F:	include/linux/quota*.h
+F:	include/uapi/linux/quota*.h
 
 
 DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB)
 DISPLAYLINK USB 2.0 FRAMEBUFFER DRIVER (UDLFB)
 M:	Bernie Thompson <bernie@plugable.com>
 M:	Bernie Thompson <bernie@plugable.com>
@@ -2528,6 +2543,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6.git
 S:	Maintained
 S:	Maintained
 F:	drivers/gpu/drm/
 F:	drivers/gpu/drm/
 F:	include/drm/
 F:	include/drm/
+F:	include/uapi/drm/
 
 
 INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
 INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
 M:	Daniel Vetter <daniel.vetter@ffwll.ch>
 M:	Daniel Vetter <daniel.vetter@ffwll.ch>
@@ -2537,6 +2553,7 @@ T:	git git://people.freedesktop.org/~danvet/drm-intel
 S:	Supported
 S:	Supported
 F:	drivers/gpu/drm/i915
 F:	drivers/gpu/drm/i915
 F:	include/drm/i915*
 F:	include/drm/i915*
+F:	include/uapi/drm/i915*
 
 
 DRM DRIVERS FOR EXYNOS
 DRM DRIVERS FOR EXYNOS
 M:	Inki Dae <inki.dae@samsung.com>
 M:	Inki Dae <inki.dae@samsung.com>
@@ -2548,6 +2565,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos.git
 S:	Supported
 S:	Supported
 F:	drivers/gpu/drm/exynos
 F:	drivers/gpu/drm/exynos
 F:	include/drm/exynos*
 F:	include/drm/exynos*
+F:	include/uapi/drm/exynos*
 
 
 DRM DRIVERS FOR NVIDIA TEGRA
 DRM DRIVERS FOR NVIDIA TEGRA
 M:	Thierry Reding <thierry.reding@avionic-design.de>
 M:	Thierry Reding <thierry.reding@avionic-design.de>
@@ -2622,7 +2640,7 @@ W:	http://github.com/mkrufky
 Q:	http://patchwork.linuxtv.org/project/linux-media/list/
 Q:	http://patchwork.linuxtv.org/project/linux-media/list/
 T:	git git://linuxtv.org/media_tree.git
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 S:	Maintained
-F:	drivers/media/usb/dvb-usb-v2/cxusb*
+F:	drivers/media/usb/dvb-usb/cxusb*
 
 
 DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER
 DVB_USB_CYPRESS_FIRMWARE MEDIA DRIVER
 M:	Antti Palosaari <crope@iki.fi>
 M:	Antti Palosaari <crope@iki.fi>
@@ -2722,6 +2740,7 @@ L:	netfilter-devel@vger.kernel.org
 W:	http://ebtables.sourceforge.net/
 W:	http://ebtables.sourceforge.net/
 S:	Maintained
 S:	Maintained
 F:	include/linux/netfilter_bridge/ebt_*.h
 F:	include/linux/netfilter_bridge/ebt_*.h
+F:	include/uapi/linux/netfilter_bridge/ebt_*.h
 F:	net/bridge/netfilter/ebt*.c
 F:	net/bridge/netfilter/ebt*.c
 
 
 EC100 MEDIA DRIVER
 EC100 MEDIA DRIVER
@@ -2933,12 +2952,6 @@ M:	Maxim Levitsky <maximlevitsky@gmail.com>
 S:	Maintained
 S:	Maintained
 F:	drivers/media/rc/ene_ir.*
 F:	drivers/media/rc/ene_ir.*
 
 
-EPSON 1355 FRAMEBUFFER DRIVER
-M:	Christopher Hoover <ch@murgatroid.com>
-M:	Christopher Hoover <ch@hpl.hp.com>
-S:	Maintained
-F:	drivers/video/epson1355fb.c
-
 EPSON S1D13XXX FRAMEBUFFER DRIVER
 EPSON S1D13XXX FRAMEBUFFER DRIVER
 M:	Kristoffer Ericson <kristoffer.ericson@gmail.com>
 M:	Kristoffer Ericson <kristoffer.ericson@gmail.com>
 S:	Maintained
 S:	Maintained
@@ -3051,6 +3064,7 @@ M:	Eric Paris <eparis@redhat.com>
 S:	Maintained
 S:	Maintained
 F:	fs/notify/fanotify/
 F:	fs/notify/fanotify/
 F:	include/linux/fanotify.h
 F:	include/linux/fanotify.h
+F:	include/uapi/linux/fanotify.h
 
 
 FARSYNC SYNCHRONOUS DRIVER
 FARSYNC SYNCHRONOUS DRIVER
 M:	Kevin Curtis <kevin.curtis@farsite.co.uk>
 M:	Kevin Curtis <kevin.curtis@farsite.co.uk>
@@ -3074,6 +3088,7 @@ F:	drivers/scsi/fcoe/
 F:	include/scsi/fc/
 F:	include/scsi/fc/
 F:	include/scsi/libfc.h
 F:	include/scsi/libfc.h
 F:	include/scsi/libfcoe.h
 F:	include/scsi/libfcoe.h
+F:	include/uapi/scsi/fc/
 
 
 FILE LOCKING (flock() and fcntl()/lockf())
 FILE LOCKING (flock() and fcntl()/lockf())
 M:	Matthew Wilcox <matthew@wil.cx>
 M:	Matthew Wilcox <matthew@wil.cx>
@@ -3081,6 +3096,8 @@ L:	linux-fsdevel@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	include/linux/fcntl.h
 F:	include/linux/fcntl.h
 F:	include/linux/fs.h
 F:	include/linux/fs.h
+F:	include/uapi/linux/fcntl.h
+F:	include/uapi/linux/fs.h
 F:	fs/fcntl.c
 F:	fs/fcntl.c
 F:	fs/locks.c
 F:	fs/locks.c
 
 
@@ -3170,11 +3187,13 @@ F:	Documentation/devicetree/bindings/fb/
 F:	drivers/video/
 F:	drivers/video/
 F:	include/video/
 F:	include/video/
 F:	include/linux/fb.h
 F:	include/linux/fb.h
+F:	include/uapi/video/
+F:	include/uapi/linux/fb.h
 
 
 FREESCALE DIU FRAMEBUFFER DRIVER
 FREESCALE DIU FRAMEBUFFER DRIVER
-M:	Timur Tabi <timur@freescale.com>
+M:	Timur Tabi <timur@tabi.org>
 L:	linux-fbdev@vger.kernel.org
 L:	linux-fbdev@vger.kernel.org
-S:	Supported
+S:	Maintained
 F:	drivers/video/fsl-diu-fb.*
 F:	drivers/video/fsl-diu-fb.*
 
 
 FREESCALE DMA DRIVER
 FREESCALE DMA DRIVER
@@ -3196,7 +3215,7 @@ M:	Sascha Hauer <kernel@pengutronix.de>
 L:	linux-fbdev@vger.kernel.org
 L:	linux-fbdev@vger.kernel.org
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
-F:	arch/arm/plat-mxc/include/mach/imxfb.h
+F:	include/linux/platform_data/video-imxfb.h
 F:	drivers/video/imxfb.c
 F:	drivers/video/imxfb.c
 
 
 FREESCALE SOC FS_ENET DRIVER
 FREESCALE SOC FS_ENET DRIVER
@@ -3209,9 +3228,8 @@ F:	drivers/net/ethernet/freescale/fs_enet/
 F:	include/linux/fs_enet_pd.h
 F:	include/linux/fs_enet_pd.h
 
 
 FREESCALE QUICC ENGINE LIBRARY
 FREESCALE QUICC ENGINE LIBRARY
-M:	Timur Tabi <timur@freescale.com>
 L:	linuxppc-dev@lists.ozlabs.org
 L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
+S:	Orphan
 F:	arch/powerpc/sysdev/qe_lib/
 F:	arch/powerpc/sysdev/qe_lib/
 F:	arch/powerpc/include/asm/*qe.h
 F:	arch/powerpc/include/asm/*qe.h
 
 
@@ -3230,16 +3248,16 @@ S:	Maintained
 F:	drivers/net/ethernet/freescale/ucc_geth*
 F:	drivers/net/ethernet/freescale/ucc_geth*
 
 
 FREESCALE QUICC ENGINE UCC UART DRIVER
 FREESCALE QUICC ENGINE UCC UART DRIVER
-M:	Timur Tabi <timur@freescale.com>
+M:	Timur Tabi <timur@tabi.org>
 L:	linuxppc-dev@lists.ozlabs.org
 L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
+S:	Maintained
 F:	drivers/tty/serial/ucc_uart.c
 F:	drivers/tty/serial/ucc_uart.c
 
 
 FREESCALE SOC SOUND DRIVERS
 FREESCALE SOC SOUND DRIVERS
-M:	Timur Tabi <timur@freescale.com>
+M:	Timur Tabi <timur@tabi.org>
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 L:	alsa-devel@alsa-project.org (moderated for non-subscribers)
 L:	linuxppc-dev@lists.ozlabs.org
 L:	linuxppc-dev@lists.ozlabs.org
-S:	Supported
+S:	Maintained
 F:	sound/soc/fsl/fsl*
 F:	sound/soc/fsl/fsl*
 F:	sound/soc/fsl/mpc8610_hpcd.c
 F:	sound/soc/fsl/mpc8610_hpcd.c
 
 
@@ -3273,6 +3291,16 @@ F:	Documentation/filesystems/caching/
 F:	fs/fscache/
 F:	fs/fscache/
 F:	include/linux/fscache*.h
 F:	include/linux/fscache*.h
 
 
+F2FS FILE SYSTEM
+M:	Jaegeuk Kim <jaegeuk.kim@samsung.com>
+L:	linux-f2fs-devel@lists.sourceforge.net
+W:	http://en.wikipedia.org/wiki/F2FS
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git
+S:	Maintained
+F:	Documentation/filesystems/f2fs.txt
+F:	fs/f2fs/
+F:	include/linux/f2fs_fs.h
+
 FUJITSU FR-V (FRV) PORT
 FUJITSU FR-V (FRV) PORT
 M:	David Howells <dhowells@redhat.com>
 M:	David Howells <dhowells@redhat.com>
 S:	Maintained
 S:	Maintained
@@ -3304,7 +3332,7 @@ L:	fuse-devel@lists.sourceforge.net
 W:	http://fuse.sourceforge.net/
 W:	http://fuse.sourceforge.net/
 S:	Maintained
 S:	Maintained
 F:	fs/fuse/
 F:	fs/fuse/
-F:	include/linux/fuse.h
+F:	include/uapi/linux/fuse.h
 
 
 FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
 FUTURE DOMAIN TMC-16x0 SCSI DRIVER (16-bit)
 M:	Rik Faith <faith@cs.unc.edu>
 M:	Rik Faith <faith@cs.unc.edu>
@@ -3351,6 +3379,7 @@ L:	linux-arch@vger.kernel.org
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git
 S:	Maintained
 S:	Maintained
 F:	include/asm-generic
 F:	include/asm-generic
+F:	include/uapi/asm-generic
 
 
 GENERIC UIO DRIVER FOR PCI DEVICES
 GENERIC UIO DRIVER FOR PCI DEVICES
 M:	"Michael S. Tsirkin" <mst@redhat.com>
 M:	"Michael S. Tsirkin" <mst@redhat.com>
@@ -3367,7 +3396,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git
 S:	Supported
 S:	Supported
 F:	Documentation/filesystems/gfs2*.txt
 F:	Documentation/filesystems/gfs2*.txt
 F:	fs/gfs2/
 F:	fs/gfs2/
-F:	include/linux/gfs2_ondisk.h
+F:	include/uapi/linux/gfs2_ondisk.h
 
 
 GIGASET ISDN DRIVERS
 GIGASET ISDN DRIVERS
 M:	Hansjoerg Lipp <hjlipp@web.de>
 M:	Hansjoerg Lipp <hjlipp@web.de>
@@ -3377,7 +3406,7 @@ W:	http://gigaset307x.sourceforge.net/
 S:	Maintained
 S:	Maintained
 F:	Documentation/isdn/README.gigaset
 F:	Documentation/isdn/README.gigaset
 F:	drivers/isdn/gigaset/
 F:	drivers/isdn/gigaset/
-F:	include/linux/gigaset_dev.h
+F:	include/uapi/linux/gigaset_dev.h
 
 
 GPIO SUBSYSTEM
 GPIO SUBSYSTEM
 M:	Grant Likely <grant.likely@secretlab.ca>
 M:	Grant Likely <grant.likely@secretlab.ca>
@@ -3534,6 +3563,7 @@ S:	Supported
 F:	Documentation/scsi/hpsa.txt
 F:	Documentation/scsi/hpsa.txt
 F:	drivers/scsi/hpsa*.[ch]
 F:	drivers/scsi/hpsa*.[ch]
 F:	include/linux/cciss*.h
 F:	include/linux/cciss*.h
+F:	include/uapi/linux/cciss*.h
 
 
 HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
 HEWLETT-PACKARD SMART CISS RAID DRIVER (cciss)
 M:	Mike Miller <mike.miller@hp.com>
 M:	Mike Miller <mike.miller@hp.com>
@@ -3542,6 +3572,7 @@ S:	Supported
 F:	Documentation/blockdev/cciss.txt
 F:	Documentation/blockdev/cciss.txt
 F:	drivers/block/cciss*
 F:	drivers/block/cciss*
 F:	include/linux/cciss_ioctl.h
 F:	include/linux/cciss_ioctl.h
+F:	include/uapi/linux/cciss_ioctl.h
 
 
 HFS FILESYSTEM
 HFS FILESYSTEM
 L:	linux-fsdevel@vger.kernel.org
 L:	linux-fsdevel@vger.kernel.org
@@ -3576,6 +3607,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid.git
 S:	Maintained
 S:	Maintained
 F:	drivers/hid/
 F:	drivers/hid/
 F:	include/linux/hid*
 F:	include/linux/hid*
+F:	include/uapi/linux/hid*
 
 
 HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
 HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
 M:	Thomas Gleixner <tglx@linutronix.de>
 M:	Thomas Gleixner <tglx@linutronix.de>
@@ -3607,7 +3639,7 @@ M:	Jes Sorensen <jes@trained-monkey.org>
 L:	linux-hippi@sunsite.dk
 L:	linux-hippi@sunsite.dk
 S:	Maintained
 S:	Maintained
 F:	include/linux/hippidevice.h
 F:	include/linux/hippidevice.h
-F:	include/linux/if_hippi.h
+F:	include/uapi/linux/if_hippi.h
 F:	net/802/hippi.c
 F:	net/802/hippi.c
 F:	drivers/net/hippi/
 F:	drivers/net/hippi/
 
 
@@ -3635,6 +3667,7 @@ S:	Maintained
 F:	Documentation/timers/hpet.txt
 F:	Documentation/timers/hpet.txt
 F:	drivers/char/hpet.c
 F:	drivers/char/hpet.c
 F:	include/linux/hpet.h
 F:	include/linux/hpet.h
+F:	include/uapi/linux/hpet.h
 
 
 HPET:	x86
 HPET:	x86
 M:	"Venkatesh Pallipadi (Venki)" <venki@google.com>
 M:	"Venkatesh Pallipadi (Venki)" <venki@google.com>
@@ -3735,6 +3768,8 @@ F:	Documentation/i2c/
 F:	drivers/i2c/
 F:	drivers/i2c/
 F:	include/linux/i2c.h
 F:	include/linux/i2c.h
 F:	include/linux/i2c-*.h
 F:	include/linux/i2c-*.h
+F:	include/uapi/linux/i2c.h
+F:	include/uapi/linux/i2c-*.h
 
 
 I2C-TAOS-EVM DRIVER
 I2C-TAOS-EVM DRIVER
 M:	Jean Delvare <khali@linux-fr.org>
 M:	Jean Delvare <khali@linux-fr.org>
@@ -3850,7 +3885,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan.git
 S:	Maintained
 S:	Maintained
 F:	net/ieee802154/
 F:	net/ieee802154/
 F:	net/mac802154/
 F:	net/mac802154/
-F:	drivers/ieee802154/
+F:	drivers/net/ieee802154/
 
 
 IGUANAWORKS USB IR TRANSCEIVER
 IGUANAWORKS USB IR TRANSCEIVER
 M:	Sean Young <sean@mess.org>
 M:	Sean Young <sean@mess.org>
@@ -3901,7 +3936,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git
 S:	Supported
 S:	Supported
 F:	Documentation/infiniband/
 F:	Documentation/infiniband/
 F:	drivers/infiniband/
 F:	drivers/infiniband/
-F:	include/linux/if_infiniband.h
+F:	include/uapi/linux/if_infiniband.h
 
 
 INOTIFY
 INOTIFY
 M:	John McCutchan <john@johnmccutchan.com>
 M:	John McCutchan <john@johnmccutchan.com>
@@ -3911,6 +3946,7 @@ S:	Maintained
 F:	Documentation/filesystems/inotify.txt
 F:	Documentation/filesystems/inotify.txt
 F:	fs/notify/inotify/
 F:	fs/notify/inotify/
 F:	include/linux/inotify.h
 F:	include/linux/inotify.h
+F:	include/uapi/linux/inotify.h
 
 
 INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS
 INPUT (KEYBOARD, MOUSE, JOYSTICK, TOUCHSCREEN) DRIVERS
 M:	Dmitry Torokhov <dmitry.torokhov@gmail.com>
 M:	Dmitry Torokhov <dmitry.torokhov@gmail.com>
@@ -3921,6 +3957,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git
 S:	Maintained
 S:	Maintained
 F:	drivers/input/
 F:	drivers/input/
 F:	include/linux/input.h
 F:	include/linux/input.h
+F:	include/uapi/linux/input.h
 F:	include/linux/input/
 F:	include/linux/input/
 
 
 INPUT MULTITOUCH (MT) PROTOCOL
 INPUT MULTITOUCH (MT) PROTOCOL
@@ -3941,7 +3978,6 @@ L:	linux-scsi@vger.kernel.org
 T:	git git://git.code.sf.net/p/intel-sas/isci
 T:	git git://git.code.sf.net/p/intel-sas/isci
 S:	Supported
 S:	Supported
 F:	drivers/scsi/isci/
 F:	drivers/scsi/isci/
-F:	firmware/isci/
 
 
 INTEL IDLE DRIVER
 INTEL IDLE DRIVER
 M:	Len Brown <lenb@kernel.org>
 M:	Len Brown <lenb@kernel.org>
@@ -4036,12 +4072,6 @@ F:	Documentation/networking/ixgbe.txt
 F:	Documentation/networking/ixgbevf.txt
 F:	Documentation/networking/ixgbevf.txt
 F:	drivers/net/ethernet/intel/
 F:	drivers/net/ethernet/intel/
 
 
-INTEL MRST PMU DRIVER
-M:	Len Brown <len.brown@intel.com>
-L:	linux-pm@vger.kernel.org
-S:	Supported
-F:	arch/x86/platform/mrst/pmu.*
-
 INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
 INTEL PRO/WIRELESS 2100, 2200BG, 2915ABG NETWORK CONNECTION SUPPORT
 M:	Stanislav Yakovlev <stas.yakovlev@gmail.com>
 M:	Stanislav Yakovlev <stas.yakovlev@gmail.com>
 L:	linux-wireless@vger.kernel.org
 L:	linux-wireless@vger.kernel.org
@@ -4070,7 +4100,7 @@ S:	Supported
 W:	http://linuxwimax.org
 W:	http://linuxwimax.org
 F:	Documentation/wimax/README.i2400m
 F:	Documentation/wimax/README.i2400m
 F:	drivers/net/wimax/i2400m/
 F:	drivers/net/wimax/i2400m/
-F:	include/linux/wimax/i2400m.h
+F:	include/uapi/linux/wimax/i2400m.h
 
 
 INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
 INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
 M:	Stanislaw Gruszka <sgruszka@redhat.com>
 M:	Stanislaw Gruszka <sgruszka@redhat.com>
@@ -4092,9 +4122,9 @@ INTEL MANAGEMENT ENGINE (mei)
 M:	Tomas Winkler <tomas.winkler@intel.com>
 M:	Tomas Winkler <tomas.winkler@intel.com>
 L:	linux-kernel@vger.kernel.org
 L:	linux-kernel@vger.kernel.org
 S:	Supported
 S:	Supported
-F:	include/linux/mei.h
+F:	include/uapi/linux/mei.h
 F:	drivers/misc/mei/*
 F:	drivers/misc/mei/*
-F:	Documentation/mei/*
+F:	Documentation/misc-devices/mei/*
 
 
 IOC3 ETHERNET DRIVER
 IOC3 ETHERNET DRIVER
 M:	Ralf Baechle <ralf@linux-mips.org>
 M:	Ralf Baechle <ralf@linux-mips.org>
@@ -4134,6 +4164,7 @@ S:	Supported
 F:	Documentation/IPMI.txt
 F:	Documentation/IPMI.txt
 F:	drivers/char/ipmi/
 F:	drivers/char/ipmi/
 F:	include/linux/ipmi*
 F:	include/linux/ipmi*
+F:	include/uapi/linux/ipmi*
 
 
 IPS SCSI RAID DRIVER
 IPS SCSI RAID DRIVER
 M:	Adaptec OEM Raid Solutions <aacraid@adaptec.com>
 M:	Adaptec OEM Raid Solutions <aacraid@adaptec.com>
@@ -4151,7 +4182,7 @@ L:	lvs-devel@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/networking/ipvs-sysctl.txt
 F:	Documentation/networking/ipvs-sysctl.txt
 F:	include/net/ip_vs.h
 F:	include/net/ip_vs.h
-F:	include/linux/ip_vs.h
+F:	include/uapi/linux/ip_vs.h
 F:	net/netfilter/ipvs/
 F:	net/netfilter/ipvs/
 
 
 IPWIRELESS DRIVER
 IPWIRELESS DRIVER
@@ -4164,8 +4195,8 @@ IPX NETWORK LAYER
 M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
 M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
 L:	netdev@vger.kernel.org
 L:	netdev@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	include/linux/ipx.h
 F:	include/net/ipx.h
 F:	include/net/ipx.h
+F:	include/uapi/linux/ipx.h
 F:	net/ipx/
 F:	net/ipx/
 
 
 IRDA SUBSYSTEM
 IRDA SUBSYSTEM
@@ -4228,6 +4259,8 @@ F:	Documentation/isdn/
 F:	drivers/isdn/
 F:	drivers/isdn/
 F:	include/linux/isdn.h
 F:	include/linux/isdn.h
 F:	include/linux/isdn/
 F:	include/linux/isdn/
+F:	include/uapi/linux/isdn.h
+F:	include/uapi/linux/isdn/
 
 
 ISDN SUBSYSTEM (Eicon active card driver)
 ISDN SUBSYSTEM (Eicon active card driver)
 M:	Armin Schindler <mac@melware.de>
 M:	Armin Schindler <mac@melware.de>
@@ -4268,7 +4301,7 @@ W:	http://www.ivtvdriver.org
 S:	Maintained
 S:	Maintained
 F:	Documentation/video4linux/*.ivtv
 F:	Documentation/video4linux/*.ivtv
 F:	drivers/media/pci/ivtv/
 F:	drivers/media/pci/ivtv/
-F:	include/linux/ivtv*
+F:	include/uapi/linux/ivtv*
 
 
 IX2505V MEDIA DRIVER
 IX2505V MEDIA DRIVER
 M:	Malcolm Priestley <tvboxspy@gmail.com>
 M:	Malcolm Priestley <tvboxspy@gmail.com>
@@ -4306,7 +4339,7 @@ L:	linux-mtd@lists.infradead.org
 W:	http://www.linux-mtd.infradead.org/doc/jffs2.html
 W:	http://www.linux-mtd.infradead.org/doc/jffs2.html
 S:	Maintained
 S:	Maintained
 F:	fs/jffs2/
 F:	fs/jffs2/
-F:	include/linux/jffs2.h
+F:	include/uapi/linux/jffs2.h
 
 
 JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
 JOURNALLING LAYER FOR BLOCK DEVICES (JBD)
 M:	Andrew Morton <akpm@linux-foundation.org>
 M:	Andrew Morton <akpm@linux-foundation.org>
@@ -4389,11 +4422,13 @@ W:	http://nfs.sourceforge.net/
 S:	Supported
 S:	Supported
 F:	fs/nfsd/
 F:	fs/nfsd/
 F:	include/linux/nfsd/
 F:	include/linux/nfsd/
+F:	include/uapi/linux/nfsd/
 F:	fs/lockd/
 F:	fs/lockd/
 F:	fs/nfs_common/
 F:	fs/nfs_common/
 F:	net/sunrpc/
 F:	net/sunrpc/
 F:	include/linux/lockd/
 F:	include/linux/lockd/
 F:	include/linux/sunrpc/
 F:	include/linux/sunrpc/
+F:	include/uapi/linux/sunrpc/
 
 
 KERNEL VIRTUAL MACHINE (KVM)
 KERNEL VIRTUAL MACHINE (KVM)
 M:	Marcelo Tosatti <mtosatti@redhat.com>
 M:	Marcelo Tosatti <mtosatti@redhat.com>
@@ -4405,6 +4440,7 @@ F:	Documentation/*/kvm.txt
 F:	arch/*/kvm/
 F:	arch/*/kvm/
 F:	arch/*/include/asm/kvm*
 F:	arch/*/include/asm/kvm*
 F:	include/linux/kvm*
 F:	include/linux/kvm*
+F:	include/uapi/linux/kvm*
 F:	virt/kvm/
 F:	virt/kvm/
 
 
 KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
 KERNEL VIRTUAL MACHINE (KVM) FOR AMD-V
@@ -4451,6 +4487,7 @@ W:	http://kernel.org/pub/linux/utils/kernel/kexec/
 L:	kexec@lists.infradead.org
 L:	kexec@lists.infradead.org
 S:	Maintained
 S:	Maintained
 F:	include/linux/kexec.h
 F:	include/linux/kexec.h
+F:	include/uapi/linux/kexec.h
 F:	kernel/kexec.c
 F:	kernel/kexec.c
 
 
 KEYS/KEYRINGS:
 KEYS/KEYRINGS:
@@ -4692,6 +4729,7 @@ LLC (802.2)
 M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
 M:	Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
 S:	Maintained
 S:	Maintained
 F:	include/linux/llc.h
 F:	include/linux/llc.h
+F:	include/uapi/linux/llc.h
 F:	include/net/llc*
 F:	include/net/llc*
 F:	net/llc/
 F:	net/llc/
 
 
@@ -4912,7 +4950,7 @@ MATROX FRAMEBUFFER DRIVER
 L:	linux-fbdev@vger.kernel.org
 L:	linux-fbdev@vger.kernel.org
 S:	Orphan
 S:	Orphan
 F:	drivers/video/matrox/matroxfb_*
 F:	drivers/video/matrox/matroxfb_*
-F:	include/linux/matroxfb.h
+F:	include/uapi/linux/matroxfb.h
 
 
 MAX16065 HARDWARE MONITOR DRIVER
 MAX16065 HARDWARE MONITOR DRIVER
 M:	Guenter Roeck <linux@roeck-us.net>
 M:	Guenter Roeck <linux@roeck-us.net>
@@ -4994,7 +5032,7 @@ T:	git git://git.infradead.org/mtd-2.6.git
 S:	Maintained
 S:	Maintained
 F:	drivers/mtd/
 F:	drivers/mtd/
 F:	include/linux/mtd/
 F:	include/linux/mtd/
-F:	include/mtd/
+F:	include/uapi/mtd/
 
 
 MICROBLAZE ARCHITECTURE
 MICROBLAZE ARCHITECTURE
 M:	Michal Simek <monstr@monstr.eu>
 M:	Michal Simek <monstr@monstr.eu>
@@ -5032,12 +5070,6 @@ F:	Documentation/video4linux/meye.txt
 F:	drivers/media/pci/meye/
 F:	drivers/media/pci/meye/
 F:	include/uapi/linux/meye.h
 F:	include/uapi/linux/meye.h
 
 
-MOTOROLA IMX MMC/SD HOST CONTROLLER INTERFACE DRIVER
-M:	Pavel Pisa <ppisa@pikron.com>
-L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
-S:	Maintained
-F:	drivers/mmc/host/imxmmc.*
-
 MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD
 M:	Jiri Slaby <jirislaby@gmail.com>
 M:	Jiri Slaby <jirislaby@gmail.com>
 S:	Maintained
 S:	Maintained
@@ -5052,7 +5084,7 @@ S:	Maintained
 F:	drivers/media/radio/radio-mr800.c
 F:	drivers/media/radio/radio-mr800.c
 
 
 MSI LAPTOP SUPPORT
 MSI LAPTOP SUPPORT
-M:	"Lee, Chun-Yi" <jlee@novell.com>
+M:	"Lee, Chun-Yi" <jlee@suse.com>
 L:	platform-driver-x86@vger.kernel.org
 L:	platform-driver-x86@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/platform/x86/msi-laptop.c
 F:	drivers/platform/x86/msi-laptop.c
@@ -5076,6 +5108,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
 S:	Maintained
 S:	Maintained
 F:	drivers/mmc/
 F:	drivers/mmc/
 F:	include/linux/mmc/
 F:	include/linux/mmc/
+F:	include/uapi/linux/mmc/
 
 
 MULTIMEDIA CARD (MMC) ETC. OVER SPI
 MULTIMEDIA CARD (MMC) ETC. OVER SPI
 S:	Orphan
 S:	Orphan
@@ -5176,6 +5209,8 @@ S:	Supported
 F:	include/linux/netfilter*
 F:	include/linux/netfilter*
 F:	include/linux/netfilter/
 F:	include/linux/netfilter/
 F:	include/net/netfilter/
 F:	include/net/netfilter/
+F:	include/uapi/linux/netfilter*
+F:	include/uapi/linux/netfilter/
 F:	net/*/netfilter.c
 F:	net/*/netfilter.c
 F:	net/*/netfilter/
 F:	net/*/netfilter/
 F:	net/netfilter/
 F:	net/netfilter/
@@ -5194,8 +5229,8 @@ M:	Ralf Baechle <ralf@linux-mips.org>
 L:	linux-hams@vger.kernel.org
 L:	linux-hams@vger.kernel.org
 W:	http://www.linux-ax25.org/
 W:	http://www.linux-ax25.org/
 S:	Maintained
 S:	Maintained
-F:	include/linux/netrom.h
 F:	include/net/netrom.h
 F:	include/net/netrom.h
+F:	include/uapi/linux/netrom.h
 F:	net/netrom/
 F:	net/netrom/
 
 
 NETWORK BLOCK DEVICE (NBD)
 NETWORK BLOCK DEVICE (NBD)
@@ -5204,6 +5239,7 @@ S:	Maintained
 F:	Documentation/blockdev/nbd.txt
 F:	Documentation/blockdev/nbd.txt
 F:	drivers/block/nbd.c
 F:	drivers/block/nbd.c
 F:	include/linux/nbd.h
 F:	include/linux/nbd.h
+F:	include/uapi/linux/nbd.h
 
 
 NETWORK DROP MONITOR
 NETWORK DROP MONITOR
 M:	Neil Horman <nhorman@tuxdriver.com>
 M:	Neil Horman <nhorman@tuxdriver.com>
@@ -5225,6 +5261,9 @@ F:	include/net/
 F:	include/linux/in.h
 F:	include/linux/in.h
 F:	include/linux/net.h
 F:	include/linux/net.h
 F:	include/linux/netdevice.h
 F:	include/linux/netdevice.h
+F:	include/uapi/linux/in.h
+F:	include/uapi/linux/net.h
+F:	include/uapi/linux/netdevice.h
 
 
 NETWORKING [IPv4/IPv6]
 NETWORKING [IPv4/IPv6]
 M:	"David S. Miller" <davem@davemloft.net>
 M:	"David S. Miller" <davem@davemloft.net>
@@ -5270,6 +5309,7 @@ F:	net/rfkill/
 F:	net/wireless/
 F:	net/wireless/
 F:	include/net/ieee80211*
 F:	include/net/ieee80211*
 F:	include/linux/wireless.h
 F:	include/linux/wireless.h
+F:	include/uapi/linux/wireless.h
 F:	include/net/iw_handler.h
 F:	include/net/iw_handler.h
 F:	drivers/net/wireless/
 F:	drivers/net/wireless/
 
 
@@ -5289,6 +5329,8 @@ F:	include/linux/fcdevice.h
 F:	include/linux/fddidevice.h
 F:	include/linux/fddidevice.h
 F:	include/linux/hippidevice.h
 F:	include/linux/hippidevice.h
 F:	include/linux/inetdevice.h
 F:	include/linux/inetdevice.h
+F:	include/uapi/linux/if_*
+F:	include/uapi/linux/netdevice.h
 
 
 NETXEN (1/10) GbE SUPPORT
 NETXEN (1/10) GbE SUPPORT
 M:	Sony Chacko <sony.chacko@qlogic.com>
 M:	Sony Chacko <sony.chacko@qlogic.com>
@@ -5306,8 +5348,8 @@ L:	linux-wireless@vger.kernel.org
 L:	linux-nfc@lists.01.org (moderated for non-subscribers)
 L:	linux-nfc@lists.01.org (moderated for non-subscribers)
 S:	Maintained
 S:	Maintained
 F:	net/nfc/
 F:	net/nfc/
-F:	include/linux/nfc.h
 F:	include/net/nfc/
 F:	include/net/nfc/
+F:	include/uapi/linux/nfc.h
 F:	drivers/nfc/
 F:	drivers/nfc/
 F:	include/linux/platform_data/pn544.h
 F:	include/linux/platform_data/pn544.h
 
 
@@ -5324,6 +5366,8 @@ F:	net/sunrpc/
 F:	include/linux/lockd/
 F:	include/linux/lockd/
 F:	include/linux/nfs*
 F:	include/linux/nfs*
 F:	include/linux/sunrpc/
 F:	include/linux/sunrpc/
+F:	include/uapi/linux/nfs*
+F:	include/uapi/linux/sunrpc/
 
 
 NI5010 NETWORK DRIVER
 NI5010 NETWORK DRIVER
 M:	Jan-Pascal van Best <janpascal@vanbest.org>
 M:	Jan-Pascal van Best <janpascal@vanbest.org>
@@ -5470,8 +5514,7 @@ M:	Benoît Cousson <b-cousson@ti.com>
 M:	Paul Walmsley <paul@pwsan.com>
 M:	Paul Walmsley <paul@pwsan.com>
 L:	linux-omap@vger.kernel.org
 L:	linux-omap@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	arch/arm/mach-omap2/omap_hwmod.c
-F:	arch/arm/plat-omap/include/plat/omap_hwmod.h
+F:	arch/arm/mach-omap2/omap_hwmod.*
 
 
 OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
 M:	Benoît Cousson <b-cousson@ti.com>
 M:	Benoît Cousson <b-cousson@ti.com>
@@ -5513,6 +5556,7 @@ M:	Harald Welte <laforge@gnumonks.org>
 S:	Maintained
 S:	Maintained
 F:	drivers/char/pcmcia/cm4000_cs.c
 F:	drivers/char/pcmcia/cm4000_cs.c
 F:	include/linux/cm4000_cs.h
 F:	include/linux/cm4000_cs.h
+F:	include/uapi/linux/cm4000_cs.h
 
 
 OMNIKEY CARDMAN 4040 DRIVER
 OMNIKEY CARDMAN 4040 DRIVER
 M:	Harald Welte <laforge@gnumonks.org>
 M:	Harald Welte <laforge@gnumonks.org>
@@ -5671,7 +5715,7 @@ S:	Orphan
 F:	drivers/parport/
 F:	drivers/parport/
 F:	include/linux/parport*.h
 F:	include/linux/parport*.h
 F:	drivers/char/ppdev.c
 F:	drivers/char/ppdev.c
-F:	include/linux/ppdev.h
+F:	include/uapi/linux/ppdev.h
 
 
 PARAVIRT_OPS INTERFACE
 PARAVIRT_OPS INTERFACE
 M:	Jeremy Fitzhardinge <jeremy@goop.org>
 M:	Jeremy Fitzhardinge <jeremy@goop.org>
@@ -5812,11 +5856,11 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
 S:	Supported
 S:	Supported
 F:	kernel/events/*
 F:	kernel/events/*
 F:	include/linux/perf_event.h
 F:	include/linux/perf_event.h
+F:	include/uapi/linux/perf_event.h
 F:	arch/*/kernel/perf_event*.c
 F:	arch/*/kernel/perf_event*.c
 F:	arch/*/kernel/*/perf_event*.c
 F:	arch/*/kernel/*/perf_event*.c
 F:	arch/*/kernel/*/*/perf_event*.c
 F:	arch/*/kernel/*/*/perf_event*.c
 F:	arch/*/include/asm/perf_event.h
 F:	arch/*/include/asm/perf_event.h
-F:	arch/*/lib/perf_event*.c
 F:	arch/*/kernel/perf_callchain.c
 F:	arch/*/kernel/perf_callchain.c
 F:	tools/perf/
 F:	tools/perf/
 
 
@@ -5825,6 +5869,7 @@ M:	Christoph Hellwig <hch@infradead.org>
 L:	linux-abi-devel@lists.sourceforge.net
 L:	linux-abi-devel@lists.sourceforge.net
 S:	Maintained
 S:	Maintained
 F:	include/linux/personality.h
 F:	include/linux/personality.h
+F:	include/uapi/linux/personality.h
 
 
 PHONET PROTOCOL
 PHONET PROTOCOL
 M:	Remi Denis-Courmont <courmisch@gmail.com>
 M:	Remi Denis-Courmont <courmisch@gmail.com>
@@ -5832,6 +5877,7 @@ S:	Supported
 F:	Documentation/networking/phonet.txt
 F:	Documentation/networking/phonet.txt
 F:	include/linux/phonet.h
 F:	include/linux/phonet.h
 F:	include/net/phonet/
 F:	include/net/phonet/
+F:	include/uapi/linux/phonet.h
 F:	net/phonet/
 F:	net/phonet/
 
 
 PHRAM MTD DRIVER
 PHRAM MTD DRIVER
@@ -5880,6 +5926,7 @@ M:	Jiri Kosina <jkosina@suse.cz>
 S:	Maintained
 S:	Maintained
 F:	drivers/block/pktcdvd.c
 F:	drivers/block/pktcdvd.c
 F:	include/linux/pktcdvd.h
 F:	include/linux/pktcdvd.h
+F:	include/uapi/linux/pktcdvd.h
 
 
 PKUNITY SOC DRIVERS
 PKUNITY SOC DRIVERS
 M:	Guan Xuetao <gxt@mprc.pku.edu.cn>
 M:	Guan Xuetao <gxt@mprc.pku.edu.cn>
@@ -5954,7 +6001,7 @@ PPP OVER ATM (RFC 2364)
 M:	Mitchell Blank Jr <mitch@sfgoth.com>
 M:	Mitchell Blank Jr <mitch@sfgoth.com>
 S:	Maintained
 S:	Maintained
 F:	net/atm/pppoatm.c
 F:	net/atm/pppoatm.c
-F:	include/linux/atmppp.h
+F:	include/uapi/linux/atmppp.h
 
 
 PPP OVER ETHERNET
 PPP OVER ETHERNET
 M:	Michal Ostrowski <mostrows@earthlink.net>
 M:	Michal Ostrowski <mostrows@earthlink.net>
@@ -5967,6 +6014,7 @@ M:	James Chapman <jchapman@katalix.com>
 S:	Maintained
 S:	Maintained
 F:	net/l2tp/l2tp_ppp.c
 F:	net/l2tp/l2tp_ppp.c
 F:	include/linux/if_pppol2tp.h
 F:	include/linux/if_pppol2tp.h
+F:	include/uapi/linux/if_pppol2tp.h
 
 
 PPS SUPPORT
 PPS SUPPORT
 M:	Rodolfo Giometti <giometti@enneenne.com>
 M:	Rodolfo Giometti <giometti@enneenne.com>
@@ -6064,6 +6112,7 @@ F:	include/asm-generic/syscall.h
 F:	include/linux/ptrace.h
 F:	include/linux/ptrace.h
 F:	include/linux/regset.h
 F:	include/linux/regset.h
 F:	include/linux/tracehook.h
 F:	include/linux/tracehook.h
+F:	include/uapi/linux/ptrace.h
 F:	kernel/ptrace.c
 F:	kernel/ptrace.c
 
 
 PVRUSB2 VIDEO4LINUX DRIVER
 PVRUSB2 VIDEO4LINUX DRIVER
@@ -6092,7 +6141,6 @@ T:	git git://gitorious.org/linux-pwm/linux-pwm.git
 F:	Documentation/pwm.txt
 F:	Documentation/pwm.txt
 F:	Documentation/devicetree/bindings/pwm/
 F:	Documentation/devicetree/bindings/pwm/
 F:	include/linux/pwm.h
 F:	include/linux/pwm.h
-F:	include/linux/of_pwm.h
 F:	drivers/pwm/
 F:	drivers/pwm/
 F:	drivers/video/backlight/pwm_bl.c
 F:	drivers/video/backlight/pwm_bl.c
 F:	include/linux/pwm_backlight.h
 F:	include/linux/pwm_backlight.h
@@ -6188,8 +6236,8 @@ M:	Anders Larsen <al@alarsen.net>
 W:	http://www.alarsen.net/linux/qnx4fs/
 W:	http://www.alarsen.net/linux/qnx4fs/
 S:	Maintained
 S:	Maintained
 F:	fs/qnx4/
 F:	fs/qnx4/
-F:	include/linux/qnx4_fs.h
-F:	include/linux/qnxtypes.h
+F:	include/uapi/linux/qnx4_fs.h
+F:	include/uapi/linux/qnxtypes.h
 
 
 QT1010 MEDIA DRIVER
 QT1010 MEDIA DRIVER
 M:	Antti Palosaari <crope@iki.fi>
 M:	Antti Palosaari <crope@iki.fi>
@@ -6223,7 +6271,7 @@ M:	Benjamin Herrenschmidt <benh@kernel.crashing.org>
 L:	linux-fbdev@vger.kernel.org
 L:	linux-fbdev@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/video/aty/radeon*
 F:	drivers/video/aty/radeon*
-F:	include/linux/radeonfb.h
+F:	include/uapi/linux/radeonfb.h
 
 
 RADIOSHARK RADIO DRIVER
 RADIOSHARK RADIO DRIVER
 M:	Hans de Goede <hdegoede@redhat.com>
 M:	Hans de Goede <hdegoede@redhat.com>
@@ -6324,6 +6372,7 @@ S:	Maintained
 F:	Documentation/rtc.txt
 F:	Documentation/rtc.txt
 F:	drivers/rtc/
 F:	drivers/rtc/
 F:	include/linux/rtc.h
 F:	include/linux/rtc.h
+F:	include/uapi/linux/rtc.h
 
 
 REISERFS FILE SYSTEM
 REISERFS FILE SYSTEM
 L:	reiserfs-devel@vger.kernel.org
 L:	reiserfs-devel@vger.kernel.org
@@ -6378,8 +6427,8 @@ M:	Ralf Baechle <ralf@linux-mips.org>
 L:	linux-hams@vger.kernel.org
 L:	linux-hams@vger.kernel.org
 W:	http://www.linux-ax25.org/
 W:	http://www.linux-ax25.org/
 S:	Maintained
 S:	Maintained
-F:	include/linux/rose.h
 F:	include/net/rose.h
 F:	include/net/rose.h
+F:	include/uapi/linux/rose.h
 F:	net/rose/
 F:	net/rose/
 
 
 RTL2830 MEDIA DRIVER
 RTL2830 MEDIA DRIVER
@@ -6536,7 +6585,7 @@ F:	drivers/media/platform/s3c-camif/
 F:	include/media/s3c_camif.h
 F:	include/media/s3c_camif.h
 
 
 SERIAL DRIVERS
 SERIAL DRIVERS
-M:	Alan Cox <alan@linux.intel.com>
+M:	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 L:	linux-serial@vger.kernel.org
 L:	linux-serial@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/tty/serial
 F:	drivers/tty/serial
@@ -6556,6 +6605,8 @@ S:	Supported
 F:	include/linux/clocksource.h
 F:	include/linux/clocksource.h
 F:	include/linux/time.h
 F:	include/linux/time.h
 F:	include/linux/timex.h
 F:	include/linux/timex.h
+F:	include/uapi/linux/time.h
+F:	include/uapi/linux/timex.h
 F:	kernel/time/clocksource.c
 F:	kernel/time/clocksource.c
 F:	kernel/time/time*.c
 F:	kernel/time/time*.c
 F:	kernel/time/ntp.c
 F:	kernel/time/ntp.c
@@ -6580,6 +6631,7 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
 S:	Maintained
 S:	Maintained
 F:	kernel/sched/
 F:	kernel/sched/
 F:	include/linux/sched.h
 F:	include/linux/sched.h
+F:	include/uapi/linux/sched.h
 
 
 SCORE ARCHITECTURE
 SCORE ARCHITECTURE
 M:	Chen Liqin <liqin.chen@sunplusct.com>
 M:	Chen Liqin <liqin.chen@sunplusct.com>
@@ -6733,7 +6785,7 @@ SENSABLE PHANTOM
 M:	Jiri Slaby <jirislaby@gmail.com>
 M:	Jiri Slaby <jirislaby@gmail.com>
 S:	Maintained
 S:	Maintained
 F:	drivers/misc/phantom.c
 F:	drivers/misc/phantom.c
-F:	include/linux/phantom.h
+F:	include/uapi/linux/phantom.h
 
 
 SERIAL ATA (SATA) SUBSYSTEM
 SERIAL ATA (SATA) SUBSYSTEM
 M:	Jeff Garzik <jgarzik@pobox.com>
 M:	Jeff Garzik <jgarzik@pobox.com>
@@ -6991,6 +7043,7 @@ L:	linux-raid@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	drivers/md/
 F:	drivers/md/
 F:	include/linux/raid/
 F:	include/linux/raid/
+F:	include/uapi/linux/raid/
 
 
 SONIC NETWORK DRIVER
 SONIC NETWORK DRIVER
 M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
@@ -7031,6 +7084,7 @@ T:	git git://git.alsa-project.org/alsa-kernel.git
 S:	Maintained
 S:	Maintained
 F:	Documentation/sound/
 F:	Documentation/sound/
 F:	include/sound/
 F:	include/sound/
+F:	include/uapi/sound/
 F:	sound/
 F:	sound/
 
 
 SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
 SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
@@ -7131,6 +7185,7 @@ S:	Maintained
 F:	Documentation/spi/
 F:	Documentation/spi/
 F:	drivers/spi/
 F:	drivers/spi/
 F:	include/linux/spi/
 F:	include/linux/spi/
+F:	include/uapi/linux/spi/
 
 
 SPIDERNET NETWORK DRIVER for CELL
 SPIDERNET NETWORK DRIVER for CELL
 M:	Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
 M:	Ishizaki Kou <kou.ishizaki@toshiba.co.jp>
@@ -7266,7 +7321,7 @@ F:	drivers/staging/rtl8712/
 STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
 M:	Teddy Wang <teddy.wang@siliconmotion.com.cn>
 M:	Teddy Wang <teddy.wang@siliconmotion.com.cn>
 S:	Odd Fixes
 S:	Odd Fixes
-F:	drivers/staging/sm7xx/
+F:	drivers/staging/sm7xxfb/
 
 
 STAGING - SOFTLOGIC 6x10 MPEG CODEC
 STAGING - SOFTLOGIC 6x10 MPEG CODEC
 M:	Ben Collins <bcollins@bluecherry.net>
 M:	Ben Collins <bcollins@bluecherry.net>
@@ -7284,7 +7339,7 @@ S:	Odd Fixes
 F:	drivers/staging/speakup/
 F:	drivers/staging/speakup/
 
 
 STAGING - TI DSP BRIDGE DRIVERS
 STAGING - TI DSP BRIDGE DRIVERS
-M:	Omar Ramirez Luna <omar.ramirez@ti.com>
+M:	Omar Ramirez Luna <omar.ramirez@copitl.com>
 S:	Odd Fixes
 S:	Odd Fixes
 F:	drivers/staging/tidspbridge/
 F:	drivers/staging/tidspbridge/
 
 
@@ -7392,8 +7447,8 @@ TC CLASSIFIER
 M:	Jamal Hadi Salim <jhs@mojatatu.com>
 M:	Jamal Hadi Salim <jhs@mojatatu.com>
 L:	netdev@vger.kernel.org
 L:	netdev@vger.kernel.org
 S:	Maintained
 S:	Maintained
-F:	include/linux/pkt_cls.h
 F:	include/net/pkt_cls.h
 F:	include/net/pkt_cls.h
+F:	include/uapi/linux/pkt_cls.h
 F:	net/sched/
 F:	net/sched/
 
 
 TCP LOW PRIORITY MODULE
 TCP LOW PRIORITY MODULE
@@ -7485,6 +7540,7 @@ L:	netdev@vger.kernel.org
 S:	Supported
 S:	Supported
 F:	drivers/net/team/
 F:	drivers/net/team/
 F:	include/linux/if_team.h
 F:	include/linux/if_team.h
+F:	include/uapi/linux/if_team.h
 
 
 TECHNOTREND USB IR RECEIVER
 TECHNOTREND USB IR RECEIVER
 M:	Sean Young <sean@mess.org>
 M:	Sean Young <sean@mess.org>
@@ -7583,7 +7639,7 @@ L:	netdev@vger.kernel.org (core kernel code)
 L:	tipc-discussion@lists.sourceforge.net (user apps, general discussion)
 L:	tipc-discussion@lists.sourceforge.net (user apps, general discussion)
 W:	http://tipc.sourceforge.net/
 W:	http://tipc.sourceforge.net/
 S:	Maintained
 S:	Maintained
-F:	include/linux/tipc*.h
+F:	include/uapi/linux/tipc*.h
 F:	net/tipc/
 F:	net/tipc/
 
 
 TILE ARCHITECTURE
 TILE ARCHITECTURE
@@ -7633,6 +7689,7 @@ W:	http://www.buzzard.org.uk/toshiba/
 S:	Maintained
 S:	Maintained
 F:	drivers/char/toshiba.c
 F:	drivers/char/toshiba.c
 F:	include/linux/toshiba.h
 F:	include/linux/toshiba.h
+F:	include/uapi/linux/toshiba.h
 
 
 TMIO MMC DRIVER
 TMIO MMC DRIVER
 M:	Guennadi Liakhovetski <g.liakhovetski@gmx.de>
 M:	Guennadi Liakhovetski <g.liakhovetski@gmx.de>
@@ -7700,6 +7757,9 @@ F:	drivers/tty/serial/serial_core.c
 F:	include/linux/serial_core.h
 F:	include/linux/serial_core.h
 F:	include/linux/serial.h
 F:	include/linux/serial.h
 F:	include/linux/tty.h
 F:	include/linux/tty.h
+F:	include/uapi/linux/serial_core.h
+F:	include/uapi/linux/serial.h
+F:	include/uapi/linux/tty.h
 
 
 TUA9001 MEDIA DRIVER
 TUA9001 MEDIA DRIVER
 M:	Antti Palosaari <crope@iki.fi>
 M:	Antti Palosaari <crope@iki.fi>
@@ -7779,7 +7839,7 @@ M:	David Herrmann <dh.herrmann@googlemail.com>
 L:	linux-input@vger.kernel.org
 L:	linux-input@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/hid/uhid.c
 F:	drivers/hid/uhid.c
-F:	include/linux/uhid.h
+F:	include/uapi/linux/uhid.h
 
 
 ULTRA-WIDEBAND (UWB) SUBSYSTEM:
 ULTRA-WIDEBAND (UWB) SUBSYSTEM:
 L:	linux-usb@vger.kernel.org
 L:	linux-usb@vger.kernel.org
@@ -7808,6 +7868,7 @@ S:	Maintained
 F:	Documentation/cdrom/
 F:	Documentation/cdrom/
 F:	drivers/cdrom/cdrom.c
 F:	drivers/cdrom/cdrom.c
 F:	include/linux/cdrom.h
 F:	include/linux/cdrom.h
+F:	include/uapi/linux/cdrom.h
 
 
 UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
 UNIVERSAL FLASH STORAGE HOST CONTROLLER DRIVER
 M:	Vinayak Holikatti <vinholikatti@gmail.com>
 M:	Vinayak Holikatti <vinholikatti@gmail.com>
@@ -7825,7 +7886,7 @@ T:	git git://git.infradead.org/ubi-2.6.git
 S:	Maintained
 S:	Maintained
 F:	drivers/mtd/ubi/
 F:	drivers/mtd/ubi/
 F:	include/linux/mtd/ubi.h
 F:	include/linux/mtd/ubi.h
-F:	include/mtd/ubi-user.h
+F:	include/uapi/mtd/ubi-user.h
 
 
 UNSORTED BLOCK IMAGES (UBI) Fastmap
 UNSORTED BLOCK IMAGES (UBI) Fastmap
 M:	Richard Weinberger <richard@nod.at>
 M:	Richard Weinberger <richard@nod.at>
@@ -7859,7 +7920,7 @@ M:	Oliver Neukum <oliver@neukum.org>
 L:	linux-usb@vger.kernel.org
 L:	linux-usb@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/net/usb/cdc_*.c
 F:	drivers/net/usb/cdc_*.c
-F:	include/linux/usb/cdc.h
+F:	include/uapi/linux/usb/cdc.h
 
 
 USB CYPRESS C67X00 DRIVER
 USB CYPRESS C67X00 DRIVER
 M:	Peter Korsgaard <jacmet@sunsite.dk>
 M:	Peter Korsgaard <jacmet@sunsite.dk>
@@ -8180,6 +8241,7 @@ S:	Maintained
 F:	Documentation/vfio.txt
 F:	Documentation/vfio.txt
 F:	drivers/vfio/
 F:	drivers/vfio/
 F:	include/linux/vfio.h
 F:	include/linux/vfio.h
+F:	include/uapi/linux/vfio.h
 
 
 VIDEOBUF2 FRAMEWORK
 VIDEOBUF2 FRAMEWORK
 M:	Pawel Osciak <pawel@osciak.com>
 M:	Pawel Osciak <pawel@osciak.com>
@@ -8196,6 +8258,7 @@ L:	virtualization@lists.linux-foundation.org
 S:	Maintained
 S:	Maintained
 F:	drivers/char/virtio_console.c
 F:	drivers/char/virtio_console.c
 F:	include/linux/virtio_console.h
 F:	include/linux/virtio_console.h
+F:	include/uapi/linux/virtio_console.h
 
 
 VIRTIO CORE, NET AND BLOCK DRIVERS
 VIRTIO CORE, NET AND BLOCK DRIVERS
 M:	Rusty Russell <rusty@rustcorp.com.au>
 M:	Rusty Russell <rusty@rustcorp.com.au>
@@ -8214,7 +8277,7 @@ L:	virtualization@lists.linux-foundation.org
 L:	netdev@vger.kernel.org
 L:	netdev@vger.kernel.org
 S:	Maintained
 S:	Maintained
 F:	drivers/vhost/
 F:	drivers/vhost/
-F:	include/linux/vhost.h
+F:	include/uapi/linux/vhost.h
 
 
 VIA RHINE NETWORK DRIVER
 VIA RHINE NETWORK DRIVER
 M:	Roger Luethi <rl@hellgate.ch>
 M:	Roger Luethi <rl@hellgate.ch>
@@ -8354,6 +8417,7 @@ S:	Maintained
 F:	Documentation/watchdog/
 F:	Documentation/watchdog/
 F:	drivers/watchdog/
 F:	drivers/watchdog/
 F:	include/linux/watchdog.h
 F:	include/linux/watchdog.h
+F:	include/uapi/linux/watchdog.h
 
 
 WD7000 SCSI DRIVER
 WD7000 SCSI DRIVER
 M:	Miroslav Zagorac <zaga@fly.cc.fer.hr>
 M:	Miroslav Zagorac <zaga@fly.cc.fer.hr>
@@ -8379,9 +8443,9 @@ L:	wimax@linuxwimax.org
 S:	Supported
 S:	Supported
 W:	http://linuxwimax.org
 W:	http://linuxwimax.org
 F:	Documentation/wimax/README.wimax
 F:	Documentation/wimax/README.wimax
-F:	include/linux/wimax.h
 F:	include/linux/wimax/debug.h
 F:	include/linux/wimax/debug.h
 F:	include/net/wimax.h
 F:	include/net/wimax.h
+F:	include/uapi/linux/wimax.h
 F:	net/wimax/
 F:	net/wimax/
 
 
 WISTRON LAPTOP BUTTON DRIVER
 WISTRON LAPTOP BUTTON DRIVER
@@ -8467,7 +8531,7 @@ F:	Documentation/x86/
 F:	arch/x86/
 F:	arch/x86/
 
 
 X86 PLATFORM DRIVERS
 X86 PLATFORM DRIVERS
-M:	Matthew Garrett <mjg@redhat.com>
+M:	Matthew Garrett <matthew.garrett@nebula.com>
 L:	platform-driver-x86@vger.kernel.org
 L:	platform-driver-x86@vger.kernel.org
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git
 S:	Maintained
 S:	Maintained
@@ -8499,6 +8563,7 @@ F:	drivers/*/xen-*front.c
 F:	drivers/xen/
 F:	drivers/xen/
 F:	arch/x86/include/asm/xen/
 F:	arch/x86/include/asm/xen/
 F:	include/xen/
 F:	include/xen/
+F:	include/uapi/xen/
 
 
 XEN HYPERVISOR ARM
 XEN HYPERVISOR ARM
 M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>
 M:	Stefano Stabellini <stefano.stabellini@eu.citrix.com>

+ 2 - 2
Makefile

@@ -1,7 +1,7 @@
 VERSION = 3
 VERSION = 3
 PATCHLEVEL = 8
 PATCHLEVEL = 8
 SUBLEVEL = 0
 SUBLEVEL = 0
-EXTRAVERSION = -rc2
+EXTRAVERSION = -rc5
 NAME = Terrified Chipmunk
 NAME = Terrified Chipmunk
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*
@@ -169,7 +169,7 @@ SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
 				  -e s/arm.*/arm/ -e s/sa110/arm/ \
 				  -e s/arm.*/arm/ -e s/sa110/arm/ \
 				  -e s/s390x/s390/ -e s/parisc64/parisc/ \
 				  -e s/s390x/s390/ -e s/parisc64/parisc/ \
 				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
 				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
-				  -e s/sh[234].*/sh/ )
+				  -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
 
 
 # Cross compiling and selecting different set of gcc/bin-utils
 # Cross compiling and selecting different set of gcc/bin-utils
 # ---------------------------------------------------------------------------
 # ---------------------------------------------------------------------------

+ 2 - 2
arch/alpha/include/asm/parport.h

@@ -9,8 +9,8 @@
 #ifndef _ASM_AXP_PARPORT_H
 #ifndef _ASM_AXP_PARPORT_H
 #define _ASM_AXP_PARPORT_H 1
 #define _ASM_AXP_PARPORT_H 1
 
 
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
-static int __devinit parport_pc_find_nonpci_ports (int autoirq, int autodma)
+static int parport_pc_find_isa_ports (int autoirq, int autodma);
+static int parport_pc_find_nonpci_ports (int autoirq, int autodma)
 {
 {
 	return parport_pc_find_isa_ports (autoirq, autodma);
 	return parport_pc_find_isa_ports (autoirq, autodma);
 }
 }

+ 5 - 7
arch/alpha/kernel/pci.c

@@ -59,13 +59,13 @@ struct pci_controller *pci_isa_hose;
  * Quirks.
  * Quirks.
  */
  */
 
 
-static void __devinit quirk_isa_bridge(struct pci_dev *dev)
+static void quirk_isa_bridge(struct pci_dev *dev)
 {
 {
 	dev->class = PCI_CLASS_BRIDGE_ISA << 8;
 	dev->class = PCI_CLASS_BRIDGE_ISA << 8;
 }
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82378, quirk_isa_bridge);
 
 
-static void __devinit quirk_cypress(struct pci_dev *dev)
+static void quirk_cypress(struct pci_dev *dev)
 {
 {
 	/* The Notorious Cy82C693 chip.  */
 	/* The Notorious Cy82C693 chip.  */
 
 
@@ -104,7 +104,7 @@ static void __devinit quirk_cypress(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, quirk_cypress);
 
 
 /* Called for each device after PCI setup is done. */
 /* Called for each device after PCI setup is done. */
-static void __devinit pcibios_fixup_final(struct pci_dev *dev)
+static void pcibios_fixup_final(struct pci_dev *dev)
 {
 {
 	unsigned int class = dev->class >> 8;
 	unsigned int class = dev->class >> 8;
 
 
@@ -198,8 +198,7 @@ subsys_initcall(pcibios_init);
 #ifdef ALPHA_RESTORE_SRM_SETUP
 #ifdef ALPHA_RESTORE_SRM_SETUP
 static struct pdev_srm_saved_conf *srm_saved_configs;
 static struct pdev_srm_saved_conf *srm_saved_configs;
 
 
-void __devinit
-pdev_save_srm_config(struct pci_dev *dev)
+void pdev_save_srm_config(struct pci_dev *dev)
 {
 {
 	struct pdev_srm_saved_conf *tmp;
 	struct pdev_srm_saved_conf *tmp;
 	static int printed = 0;
 	static int printed = 0;
@@ -241,8 +240,7 @@ pci_restore_srm_config(void)
 }
 }
 #endif
 #endif
 
 
-void __devinit
-pcibios_fixup_bus(struct pci_bus *bus)
+void pcibios_fixup_bus(struct pci_bus *bus)
 {
 {
 	struct pci_dev *dev = bus->self;
 	struct pci_dev *dev = bus->self;
 
 

+ 3 - 3
arch/alpha/kernel/smp.c

@@ -68,7 +68,7 @@ enum ipi_message_type {
 };
 };
 
 
 /* Set to a secondary's cpuid when it comes online.  */
 /* Set to a secondary's cpuid when it comes online.  */
-static int smp_secondary_alive __devinitdata = 0;
+static int smp_secondary_alive = 0;
 
 
 int smp_num_probed;		/* Internal processor count */
 int smp_num_probed;		/* Internal processor count */
 int smp_num_cpus = 1;		/* Number that came online.  */
 int smp_num_cpus = 1;		/* Number that came online.  */
@@ -172,7 +172,7 @@ smp_callin(void)
 }
 }
 
 
 /* Wait until hwrpb->txrdy is clear for cpu.  Return -1 on timeout.  */
 /* Wait until hwrpb->txrdy is clear for cpu.  Return -1 on timeout.  */
-static int __devinit
+static int
 wait_for_txrdy (unsigned long cpumask)
 wait_for_txrdy (unsigned long cpumask)
 {
 {
 	unsigned long timeout;
 	unsigned long timeout;
@@ -468,7 +468,7 @@ smp_prepare_cpus(unsigned int max_cpus)
 	smp_num_cpus = smp_num_probed;
 	smp_num_cpus = smp_num_probed;
 }
 }
 
 
-void __devinit
+void
 smp_prepare_boot_cpu(void)
 smp_prepare_boot_cpu(void)
 {
 {
 }
 }

+ 1 - 1
arch/alpha/kernel/sys_titan.c

@@ -303,7 +303,7 @@ titan_late_init(void)
 
 
 }
 }
 
 
-static int __devinit
+static int
 titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 titan_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
 {
 	u8 intline;
 	u8 intline;

+ 6 - 1
arch/arm/Kconfig

@@ -371,7 +371,6 @@ config ARCH_CNS3XXX
 config ARCH_CLPS711X
 config ARCH_CLPS711X
 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
 	bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
 	select ARCH_REQUIRE_GPIOLIB
 	select ARCH_REQUIRE_GPIOLIB
-	select ARCH_USES_GETTIMEOFFSET
 	select AUTO_ZRELADDR
 	select AUTO_ZRELADDR
 	select CLKDEV_LOOKUP
 	select CLKDEV_LOOKUP
 	select COMMON_CLK
 	select COMMON_CLK
@@ -1230,6 +1229,7 @@ config ARM_ERRATA_430973
 config ARM_ERRATA_458693
 config ARM_ERRATA_458693
 	bool "ARM errata: Processor deadlock when a false hazard is created"
 	bool "ARM errata: Processor deadlock when a false hazard is created"
 	depends on CPU_V7
 	depends on CPU_V7
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 458693 Cortex-A8 (r2p0)
 	  This option enables the workaround for the 458693 Cortex-A8 (r2p0)
 	  erratum. For very specific sequences of memory operations, it is
 	  erratum. For very specific sequences of memory operations, it is
@@ -1243,6 +1243,7 @@ config ARM_ERRATA_458693
 config ARM_ERRATA_460075
 config ARM_ERRATA_460075
 	bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
 	bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
 	depends on CPU_V7
 	depends on CPU_V7
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 460075 Cortex-A8 (r2p0)
 	  This option enables the workaround for the 460075 Cortex-A8 (r2p0)
 	  erratum. Any asynchronous access to the L2 cache may encounter a
 	  erratum. Any asynchronous access to the L2 cache may encounter a
@@ -1255,6 +1256,7 @@ config ARM_ERRATA_460075
 config ARM_ERRATA_742230
 config ARM_ERRATA_742230
 	bool "ARM errata: DMB operation may be faulty"
 	bool "ARM errata: DMB operation may be faulty"
 	depends on CPU_V7 && SMP
 	depends on CPU_V7 && SMP
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 742230 Cortex-A9
 	  This option enables the workaround for the 742230 Cortex-A9
 	  (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
 	  (r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
@@ -1267,6 +1269,7 @@ config ARM_ERRATA_742230
 config ARM_ERRATA_742231
 config ARM_ERRATA_742231
 	bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
 	bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
 	depends on CPU_V7 && SMP
 	depends on CPU_V7 && SMP
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 742231 Cortex-A9
 	  This option enables the workaround for the 742231 Cortex-A9
 	  (r2p0..r2p2) erratum. Under certain conditions, specific to the
 	  (r2p0..r2p2) erratum. Under certain conditions, specific to the
@@ -1317,6 +1320,7 @@ config PL310_ERRATA_727915
 config ARM_ERRATA_743622
 config ARM_ERRATA_743622
 	bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
 	bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
 	depends on CPU_V7
 	depends on CPU_V7
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 743622 Cortex-A9
 	  This option enables the workaround for the 743622 Cortex-A9
 	  (r2p*) erratum. Under very rare conditions, a faulty
 	  (r2p*) erratum. Under very rare conditions, a faulty
@@ -1330,6 +1334,7 @@ config ARM_ERRATA_743622
 config ARM_ERRATA_751472
 config ARM_ERRATA_751472
 	bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
 	bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
 	depends on CPU_V7
 	depends on CPU_V7
+	depends on !ARCH_MULTIPLATFORM
 	help
 	help
 	  This option enables the workaround for the 751472 Cortex-A9 (prior
 	  This option enables the workaround for the 751472 Cortex-A9 (prior
 	  to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
 	  to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the

+ 1 - 0
arch/arm/boot/dts/Makefile

@@ -155,6 +155,7 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
 dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
 dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
 
 
 targets += dtbs
 targets += dtbs
+targets += $(dtb-y)
 endif
 endif
 
 
 # *.dtb used to be generated in the directory above. Clean out the
 # *.dtb used to be generated in the directory above. Clean out the

+ 1 - 1
arch/arm/boot/dts/armada-370-db.dts

@@ -26,7 +26,7 @@
 
 
 	memory {
 	memory {
 		device_type = "memory";
 		device_type = "memory";
-		reg = <0x00000000 0x20000000>; /* 512 MB */
+		reg = <0x00000000 0x40000000>; /* 1 GB */
 	};
 	};
 
 
 	soc {
 	soc {

+ 4 - 2
arch/arm/boot/dts/armada-370-xp.dtsi

@@ -50,17 +50,19 @@
 		ranges;
 		ranges;
 
 
 		serial@d0012000 {
 		serial@d0012000 {
-				compatible = "ns16550";
+				compatible = "snps,dw-apb-uart";
 				reg = <0xd0012000 0x100>;
 				reg = <0xd0012000 0x100>;
 				reg-shift = <2>;
 				reg-shift = <2>;
 				interrupts = <41>;
 				interrupts = <41>;
+				reg-io-width = <4>;
 				status = "disabled";
 				status = "disabled";
 		};
 		};
 		serial@d0012100 {
 		serial@d0012100 {
-				compatible = "ns16550";
+				compatible = "snps,dw-apb-uart";
 				reg = <0xd0012100 0x100>;
 				reg = <0xd0012100 0x100>;
 				reg-shift = <2>;
 				reg-shift = <2>;
 				interrupts = <42>;
 				interrupts = <42>;
+				reg-io-width = <4>;
 				status = "disabled";
 				status = "disabled";
 		};
 		};
 
 

+ 14 - 9
arch/arm/boot/dts/armada-xp-mv78230.dtsi

@@ -34,7 +34,14 @@
 		reg = <0>;
 		reg = <0>;
 		clocks = <&cpuclk 0>;
 		clocks = <&cpuclk 0>;
 	    };
 	    };
-	}
+
+	    cpu@1 {
+		device_type = "cpu";
+		compatible = "marvell,sheeva-v7";
+		reg = <1>;
+		clocks = <&cpuclk 1>;
+	    };
+	};
 
 
 	soc {
 	soc {
 		pinctrl {
 		pinctrl {
@@ -43,27 +50,25 @@
 		};
 		};
 
 
 		gpio0: gpio@d0018100 {
 		gpio0: gpio@d0018100 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018100 0x40>,
-			    <0xd0018800 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018100 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <16>, <17>, <18>, <19>;
+			interrupts = <82>, <83>, <84>, <85>;
 		};
 		};
 
 
 		gpio1: gpio@d0018140 {
 		gpio1: gpio@d0018140 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018140 0x40>,
-			    <0xd0018840 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018140 0x40>;
 			ngpios = <17>;
 			ngpios = <17>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <20>, <21>, <22>;
+			interrupts = <87>, <88>, <89>;
 		};
 		};
 	};
 	};
 };
 };

+ 17 - 12
arch/arm/boot/dts/armada-xp-mv78260.dtsi

@@ -51,39 +51,44 @@
 		};
 		};
 
 
 		gpio0: gpio@d0018100 {
 		gpio0: gpio@d0018100 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018100 0x40>,
-			    <0xd0018800 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018100 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <16>, <17>, <18>, <19>;
+			interrupts = <82>, <83>, <84>, <85>;
 		};
 		};
 
 
 		gpio1: gpio@d0018140 {
 		gpio1: gpio@d0018140 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018140 0x40>,
-			    <0xd0018840 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018140 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <20>, <21>, <22>, <23>;
+			interrupts = <87>, <88>, <89>, <90>;
 		};
 		};
 
 
 		gpio2: gpio@d0018180 {
 		gpio2: gpio@d0018180 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018180 0x40>,
-			    <0xd0018870 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018180 0x40>;
 			ngpios = <3>;
 			ngpios = <3>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <24>;
+			interrupts = <91>;
+		};
+
+		ethernet@d0034000 {
+				compatible = "marvell,armada-370-neta";
+				reg = <0xd0034000 0x2500>;
+				interrupts = <14>;
+				clocks = <&gateclk 1>;
+				status = "disabled";
 		};
 		};
 	};
 	};
 };
 };

+ 17 - 12
arch/arm/boot/dts/armada-xp-mv78460.dtsi

@@ -66,39 +66,44 @@
 		};
 		};
 
 
 		gpio0: gpio@d0018100 {
 		gpio0: gpio@d0018100 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018100 0x40>,
-			    <0xd0018800 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018100 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <16>, <17>, <18>, <19>;
+			interrupts = <82>, <83>, <84>, <85>;
 		};
 		};
 
 
 		gpio1: gpio@d0018140 {
 		gpio1: gpio@d0018140 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018140 0x40>,
-			    <0xd0018840 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018140 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <20>, <21>, <22>, <23>;
+			interrupts = <87>, <88>, <89>, <90>;
 		};
 		};
 
 
 		gpio2: gpio@d0018180 {
 		gpio2: gpio@d0018180 {
-			compatible = "marvell,armadaxp-gpio";
-			reg = <0xd0018180 0x40>,
-			    <0xd0018870 0x30>;
+			compatible = "marvell,orion-gpio";
+			reg = <0xd0018180 0x40>;
 			ngpios = <3>;
 			ngpios = <3>;
 			gpio-controller;
 			gpio-controller;
 			#gpio-cells = <2>;
 			#gpio-cells = <2>;
 			interrupt-controller;
 			interrupt-controller;
 			#interrupts-cells = <2>;
 			#interrupts-cells = <2>;
-			interrupts = <24>;
+			interrupts = <91>;
+		};
+
+		ethernet@d0034000 {
+				compatible = "marvell,armada-370-neta";
+				reg = <0xd0034000 0x2500>;
+				interrupts = <14>;
+				clocks = <&gateclk 1>;
+				status = "disabled";
 		};
 		};
 	};
 	};
  };
  };

+ 4 - 10
arch/arm/boot/dts/armada-xp.dtsi

@@ -42,17 +42,19 @@
 
 
 	soc {
 	soc {
 		serial@d0012200 {
 		serial@d0012200 {
-				compatible = "ns16550";
+				compatible = "snps,dw-apb-uart";
 				reg = <0xd0012200 0x100>;
 				reg = <0xd0012200 0x100>;
 				reg-shift = <2>;
 				reg-shift = <2>;
 				interrupts = <43>;
 				interrupts = <43>;
+				reg-io-width = <4>;
 				status = "disabled";
 				status = "disabled";
 		};
 		};
 		serial@d0012300 {
 		serial@d0012300 {
-				compatible = "ns16550";
+				compatible = "snps,dw-apb-uart";
 				reg = <0xd0012300 0x100>;
 				reg = <0xd0012300 0x100>;
 				reg-shift = <2>;
 				reg-shift = <2>;
 				interrupts = <44>;
 				interrupts = <44>;
+				reg-io-width = <4>;
 				status = "disabled";
 				status = "disabled";
 		};
 		};
 
 
@@ -93,14 +95,6 @@
 				status = "disabled";
 				status = "disabled";
 		};
 		};
 
 
-		ethernet@d0034000 {
-				compatible = "marvell,armada-370-neta";
-				reg = <0xd0034000 0x2500>;
-				interrupts = <14>;
-				clocks = <&gateclk 1>;
-				status = "disabled";
-		};
-
 		xor@d0060900 {
 		xor@d0060900 {
 			compatible = "marvell,orion-xor";
 			compatible = "marvell,orion-xor";
 			reg = <0xd0060900 0x100
 			reg = <0xd0060900 0x100

+ 2 - 2
arch/arm/boot/dts/at91rm9200.dtsi

@@ -336,8 +336,8 @@
 
 
 	i2c@0 {
 	i2c@0 {
 		compatible = "i2c-gpio";
 		compatible = "i2c-gpio";
-		gpios = <&pioA 23 0 /* sda */
-			 &pioA 24 0 /* scl */
+		gpios = <&pioA 25 0 /* sda */
+			 &pioA 26 0 /* scl */
 			>;
 			>;
 		i2c-gpio,sda-open-drain;
 		i2c-gpio,sda-open-drain;
 		i2c-gpio,scl-open-drain;
 		i2c-gpio,scl-open-drain;

+ 18 - 0
arch/arm/boot/dts/at91sam9260.dtsi

@@ -306,6 +306,22 @@
 					};
 					};
 				};
 				};
 
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<1 16 0x1 0x0	/* PB16 periph A */
+							 1 17 0x1 0x0	/* PB17 periph A */
+							 1 18 0x1 0x0>;	/* PB18 periph A */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<1 19 0x1 0x0	/* PB19 periph A */
+							 1 20 0x1 0x0	/* PB20 periph A */
+							 1 21 0x1 0x0>;	/* PB21 periph A */
+					};
+				};
+
 				pioA: gpio@fffff400 {
 				pioA: gpio@fffff400 {
 					compatible = "atmel,at91rm9200-gpio";
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
 					reg = <0xfffff400 0x200>;
@@ -450,6 +466,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfffbc000 0x4000>;
 				reg = <0xfffbc000 0x4000>;
 				interrupts = <14 4 5>;
 				interrupts = <14 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 

+ 36 - 0
arch/arm/boot/dts/at91sam9263.dtsi

@@ -271,6 +271,38 @@
 					};
 					};
 				};
 				};
 
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<1 0 0x2 0x0	/* PB0 periph B */
+							 1 1 0x2 0x0	/* PB1 periph B */
+							 1 2 0x2 0x0>;	/* PB2 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<1 3 0x2 0x0	/* PB3 periph B */
+							 1 4 0x2 0x0	/* PB4 periph B */
+							 1 5 0x2 0x0>;	/* PB5 periph B */
+					};
+				};
+
+				ssc1 {
+					pinctrl_ssc1_tx: ssc1_tx-0 {
+						atmel,pins =
+							<1 6 0x1 0x0	/* PB6 periph A */
+							 1 7 0x1 0x0	/* PB7 periph A */
+							 1 8 0x1 0x0>;	/* PB8 periph A */
+					};
+
+					pinctrl_ssc1_rx: ssc1_rx-0 {
+						atmel,pins =
+							<1 9 0x1 0x0	/* PB9 periph A */
+							 1 10 0x1 0x0	/* PB10 periph A */
+							 1 11 0x1 0x0>;	/* PB11 periph A */
+					};
+				};
+
 				pioA: gpio@fffff200 {
 				pioA: gpio@fffff200 {
 					compatible = "atmel,at91rm9200-gpio";
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff200 0x200>;
 					reg = <0xfffff200 0x200>;
@@ -368,6 +400,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfff98000 0x4000>;
 				reg = <0xfff98000 0x4000>;
 				interrupts = <16 4 5>;
 				interrupts = <16 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -375,6 +409,8 @@
 				compatible = "atmel,at91rm9200-ssc";
 				compatible = "atmel,at91rm9200-ssc";
 				reg = <0xfff9c000 0x4000>;
 				reg = <0xfff9c000 0x4000>;
 				interrupts = <17 4 5>;
 				interrupts = <17 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 

+ 36 - 0
arch/arm/boot/dts/at91sam9g45.dtsi

@@ -290,6 +290,38 @@
 					};
 					};
 				};
 				};
 
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<3 0 0x1 0x0	/* PD0 periph A */
+							 3 1 0x1 0x0	/* PD1 periph A */
+							 3 2 0x1 0x0>;	/* PD2 periph A */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<3 3 0x1 0x0	/* PD3 periph A */
+							 3 4 0x1 0x0	/* PD4 periph A */
+							 3 5 0x1 0x0>;	/* PD5 periph A */
+					};
+				};
+
+				ssc1 {
+					pinctrl_ssc1_tx: ssc1_tx-0 {
+						atmel,pins =
+							<3 10 0x1 0x0	/* PD10 periph A */
+							 3 11 0x1 0x0	/* PD11 periph A */
+							 3 12 0x1 0x0>;	/* PD12 periph A */
+					};
+
+					pinctrl_ssc1_rx: ssc1_rx-0 {
+						atmel,pins =
+							<3 13 0x1 0x0	/* PD13 periph A */
+							 3 14 0x1 0x0	/* PD14 periph A */
+							 3 15 0x1 0x0>;	/* PD15 periph A */
+					};
+				};
+
 				pioA: gpio@fffff200 {
 				pioA: gpio@fffff200 {
 					compatible = "atmel,at91rm9200-gpio";
 					compatible = "atmel,at91rm9200-gpio";
 					reg = <0xfffff200 0x200>;
 					reg = <0xfffff200 0x200>;
@@ -425,6 +457,8 @@
 				compatible = "atmel,at91sam9g45-ssc";
 				compatible = "atmel,at91sam9g45-ssc";
 				reg = <0xfff9c000 0x4000>;
 				reg = <0xfff9c000 0x4000>;
 				interrupts = <16 4 5>;
 				interrupts = <16 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
@@ -432,6 +466,8 @@
 				compatible = "atmel,at91sam9g45-ssc";
 				compatible = "atmel,at91sam9g45-ssc";
 				reg = <0xfffa0000 0x4000>;
 				reg = <0xfffa0000 0x4000>;
 				interrupts = <17 4 5>;
 				interrupts = <17 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 

+ 26 - 0
arch/arm/boot/dts/at91sam9n12.dtsi

@@ -28,6 +28,7 @@
 		tcb1 = &tcb1;
 		tcb1 = &tcb1;
 		i2c0 = &i2c0;
 		i2c0 = &i2c0;
 		i2c1 = &i2c1;
 		i2c1 = &i2c1;
+		ssc0 = &ssc0;
 	};
 	};
 	cpus {
 	cpus {
 		cpu@0 {
 		cpu@0 {
@@ -244,6 +245,22 @@
 					};
 					};
 				};
 				};
 
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<0 24 0x2 0x0	/* PA24 periph B */
+							 0 25 0x2 0x0	/* PA25 periph B */
+							 0 26 0x2 0x0>;	/* PA26 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<0 27 0x2 0x0	/* PA27 periph B */
+							 0 28 0x2 0x0	/* PA28 periph B */
+							 0 29 0x2 0x0>;	/* PA29 periph B */
+					};
+				};
+
 				pioA: gpio@fffff400 {
 				pioA: gpio@fffff400 {
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
 					reg = <0xfffff400 0x200>;
@@ -294,6 +311,15 @@
 				status = "disabled";
 				status = "disabled";
 			};
 			};
 
 
+			ssc0: ssc@f0010000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xf0010000 0x4000>;
+				interrupts = <28 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
+				status = "disabled";
+			};
+
 			usart0: serial@f801c000 {
 			usart0: serial@f801c000 {
 				compatible = "atmel,at91sam9260-usart";
 				compatible = "atmel,at91sam9260-usart";
 				reg = <0xf801c000 0x4000>;
 				reg = <0xf801c000 0x4000>;

+ 65 - 27
arch/arm/boot/dts/at91sam9x5.dtsi

@@ -88,13 +88,6 @@
 				interrupts = <1 4 7>;
 				interrupts = <1 4 7>;
 			};
 			};
 
 
-			ssc0: ssc@f0010000 {
-				compatible = "atmel,at91sam9g45-ssc";
-				reg = <0xf0010000 0x4000>;
-				interrupts = <28 4 5>;
-				status = "disabled";
-			};
-
 			tcb0: timer@f8008000 {
 			tcb0: timer@f8008000 {
 				compatible = "atmel,at91sam9x5-tcb";
 				compatible = "atmel,at91sam9x5-tcb";
 				reg = <0xf8008000 0x100>;
 				reg = <0xf8008000 0x100>;
@@ -150,6 +143,11 @@
 						atmel,pins =
 						atmel,pins =
 							<0 3 0x1 0x0>;	/* PA3 periph A */
 							<0 3 0x1 0x0>;	/* PA3 periph A */
 					};
 					};
+
+					pinctrl_usart0_sck: usart0_sck-0 {
+						atmel,pins =
+							<0 4 0x1 0x0>;	/* PA4 periph A */
+					};
 				};
 				};
 
 
 				usart1 {
 				usart1 {
@@ -161,12 +159,17 @@
 
 
 					pinctrl_usart1_rts: usart1_rts-0 {
 					pinctrl_usart1_rts: usart1_rts-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 27 0x3 0x0>;	/* PC27 periph C */
+							<2 27 0x3 0x0>;	/* PC27 periph C */
 					};
 					};
 
 
 					pinctrl_usart1_cts: usart1_cts-0 {
 					pinctrl_usart1_cts: usart1_cts-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 28 0x3 0x0>;	/* PC28 periph C */
+							<2 28 0x3 0x0>;	/* PC28 periph C */
+					};
+
+					pinctrl_usart1_sck: usart1_sck-0 {
+						atmel,pins =
+							<2 28 0x3 0x0>;	/* PC29 periph C */
 					};
 					};
 				};
 				};
 
 
@@ -179,46 +182,56 @@
 
 
 					pinctrl_uart2_rts: uart2_rts-0 {
 					pinctrl_uart2_rts: uart2_rts-0 {
 						atmel,pins =
 						atmel,pins =
-							<0 0 0x2 0x0>;	/* PB0 periph B */
+							<1 0 0x2 0x0>;	/* PB0 periph B */
 					};
 					};
 
 
 					pinctrl_uart2_cts: uart2_cts-0 {
 					pinctrl_uart2_cts: uart2_cts-0 {
 						atmel,pins =
 						atmel,pins =
-							<0 1 0x2 0x0>;	/* PB1 periph B */
+							<1 1 0x2 0x0>;	/* PB1 periph B */
+					};
+
+					pinctrl_usart2_sck: usart2_sck-0 {
+						atmel,pins =
+							<1 2 0x2 0x0>;	/* PB2 periph B */
 					};
 					};
 				};
 				};
 
 
 				usart3 {
 				usart3 {
 					pinctrl_uart3: usart3-0 {
 					pinctrl_uart3: usart3-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 23 0x2 0x1	/* PC22 periph B with pullup */
-							 3 23 0x2 0x0>;	/* PC23 periph B */
+							<2 23 0x2 0x1	/* PC22 periph B with pullup */
+							 2 23 0x2 0x0>;	/* PC23 periph B */
 					};
 					};
 
 
 					pinctrl_usart3_rts: usart3_rts-0 {
 					pinctrl_usart3_rts: usart3_rts-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 24 0x2 0x0>;	/* PC24 periph B */
+							<2 24 0x2 0x0>;	/* PC24 periph B */
 					};
 					};
 
 
 					pinctrl_usart3_cts: usart3_cts-0 {
 					pinctrl_usart3_cts: usart3_cts-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 25 0x2 0x0>;	/* PC25 periph B */
+							<2 25 0x2 0x0>;	/* PC25 periph B */
+					};
+
+					pinctrl_usart3_sck: usart3_sck-0 {
+						atmel,pins =
+							<2 26 0x2 0x0>;	/* PC26 periph B */
 					};
 					};
 				};
 				};
 
 
 				uart0 {
 				uart0 {
 					pinctrl_uart0: uart0-0 {
 					pinctrl_uart0: uart0-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 8 0x3 0x0	/* PC8 periph C */
-							 3 9 0x3 0x1>;	/* PC9 periph C with pullup */
+							<2 8 0x3 0x0	/* PC8 periph C */
+							 2 9 0x3 0x1>;	/* PC9 periph C with pullup */
 					};
 					};
 				};
 				};
 
 
 				uart1 {
 				uart1 {
 					pinctrl_uart1: uart1-0 {
 					pinctrl_uart1: uart1-0 {
 						atmel,pins =
 						atmel,pins =
-							<3 16 0x3 0x0	/* PC16 periph C */
-							 3 17 0x3 0x1>;	/* PC17 periph C with pullup */
+							<2 16 0x3 0x0	/* PC16 periph C */
+							 2 17 0x3 0x1>;	/* PC17 periph C with pullup */
 					};
 					};
 				};
 				};
 
 
@@ -247,14 +260,14 @@
 
 
 					pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
 					pinctrl_macb0_rmii_mii: macb0_rmii_mii-0 {
 						atmel,pins =
 						atmel,pins =
-							<1 8 0x1 0x0	/* PA8 periph A */
-							 1 11 0x1 0x0	/* PA11 periph A */
-							 1 12 0x1 0x0	/* PA12 periph A */
-							 1 13 0x1 0x0	/* PA13 periph A */
-							 1 14 0x1 0x0	/* PA14 periph A */
-							 1 15 0x1 0x0	/* PA15 periph A */
-							 1 16 0x1 0x0	/* PA16 periph A */
-							 1 17 0x1 0x0>;	/* PA17 periph A */
+							<1 8 0x1 0x0	/* PB8 periph A */
+							 1 11 0x1 0x0	/* PB11 periph A */
+							 1 12 0x1 0x0	/* PB12 periph A */
+							 1 13 0x1 0x0	/* PB13 periph A */
+							 1 14 0x1 0x0	/* PB14 periph A */
+							 1 15 0x1 0x0	/* PB15 periph A */
+							 1 16 0x1 0x0	/* PB16 periph A */
+							 1 17 0x1 0x0>;	/* PB17 periph A */
 					};
 					};
 				};
 				};
 
 
@@ -290,6 +303,22 @@
 					};
 					};
 				};
 				};
 
 
+				ssc0 {
+					pinctrl_ssc0_tx: ssc0_tx-0 {
+						atmel,pins =
+							<0 24 0x2 0x0	/* PA24 periph B */
+							 0 25 0x2 0x0	/* PA25 periph B */
+							 0 26 0x2 0x0>;	/* PA26 periph B */
+					};
+
+					pinctrl_ssc0_rx: ssc0_rx-0 {
+						atmel,pins =
+							<0 27 0x2 0x0	/* PA27 periph B */
+							 0 28 0x2 0x0	/* PA28 periph B */
+							 0 29 0x2 0x0>;	/* PA29 periph B */
+					};
+				};
+
 				pioA: gpio@fffff400 {
 				pioA: gpio@fffff400 {
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					compatible = "atmel,at91sam9x5-gpio", "atmel,at91rm9200-gpio";
 					reg = <0xfffff400 0x200>;
 					reg = <0xfffff400 0x200>;
@@ -333,6 +362,15 @@
 				};
 				};
 			};
 			};
 
 
+			ssc0: ssc@f0010000 {
+				compatible = "atmel,at91sam9g45-ssc";
+				reg = <0xf0010000 0x4000>;
+				interrupts = <28 4 5>;
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
+				status = "disabled";
+			};
+
 			mmc0: mmc@f0008000 {
 			mmc0: mmc@f0008000 {
 				compatible = "atmel,hsmci";
 				compatible = "atmel,hsmci";
 				reg = <0xf0008000 0x600>;
 				reg = <0xf0008000 0x600>;

+ 6 - 6
arch/arm/boot/dts/cros5250-common.dtsi

@@ -96,8 +96,8 @@
 		fifo-depth = <0x80>;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-ciu-div = <3>;
-		samsung,dw-mshc-sdr-timing = <2 3 3>;
-		samsung,dw-mshc-ddr-timing = <1 2 3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
 
 
 		slot@0 {
 		slot@0 {
 			reg = <0>;
 			reg = <0>;
@@ -120,8 +120,8 @@
 		fifo-depth = <0x80>;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-ciu-div = <3>;
-		samsung,dw-mshc-sdr-timing = <2 3 3>;
-		samsung,dw-mshc-ddr-timing = <1 2 3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
 
 
 		slot@0 {
 		slot@0 {
 			reg = <0>;
 			reg = <0>;
@@ -141,8 +141,8 @@
 		fifo-depth = <0x80>;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-ciu-div = <3>;
-		samsung,dw-mshc-sdr-timing = <2 3 3>;
-		samsung,dw-mshc-ddr-timing = <1 2 3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
 
 
 		slot@0 {
 		slot@0 {
 			reg = <0>;
 			reg = <0>;

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

@@ -170,7 +170,9 @@
 			gpio-bank = <8>;
 			gpio-bank = <8>;
 		};
 		};
 
 
-		pinctrl {
+		pinctrl@80157000 {
+			// This is actually the PRCMU base address
+			reg = <0x80157000 0x2000>;
 			compatible = "stericsson,nmk_pinctrl";
 			compatible = "stericsson,nmk_pinctrl";
 		};
 		};
 
 

+ 12 - 2
arch/arm/boot/dts/dove-cubox.dts

@@ -26,10 +26,15 @@
 };
 };
 
 
 &uart0 { status = "okay"; };
 &uart0 { status = "okay"; };
-&sdio0 { status = "okay"; };
 &sata0 { status = "okay"; };
 &sata0 { status = "okay"; };
 &i2c0 { status = "okay"; };
 &i2c0 { status = "okay"; };
 
 
+&sdio0 {
+	status = "okay";
+	/* sdio0 card detect is connected to wrong pin on CuBox */
+	cd-gpios = <&gpio0 12 1>;
+};
+
 &spi0 {
 &spi0 {
 	status = "okay";
 	status = "okay";
 
 
@@ -42,9 +47,14 @@
 };
 };
 
 
 &pinctrl {
 &pinctrl {
-	pinctrl-0 = <&pmx_gpio_18>;
+	pinctrl-0 = <&pmx_gpio_12 &pmx_gpio_18>;
 	pinctrl-names = "default";
 	pinctrl-names = "default";
 
 
+	pmx_gpio_12: pmx-gpio-12 {
+		marvell,pins = "mpp12";
+		marvell,function = "gpio";
+	};
+
 	pmx_gpio_18: pmx-gpio-18 {
 	pmx_gpio_18: pmx-gpio-18 {
 		marvell,pins = "mpp18";
 		marvell,pins = "mpp18";
 		marvell,function = "gpio";
 		marvell,function = "gpio";

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

@@ -117,6 +117,7 @@
 		pinctrl: pinctrl@d0200 {
 		pinctrl: pinctrl@d0200 {
 			compatible = "marvell,dove-pinctrl";
 			compatible = "marvell,dove-pinctrl";
 			reg = <0xd0200 0x10>;
 			reg = <0xd0200 0x10>;
+			clocks = <&gate_clk 22>;
 		};
 		};
 
 
 		spi0: spi@10600 {
 		spi0: spi@10600 {

+ 4 - 0
arch/arm/boot/dts/ecx-2000.dts

@@ -32,6 +32,7 @@
 
 
 		cpu@0 {
 		cpu@0 {
 			compatible = "arm,cortex-a15";
 			compatible = "arm,cortex-a15";
+			device_type = "cpu";
 			reg = <0>;
 			reg = <0>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
@@ -39,6 +40,7 @@
 
 
 		cpu@1 {
 		cpu@1 {
 			compatible = "arm,cortex-a15";
 			compatible = "arm,cortex-a15";
+			device_type = "cpu";
 			reg = <1>;
 			reg = <1>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
@@ -46,6 +48,7 @@
 
 
 		cpu@2 {
 		cpu@2 {
 			compatible = "arm,cortex-a15";
 			compatible = "arm,cortex-a15";
+			device_type = "cpu";
 			reg = <2>;
 			reg = <2>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
@@ -53,6 +56,7 @@
 
 
 		cpu@3 {
 		cpu@3 {
 			compatible = "arm,cortex-a15";
 			compatible = "arm,cortex-a15";
+			device_type = "cpu";
 			reg = <3>;
 			reg = <3>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";

+ 1 - 1
arch/arm/boot/dts/exynos4210-smdkv310.dts

@@ -26,7 +26,7 @@
 	};
 	};
 
 
 	chosen {
 	chosen {
-		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC2,115200 init=/linuxrc";
+		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
 	};
 	};
 
 
 	sdhci@12530000 {
 	sdhci@12530000 {

+ 4 - 4
arch/arm/boot/dts/exynos5250-smdk5250.dts

@@ -115,8 +115,8 @@
 		fifo-depth = <0x80>;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-ciu-div = <3>;
-		samsung,dw-mshc-sdr-timing = <2 3 3>;
-		samsung,dw-mshc-ddr-timing = <1 2 3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
 
 
 		slot@0 {
 		slot@0 {
 			reg = <0>;
 			reg = <0>;
@@ -139,8 +139,8 @@
 		fifo-depth = <0x80>;
 		fifo-depth = <0x80>;
 		card-detect-delay = <200>;
 		card-detect-delay = <200>;
 		samsung,dw-mshc-ciu-div = <3>;
 		samsung,dw-mshc-ciu-div = <3>;
-		samsung,dw-mshc-sdr-timing = <2 3 3>;
-		samsung,dw-mshc-ddr-timing = <1 2 3>;
+		samsung,dw-mshc-sdr-timing = <2 3>;
+		samsung,dw-mshc-ddr-timing = <1 2>;
 
 
 		slot@0 {
 		slot@0 {
 			reg = <0>;
 			reg = <0>;

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

@@ -574,7 +574,7 @@
 
 
 	hdmi {
 	hdmi {
 		compatible = "samsung,exynos5-hdmi";
 		compatible = "samsung,exynos5-hdmi";
-		reg = <0x14530000 0x100000>;
+		reg = <0x14530000 0x70000>;
 		interrupts = <0 95 0>;
 		interrupts = <0 95 0>;
 	};
 	};
 
 

+ 1 - 1
arch/arm/boot/dts/exynos5440-ssdk5440.dts

@@ -21,7 +21,7 @@
 	};
 	};
 
 
 	chosen {
 	chosen {
-		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC2,115200 init=/linuxrc";
+		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x81000000,8M console=ttySAC0,115200 init=/linuxrc";
 	};
 	};
 
 
 	spi {
 	spi {

+ 12 - 8
arch/arm/boot/dts/highbank.dts

@@ -30,33 +30,37 @@
 		#address-cells = <1>;
 		#address-cells = <1>;
 		#size-cells = <0>;
 		#size-cells = <0>;
 
 
-		cpu@0 {
+		cpu@900 {
 			compatible = "arm,cortex-a9";
 			compatible = "arm,cortex-a9";
-			reg = <0>;
+			device_type = "cpu";
+			reg = <0x900>;
 			next-level-cache = <&L2>;
 			next-level-cache = <&L2>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
 		};
 		};
 
 
-		cpu@1 {
+		cpu@901 {
 			compatible = "arm,cortex-a9";
 			compatible = "arm,cortex-a9";
-			reg = <1>;
+			device_type = "cpu";
+			reg = <0x901>;
 			next-level-cache = <&L2>;
 			next-level-cache = <&L2>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
 		};
 		};
 
 
-		cpu@2 {
+		cpu@902 {
 			compatible = "arm,cortex-a9";
 			compatible = "arm,cortex-a9";
-			reg = <2>;
+			device_type = "cpu";
+			reg = <0x902>;
 			next-level-cache = <&L2>;
 			next-level-cache = <&L2>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";
 		};
 		};
 
 
-		cpu@3 {
+		cpu@903 {
 			compatible = "arm,cortex-a9";
 			compatible = "arm,cortex-a9";
-			reg = <3>;
+			device_type = "cpu";
+			reg = <0x903>;
 			next-level-cache = <&L2>;
 			next-level-cache = <&L2>;
 			clocks = <&a9pll>;
 			clocks = <&a9pll>;
 			clock-names = "cpu";
 			clock-names = "cpu";

+ 4 - 4
arch/arm/boot/dts/imx23-olinuxino.dts

@@ -39,17 +39,17 @@
 				hog_pins_a: hog@0 {
 				hog_pins_a: hog@0 {
 					reg = <0>;
 					reg = <0>;
 					fsl,pinmux-ids = <
 					fsl,pinmux-ids = <
-						0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
+						0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */
 					>;
 					>;
 					fsl,drive-strength = <0>;
 					fsl,drive-strength = <0>;
 					fsl,voltage = <1>;
 					fsl,voltage = <1>;
 					fsl,pull-up = <0>;
 					fsl,pull-up = <0>;
 				};
 				};
 
 
-				led_pin_gpio0_17: led_gpio0_17@0 {
+				led_pin_gpio2_1: led_gpio2_1@0 {
 					reg = <0>;
 					reg = <0>;
 					fsl,pinmux-ids = <
 					fsl,pinmux-ids = <
-						0x0113 /* MX23_PAD_GPMI_ALE__GPIO_0_17 */
+						0x2013 /* MX23_PAD_SSP1_DETECT__GPIO_2_1 */
 					>;
 					>;
 					fsl,drive-strength = <0>;
 					fsl,drive-strength = <0>;
 					fsl,voltage = <1>;
 					fsl,voltage = <1>;
@@ -110,7 +110,7 @@
 	leds {
 	leds {
 		compatible = "gpio-leds";
 		compatible = "gpio-leds";
 		pinctrl-names = "default";
 		pinctrl-names = "default";
-		pinctrl-0 = <&led_pin_gpio0_17>;
+		pinctrl-0 = <&led_pin_gpio2_1>;
 
 
 		user {
 		user {
 			label = "green";
 			label = "green";

+ 1 - 1
arch/arm/boot/dts/imx31-bug.dts

@@ -14,7 +14,7 @@
 
 
 / {
 / {
 	model = "Buglabs i.MX31 Bug 1.x";
 	model = "Buglabs i.MX31 Bug 1.x";
-	compatible = "fsl,imx31-bug", "fsl,imx31";
+	compatible = "buglabs,imx31-bug", "fsl,imx31";
 
 
 	memory {
 	memory {
 		reg = <0x80000000 0x8000000>; /* 128M */
 		reg = <0x80000000 0x8000000>; /* 128M */

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

@@ -492,7 +492,7 @@
 				compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
 				compatible = "fsl,imx53-flexcan", "fsl,p1010-flexcan";
 				reg = <0x53fcc000 0x4000>;
 				reg = <0x53fcc000 0x4000>;
 				interrupts = <83>;
 				interrupts = <83>;
-				clocks = <&clks 158>, <&clks 157>;
+				clocks = <&clks 87>, <&clks 86>;
 				clock-names = "ipg", "per";
 				clock-names = "ipg", "per";
 				status = "disabled";
 				status = "disabled";
 			};
 			};

+ 1 - 0
arch/arm/boot/dts/kirkwood-6282.dtsi

@@ -39,6 +39,7 @@
 			#size-cells = <0>;
 			#size-cells = <0>;
 			interrupts = <32>;
 			interrupts = <32>;
 			clock-frequency = <100000>;
 			clock-frequency = <100000>;
+			clocks = <&gate_clk 7>;
 			status = "disabled";
 			status = "disabled";
 		};
 		};
 	};
 	};

+ 16 - 0
arch/arm/boot/dts/kirkwood-ns2-common.dtsi

@@ -1,4 +1,5 @@
 /include/ "kirkwood.dtsi"
 /include/ "kirkwood.dtsi"
+/include/ "kirkwood-6281.dtsi"
 
 
 / {
 / {
 	chosen {
 	chosen {
@@ -6,6 +7,21 @@
 	};
 	};
 
 
 	ocp@f1000000 {
 	ocp@f1000000 {
+		pinctrl: pinctrl@10000 {
+			pinctrl-0 = < &pmx_spi &pmx_twsi0 &pmx_uart0
+					&pmx_ns2_sata0 &pmx_ns2_sata1>;
+			pinctrl-names = "default";
+
+			pmx_ns2_sata0: pmx-ns2-sata0 {
+				marvell,pins = "mpp21";
+				marvell,function = "sata0";
+			};
+			pmx_ns2_sata1: pmx-ns2-sata1 {
+				marvell,pins = "mpp20";
+				marvell,function = "sata1";
+			};
+		};
+
 		serial@12000 {
 		serial@12000 {
 			clock-frequency = <166666667>;
 			clock-frequency = <166666667>;
 			status = "okay";
 			status = "okay";

+ 17 - 0
arch/arm/boot/dts/kirkwood-topkick.dts

@@ -82,4 +82,21 @@
 			gpios = <&gpio1 16 1>;
 			gpios = <&gpio1 16 1>;
 		};
 		};
 	};
 	};
+	regulators {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <0>;
+
+		sata0_power: regulator@1 {
+			compatible = "regulator-fixed";
+			reg = <1>;
+			regulator-name = "SATA0 Power";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			enable-active-high;
+			regulator-always-on;
+			regulator-boot-on;
+			gpio = <&gpio1 4 0>;
+		};
+	};
 };
 };

+ 3 - 0
arch/arm/boot/dts/kirkwood.dtsi

@@ -36,6 +36,7 @@
 			reg = <0x10100 0x40>;
 			reg = <0x10100 0x40>;
 			ngpios = <32>;
 			ngpios = <32>;
 			interrupt-controller;
 			interrupt-controller;
+			#interrupt-cells = <2>;
 			interrupts = <35>, <36>, <37>, <38>;
 			interrupts = <35>, <36>, <37>, <38>;
 		};
 		};
 
 
@@ -46,6 +47,7 @@
 			reg = <0x10140 0x40>;
 			reg = <0x10140 0x40>;
 			ngpios = <18>;
 			ngpios = <18>;
 			interrupt-controller;
 			interrupt-controller;
+			#interrupt-cells = <2>;
 			interrupts = <39>, <40>, <41>;
 			interrupts = <39>, <40>, <41>;
 		};
 		};
 
 
@@ -144,6 +146,7 @@
 			compatible = "marvell,orion-ehci";
 			compatible = "marvell,orion-ehci";
 			reg = <0x50000 0x1000>;
 			reg = <0x50000 0x1000>;
 			interrupts = <19>;
 			interrupts = <19>;
+			clocks = <&gate_clk 3>;
 			status = "okay";
 			status = "okay";
 		};
 		};
 
 

+ 2 - 0
arch/arm/boot/dts/kizbox.dts

@@ -48,6 +48,8 @@
 
 
 			macb0: ethernet@fffc4000 {
 			macb0: ethernet@fffc4000 {
 				phy-mode = "mii";
 				phy-mode = "mii";
+				pinctrl-0 = <&pinctrl_macb_rmii
+				             &pinctrl_macb_rmii_mii_alt>;
 				status = "okay";
 				status = "okay";
 			};
 			};
 
 

+ 4 - 2
arch/arm/boot/dts/sunxi.dtsi

@@ -60,19 +60,21 @@
 		};
 		};
 
 
 		uart0: uart@01c28000 {
 		uart0: uart@01c28000 {
-			compatible = "ns8250";
+			compatible = "snps,dw-apb-uart";
 			reg = <0x01c28000 0x400>;
 			reg = <0x01c28000 0x400>;
 			interrupts = <1>;
 			interrupts = <1>;
 			reg-shift = <2>;
 			reg-shift = <2>;
+			reg-io-width = <4>;
 			clock-frequency = <24000000>;
 			clock-frequency = <24000000>;
 			status = "disabled";
 			status = "disabled";
 		};
 		};
 
 
 		uart1: uart@01c28400 {
 		uart1: uart@01c28400 {
-			compatible = "ns8250";
+			compatible = "snps,dw-apb-uart";
 			reg = <0x01c28400 0x400>;
 			reg = <0x01c28400 0x400>;
 			interrupts = <2>;
 			interrupts = <2>;
 			reg-shift = <2>;
 			reg-shift = <2>;
+			reg-io-width = <4>;
 			clock-frequency = <24000000>;
 			clock-frequency = <24000000>;
 			status = "disabled";
 			status = "disabled";
 		};
 		};

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

@@ -45,7 +45,6 @@
 			reg = <1>;
 			reg = <1>;
 		};
 		};
 
 
-/* A7s disabled till big.LITTLE patches are available...
 		cpu2: cpu@2 {
 		cpu2: cpu@2 {
 			device_type = "cpu";
 			device_type = "cpu";
 			compatible = "arm,cortex-a7";
 			compatible = "arm,cortex-a7";
@@ -63,7 +62,6 @@
 			compatible = "arm,cortex-a7";
 			compatible = "arm,cortex-a7";
 			reg = <0x102>;
 			reg = <0x102>;
 		};
 		};
-*/
 	};
 	};
 
 
 	memory@80000000 {
 	memory@80000000 {

+ 2 - 3
arch/arm/common/sa1111.c

@@ -686,8 +686,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
  *	%-EINVAL	no platform data passed
  *	%-EINVAL	no platform data passed
  *	%0		successful.
  *	%0		successful.
  */
  */
-static int __devinit
-__sa1111_probe(struct device *me, struct resource *mem, int irq)
+static int __sa1111_probe(struct device *me, struct resource *mem, int irq)
 {
 {
 	struct sa1111_platform_data *pd = me->platform_data;
 	struct sa1111_platform_data *pd = me->platform_data;
 	struct sa1111 *sachip;
 	struct sa1111 *sachip;
@@ -1011,7 +1010,7 @@ static int sa1111_resume(struct platform_device *dev)
 #define sa1111_resume  NULL
 #define sa1111_resume  NULL
 #endif
 #endif
 
 
-static int __devinit sa1111_probe(struct platform_device *pdev)
+static int sa1111_probe(struct platform_device *pdev)
 {
 {
 	struct resource *mem;
 	struct resource *mem;
 	int irq;
 	int irq;

+ 3 - 3
arch/arm/common/scoop.c

@@ -176,7 +176,7 @@ static int scoop_resume(struct platform_device *dev)
 #define scoop_resume	NULL
 #define scoop_resume	NULL
 #endif
 #endif
 
 
-static int __devinit scoop_probe(struct platform_device *pdev)
+static int scoop_probe(struct platform_device *pdev)
 {
 {
 	struct scoop_dev *devptr;
 	struct scoop_dev *devptr;
 	struct scoop_config *inf;
 	struct scoop_config *inf;
@@ -243,7 +243,7 @@ err_ioremap:
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit scoop_remove(struct platform_device *pdev)
+static int scoop_remove(struct platform_device *pdev)
 {
 {
 	struct scoop_dev *sdev = platform_get_drvdata(pdev);
 	struct scoop_dev *sdev = platform_get_drvdata(pdev);
 	int ret;
 	int ret;
@@ -268,7 +268,7 @@ static int __devexit scoop_remove(struct platform_device *pdev)
 
 
 static struct platform_driver scoop_driver = {
 static struct platform_driver scoop_driver = {
 	.probe		= scoop_probe,
 	.probe		= scoop_probe,
-	.remove		= __devexit_p(scoop_remove),
+	.remove		= scoop_remove,
 	.suspend	= scoop_suspend,
 	.suspend	= scoop_suspend,
 	.resume		= scoop_resume,
 	.resume		= scoop_resume,
 	.driver		= {
 	.driver		= {

+ 7 - 2
arch/arm/common/vic.c

@@ -206,6 +206,7 @@ static void __init vic_register(void __iomem *base, unsigned int irq,
 				struct device_node *node)
 				struct device_node *node)
 {
 {
 	struct vic_device *v;
 	struct vic_device *v;
+	int i;
 
 
 	if (vic_id >= ARRAY_SIZE(vic_devices)) {
 	if (vic_id >= ARRAY_SIZE(vic_devices)) {
 		printk(KERN_ERR "%s: too few VICs, increase CONFIG_ARM_VIC_NR\n", __func__);
 		printk(KERN_ERR "%s: too few VICs, increase CONFIG_ARM_VIC_NR\n", __func__);
@@ -220,6 +221,10 @@ static void __init vic_register(void __iomem *base, unsigned int irq,
 	vic_id++;
 	vic_id++;
 	v->domain = irq_domain_add_simple(node, fls(valid_sources), irq,
 	v->domain = irq_domain_add_simple(node, fls(valid_sources), irq,
 					  &vic_irqdomain_ops, v);
 					  &vic_irqdomain_ops, v);
+	/* create an IRQ mapping for each valid IRQ */
+	for (i = 0; i < fls(valid_sources); i++)
+		if (valid_sources & (1 << i))
+			irq_create_mapping(v->domain, i);
 }
 }
 
 
 static void vic_ack_irq(struct irq_data *d)
 static void vic_ack_irq(struct irq_data *d)
@@ -416,9 +421,9 @@ int __init vic_of_init(struct device_node *node, struct device_node *parent)
 		return -EIO;
 		return -EIO;
 
 
 	/*
 	/*
-	 * Passing -1 as first IRQ makes the simple domain allocate descriptors
+	 * Passing 0 as first IRQ makes the simple domain allocate descriptors
 	 */
 	 */
-	__vic_init(regs, -1, ~0, ~0, node);
+	__vic_init(regs, 0, ~0, ~0, node);
 
 
 	return 0;
 	return 0;
 }
 }

+ 2 - 1
arch/arm/configs/at91_dt_defconfig

@@ -19,6 +19,7 @@ CONFIG_SOC_AT91SAM9260=y
 CONFIG_SOC_AT91SAM9263=y
 CONFIG_SOC_AT91SAM9263=y
 CONFIG_SOC_AT91SAM9G45=y
 CONFIG_SOC_AT91SAM9G45=y
 CONFIG_SOC_AT91SAM9X5=y
 CONFIG_SOC_AT91SAM9X5=y
+CONFIG_SOC_AT91SAM9N12=y
 CONFIG_MACH_AT91SAM_DT=y
 CONFIG_MACH_AT91SAM_DT=y
 CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
 CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
 CONFIG_AT91_TIMER_HZ=128
 CONFIG_AT91_TIMER_HZ=128
@@ -31,7 +32,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
 CONFIG_ARM_APPENDED_DTB=y
 CONFIG_ARM_APPENDED_DTB=y
 CONFIG_ARM_ATAG_DTB_COMPAT=y
 CONFIG_ARM_ATAG_DTB_COMPAT=y
-CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
+CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw"
 CONFIG_KEXEC=y
 CONFIG_KEXEC=y
 CONFIG_AUTO_ZRELADDR=y
 CONFIG_AUTO_ZRELADDR=y
 # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
 # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set

+ 1 - 3
arch/arm/configs/mvebu_defconfig

@@ -33,9 +33,7 @@ CONFIG_MVNETA=y
 CONFIG_MARVELL_PHY=y
 CONFIG_MARVELL_PHY=y
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_I2C=y
-CONFIG_I2C_MV64XXX=y
+CONFIG_SERIAL_8250_DW=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_GPIO_SYSFS=y
 # CONFIG_USB_SUPPORT is not set
 # CONFIG_USB_SUPPORT is not set

+ 8 - 10
arch/arm/kernel/bios32.c

@@ -78,7 +78,7 @@ void pcibios_report_status(u_int status_mask, int warn)
  * Bug 3 is responsible for the sound DMA grinding to a halt.  We now
  * Bug 3 is responsible for the sound DMA grinding to a halt.  We now
  * live with bug 2.
  * live with bug 2.
  */
  */
-static void __devinit pci_fixup_83c553(struct pci_dev *dev)
+static void pci_fixup_83c553(struct pci_dev *dev)
 {
 {
 	/*
 	/*
 	 * Set memory region to start at address 0, and enable IO
 	 * Set memory region to start at address 0, and enable IO
@@ -130,7 +130,7 @@ static void __devinit pci_fixup_83c553(struct pci_dev *dev)
 }
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, pci_fixup_83c553);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND, PCI_DEVICE_ID_WINBOND_83C553, pci_fixup_83c553);
 
 
-static void __devinit pci_fixup_unassign(struct pci_dev *dev)
+static void pci_fixup_unassign(struct pci_dev *dev)
 {
 {
 	dev->resource[0].end -= dev->resource[0].start;
 	dev->resource[0].end -= dev->resource[0].start;
 	dev->resource[0].start = 0;
 	dev->resource[0].start = 0;
@@ -142,7 +142,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  * if it is the host bridge by marking it as such.  These resources are of
  * if it is the host bridge by marking it as such.  These resources are of
  * no consequence to the PCI layer (they are handled elsewhere).
  * no consequence to the PCI layer (they are handled elsewhere).
  */
  */
-static void __devinit pci_fixup_dec21285(struct pci_dev *dev)
+static void pci_fixup_dec21285(struct pci_dev *dev)
 {
 {
 	int i;
 	int i;
 
 
@@ -161,7 +161,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 /*
 /*
  * PCI IDE controllers use non-standard I/O port decoding, respect it.
  * PCI IDE controllers use non-standard I/O port decoding, respect it.
  */
  */
-static void __devinit pci_fixup_ide_bases(struct pci_dev *dev)
+static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 {
 	struct resource *r;
 	struct resource *r;
 	int i;
 	int i;
@@ -182,7 +182,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_ide_bases);
 /*
 /*
  * Put the DEC21142 to sleep
  * Put the DEC21142 to sleep
  */
  */
-static void __devinit pci_fixup_dec21142(struct pci_dev *dev)
+static void pci_fixup_dec21142(struct pci_dev *dev)
 {
 {
 	pci_write_config_dword(dev, 0x40, 0x80000000);
 	pci_write_config_dword(dev, 0x40, 0x80000000);
 }
 }
@@ -204,7 +204,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21142, pci_fixup_d
  * functional.  However, The CY82C693U _does not work_ in bus
  * functional.  However, The CY82C693U _does not work_ in bus
  * master mode without locking the PCI bus solid.
  * master mode without locking the PCI bus solid.
  */
  */
-static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
+static void pci_fixup_cy82c693(struct pci_dev *dev)
 {
 {
 	if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
 	if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
 		u32 base0, base1;
 		u32 base0, base1;
@@ -254,7 +254,7 @@ static void __devinit pci_fixup_cy82c693(struct pci_dev *dev)
 }
 }
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
 DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693, pci_fixup_cy82c693);
 
 
-static void __devinit pci_fixup_it8152(struct pci_dev *dev)
+static void pci_fixup_it8152(struct pci_dev *dev)
 {
 {
 	int i;
 	int i;
 	/* fixup for ITE 8152 devices */
 	/* fixup for ITE 8152 devices */
@@ -361,9 +361,7 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 	printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
 	printk(KERN_INFO "PCI: bus%d: Fast back to back transfers %sabled\n",
 		bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
 		bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
 }
 }
-#ifdef CONFIG_HOTPLUG
 EXPORT_SYMBOL(pcibios_fixup_bus);
 EXPORT_SYMBOL(pcibios_fixup_bus);
-#endif
 
 
 /*
 /*
  * Swizzle the device pin each time we cross a bridge.  If a platform does
  * Swizzle the device pin each time we cross a bridge.  If a platform does
@@ -380,7 +378,7 @@ EXPORT_SYMBOL(pcibios_fixup_bus);
  * PCI standard swizzle is implemented on plug-in cards and Cardbus based
  * PCI standard swizzle is implemented on plug-in cards and Cardbus based
  * PCI extenders, so it can not be ignored.
  * PCI extenders, so it can not be ignored.
  */
  */
-static u8 __devinit pcibios_swizzle(struct pci_dev *dev, u8 *pin)
+static u8 pcibios_swizzle(struct pci_dev *dev, u8 *pin)
 {
 {
 	struct pci_sys_data *sys = dev->sysdata;
 	struct pci_sys_data *sys = dev->sysdata;
 	int slot, oldpin = *pin;
 	int slot, oldpin = *pin;

+ 2 - 0
arch/arm/kernel/debug.S

@@ -100,12 +100,14 @@ ENTRY(printch)
 		b	1b
 		b	1b
 ENDPROC(printch)
 ENDPROC(printch)
 
 
+#ifdef CONFIG_MMU
 ENTRY(debug_ll_addr)
 ENTRY(debug_ll_addr)
 		addruart r2, r3, ip
 		addruart r2, r3, ip
 		str	r2, [r0]
 		str	r2, [r0]
 		str	r3, [r1]
 		str	r3, [r1]
 		mov	pc, lr
 		mov	pc, lr
 ENDPROC(debug_ll_addr)
 ENDPROC(debug_ll_addr)
+#endif
 
 
 #else
 #else
 
 

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

@@ -339,7 +339,7 @@ static struct miscdevice etb_miscdev = {
 	.fops = &etb_fops,
 	.fops = &etb_fops,
 };
 };
 
 
-static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id)
+static int etb_probe(struct amba_device *dev, const struct amba_id *id)
 {
 {
 	struct tracectx *t = &tracer;
 	struct tracectx *t = &tracer;
 	int ret = 0;
 	int ret = 0;
@@ -531,7 +531,7 @@ static ssize_t trace_mode_store(struct kobject *kobj,
 static struct kobj_attribute trace_mode_attr =
 static struct kobj_attribute trace_mode_attr =
 	__ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);
 	__ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);
 
 
-static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id)
+static int etm_probe(struct amba_device *dev, const struct amba_id *id)
 {
 {
 	struct tracectx *t = &tracer;
 	struct tracectx *t = &tracer;
 	int ret = 0;
 	int ret = 0;

+ 4 - 1
arch/arm/kernel/head.S

@@ -246,6 +246,7 @@ __create_page_tables:
 
 
 	/*
 	/*
 	 * Then map boot params address in r2 if specified.
 	 * Then map boot params address in r2 if specified.
+	 * We map 2 sections in case the ATAGs/DTB crosses a section boundary.
 	 */
 	 */
 	mov	r0, r2, lsr #SECTION_SHIFT
 	mov	r0, r2, lsr #SECTION_SHIFT
 	movs	r0, r0, lsl #SECTION_SHIFT
 	movs	r0, r0, lsl #SECTION_SHIFT
@@ -253,6 +254,8 @@ __create_page_tables:
 	addne	r3, r3, #PAGE_OFFSET
 	addne	r3, r3, #PAGE_OFFSET
 	addne	r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER)
 	addne	r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER)
 	orrne	r6, r7, r0
 	orrne	r6, r7, r0
+	strne	r6, [r3], #1 << PMD_ORDER
+	addne	r6, r6, #1 << SECTION_SHIFT
 	strne	r6, [r3]
 	strne	r6, [r3]
 
 
 #ifdef CONFIG_DEBUG_LL
 #ifdef CONFIG_DEBUG_LL
@@ -331,7 +334,7 @@ ENTRY(secondary_startup)
 	 * as it has already been validated by the primary processor.
 	 * as it has already been validated by the primary processor.
 	 */
 	 */
 #ifdef CONFIG_ARM_VIRT_EXT
 #ifdef CONFIG_ARM_VIRT_EXT
-	bl	__hyp_stub_install
+	bl	__hyp_stub_install_secondary
 #endif
 #endif
 	safe_svcmode_maskall r9
 	safe_svcmode_maskall r9
 
 

+ 6 - 12
arch/arm/kernel/hyp-stub.S

@@ -99,7 +99,7 @@ ENTRY(__hyp_stub_install_secondary)
 	 * immediately.
 	 * immediately.
 	 */
 	 */
 	compare_cpu_mode_with_primary	r4, r5, r6, r7
 	compare_cpu_mode_with_primary	r4, r5, r6, r7
-	bxne	lr
+	movne	pc, lr
 
 
 	/*
 	/*
 	 * Once we have given up on one CPU, we do not try to install the
 	 * Once we have given up on one CPU, we do not try to install the
@@ -111,7 +111,7 @@ ENTRY(__hyp_stub_install_secondary)
 	 */
 	 */
 
 
 	cmp	r4, #HYP_MODE
 	cmp	r4, #HYP_MODE
-	bxne	lr			@ give up if the CPU is not in HYP mode
+	movne	pc, lr			@ give up if the CPU is not in HYP mode
 
 
 /*
 /*
  * Configure HSCTLR to set correct exception endianness/instruction set
  * Configure HSCTLR to set correct exception endianness/instruction set
@@ -120,7 +120,8 @@ ENTRY(__hyp_stub_install_secondary)
  * Eventually, CPU-specific code might be needed -- assume not for now
  * Eventually, CPU-specific code might be needed -- assume not for now
  *
  *
  * This code relies on the "eret" instruction to synchronize the
  * This code relies on the "eret" instruction to synchronize the
- * various coprocessor accesses.
+ * various coprocessor accesses. This is done when we switch to SVC
+ * (see safe_svcmode_maskall).
  */
  */
 	@ Now install the hypervisor stub:
 	@ Now install the hypervisor stub:
 	adr	r7, __hyp_stub_vectors
 	adr	r7, __hyp_stub_vectors
@@ -155,14 +156,7 @@ THUMB(	orr	r7, #(1 << 30)	)	@ HSCTLR.TE
 1:
 1:
 #endif
 #endif
 
 
-	bic	r7, r4, #MODE_MASK
-	orr	r7, r7, #SVC_MODE
-THUMB(	orr	r7, r7, #PSR_T_BIT	)
-	msr	spsr_cxsf, r7		@ This is SPSR_hyp.
-
-	__MSR_ELR_HYP(14)		@ msr elr_hyp, lr
-	__ERET				@ return, switching to SVC mode
-					@ The boot CPU mode is left in r4.
+	bx	lr			@ The boot CPU mode is left in r4.
 ENDPROC(__hyp_stub_install_secondary)
 ENDPROC(__hyp_stub_install_secondary)
 
 
 __hyp_stub_do_trap:
 __hyp_stub_do_trap:
@@ -200,7 +194,7 @@ ENDPROC(__hyp_get_vectors)
 	@ fall through
 	@ fall through
 ENTRY(__hyp_set_vectors)
 ENTRY(__hyp_set_vectors)
 	__HVC(0)
 	__HVC(0)
-	bx	lr
+	mov	pc, lr
 ENDPROC(__hyp_set_vectors)
 ENDPROC(__hyp_set_vectors)
 
 
 #ifndef ZIMAGE
 #ifndef ZIMAGE

+ 5 - 5
arch/arm/kernel/perf_event_cpu.c

@@ -132,7 +132,7 @@ static int cpu_pmu_request_irq(struct arm_pmu *cpu_pmu, irq_handler_t handler)
 	return 0;
 	return 0;
 }
 }
 
 
-static void __devinit cpu_pmu_init(struct arm_pmu *cpu_pmu)
+static void cpu_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	int cpu;
 	int cpu;
 	for_each_possible_cpu(cpu) {
 	for_each_possible_cpu(cpu) {
@@ -178,7 +178,7 @@ static struct notifier_block __cpuinitdata cpu_pmu_hotplug_notifier = {
 /*
 /*
  * PMU platform driver and devicetree bindings.
  * PMU platform driver and devicetree bindings.
  */
  */
-static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = {
+static struct of_device_id cpu_pmu_of_device_ids[] = {
 	{.compatible = "arm,cortex-a15-pmu",	.data = armv7_a15_pmu_init},
 	{.compatible = "arm,cortex-a15-pmu",	.data = armv7_a15_pmu_init},
 	{.compatible = "arm,cortex-a9-pmu",	.data = armv7_a9_pmu_init},
 	{.compatible = "arm,cortex-a9-pmu",	.data = armv7_a9_pmu_init},
 	{.compatible = "arm,cortex-a8-pmu",	.data = armv7_a8_pmu_init},
 	{.compatible = "arm,cortex-a8-pmu",	.data = armv7_a8_pmu_init},
@@ -190,7 +190,7 @@ static struct of_device_id __devinitdata cpu_pmu_of_device_ids[] = {
 	{},
 	{},
 };
 };
 
 
-static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = {
+static struct platform_device_id cpu_pmu_plat_device_ids[] = {
 	{.name = "arm-pmu"},
 	{.name = "arm-pmu"},
 	{},
 	{},
 };
 };
@@ -198,7 +198,7 @@ static struct platform_device_id __devinitdata cpu_pmu_plat_device_ids[] = {
 /*
 /*
  * CPU PMU identification and probing.
  * CPU PMU identification and probing.
  */
  */
-static int __devinit probe_current_pmu(struct arm_pmu *pmu)
+static int probe_current_pmu(struct arm_pmu *pmu)
 {
 {
 	int cpu = get_cpu();
 	int cpu = get_cpu();
 	unsigned long cpuid = read_cpuid_id();
 	unsigned long cpuid = read_cpuid_id();
@@ -252,7 +252,7 @@ static int __devinit probe_current_pmu(struct arm_pmu *pmu)
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devinit cpu_pmu_device_probe(struct platform_device *pdev)
+static int cpu_pmu_device_probe(struct platform_device *pdev)
 {
 {
 	const struct of_device_id *of_id;
 	const struct of_device_id *of_id;
 	int (*init_fn)(struct arm_pmu *);
 	int (*init_fn)(struct arm_pmu *);

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

@@ -653,7 +653,7 @@ static int armv6_map_event(struct perf_event *event)
 				&armv6_perf_cache_map, 0xFF);
 				&armv6_perf_cache_map, 0xFF);
 }
 }
 
 
-static int __devinit armv6pmu_init(struct arm_pmu *cpu_pmu)
+static int armv6pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	cpu_pmu->name		= "v6";
 	cpu_pmu->name		= "v6";
 	cpu_pmu->handle_irq	= armv6pmu_handle_irq;
 	cpu_pmu->handle_irq	= armv6pmu_handle_irq;
@@ -685,7 +685,7 @@ static int armv6mpcore_map_event(struct perf_event *event)
 				&armv6mpcore_perf_cache_map, 0xFF);
 				&armv6mpcore_perf_cache_map, 0xFF);
 }
 }
 
 
-static int __devinit armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv6mpcore_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	cpu_pmu->name		= "v6mpcore";
 	cpu_pmu->name		= "v6mpcore";
 	cpu_pmu->handle_irq	= armv6pmu_handle_irq;
 	cpu_pmu->handle_irq	= armv6pmu_handle_irq;

+ 6 - 6
arch/arm/kernel/perf_event_v7.c

@@ -1226,7 +1226,7 @@ static void armv7pmu_init(struct arm_pmu *cpu_pmu)
 	cpu_pmu->max_period	= (1LLU << 32) - 1;
 	cpu_pmu->max_period	= (1LLU << 32) - 1;
 };
 };
 
 
-static u32 __devinit armv7_read_num_pmnc_events(void)
+static u32 armv7_read_num_pmnc_events(void)
 {
 {
 	u32 nb_cnt;
 	u32 nb_cnt;
 
 
@@ -1237,7 +1237,7 @@ static u32 __devinit armv7_read_num_pmnc_events(void)
 	return nb_cnt + 1;
 	return nb_cnt + 1;
 }
 }
 
 
-static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	armv7pmu_init(cpu_pmu);
 	armv7pmu_init(cpu_pmu);
 	cpu_pmu->name		= "ARMv7 Cortex-A8";
 	cpu_pmu->name		= "ARMv7 Cortex-A8";
@@ -1246,7 +1246,7 @@ static int __devinit armv7_a8_pmu_init(struct arm_pmu *cpu_pmu)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	armv7pmu_init(cpu_pmu);
 	armv7pmu_init(cpu_pmu);
 	cpu_pmu->name		= "ARMv7 Cortex-A9";
 	cpu_pmu->name		= "ARMv7 Cortex-A9";
@@ -1255,7 +1255,7 @@ static int __devinit armv7_a9_pmu_init(struct arm_pmu *cpu_pmu)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	armv7pmu_init(cpu_pmu);
 	armv7pmu_init(cpu_pmu);
 	cpu_pmu->name		= "ARMv7 Cortex-A5";
 	cpu_pmu->name		= "ARMv7 Cortex-A5";
@@ -1264,7 +1264,7 @@ static int __devinit armv7_a5_pmu_init(struct arm_pmu *cpu_pmu)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	armv7pmu_init(cpu_pmu);
 	armv7pmu_init(cpu_pmu);
 	cpu_pmu->name		= "ARMv7 Cortex-A15";
 	cpu_pmu->name		= "ARMv7 Cortex-A15";
@@ -1274,7 +1274,7 @@ static int __devinit armv7_a15_pmu_init(struct arm_pmu *cpu_pmu)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devinit armv7_a7_pmu_init(struct arm_pmu *cpu_pmu)
+static int armv7_a7_pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	armv7pmu_init(cpu_pmu);
 	armv7pmu_init(cpu_pmu);
 	cpu_pmu->name		= "ARMv7 Cortex-A7";
 	cpu_pmu->name		= "ARMv7 Cortex-A7";

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

@@ -440,7 +440,7 @@ static int xscale_map_event(struct perf_event *event)
 				&xscale_perf_cache_map, 0xFF);
 				&xscale_perf_cache_map, 0xFF);
 }
 }
 
 
-static int __devinit xscale1pmu_init(struct arm_pmu *cpu_pmu)
+static int xscale1pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	cpu_pmu->name		= "xscale1";
 	cpu_pmu->name		= "xscale1";
 	cpu_pmu->handle_irq	= xscale1pmu_handle_irq;
 	cpu_pmu->handle_irq	= xscale1pmu_handle_irq;
@@ -810,7 +810,7 @@ static inline void xscale2pmu_write_counter(struct perf_event *event, u32 val)
 	}
 	}
 }
 }
 
 
-static int __devinit xscale2pmu_init(struct arm_pmu *cpu_pmu)
+static int xscale2pmu_init(struct arm_pmu *cpu_pmu)
 {
 {
 	cpu_pmu->name		= "xscale2";
 	cpu_pmu->name		= "xscale2";
 	cpu_pmu->handle_irq	= xscale2pmu_handle_irq;
 	cpu_pmu->handle_irq	= xscale2pmu_handle_irq;

+ 2 - 0
arch/arm/mach-at91/setup.c

@@ -105,6 +105,8 @@ static void __init soc_detect(u32 dbgu_base)
 	switch (socid) {
 	switch (socid) {
 	case ARCH_ID_AT91RM9200:
 	case ARCH_ID_AT91RM9200:
 		at91_soc_initdata.type = AT91_SOC_RM9200;
 		at91_soc_initdata.type = AT91_SOC_RM9200;
+		if (at91_soc_initdata.subtype == AT91_SOC_SUBTYPE_NONE)
+			at91_soc_initdata.subtype = AT91_SOC_RM9200_BGA;
 		at91_boot_soc = at91rm9200_soc;
 		at91_boot_soc = at91rm9200_soc;
 		break;
 		break;
 
 

+ 1 - 1
arch/arm/mach-davinci/board-dm646x-evm.c

@@ -358,7 +358,7 @@ static int cpld_video_probe(struct i2c_client *client,
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devexit cpld_video_remove(struct i2c_client *client)
+static int cpld_video_remove(struct i2c_client *client)
 {
 {
 	cpld_client = NULL;
 	cpld_client = NULL;
 	return 0;
 	return 0;

+ 2 - 2
arch/arm/mach-davinci/cdce949.c

@@ -256,7 +256,7 @@ static int cdce_probe(struct i2c_client *client,
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devexit cdce_remove(struct i2c_client *client)
+static int cdce_remove(struct i2c_client *client)
 {
 {
 	cdce_i2c_client = NULL;
 	cdce_i2c_client = NULL;
 	return 0;
 	return 0;
@@ -274,7 +274,7 @@ static struct i2c_driver cdce_driver = {
 		.name	= "cdce949",
 		.name	= "cdce949",
 	},
 	},
 	.probe		= cdce_probe,
 	.probe		= cdce_probe,
-	.remove		= __devexit_p(cdce_remove),
+	.remove		= cdce_remove,
 	.id_table	= cdce_id,
 	.id_table	= cdce_id,
 };
 };
 
 

+ 1 - 1
arch/arm/mach-dove/pcie.c

@@ -135,7 +135,7 @@ static struct pci_ops pcie_ops = {
 	.write = pcie_wr_conf,
 	.write = pcie_wr_conf,
 };
 };
 
 
-static void __devinit rc_pci_fixup(struct pci_dev *dev)
+static void rc_pci_fixup(struct pci_dev *dev)
 {
 {
 	/*
 	/*
 	 * Prevent enumeration of root complex.
 	 * Prevent enumeration of root complex.

+ 2 - 0
arch/arm/mach-exynos/Kconfig

@@ -74,6 +74,8 @@ config SOC_EXYNOS5440
 	depends on ARCH_EXYNOS5
 	depends on ARCH_EXYNOS5
 	select ARM_ARCH_TIMER
 	select ARM_ARCH_TIMER
 	select AUTO_ZRELADDR
 	select AUTO_ZRELADDR
+	select PINCTRL
+	select PINCTRL_EXYNOS5440
 	help
 	help
 	  Enable EXYNOS5440 SoC support
 	  Enable EXYNOS5440 SoC support
 
 

+ 7 - 0
arch/arm/mach-exynos/common.c

@@ -424,11 +424,18 @@ static void __init exynos5_init_clocks(int xtal)
 {
 {
 	printk(KERN_DEBUG "%s: initializing clocks\n", __func__);
 	printk(KERN_DEBUG "%s: initializing clocks\n", __func__);
 
 
+	/* EXYNOS5440 can support only common clock framework */
+
+	if (soc_is_exynos5440())
+		return;
+
+#ifdef CONFIG_SOC_EXYNOS5250
 	s3c24xx_register_baseclocks(xtal);
 	s3c24xx_register_baseclocks(xtal);
 	s5p_register_clocks(xtal);
 	s5p_register_clocks(xtal);
 
 
 	exynos5_register_clocks();
 	exynos5_register_clocks();
 	exynos5_setup_clocks();
 	exynos5_setup_clocks();
+#endif
 }
 }
 
 
 #define COMBINER_ENABLE_SET	0x0
 #define COMBINER_ENABLE_SET	0x0

+ 1 - 1
arch/arm/mach-highbank/highbank.c

@@ -135,7 +135,7 @@ static struct sys_timer highbank_timer = {
 
 
 static void highbank_power_off(void)
 static void highbank_power_off(void)
 {
 {
-	hignbank_set_pwr_shutdown();
+	highbank_set_pwr_shutdown();
 
 
 	while (1)
 	while (1)
 		cpu_do_idle();
 		cpu_do_idle();

+ 1 - 1
arch/arm/mach-highbank/hotplug.c

@@ -30,7 +30,7 @@ void __ref highbank_cpu_die(unsigned int cpu)
 {
 {
 	flush_cache_all();
 	flush_cache_all();
 
 
-	highbank_set_cpu_jump(cpu, secondary_startup);
+	highbank_set_cpu_jump(cpu, phys_to_virt(0));
 	highbank_set_core_pwr();
 	highbank_set_core_pwr();
 
 
 	cpu_do_idle();
 	cpu_do_idle();

+ 1 - 11
arch/arm/mach-highbank/platsmp.c

@@ -32,6 +32,7 @@ static void __cpuinit highbank_secondary_init(unsigned int cpu)
 
 
 static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
 static int __cpuinit highbank_boot_secondary(unsigned int cpu, struct task_struct *idle)
 {
 {
+	highbank_set_cpu_jump(cpu, secondary_startup);
 	gic_raise_softirq(cpumask_of(cpu), 0);
 	gic_raise_softirq(cpumask_of(cpu), 0);
 	return 0;
 	return 0;
 }
 }
@@ -61,19 +62,8 @@ static void __init highbank_smp_init_cpus(void)
 
 
 static void __init highbank_smp_prepare_cpus(unsigned int max_cpus)
 static void __init highbank_smp_prepare_cpus(unsigned int max_cpus)
 {
 {
-	int i;
-
 	if (scu_base_addr)
 	if (scu_base_addr)
 		scu_enable(scu_base_addr);
 		scu_enable(scu_base_addr);
-
-	/*
-	 * Write the address of secondary startup into the jump table
-	 * The cores are in wfi and wait until they receive a soft interrupt
-	 * and a non-zero value to jump to. Then the secondary CPU branches
-	 * to this address.
-	 */
-	for (i = 1; i < max_cpus; i++)
-		highbank_set_cpu_jump(i, secondary_startup);
 }
 }
 
 
 struct smp_operations highbank_smp_ops __initdata = {
 struct smp_operations highbank_smp_ops __initdata = {

+ 18 - 1
arch/arm/mach-highbank/pm.c

@@ -14,10 +14,12 @@
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  * this program.  If not, see <http://www.gnu.org/licenses/>.
  */
  */
 
 
+#include <linux/cpu_pm.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/io.h>
 #include <linux/io.h>
 #include <linux/suspend.h>
 #include <linux/suspend.h>
 
 
+#include <asm/cacheflush.h>
 #include <asm/proc-fns.h>
 #include <asm/proc-fns.h>
 #include <asm/suspend.h>
 #include <asm/suspend.h>
 
 
@@ -26,16 +28,31 @@
 
 
 static int highbank_suspend_finish(unsigned long val)
 static int highbank_suspend_finish(unsigned long val)
 {
 {
+	outer_flush_all();
+	outer_disable();
+
+	highbank_set_pwr_suspend();
+
 	cpu_do_idle();
 	cpu_do_idle();
+
+	highbank_clear_pwr_request();
 	return 0;
 	return 0;
 }
 }
 
 
 static int highbank_pm_enter(suspend_state_t state)
 static int highbank_pm_enter(suspend_state_t state)
 {
 {
-	hignbank_set_pwr_suspend();
+	cpu_pm_enter();
+	cpu_cluster_pm_enter();
+
 	highbank_set_cpu_jump(0, cpu_resume);
 	highbank_set_cpu_jump(0, cpu_resume);
 	cpu_suspend(0, highbank_suspend_finish);
 	cpu_suspend(0, highbank_suspend_finish);
 
 
+	cpu_cluster_pm_exit();
+	cpu_pm_exit();
+
+	highbank_smc1(0x102, 0x1);
+	if (scu_base_addr)
+		scu_enable(scu_base_addr);
 	return 0;
 	return 0;
 }
 }
 
 

+ 19 - 4
arch/arm/mach-highbank/sysregs.h

@@ -44,28 +44,43 @@ static inline void highbank_set_core_pwr(void)
 		writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu));
 		writel_relaxed(1, sregs_base + SREG_CPU_PWR_CTRL(cpu));
 }
 }
 
 
-static inline void hignbank_set_pwr_suspend(void)
+static inline void highbank_clear_core_pwr(void)
+{
+	int cpu = cpu_logical_map(smp_processor_id());
+	if (scu_base_addr)
+		scu_power_mode(scu_base_addr, SCU_PM_NORMAL);
+	else
+		writel_relaxed(0, sregs_base + SREG_CPU_PWR_CTRL(cpu));
+}
+
+static inline void highbank_set_pwr_suspend(void)
 {
 {
 	writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ);
 	writel(HB_PWR_SUSPEND, sregs_base + HB_SREG_A9_PWR_REQ);
 	highbank_set_core_pwr();
 	highbank_set_core_pwr();
 }
 }
 
 
-static inline void hignbank_set_pwr_shutdown(void)
+static inline void highbank_set_pwr_shutdown(void)
 {
 {
 	writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ);
 	writel(HB_PWR_SHUTDOWN, sregs_base + HB_SREG_A9_PWR_REQ);
 	highbank_set_core_pwr();
 	highbank_set_core_pwr();
 }
 }
 
 
-static inline void hignbank_set_pwr_soft_reset(void)
+static inline void highbank_set_pwr_soft_reset(void)
 {
 {
 	writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 	writel(HB_PWR_SOFT_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 	highbank_set_core_pwr();
 	highbank_set_core_pwr();
 }
 }
 
 
-static inline void hignbank_set_pwr_hard_reset(void)
+static inline void highbank_set_pwr_hard_reset(void)
 {
 {
 	writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 	writel(HB_PWR_HARD_RESET, sregs_base + HB_SREG_A9_PWR_REQ);
 	highbank_set_core_pwr();
 	highbank_set_core_pwr();
 }
 }
 
 
+static inline void highbank_clear_pwr_request(void)
+{
+	writel(~0UL, sregs_base + HB_SREG_A9_PWR_REQ);
+	highbank_clear_core_pwr();
+}
+
 #endif
 #endif

+ 2 - 2
arch/arm/mach-highbank/system.c

@@ -22,9 +22,9 @@
 void highbank_restart(char mode, const char *cmd)
 void highbank_restart(char mode, const char *cmd)
 {
 {
 	if (mode == 'h')
 	if (mode == 'h')
-		hignbank_set_pwr_hard_reset();
+		highbank_set_pwr_hard_reset();
 	else
 	else
-		hignbank_set_pwr_soft_reset();
+		highbank_set_pwr_soft_reset();
 
 
 	while (1)
 	while (1)
 		cpu_do_idle();
 		cpu_do_idle();

+ 1 - 2
arch/arm/mach-imx/Kconfig

@@ -841,8 +841,6 @@ config SOC_IMX6Q
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_CPUFREQ
 	select ARCH_HAS_OPP
 	select ARCH_HAS_OPP
 	select ARM_CPU_SUSPEND if PM
 	select ARM_CPU_SUSPEND if PM
-	select ARM_ERRATA_743622
-	select ARM_ERRATA_751472
 	select ARM_ERRATA_754322
 	select ARM_ERRATA_754322
 	select ARM_ERRATA_764369 if SMP
 	select ARM_ERRATA_764369 if SMP
 	select ARM_ERRATA_775420
 	select ARM_ERRATA_775420
@@ -853,6 +851,7 @@ config SOC_IMX6Q
 	select HAVE_CAN_FLEXCAN if CAN
 	select HAVE_CAN_FLEXCAN if CAN
 	select HAVE_IMX_GPC
 	select HAVE_IMX_GPC
 	select HAVE_IMX_MMDC
 	select HAVE_IMX_MMDC
+	select HAVE_IMX_SRC
 	select HAVE_SMP
 	select HAVE_SMP
 	select MFD_SYSCON
 	select MFD_SYSCON
 	select PINCTRL
 	select PINCTRL

+ 3 - 3
arch/arm/mach-imx/clk-imx25.c

@@ -254,9 +254,9 @@ int __init mx25_clocks_init(void)
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[usbotg_ahb], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[usbotg_ahb], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2");
-	clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usbotg_ahb], "ahb", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
+	clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27");
+	clk_register_clkdev(clk[usbotg_ahb], "ahb", "imx-udc-mx27");
+	clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27");
 	clk_register_clkdev(clk[nfc_ipg_per], NULL, "imx25-nand.0");
 	clk_register_clkdev(clk[nfc_ipg_per], NULL, "imx25-nand.0");
 	/* i.mx25 has the i.mx35 type cspi */
 	/* i.mx25 has the i.mx35 type cspi */
 	clk_register_clkdev(clk[cspi1_ipg], NULL, "imx35-cspi.0");
 	clk_register_clkdev(clk[cspi1_ipg], NULL, "imx35-cspi.0");

+ 3 - 3
arch/arm/mach-imx/clk-imx27.c

@@ -236,9 +236,9 @@ int __init mx27_clocks_init(unsigned long fref)
 	clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx21-fb.0");
 	clk_register_clkdev(clk[lcdc_ahb_gate], "ahb", "imx21-fb.0");
 	clk_register_clkdev(clk[csi_ahb_gate], "ahb", "imx27-camera.0");
 	clk_register_clkdev(clk[csi_ahb_gate], "ahb", "imx27-camera.0");
 	clk_register_clkdev(clk[per4_gate], "per", "imx27-camera.0");
 	clk_register_clkdev(clk[per4_gate], "per", "imx27-camera.0");
-	clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "fsl-usb2-udc");
+	clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27");
+	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "imx-udc-mx27");
+	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "imx-udc-mx27");
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_ipg_gate], "ipg", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.0");
 	clk_register_clkdev(clk[usb_ahb_gate], "ahb", "mxc-ehci.0");

+ 3 - 3
arch/arm/mach-imx/clk-imx31.c

@@ -139,9 +139,9 @@ int __init mx31_clocks_init(unsigned long fref)
 	clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_div_post], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_gate], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
-	clk_register_clkdev(clk[usb_div_post], "per", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usb_gate], "ahb", "fsl-usb2-udc");
-	clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc");
+	clk_register_clkdev(clk[usb_div_post], "per", "imx-udc-mx27");
+	clk_register_clkdev(clk[usb_gate], "ahb", "imx-udc-mx27");
+	clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27");
 	clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");
 	clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");
 	/* i.mx31 has the i.mx21 type uart */
 	/* i.mx31 has the i.mx21 type uart */
 	clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");
 	clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");

+ 3 - 3
arch/arm/mach-imx/clk-imx35.c

@@ -251,9 +251,9 @@ int __init mx35_clocks_init()
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.2");
-	clk_register_clkdev(clk[usb_div], "per", "fsl-usb2-udc");
-	clk_register_clkdev(clk[ipg], "ipg", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usbotg_gate], "ahb", "fsl-usb2-udc");
+	clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27");
+	clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27");
+	clk_register_clkdev(clk[usbotg_gate], "ahb", "imx-udc-mx27");
 	clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");
 	clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");
 	clk_register_clkdev(clk[nfc_div], NULL, "imx25-nand.0");
 	clk_register_clkdev(clk[nfc_div], NULL, "imx25-nand.0");
 	clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");
 	clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");

+ 3 - 3
arch/arm/mach-imx/clk-imx51-imx53.c

@@ -269,9 +269,9 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil,
 	clk_register_clkdev(clk[usboh3_per_gate], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usboh3_per_gate], "per", "mxc-ehci.2");
 	clk_register_clkdev(clk[usboh3_gate], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[usboh3_gate], "ipg", "mxc-ehci.2");
 	clk_register_clkdev(clk[usboh3_gate], "ahb", "mxc-ehci.2");
 	clk_register_clkdev(clk[usboh3_gate], "ahb", "mxc-ehci.2");
-	clk_register_clkdev(clk[usboh3_per_gate], "per", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usboh3_gate], "ipg", "fsl-usb2-udc");
-	clk_register_clkdev(clk[usboh3_gate], "ahb", "fsl-usb2-udc");
+	clk_register_clkdev(clk[usboh3_per_gate], "per", "imx-udc-mx51");
+	clk_register_clkdev(clk[usboh3_gate], "ipg", "imx-udc-mx51");
+	clk_register_clkdev(clk[usboh3_gate], "ahb", "imx-udc-mx51");
 	clk_register_clkdev(clk[nfc_gate], NULL, "imx51-nand");
 	clk_register_clkdev(clk[nfc_gate], NULL, "imx51-nand");
 	clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
 	clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
 	clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");
 	clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");

+ 3 - 0
arch/arm/mach-imx/clk-imx6q.c

@@ -436,6 +436,9 @@ int __init mx6q_clocks_init(void)
 	for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
 	for (i = 0; i < ARRAY_SIZE(clks_init_on); i++)
 		clk_prepare_enable(clk[clks_init_on[i]]);
 		clk_prepare_enable(clk[clks_init_on[i]]);
 
 
+	/* Set initial power mode */
+	imx6q_set_lpm(WAIT_CLOCKED);
+
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt");
 	np = of_find_compatible_node(NULL, NULL, "fsl,imx6q-gpt");
 	base = of_iomap(np, 0);
 	base = of_iomap(np, 0);
 	WARN_ON(!base);
 	WARN_ON(!base);

+ 1 - 0
arch/arm/mach-imx/common.h

@@ -142,6 +142,7 @@ extern int imx6q_set_lpm(enum mxc_cpu_pwr_mode mode);
 extern void imx6q_clock_map_io(void);
 extern void imx6q_clock_map_io(void);
 
 
 extern void imx_cpu_die(unsigned int cpu);
 extern void imx_cpu_die(unsigned int cpu);
+extern int imx_cpu_kill(unsigned int cpu);
 
 
 #ifdef CONFIG_PM
 #ifdef CONFIG_PM
 extern void imx6q_pm_init(void);
 extern void imx6q_pm_init(void);

+ 1 - 1
arch/arm/mach-imx/cpufreq.c

@@ -188,7 +188,7 @@ static struct cpufreq_driver mxc_driver = {
 	.name = "imx",
 	.name = "imx",
 };
 };
 
 
-static int __devinit mxc_cpufreq_driver_init(void)
+static int mxc_cpufreq_driver_init(void)
 {
 {
 	return cpufreq_register_driver(&mxc_driver);
 	return cpufreq_register_driver(&mxc_driver);
 }
 }

+ 1 - 0
arch/arm/mach-imx/devices/devices-common.h

@@ -63,6 +63,7 @@ struct platform_device *__init imx_add_flexcan(
 
 
 #include <linux/fsl_devices.h>
 #include <linux/fsl_devices.h>
 struct imx_fsl_usb2_udc_data {
 struct imx_fsl_usb2_udc_data {
+	const char *devid;
 	resource_size_t iobase;
 	resource_size_t iobase;
 	resource_size_t irq;
 	resource_size_t irq;
 };
 };

+ 8 - 7
arch/arm/mach-imx/devices/platform-fsl-usb2-udc.c

@@ -11,35 +11,36 @@
 #include "../hardware.h"
 #include "../hardware.h"
 #include "devices-common.h"
 #include "devices-common.h"
 
 
-#define imx_fsl_usb2_udc_data_entry_single(soc)				\
+#define imx_fsl_usb2_udc_data_entry_single(soc, _devid)			\
 	{								\
 	{								\
+		.devid = _devid,					\
 		.iobase = soc ## _USB_OTG_BASE_ADDR,			\
 		.iobase = soc ## _USB_OTG_BASE_ADDR,			\
 		.irq = soc ## _INT_USB_OTG,				\
 		.irq = soc ## _INT_USB_OTG,				\
 	}
 	}
 
 
 #ifdef CONFIG_SOC_IMX25
 #ifdef CONFIG_SOC_IMX25
 const struct imx_fsl_usb2_udc_data imx25_fsl_usb2_udc_data __initconst =
 const struct imx_fsl_usb2_udc_data imx25_fsl_usb2_udc_data __initconst =
-	imx_fsl_usb2_udc_data_entry_single(MX25);
+	imx_fsl_usb2_udc_data_entry_single(MX25, "imx-udc-mx27");
 #endif /* ifdef CONFIG_SOC_IMX25 */
 #endif /* ifdef CONFIG_SOC_IMX25 */
 
 
 #ifdef CONFIG_SOC_IMX27
 #ifdef CONFIG_SOC_IMX27
 const struct imx_fsl_usb2_udc_data imx27_fsl_usb2_udc_data __initconst =
 const struct imx_fsl_usb2_udc_data imx27_fsl_usb2_udc_data __initconst =
-	imx_fsl_usb2_udc_data_entry_single(MX27);
+	imx_fsl_usb2_udc_data_entry_single(MX27, "imx-udc-mx27");
 #endif /* ifdef CONFIG_SOC_IMX27 */
 #endif /* ifdef CONFIG_SOC_IMX27 */
 
 
 #ifdef CONFIG_SOC_IMX31
 #ifdef CONFIG_SOC_IMX31
 const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data __initconst =
 const struct imx_fsl_usb2_udc_data imx31_fsl_usb2_udc_data __initconst =
-	imx_fsl_usb2_udc_data_entry_single(MX31);
+	imx_fsl_usb2_udc_data_entry_single(MX31, "imx-udc-mx27");
 #endif /* ifdef CONFIG_SOC_IMX31 */
 #endif /* ifdef CONFIG_SOC_IMX31 */
 
 
 #ifdef CONFIG_SOC_IMX35
 #ifdef CONFIG_SOC_IMX35
 const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst =
 const struct imx_fsl_usb2_udc_data imx35_fsl_usb2_udc_data __initconst =
-	imx_fsl_usb2_udc_data_entry_single(MX35);
+	imx_fsl_usb2_udc_data_entry_single(MX35, "imx-udc-mx27");
 #endif /* ifdef CONFIG_SOC_IMX35 */
 #endif /* ifdef CONFIG_SOC_IMX35 */
 
 
 #ifdef CONFIG_SOC_IMX51
 #ifdef CONFIG_SOC_IMX51
 const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst =
 const struct imx_fsl_usb2_udc_data imx51_fsl_usb2_udc_data __initconst =
-	imx_fsl_usb2_udc_data_entry_single(MX51);
+	imx_fsl_usb2_udc_data_entry_single(MX51, "imx-udc-mx51");
 #endif
 #endif
 
 
 struct platform_device *__init imx_add_fsl_usb2_udc(
 struct platform_device *__init imx_add_fsl_usb2_udc(
@@ -57,7 +58,7 @@ struct platform_device *__init imx_add_fsl_usb2_udc(
 			.flags = IORESOURCE_IRQ,
 			.flags = IORESOURCE_IRQ,
 		},
 		},
 	};
 	};
-	return imx_add_platform_device_dmamask("fsl-usb2-udc", -1,
+	return imx_add_platform_device_dmamask(data->devid, -1,
 			res, ARRAY_SIZE(res),
 			res, ARRAY_SIZE(res),
 			pdata, sizeof(*pdata), DMA_BIT_MASK(32));
 			pdata, sizeof(*pdata), DMA_BIT_MASK(32));
 }
 }

+ 1 - 1
arch/arm/mach-imx/devices/platform-imx-fb.c

@@ -54,7 +54,7 @@ struct platform_device *__init imx_add_imx_fb(
 			.flags = IORESOURCE_IRQ,
 			.flags = IORESOURCE_IRQ,
 		},
 		},
 	};
 	};
-	return imx_add_platform_device_dmamask("imx-fb", 0,
+	return imx_add_platform_device_dmamask(data->devid, 0,
 			res, ARRAY_SIZE(res),
 			res, ARRAY_SIZE(res),
 			pdata, sizeof(*pdata), DMA_BIT_MASK(32));
 			pdata, sizeof(*pdata), DMA_BIT_MASK(32));
 }
 }

+ 6 - 4
arch/arm/mach-imx/hotplug.c

@@ -46,9 +46,11 @@ static inline void cpu_enter_lowpower(void)
 void imx_cpu_die(unsigned int cpu)
 void imx_cpu_die(unsigned int cpu)
 {
 {
 	cpu_enter_lowpower();
 	cpu_enter_lowpower();
-	imx_enable_cpu(cpu, false);
+	cpu_do_idle();
+}
 
 
-	/* spin here until hardware takes it down */
-	while (1)
-		;
+int imx_cpu_kill(unsigned int cpu)
+{
+	imx_enable_cpu(cpu, false);
+	return 1;
 }
 }

+ 1 - 2
arch/arm/mach-imx/iram_alloc.c

@@ -22,8 +22,7 @@
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/spinlock.h>
 #include <linux/spinlock.h>
 #include <linux/genalloc.h>
 #include <linux/genalloc.h>
-
-#include "iram.h"
+#include "linux/platform_data/imx-iram.h"
 
 
 static unsigned long iram_phys_base;
 static unsigned long iram_phys_base;
 static void __iomem *iram_virt_base;
 static void __iomem *iram_virt_base;

部分文件因文件數量過多而無法顯示