瀏覽代碼

Merge branch 'v3.8-samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes

From Kukjin Kim:

That branch fixes build error for S3C24XX/S3C64xx. And corrects dw-mshc
properties on EXYNOS5 DT and fixes IRQ mapping on Cragganmore board.

* 'v3.8-samsung-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
  ARM: S3C64XX: Fix up IRQ mapping for balblair on Cragganmore
  ARM: dts: correct the dw-mshc timing properties as per binding
  ARM: S3C64XX: Fix build error with CONFIG_S3C_DEV_FB disabled
  + Linux 3.8-rc3

Signed-off-by: Olof Johansson <olof@lixom.net>
Olof Johansson 12 年之前
父節點
當前提交
5046e385b4
共有 100 個文件被更改,包括 501 次插入380 次删除
  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. 47 0
      Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
  6. 1 1
      Documentation/i2c/instantiating-devices
  7. 11 5
      Documentation/networking/ip-sysctl.txt
  8. 5 4
      Documentation/power/runtime_pm.txt
  9. 2 2
      Documentation/rpmsg.txt
  10. 2 2
      Documentation/spi/spi-summary
  11. 32 0
      Documentation/sysctl/kernel.txt
  12. 1 2
      Documentation/video4linux/v4l2-framework.txt
  13. 1 2
      Documentation/zh_CN/video4linux/v4l2-framework.txt
  14. 131 74
      MAINTAINERS
  15. 1 1
      Makefile
  16. 2 2
      arch/alpha/include/asm/parport.h
  17. 5 7
      arch/alpha/kernel/pci.c
  18. 3 3
      arch/alpha/kernel/smp.c
  19. 1 1
      arch/alpha/kernel/sys_titan.c
  20. 6 0
      arch/arm/Kconfig
  21. 6 6
      arch/arm/boot/dts/cros5250-common.dtsi
  22. 3 1
      arch/arm/boot/dts/dbx5x0.dtsi
  23. 4 4
      arch/arm/boot/dts/exynos5250-smdk5250.dts
  24. 2 3
      arch/arm/common/sa1111.c
  25. 3 3
      arch/arm/common/scoop.c
  26. 7 2
      arch/arm/common/vic.c
  27. 8 10
      arch/arm/kernel/bios32.c
  28. 2 2
      arch/arm/kernel/etm.c
  29. 5 5
      arch/arm/kernel/perf_event_cpu.c
  30. 2 2
      arch/arm/kernel/perf_event_v6.c
  31. 6 6
      arch/arm/kernel/perf_event_v7.c
  32. 2 2
      arch/arm/kernel/perf_event_xscale.c
  33. 1 1
      arch/arm/mach-davinci/board-dm646x-evm.c
  34. 2 2
      arch/arm/mach-davinci/cdce949.c
  35. 1 1
      arch/arm/mach-dove/pcie.c
  36. 0 2
      arch/arm/mach-imx/Kconfig
  37. 1 1
      arch/arm/mach-imx/cpufreq.c
  38. 1 1
      arch/arm/mach-imx/mmdc.c
  39. 1 1
      arch/arm/mach-iop13xx/pci.c
  40. 1 1
      arch/arm/mach-kirkwood/pcie.c
  41. 1 1
      arch/arm/mach-ks8695/board-acs5k.c
  42. 2 2
      arch/arm/mach-mmp/sram.c
  43. 1 1
      arch/arm/mach-msm/proc_comm.c
  44. 1 1
      arch/arm/mach-msm/smd.c
  45. 1 1
      arch/arm/mach-mv78xx0/pcie.c
  46. 3 3
      arch/arm/mach-omap1/mailbox.c
  47. 6 6
      arch/arm/mach-omap2/gpmc.c
  48. 3 3
      arch/arm/mach-omap2/mailbox.c
  49. 1 1
      arch/arm/mach-orion5x/pci.c
  50. 1 1
      arch/arm/mach-prima2/pm.c
  51. 1 1
      arch/arm/mach-prima2/rtciobrg.c
  52. 1 1
      arch/arm/mach-pxa/corgi_pm.c
  53. 2 2
      arch/arm/mach-pxa/sharpsl_pm.c
  54. 1 1
      arch/arm/mach-pxa/spitz_pm.c
  55. 2 2
      arch/arm/mach-pxa/tosa-bt.c
  56. 1 1
      arch/arm/mach-s3c24xx/h1940-bluetooth.c
  57. 3 3
      arch/arm/mach-s3c24xx/mach-osiris-dvs.c
  58. 4 4
      arch/arm/mach-s3c64xx/mach-crag6410-module.c
  59. 34 34
      arch/arm/mach-s3c64xx/mach-crag6410.c
  60. 2 0
      arch/arm/mach-s3c64xx/pm.c
  61. 1 1
      arch/arm/mach-sa1100/jornada720_ssp.c
  62. 4 4
      arch/arm/mach-sa1100/neponset.c
  63. 3 3
      arch/arm/mach-tegra/pcie.c
  64. 3 3
      arch/arm/mach-tegra/tegra2_emc.c
  65. 3 3
      arch/arm/mach-u300/dummyspichip.c
  66. 2 1
      arch/arm/mach-ux500/cpu-db8500.c
  67. 3 3
      arch/arm/mach-versatile/include/mach/irqs.h
  68. 0 1
      arch/arm/mach-vexpress/Kconfig
  69. 21 13
      arch/arm/mm/cache-l2x0.c
  70. 3 1
      arch/arm/mm/proc-v7.S
  71. 3 3
      arch/arm/plat-omap/dma.c
  72. 3 3
      arch/arm/plat-omap/dmtimer.c
  73. 3 3
      arch/arm/plat-pxa/ssp.c
  74. 2 2
      arch/arm/plat-samsung/adc.c
  75. 5 1
      arch/arm64/Kconfig
  76. 1 0
      arch/arm64/include/asm/compat.h
  77. 1 1
      arch/arm64/kernel/perf_event.c
  78. 1 1
      arch/avr32/lib/delay.c
  79. 3 3
      arch/blackfin/mach-common/dpmc.c
  80. 1 1
      arch/cris/arch-v32/drivers/pci/bios.c
  81. 1 1
      arch/cris/arch-v32/kernel/smp.c
  82. 1 1
      arch/frv/kernel/setup.c
  83. 3 3
      arch/frv/mb93090-mb00/pci-vdk.c
  84. 1 1
      arch/ia64/include/asm/acpi.h
  85. 3 8
      arch/ia64/include/asm/iosapic.h
  86. 2 3
      arch/ia64/include/asm/parport.h
  87. 1 1
      arch/ia64/include/asm/smp.h
  88. 1 1
      arch/ia64/include/asm/unistd.h
  89. 1 0
      arch/ia64/include/uapi/asm/unistd.h
  90. 3 3
      arch/ia64/kernel/acpi.c
  91. 1 0
      arch/ia64/kernel/entry.S
  92. 6 13
      arch/ia64/kernel/iosapic.c
  93. 4 7
      arch/ia64/kernel/smpboot.c
  94. 1 2
      arch/ia64/kernel/time.c
  95. 2 3
      arch/ia64/mm/init.c
  96. 1 2
      arch/ia64/mm/tlb.c
  97. 1 1
      arch/ia64/pci/fixup.c
  98. 13 18
      arch/ia64/pci/pci.c
  99. 1 2
      arch/ia64/sn/kernel/io_common.c
  100. 1 1
      arch/ia64/sn/kernel/sn2/sn_hwperf.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,
 	};
 	};
 
 

+ 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>;
+}

+ 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;

File diff suppressed because it is too large
+ 131 - 74
MAINTAINERS


+ 1 - 1
Makefile

@@ -1,7 +1,7 @@
 VERSION = 3
 VERSION = 3
 PATCHLEVEL = 8
 PATCHLEVEL = 8
 SUBLEVEL = 0
 SUBLEVEL = 0
-EXTRAVERSION = -rc2
+EXTRAVERSION = -rc3
 NAME = Terrified Chipmunk
 NAME = Terrified Chipmunk
 
 
 # *DOCUMENTATION*
 # *DOCUMENTATION*

+ 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 - 0
arch/arm/Kconfig

@@ -1229,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
@@ -1242,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
@@ -1254,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
@@ -1266,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
@@ -1316,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
@@ -1329,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

+ 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";
 		};
 		};
 
 

+ 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>;

+ 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;
 }
 }

+ 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 - 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;

+ 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;

+ 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.

+ 0 - 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

+ 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 - 1
arch/arm/mach-imx/mmdc.c

@@ -21,7 +21,7 @@
 #define BP_MMDC_MAPSR_PSD	0
 #define BP_MMDC_MAPSR_PSD	0
 #define BP_MMDC_MAPSR_PSS	4
 #define BP_MMDC_MAPSR_PSS	4
 
 
-static int __devinit imx_mmdc_probe(struct platform_device *pdev)
+static int imx_mmdc_probe(struct platform_device *pdev)
 {
 {
 	struct device_node *np = pdev->dev.of_node;
 	struct device_node *np = pdev->dev.of_node;
 	void __iomem *mmdc_base, *reg;
 	void __iomem *mmdc_base, *reg;

+ 1 - 1
arch/arm/mach-iop13xx/pci.c

@@ -504,7 +504,7 @@ iop13xx_pci_abort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 
 
 /* Scan an IOP13XX PCI bus.  nr selects which ATU we use.
 /* Scan an IOP13XX PCI bus.  nr selects which ATU we use.
  */
  */
-struct pci_bus * __devinit iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
+struct pci_bus *iop13xx_scan_bus(int nr, struct pci_sys_data *sys)
 {
 {
 	int which_atu;
 	int which_atu;
 	struct pci_bus *bus = NULL;
 	struct pci_bus *bus = NULL;

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

@@ -214,7 +214,7 @@ static int __init kirkwood_pcie_setup(int nr, struct pci_sys_data *sys)
  * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on
  * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on
  * the device. Decoding setup is handled by the orion code.
  * the device. Decoding setup is handled by the orion code.
  */
  */
-static void __devinit rc_pci_fixup(struct pci_dev *dev)
+static void rc_pci_fixup(struct pci_dev *dev)
 {
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
 		int i;
 		int i;

+ 1 - 1
arch/arm/mach-ks8695/board-acs5k.c

@@ -92,7 +92,7 @@ static struct i2c_board_info acs5k_i2c_devs[] __initdata = {
 	},
 	},
 };
 };
 
 
-static void __devinit acs5k_i2c_init(void)
+static void acs5k_i2c_init(void)
 {
 {
 	/* The gpio interface */
 	/* The gpio interface */
 	platform_device_register(&acs5k_i2c_device);
 	platform_device_register(&acs5k_i2c_device);

+ 2 - 2
arch/arm/mach-mmp/sram.c

@@ -61,7 +61,7 @@ struct gen_pool *sram_get_gpool(char *pool_name)
 }
 }
 EXPORT_SYMBOL(sram_get_gpool);
 EXPORT_SYMBOL(sram_get_gpool);
 
 
-static int __devinit sram_probe(struct platform_device *pdev)
+static int sram_probe(struct platform_device *pdev)
 {
 {
 	struct sram_platdata *pdata = pdev->dev.platform_data;
 	struct sram_platdata *pdata = pdev->dev.platform_data;
 	struct sram_bank_info *info;
 	struct sram_bank_info *info;
@@ -125,7 +125,7 @@ out:
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit sram_remove(struct platform_device *pdev)
+static int sram_remove(struct platform_device *pdev)
 {
 {
 	struct sram_bank_info *info;
 	struct sram_bank_info *info;
 
 

+ 1 - 1
arch/arm/mach-msm/proc_comm.c

@@ -120,7 +120,7 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2)
  * and unknown state. This function should be called early to
  * and unknown state. This function should be called early to
  * wait on the ARM9.
  * wait on the ARM9.
  */
  */
-void __devinit proc_comm_boot_wait(void)
+void proc_comm_boot_wait(void)
 {
 {
 	void __iomem *base = MSM_SHARED_RAM_BASE;
 	void __iomem *base = MSM_SHARED_RAM_BASE;
  
  

+ 1 - 1
arch/arm/mach-msm/smd.c

@@ -988,7 +988,7 @@ int smd_core_init(void)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devinit msm_smd_probe(struct platform_device *pdev)
+static int msm_smd_probe(struct platform_device *pdev)
 {
 {
 	/*
 	/*
 	 * If we haven't waited for the ARM9 to boot up till now,
 	 * If we haven't waited for the ARM9 to boot up till now,

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

@@ -173,7 +173,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.

+ 3 - 3
arch/arm/mach-omap1/mailbox.c

@@ -142,7 +142,7 @@ static struct omap_mbox mbox_dsp_info = {
 
 
 static struct omap_mbox *omap1_mboxes[] = { &mbox_dsp_info, NULL };
 static struct omap_mbox *omap1_mboxes[] = { &mbox_dsp_info, NULL };
 
 
-static int __devinit omap1_mbox_probe(struct platform_device *pdev)
+static int omap1_mbox_probe(struct platform_device *pdev)
 {
 {
 	struct resource *mem;
 	struct resource *mem;
 	int ret;
 	int ret;
@@ -165,7 +165,7 @@ static int __devinit omap1_mbox_probe(struct platform_device *pdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devexit omap1_mbox_remove(struct platform_device *pdev)
+static int omap1_mbox_remove(struct platform_device *pdev)
 {
 {
 	omap_mbox_unregister();
 	omap_mbox_unregister();
 	iounmap(mbox_base);
 	iounmap(mbox_base);
@@ -174,7 +174,7 @@ static int __devexit omap1_mbox_remove(struct platform_device *pdev)
 
 
 static struct platform_driver omap1_mbox_driver = {
 static struct platform_driver omap1_mbox_driver = {
 	.probe	= omap1_mbox_probe,
 	.probe	= omap1_mbox_probe,
-	.remove	= __devexit_p(omap1_mbox_remove),
+	.remove	= omap1_mbox_remove,
 	.driver	= {
 	.driver	= {
 		.name	= "omap-mailbox",
 		.name	= "omap-mailbox",
 	},
 	},

+ 6 - 6
arch/arm/mach-omap2/gpmc.c

@@ -744,7 +744,7 @@ static int gpmc_setup_irq(void)
 	return request_irq(gpmc_irq, gpmc_handle_irq, 0, "gpmc", NULL);
 	return request_irq(gpmc_irq, gpmc_handle_irq, 0, "gpmc", NULL);
 }
 }
 
 
-static __devexit int gpmc_free_irq(void)
+static int gpmc_free_irq(void)
 {
 {
 	int i;
 	int i;
 
 
@@ -762,7 +762,7 @@ static __devexit int gpmc_free_irq(void)
 	return 0;
 	return 0;
 }
 }
 
 
-static void __devexit gpmc_mem_exit(void)
+static void gpmc_mem_exit(void)
 {
 {
 	int cs;
 	int cs;
 
 
@@ -774,7 +774,7 @@ static void __devexit gpmc_mem_exit(void)
 
 
 }
 }
 
 
-static int __devinit gpmc_mem_init(void)
+static int gpmc_mem_init(void)
 {
 {
 	int cs, rc;
 	int cs, rc;
 	unsigned long boot_rom_space = 0;
 	unsigned long boot_rom_space = 0;
@@ -1121,7 +1121,7 @@ int gpmc_calc_timings(struct gpmc_timings *gpmc_t,
 	return 0;
 	return 0;
 }
 }
 
 
-static __devinit int gpmc_probe(struct platform_device *pdev)
+static int gpmc_probe(struct platform_device *pdev)
 {
 {
 	int rc;
 	int rc;
 	u32 l;
 	u32 l;
@@ -1177,7 +1177,7 @@ static __devinit int gpmc_probe(struct platform_device *pdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static __devexit int gpmc_remove(struct platform_device *pdev)
+static int gpmc_remove(struct platform_device *pdev)
 {
 {
 	gpmc_free_irq();
 	gpmc_free_irq();
 	gpmc_mem_exit();
 	gpmc_mem_exit();
@@ -1187,7 +1187,7 @@ static __devexit int gpmc_remove(struct platform_device *pdev)
 
 
 static struct platform_driver gpmc_driver = {
 static struct platform_driver gpmc_driver = {
 	.probe		= gpmc_probe,
 	.probe		= gpmc_probe,
-	.remove		= __devexit_p(gpmc_remove),
+	.remove		= gpmc_remove,
 	.driver		= {
 	.driver		= {
 		.name	= DEVICE_NAME,
 		.name	= DEVICE_NAME,
 		.owner	= THIS_MODULE,
 		.owner	= THIS_MODULE,

+ 3 - 3
arch/arm/mach-omap2/mailbox.c

@@ -342,7 +342,7 @@ struct omap_mbox mbox_2_info = {
 struct omap_mbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL };
 struct omap_mbox *omap4_mboxes[] = { &mbox_1_info, &mbox_2_info, NULL };
 #endif
 #endif
 
 
-static int __devinit omap2_mbox_probe(struct platform_device *pdev)
+static int omap2_mbox_probe(struct platform_device *pdev)
 {
 {
 	struct resource *mem;
 	struct resource *mem;
 	int ret;
 	int ret;
@@ -395,7 +395,7 @@ static int __devinit omap2_mbox_probe(struct platform_device *pdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devexit omap2_mbox_remove(struct platform_device *pdev)
+static int omap2_mbox_remove(struct platform_device *pdev)
 {
 {
 	omap_mbox_unregister();
 	omap_mbox_unregister();
 	iounmap(mbox_base);
 	iounmap(mbox_base);
@@ -404,7 +404,7 @@ static int __devexit omap2_mbox_remove(struct platform_device *pdev)
 
 
 static struct platform_driver omap2_mbox_driver = {
 static struct platform_driver omap2_mbox_driver = {
 	.probe = omap2_mbox_probe,
 	.probe = omap2_mbox_probe,
-	.remove = __devexit_p(omap2_mbox_remove),
+	.remove = omap2_mbox_remove,
 	.driver = {
 	.driver = {
 		.name = "omap-mailbox",
 		.name = "omap-mailbox",
 	},
 	},

+ 1 - 1
arch/arm/mach-orion5x/pci.c

@@ -506,7 +506,7 @@ static int __init pci_setup(struct pci_sys_data *sys)
 /*****************************************************************************
 /*****************************************************************************
  * General PCIe + PCI
  * General PCIe + PCI
  ****************************************************************************/
  ****************************************************************************/
-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.

+ 1 - 1
arch/arm/mach-prima2/pm.c

@@ -123,7 +123,7 @@ static const struct of_device_id memc_ids[] = {
 	{}
 	{}
 };
 };
 
 
-static int __devinit sirfsoc_memc_probe(struct platform_device *op)
+static int sirfsoc_memc_probe(struct platform_device *op)
 {
 {
 	struct device_node *np = op->dev.of_node;
 	struct device_node *np = op->dev.of_node;
 
 

+ 1 - 1
arch/arm/mach-prima2/rtciobrg.c

@@ -107,7 +107,7 @@ static const struct of_device_id rtciobrg_ids[] = {
 	{}
 	{}
 };
 };
 
 
-static int __devinit sirfsoc_rtciobrg_probe(struct platform_device *op)
+static int sirfsoc_rtciobrg_probe(struct platform_device *op)
 {
 {
 	struct device_node *np = op->dev.of_node;
 	struct device_node *np = op->dev.of_node;
 
 

+ 1 - 1
arch/arm/mach-pxa/corgi_pm.c

@@ -198,7 +198,7 @@ static struct sharpsl_charger_machinfo corgi_pm_machinfo = {
 
 
 static struct platform_device *corgipm_device;
 static struct platform_device *corgipm_device;
 
 
-static int __devinit corgipm_init(void)
+static int corgipm_init(void)
 {
 {
 	int ret;
 	int ret;
 
 

+ 2 - 2
arch/arm/mach-pxa/sharpsl_pm.c

@@ -829,7 +829,7 @@ static const struct platform_suspend_ops sharpsl_pm_ops = {
 };
 };
 #endif
 #endif
 
 
-static int __devinit sharpsl_pm_probe(struct platform_device *pdev)
+static int sharpsl_pm_probe(struct platform_device *pdev)
 {
 {
 	int ret, irq;
 	int ret, irq;
 
 
@@ -941,7 +941,7 @@ static struct platform_driver sharpsl_pm_driver = {
 	},
 	},
 };
 };
 
 
-static int __devinit sharpsl_pm_init(void)
+static int sharpsl_pm_init(void)
 {
 {
 	return platform_driver_register(&sharpsl_pm_driver);
 	return platform_driver_register(&sharpsl_pm_driver);
 }
 }

+ 1 - 1
arch/arm/mach-pxa/spitz_pm.c

@@ -232,7 +232,7 @@ struct sharpsl_charger_machinfo spitz_pm_machinfo = {
 
 
 static struct platform_device *spitzpm_device;
 static struct platform_device *spitzpm_device;
 
 
-static int __devinit spitzpm_init(void)
+static int spitzpm_init(void)
 {
 {
 	int ret;
 	int ret;
 
 

+ 2 - 2
arch/arm/mach-pxa/tosa-bt.c

@@ -102,7 +102,7 @@ err_reset:
 	return rc;
 	return rc;
 }
 }
 
 
-static int __devexit tosa_bt_remove(struct platform_device *dev)
+static int tosa_bt_remove(struct platform_device *dev)
 {
 {
 	struct tosa_bt_data *data = dev->dev.platform_data;
 	struct tosa_bt_data *data = dev->dev.platform_data;
 	struct rfkill *rfk = platform_get_drvdata(dev);
 	struct rfkill *rfk = platform_get_drvdata(dev);
@@ -125,7 +125,7 @@ static int __devexit tosa_bt_remove(struct platform_device *dev)
 
 
 static struct platform_driver tosa_bt_driver = {
 static struct platform_driver tosa_bt_driver = {
 	.probe = tosa_bt_probe,
 	.probe = tosa_bt_probe,
-	.remove = __devexit_p(tosa_bt_remove),
+	.remove = tosa_bt_remove,
 
 
 	.driver = {
 	.driver = {
 		.name = "tosa-bt",
 		.name = "tosa-bt",

+ 1 - 1
arch/arm/mach-s3c24xx/h1940-bluetooth.c

@@ -62,7 +62,7 @@ static const struct rfkill_ops h1940bt_rfkill_ops = {
 	.set_block = h1940bt_set_block,
 	.set_block = h1940bt_set_block,
 };
 };
 
 
-static int __devinit h1940bt_probe(struct platform_device *pdev)
+static int h1940bt_probe(struct platform_device *pdev)
 {
 {
 	struct rfkill *rfk;
 	struct rfkill *rfk;
 	int ret = 0;
 	int ret = 0;

+ 3 - 3
arch/arm/mach-s3c24xx/mach-osiris-dvs.c

@@ -93,7 +93,7 @@ static struct notifier_block osiris_dvs_nb = {
 	.notifier_call	= osiris_dvs_notify,
 	.notifier_call	= osiris_dvs_notify,
 };
 };
 
 
-static int __devinit osiris_dvs_probe(struct platform_device *pdev)
+static int osiris_dvs_probe(struct platform_device *pdev)
 {
 {
 	int ret;
 	int ret;
 
 
@@ -126,7 +126,7 @@ err_nogpio:
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit osiris_dvs_remove(struct platform_device *pdev)
+static int osiris_dvs_remove(struct platform_device *pdev)
 {
 {
 	dev_info(&pdev->dev, "exiting\n");
 	dev_info(&pdev->dev, "exiting\n");
 
 
@@ -167,7 +167,7 @@ static const struct dev_pm_ops osiris_dvs_pm = {
 
 
 static struct platform_driver osiris_dvs_driver = {
 static struct platform_driver osiris_dvs_driver = {
 	.probe		= osiris_dvs_probe,
 	.probe		= osiris_dvs_probe,
-	.remove		= __devexit_p(osiris_dvs_remove),
+	.remove		= osiris_dvs_remove,
 	.driver		= {
 	.driver		= {
 		.name	= "osiris-dvs",
 		.name	= "osiris-dvs",
 		.owner	= THIS_MODULE,
 		.owner	= THIS_MODULE,

+ 4 - 4
arch/arm/mach-s3c64xx/mach-crag6410-module.c

@@ -47,7 +47,7 @@ static struct spi_board_info wm1253_devs[] = {
 		.bus_num	= 0,
 		.bus_num	= 0,
 		.chip_select	= 0,
 		.chip_select	= 0,
 		.mode		= SPI_MODE_0,
 		.mode		= SPI_MODE_0,
-		.irq		= S3C_EINT(5),
+		.irq		= S3C_EINT(4),
 		.controller_data = &wm0010_spi_csinfo,
 		.controller_data = &wm0010_spi_csinfo,
 		.platform_data = &wm0010_pdata,
 		.platform_data = &wm0010_pdata,
 	},
 	},
@@ -290,7 +290,7 @@ static const struct i2c_board_info wm2200_i2c[] = {
 	  .platform_data = &wm2200_pdata, },
 	  .platform_data = &wm2200_pdata, },
 };
 };
 
 
-static __devinitdata const struct {
+static const struct {
 	u8 id;
 	u8 id;
 	u8 rev;
 	u8 rev;
 	const char *name;
 	const char *name;
@@ -343,8 +343,8 @@ static __devinitdata const struct {
 	  .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) },
 	  .i2c_devs = wm2200_i2c, .num_i2c_devs = ARRAY_SIZE(wm2200_i2c) },
 };
 };
 
 
-static __devinit int wlf_gf_module_probe(struct i2c_client *i2c,
-					 const struct i2c_device_id *i2c_id)
+static int wlf_gf_module_probe(struct i2c_client *i2c,
+			       const struct i2c_device_id *i2c_id)
 {
 {
 	int ret, i, j, id, rev;
 	int ret, i, j, id, rev;
 
 

+ 34 - 34
arch/arm/mach-s3c64xx/mach-crag6410.c

@@ -171,7 +171,7 @@ static struct fb_videomode crag6410_lcd_timing = {
 };
 };
 
 
 /* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
 /* 405566 clocks per frame => 60Hz refresh requires 24333960Hz clock */
-static struct s3c_fb_platdata crag6410_lcd_pdata __devinitdata = {
+static struct s3c_fb_platdata crag6410_lcd_pdata = {
 	.setup_gpio	= s3c64xx_fb_gpio_setup_24bpp,
 	.setup_gpio	= s3c64xx_fb_gpio_setup_24bpp,
 	.vtiming	= &crag6410_lcd_timing,
 	.vtiming	= &crag6410_lcd_timing,
 	.win[0]		= &crag6410_fb_win0,
 	.win[0]		= &crag6410_fb_win0,
@@ -181,7 +181,7 @@ static struct s3c_fb_platdata crag6410_lcd_pdata __devinitdata = {
 
 
 /* 2x6 keypad */
 /* 2x6 keypad */
 
 
-static uint32_t crag6410_keymap[] __devinitdata = {
+static uint32_t crag6410_keymap[] = {
 	/* KEY(row, col, keycode) */
 	/* KEY(row, col, keycode) */
 	KEY(0, 0, KEY_VOLUMEUP),
 	KEY(0, 0, KEY_VOLUMEUP),
 	KEY(0, 1, KEY_HOME),
 	KEY(0, 1, KEY_HOME),
@@ -197,12 +197,12 @@ static uint32_t crag6410_keymap[] __devinitdata = {
 	KEY(1, 5, KEY_CAMERA),
 	KEY(1, 5, KEY_CAMERA),
 };
 };
 
 
-static struct matrix_keymap_data crag6410_keymap_data __devinitdata = {
+static struct matrix_keymap_data crag6410_keymap_data = {
 	.keymap		= crag6410_keymap,
 	.keymap		= crag6410_keymap,
 	.keymap_size	= ARRAY_SIZE(crag6410_keymap),
 	.keymap_size	= ARRAY_SIZE(crag6410_keymap),
 };
 };
 
 
-static struct samsung_keypad_platdata crag6410_keypad_data __devinitdata = {
+static struct samsung_keypad_platdata crag6410_keypad_data = {
 	.keymap_data	= &crag6410_keymap_data,
 	.keymap_data	= &crag6410_keymap_data,
 	.rows		= 2,
 	.rows		= 2,
 	.cols		= 6,
 	.cols		= 6,
@@ -407,11 +407,11 @@ static struct wm831x_buckv_pdata vddarm_pdata = {
 	.dvs_gpio = S3C64XX_GPK(0),
 	.dvs_gpio = S3C64XX_GPK(0),
 };
 };
 
 
-static struct regulator_consumer_supply vddarm_consumers[] __devinitdata = {
+static struct regulator_consumer_supply vddarm_consumers[] = {
 	REGULATOR_SUPPLY("vddarm", NULL),
 	REGULATOR_SUPPLY("vddarm", NULL),
 };
 };
 
 
-static struct regulator_init_data vddarm __devinitdata = {
+static struct regulator_init_data vddarm = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDARM",
 		.name = "VDDARM",
 		.min_uV = 1000000,
 		.min_uV = 1000000,
@@ -425,11 +425,11 @@ static struct regulator_init_data vddarm __devinitdata = {
 	.driver_data = &vddarm_pdata,
 	.driver_data = &vddarm_pdata,
 };
 };
 
 
-static struct regulator_consumer_supply vddint_consumers[] __devinitdata = {
+static struct regulator_consumer_supply vddint_consumers[] = {
 	REGULATOR_SUPPLY("vddint", NULL),
 	REGULATOR_SUPPLY("vddint", NULL),
 };
 };
 
 
-static struct regulator_init_data vddint __devinitdata = {
+static struct regulator_init_data vddint = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDINT",
 		.name = "VDDINT",
 		.min_uV = 1000000,
 		.min_uV = 1000000,
@@ -442,27 +442,27 @@ static struct regulator_init_data vddint __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddmem __devinitdata = {
+static struct regulator_init_data vddmem = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDMEM",
 		.name = "VDDMEM",
 		.always_on = 1,
 		.always_on = 1,
 	},
 	},
 };
 };
 
 
-static struct regulator_init_data vddsys __devinitdata = {
+static struct regulator_init_data vddsys = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDSYS,VDDEXT,VDDPCM,VDDSS",
 		.name = "VDDSYS,VDDEXT,VDDPCM,VDDSS",
 		.always_on = 1,
 		.always_on = 1,
 	},
 	},
 };
 };
 
 
-static struct regulator_consumer_supply vddmmc_consumers[] __devinitdata = {
+static struct regulator_consumer_supply vddmmc_consumers[] = {
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.0"),
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.1"),
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.1"),
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"),
 	REGULATOR_SUPPLY("vmmc", "s3c-sdhci.2"),
 };
 };
 
 
-static struct regulator_init_data vddmmc __devinitdata = {
+static struct regulator_init_data vddmmc = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDMMC,UH",
 		.name = "VDDMMC,UH",
 		.always_on = 1,
 		.always_on = 1,
@@ -472,7 +472,7 @@ static struct regulator_init_data vddmmc __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddotgi __devinitdata = {
+static struct regulator_init_data vddotgi = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDOTGi",
 		.name = "VDDOTGi",
 		.always_on = 1,
 		.always_on = 1,
@@ -480,7 +480,7 @@ static struct regulator_init_data vddotgi __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddotg __devinitdata = {
+static struct regulator_init_data vddotg = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDOTG",
 		.name = "VDDOTG",
 		.always_on = 1,
 		.always_on = 1,
@@ -488,7 +488,7 @@ static struct regulator_init_data vddotg __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddhi __devinitdata = {
+static struct regulator_init_data vddhi = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDHI",
 		.name = "VDDHI",
 		.always_on = 1,
 		.always_on = 1,
@@ -496,7 +496,7 @@ static struct regulator_init_data vddhi __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddadc __devinitdata = {
+static struct regulator_init_data vddadc = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDADC,VDDDAC",
 		.name = "VDDADC,VDDDAC",
 		.always_on = 1,
 		.always_on = 1,
@@ -504,7 +504,7 @@ static struct regulator_init_data vddadc __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddmem0 __devinitdata = {
+static struct regulator_init_data vddmem0 = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDMEM0",
 		.name = "VDDMEM0",
 		.always_on = 1,
 		.always_on = 1,
@@ -512,7 +512,7 @@ static struct regulator_init_data vddmem0 __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddpll __devinitdata = {
+static struct regulator_init_data vddpll = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDPLL",
 		.name = "VDDPLL",
 		.always_on = 1,
 		.always_on = 1,
@@ -520,7 +520,7 @@ static struct regulator_init_data vddpll __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddlcd __devinitdata = {
+static struct regulator_init_data vddlcd = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDLCD",
 		.name = "VDDLCD",
 		.always_on = 1,
 		.always_on = 1,
@@ -528,7 +528,7 @@ static struct regulator_init_data vddlcd __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct regulator_init_data vddalive __devinitdata = {
+static struct regulator_init_data vddalive = {
 	.constraints = {
 	.constraints = {
 		.name = "VDDALIVE",
 		.name = "VDDALIVE",
 		.always_on = 1,
 		.always_on = 1,
@@ -536,28 +536,28 @@ static struct regulator_init_data vddalive __devinitdata = {
 	.supply_regulator = "WALLVDD",
 	.supply_regulator = "WALLVDD",
 };
 };
 
 
-static struct wm831x_backup_pdata banff_backup_pdata __devinitdata = {
+static struct wm831x_backup_pdata banff_backup_pdata = {
 	.charger_enable = 1,
 	.charger_enable = 1,
 	.vlim = 2500,  /* mV */
 	.vlim = 2500,  /* mV */
 	.ilim = 200,   /* uA */
 	.ilim = 200,   /* uA */
 };
 };
 
 
-static struct wm831x_status_pdata banff_red_led __devinitdata = {
+static struct wm831x_status_pdata banff_red_led = {
 	.name = "banff:red:",
 	.name = "banff:red:",
 	.default_src = WM831X_STATUS_MANUAL,
 	.default_src = WM831X_STATUS_MANUAL,
 };
 };
 
 
-static struct wm831x_status_pdata banff_green_led __devinitdata = {
+static struct wm831x_status_pdata banff_green_led = {
 	.name = "banff:green:",
 	.name = "banff:green:",
 	.default_src = WM831X_STATUS_MANUAL,
 	.default_src = WM831X_STATUS_MANUAL,
 };
 };
 
 
-static struct wm831x_touch_pdata touch_pdata __devinitdata = {
+static struct wm831x_touch_pdata touch_pdata = {
 	.data_irq = S3C_EINT(26),
 	.data_irq = S3C_EINT(26),
 	.pd_irq = S3C_EINT(27),
 	.pd_irq = S3C_EINT(27),
 };
 };
 
 
-static struct wm831x_pdata crag_pmic_pdata __devinitdata = {
+static struct wm831x_pdata crag_pmic_pdata = {
 	.wm831x_num = 1,
 	.wm831x_num = 1,
 	.gpio_base = BANFF_PMIC_GPIO_BASE,
 	.gpio_base = BANFF_PMIC_GPIO_BASE,
 	.soft_shutdown = true,
 	.soft_shutdown = true,
@@ -601,7 +601,7 @@ static struct wm831x_pdata crag_pmic_pdata __devinitdata = {
 	.touch = &touch_pdata,
 	.touch = &touch_pdata,
 };
 };
 
 
-static struct i2c_board_info i2c_devs0[] __devinitdata = {
+static struct i2c_board_info i2c_devs0[] = {
 	{ I2C_BOARD_INFO("24c08", 0x50), },
 	{ I2C_BOARD_INFO("24c08", 0x50), },
 	{ I2C_BOARD_INFO("tca6408", 0x20),
 	{ I2C_BOARD_INFO("tca6408", 0x20),
 	  .platform_data = &crag6410_pca_data,
 	  .platform_data = &crag6410_pca_data,
@@ -616,13 +616,13 @@ static struct s3c2410_platform_i2c i2c0_pdata = {
 	.frequency = 400000,
 	.frequency = 400000,
 };
 };
 
 
-static struct regulator_consumer_supply pvdd_1v2_consumers[] __devinitdata = {
+static struct regulator_consumer_supply pvdd_1v2_consumers[] = {
 	REGULATOR_SUPPLY("DCVDD", "spi0.0"),
 	REGULATOR_SUPPLY("DCVDD", "spi0.0"),
 	REGULATOR_SUPPLY("AVDD", "spi0.0"),
 	REGULATOR_SUPPLY("AVDD", "spi0.0"),
 	REGULATOR_SUPPLY("AVDD", "spi0.1"),
 	REGULATOR_SUPPLY("AVDD", "spi0.1"),
 };
 };
 
 
-static struct regulator_init_data pvdd_1v2 __devinitdata = {
+static struct regulator_init_data pvdd_1v2 = {
 	.constraints = {
 	.constraints = {
 		.name = "PVDD_1V2",
 		.name = "PVDD_1V2",
 		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
 		.valid_ops_mask = REGULATOR_CHANGE_STATUS,
@@ -632,7 +632,7 @@ static struct regulator_init_data pvdd_1v2 __devinitdata = {
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_1v2_consumers),
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_1v2_consumers),
 };
 };
 
 
-static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = {
+static struct regulator_consumer_supply pvdd_1v8_consumers[] = {
 	REGULATOR_SUPPLY("LDOVDD", "1-001a"),
 	REGULATOR_SUPPLY("LDOVDD", "1-001a"),
 	REGULATOR_SUPPLY("PLLVDD", "1-001a"),
 	REGULATOR_SUPPLY("PLLVDD", "1-001a"),
 	REGULATOR_SUPPLY("DBVDD", "1-001a"),
 	REGULATOR_SUPPLY("DBVDD", "1-001a"),
@@ -664,7 +664,7 @@ static struct regulator_consumer_supply pvdd_1v8_consumers[] __devinitdata = {
 	REGULATOR_SUPPLY("CPVDD", "wm5110-codec"),
 	REGULATOR_SUPPLY("CPVDD", "wm5110-codec"),
 };
 };
 
 
-static struct regulator_init_data pvdd_1v8 __devinitdata = {
+static struct regulator_init_data pvdd_1v8 = {
 	.constraints = {
 	.constraints = {
 		.name = "PVDD_1V8",
 		.name = "PVDD_1V8",
 		.always_on = 1,
 		.always_on = 1,
@@ -674,12 +674,12 @@ static struct regulator_init_data pvdd_1v8 __devinitdata = {
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_1v8_consumers),
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_1v8_consumers),
 };
 };
 
 
-static struct regulator_consumer_supply pvdd_3v3_consumers[] __devinitdata = {
+static struct regulator_consumer_supply pvdd_3v3_consumers[] = {
 	REGULATOR_SUPPLY("MICVDD", "1-001a"),
 	REGULATOR_SUPPLY("MICVDD", "1-001a"),
 	REGULATOR_SUPPLY("AVDD1", "1-001a"),
 	REGULATOR_SUPPLY("AVDD1", "1-001a"),
 };
 };
 
 
-static struct regulator_init_data pvdd_3v3 __devinitdata = {
+static struct regulator_init_data pvdd_3v3 = {
 	.constraints = {
 	.constraints = {
 		.name = "PVDD_3V3",
 		.name = "PVDD_3V3",
 		.always_on = 1,
 		.always_on = 1,
@@ -689,7 +689,7 @@ static struct regulator_init_data pvdd_3v3 __devinitdata = {
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_3v3_consumers),
 	.num_consumer_supplies = ARRAY_SIZE(pvdd_3v3_consumers),
 };
 };
 
 
-static struct wm831x_pdata glenfarclas_pmic_pdata __devinitdata = {
+static struct wm831x_pdata glenfarclas_pmic_pdata = {
 	.wm831x_num = 2,
 	.wm831x_num = 2,
 	.irq_base = GLENFARCLAS_PMIC_IRQ_BASE,
 	.irq_base = GLENFARCLAS_PMIC_IRQ_BASE,
 	.gpio_base = GLENFARCLAS_PMIC_GPIO_BASE,
 	.gpio_base = GLENFARCLAS_PMIC_GPIO_BASE,
@@ -721,7 +721,7 @@ static struct wm1250_ev1_pdata wm1250_ev1_pdata = {
 	},
 	},
 };
 };
 
 
-static struct i2c_board_info i2c_devs1[] __devinitdata = {
+static struct i2c_board_info i2c_devs1[] = {
 	{ I2C_BOARD_INFO("wm8311", 0x34),
 	{ I2C_BOARD_INFO("wm8311", 0x34),
 	  .irq = S3C_EINT(0),
 	  .irq = S3C_EINT(0),
 	  .platform_data = &glenfarclas_pmic_pdata },
 	  .platform_data = &glenfarclas_pmic_pdata },

+ 2 - 0
arch/arm/mach-s3c64xx/pm.c

@@ -338,8 +338,10 @@ int __init s3c64xx_pm_init(void)
 	for (i = 0; i < ARRAY_SIZE(s3c64xx_pm_domains); i++)
 	for (i = 0; i < ARRAY_SIZE(s3c64xx_pm_domains); i++)
 		pm_genpd_init(&s3c64xx_pm_domains[i]->pd, NULL, false);
 		pm_genpd_init(&s3c64xx_pm_domains[i]->pd, NULL, false);
 
 
+#ifdef CONFIG_S3C_DEV_FB
 	if (dev_get_platdata(&s3c_device_fb.dev))
 	if (dev_get_platdata(&s3c_device_fb.dev))
 		pm_genpd_add_device(&s3c64xx_pm_f.pd, &s3c_device_fb.dev);
 		pm_genpd_add_device(&s3c64xx_pm_f.pd, &s3c_device_fb.dev);
+#endif
 
 
 	return 0;
 	return 0;
 }
 }

+ 1 - 1
arch/arm/mach-sa1100/jornada720_ssp.c

@@ -130,7 +130,7 @@ void jornada_ssp_end(void)
 };
 };
 EXPORT_SYMBOL(jornada_ssp_end);
 EXPORT_SYMBOL(jornada_ssp_end);
 
 
-static int __devinit jornada_ssp_probe(struct platform_device *dev)
+static int jornada_ssp_probe(struct platform_device *dev)
 {
 {
 	int ret;
 	int ret;
 
 

+ 4 - 4
arch/arm/mach-sa1100/neponset.c

@@ -154,7 +154,7 @@ static u_int neponset_get_mctrl(struct uart_port *port)
 	return ret;
 	return ret;
 }
 }
 
 
-static struct sa1100_port_fns neponset_port_fns __devinitdata = {
+static struct sa1100_port_fns neponset_port_fns = {
 	.set_mctrl	= neponset_set_mctrl,
 	.set_mctrl	= neponset_set_mctrl,
 	.get_mctrl	= neponset_get_mctrl,
 	.get_mctrl	= neponset_get_mctrl,
 };
 };
@@ -233,7 +233,7 @@ static struct sa1111_platform_data sa1111_info = {
 	.disable_devs	= SA1111_DEVID_PS2_MSE,
 	.disable_devs	= SA1111_DEVID_PS2_MSE,
 };
 };
 
 
-static int __devinit neponset_probe(struct platform_device *dev)
+static int neponset_probe(struct platform_device *dev)
 {
 {
 	struct neponset_drvdata *d;
 	struct neponset_drvdata *d;
 	struct resource *nep_res, *sa1111_res, *smc91x_res;
 	struct resource *nep_res, *sa1111_res, *smc91x_res;
@@ -368,7 +368,7 @@ static int __devinit neponset_probe(struct platform_device *dev)
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit neponset_remove(struct platform_device *dev)
+static int neponset_remove(struct platform_device *dev)
 {
 {
 	struct neponset_drvdata *d = platform_get_drvdata(dev);
 	struct neponset_drvdata *d = platform_get_drvdata(dev);
 	int irq = platform_get_irq(dev, 0);
 	int irq = platform_get_irq(dev, 0);
@@ -420,7 +420,7 @@ static const struct dev_pm_ops neponset_pm_ops = {
 
 
 static struct platform_driver neponset_device_driver = {
 static struct platform_driver neponset_device_driver = {
 	.probe		= neponset_probe,
 	.probe		= neponset_probe,
-	.remove		= __devexit_p(neponset_remove),
+	.remove		= neponset_remove,
 	.driver		= {
 	.driver		= {
 		.name	= "neponset",
 		.name	= "neponset",
 		.owner	= THIS_MODULE,
 		.owner	= THIS_MODULE,

+ 3 - 3
arch/arm/mach-tegra/pcie.c

@@ -331,7 +331,7 @@ static struct pci_ops tegra_pcie_ops = {
 	.write	= tegra_pcie_write_conf,
 	.write	= tegra_pcie_write_conf,
 };
 };
 
 
-static void __devinit tegra_pcie_fixup_bridge(struct pci_dev *dev)
+static void tegra_pcie_fixup_bridge(struct pci_dev *dev)
 {
 {
 	u16 reg;
 	u16 reg;
 
 
@@ -345,7 +345,7 @@ static void __devinit tegra_pcie_fixup_bridge(struct pci_dev *dev)
 DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_fixup_bridge);
 DECLARE_PCI_FIXUP_FINAL(PCI_ANY_ID, PCI_ANY_ID, tegra_pcie_fixup_bridge);
 
 
 /* Tegra PCIE root complex wrongly reports device class */
 /* Tegra PCIE root complex wrongly reports device class */
-static void __devinit tegra_pcie_fixup_class(struct pci_dev *dev)
+static void tegra_pcie_fixup_class(struct pci_dev *dev)
 {
 {
 	dev->class = PCI_CLASS_BRIDGE_PCI << 8;
 	dev->class = PCI_CLASS_BRIDGE_PCI << 8;
 }
 }
@@ -353,7 +353,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf0, tegra_pcie_fixup_class);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_fixup_class);
 DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_NVIDIA, 0x0bf1, tegra_pcie_fixup_class);
 
 
 /* Tegra PCIE requires relaxed ordering */
 /* Tegra PCIE requires relaxed ordering */
-static void __devinit tegra_pcie_relax_enable(struct pci_dev *dev)
+static void tegra_pcie_relax_enable(struct pci_dev *dev)
 {
 {
 	pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_RELAX_EN);
 	pcie_capability_set_word(dev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_RELAX_EN);
 }
 }

+ 3 - 3
arch/arm/mach-tegra/tegra2_emc.c

@@ -268,7 +268,7 @@ static struct tegra_emc_pdata *tegra_emc_dt_parse_pdata(
 }
 }
 #endif
 #endif
 
 
-static struct tegra_emc_pdata __devinit *tegra_emc_fill_pdata(struct platform_device *pdev)
+static struct tegra_emc_pdata *tegra_emc_fill_pdata(struct platform_device *pdev)
 {
 {
 	struct clk *c = clk_get_sys(NULL, "emc");
 	struct clk *c = clk_get_sys(NULL, "emc");
 	struct tegra_emc_pdata *pdata;
 	struct tegra_emc_pdata *pdata;
@@ -296,7 +296,7 @@ static struct tegra_emc_pdata __devinit *tegra_emc_fill_pdata(struct platform_de
 	return pdata;
 	return pdata;
 }
 }
 
 
-static int __devinit tegra_emc_probe(struct platform_device *pdev)
+static int tegra_emc_probe(struct platform_device *pdev)
 {
 {
 	struct tegra_emc_pdata *pdata;
 	struct tegra_emc_pdata *pdata;
 	struct resource *res;
 	struct resource *res;
@@ -333,7 +333,7 @@ static int __devinit tegra_emc_probe(struct platform_device *pdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static struct of_device_id tegra_emc_of_match[] __devinitdata = {
+static struct of_device_id tegra_emc_of_match[] = {
 	{ .compatible = "nvidia,tegra20-emc", },
 	{ .compatible = "nvidia,tegra20-emc", },
 	{ },
 	{ },
 };
 };

+ 3 - 3
arch/arm/mach-u300/dummyspichip.c

@@ -222,7 +222,7 @@ static ssize_t dummy_looptest(struct device *dev,
 
 
 static DEVICE_ATTR(looptest, S_IRUGO, dummy_looptest, NULL);
 static DEVICE_ATTR(looptest, S_IRUGO, dummy_looptest, NULL);
 
 
-static int __devinit pl022_dummy_probe(struct spi_device *spi)
+static int pl022_dummy_probe(struct spi_device *spi)
 {
 {
 	struct dummy *p_dummy;
 	struct dummy *p_dummy;
 	int status;
 	int status;
@@ -251,7 +251,7 @@ out_dev_create_looptest_failed:
 	return status;
 	return status;
 }
 }
 
 
-static int __devexit pl022_dummy_remove(struct spi_device *spi)
+static int pl022_dummy_remove(struct spi_device *spi)
 {
 {
 	struct dummy *p_dummy = dev_get_drvdata(&spi->dev);
 	struct dummy *p_dummy = dev_get_drvdata(&spi->dev);
 
 
@@ -269,7 +269,7 @@ static struct spi_driver pl022_dummy_driver = {
 		.owner	= THIS_MODULE,
 		.owner	= THIS_MODULE,
 	},
 	},
 	.probe	= pl022_dummy_probe,
 	.probe	= pl022_dummy_probe,
-	.remove	= __devexit_p(pl022_dummy_remove),
+	.remove	= pl022_dummy_remove,
 };
 };
 
 
 static int __init pl022_init_dummy(void)
 static int __init pl022_init_dummy(void)

+ 2 - 1
arch/arm/mach-ux500/cpu-db8500.c

@@ -285,7 +285,8 @@ static struct of_dev_auxdata u8500_auxdata_lookup[] __initdata = {
 	OF_DEV_AUXDATA("st,nomadik-i2c", 0x80110000, "nmk-i2c.3", NULL),
 	OF_DEV_AUXDATA("st,nomadik-i2c", 0x80110000, "nmk-i2c.3", NULL),
 	OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL),
 	OF_DEV_AUXDATA("st,nomadik-i2c", 0x8012a000, "nmk-i2c.4", NULL),
 	/* Requires device name bindings. */
 	/* Requires device name bindings. */
-	OF_DEV_AUXDATA("stericsson,nmk_pinctrl", 0, "pinctrl-db8500", NULL),
+	OF_DEV_AUXDATA("stericsson,nmk_pinctrl", U8500_PRCMU_BASE,
+		"pinctrl-db8500", NULL),
 	/* Requires clock name and DMA bindings. */
 	/* Requires clock name and DMA bindings. */
 	OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000,
 	OF_DEV_AUXDATA("stericsson,ux500-msp-i2s", 0x80123000,
 		"ux500-msp-i2s.0", &msp0_platform_data),
 		"ux500-msp-i2s.0", &msp0_platform_data),

+ 3 - 3
arch/arm/mach-versatile/include/mach/irqs.h

@@ -25,7 +25,7 @@
  *  IRQ interrupts definitions are the same as the INT definitions
  *  IRQ interrupts definitions are the same as the INT definitions
  *  held within platform.h
  *  held within platform.h
  */
  */
-#define IRQ_VIC_START		0
+#define IRQ_VIC_START		32
 #define IRQ_WDOGINT		(IRQ_VIC_START + INT_WDOGINT)
 #define IRQ_WDOGINT		(IRQ_VIC_START + INT_WDOGINT)
 #define IRQ_SOFTINT		(IRQ_VIC_START + INT_SOFTINT)
 #define IRQ_SOFTINT		(IRQ_VIC_START + INT_SOFTINT)
 #define IRQ_COMMRx		(IRQ_VIC_START + INT_COMMRx)
 #define IRQ_COMMRx		(IRQ_VIC_START + INT_COMMRx)
@@ -100,7 +100,7 @@
 /*
 /*
  * Secondary interrupt controller
  * Secondary interrupt controller
  */
  */
-#define IRQ_SIC_START		32
+#define IRQ_SIC_START		64
 #define IRQ_SIC_MMCI0B 		(IRQ_SIC_START + SIC_INT_MMCI0B)
 #define IRQ_SIC_MMCI0B 		(IRQ_SIC_START + SIC_INT_MMCI0B)
 #define IRQ_SIC_MMCI1B 		(IRQ_SIC_START + SIC_INT_MMCI1B)
 #define IRQ_SIC_MMCI1B 		(IRQ_SIC_START + SIC_INT_MMCI1B)
 #define IRQ_SIC_KMI0		(IRQ_SIC_START + SIC_INT_KMI0)
 #define IRQ_SIC_KMI0		(IRQ_SIC_START + SIC_INT_KMI0)
@@ -120,7 +120,7 @@
 #define IRQ_SIC_PCI1		(IRQ_SIC_START + SIC_INT_PCI1)
 #define IRQ_SIC_PCI1		(IRQ_SIC_START + SIC_INT_PCI1)
 #define IRQ_SIC_PCI2		(IRQ_SIC_START + SIC_INT_PCI2)
 #define IRQ_SIC_PCI2		(IRQ_SIC_START + SIC_INT_PCI2)
 #define IRQ_SIC_PCI3		(IRQ_SIC_START + SIC_INT_PCI3)
 #define IRQ_SIC_PCI3		(IRQ_SIC_START + SIC_INT_PCI3)
-#define IRQ_SIC_END		63
+#define IRQ_SIC_END		95
 
 
 #define IRQ_GPIO0_START		(IRQ_SIC_END + 1)
 #define IRQ_GPIO0_START		(IRQ_SIC_END + 1)
 #define IRQ_GPIO0_END		(IRQ_GPIO0_START + 31)
 #define IRQ_GPIO0_END		(IRQ_GPIO0_START + 31)

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

@@ -42,7 +42,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
 	bool "Enable A5 and A9 only errata work-arounds"
 	bool "Enable A5 and A9 only errata work-arounds"
 	default y
 	default y
 	select ARM_ERRATA_720789
 	select ARM_ERRATA_720789
-	select ARM_ERRATA_751472
 	select PL310_ERRATA_753970 if CACHE_PL310
 	select PL310_ERRATA_753970 if CACHE_PL310
 	help
 	help
 	  Provides common dependencies for Versatile Express platforms
 	  Provides common dependencies for Versatile Express platforms

+ 21 - 13
arch/arm/mm/cache-l2x0.c

@@ -352,7 +352,8 @@ void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask)
 		/* Unmapped register. */
 		/* Unmapped register. */
 		sync_reg_offset = L2X0_DUMMY_REG;
 		sync_reg_offset = L2X0_DUMMY_REG;
 #endif
 #endif
-		outer_cache.set_debug = pl310_set_debug;
+		if ((cache_id & L2X0_CACHE_ID_RTL_MASK) <= L2X0_CACHE_ID_RTL_R3P0)
+			outer_cache.set_debug = pl310_set_debug;
 		break;
 		break;
 	case L2X0_CACHE_ID_PART_L210:
 	case L2X0_CACHE_ID_PART_L210:
 		ways = (aux >> 13) & 0xf;
 		ways = (aux >> 13) & 0xf;
@@ -459,8 +460,8 @@ static void aurora_pa_range(unsigned long start, unsigned long end,
 	unsigned long flags;
 	unsigned long flags;
 
 
 	raw_spin_lock_irqsave(&l2x0_lock, flags);
 	raw_spin_lock_irqsave(&l2x0_lock, flags);
-	writel(start, l2x0_base + AURORA_RANGE_BASE_ADDR_REG);
-	writel(end, l2x0_base + offset);
+	writel_relaxed(start, l2x0_base + AURORA_RANGE_BASE_ADDR_REG);
+	writel_relaxed(end, l2x0_base + offset);
 	raw_spin_unlock_irqrestore(&l2x0_lock, flags);
 	raw_spin_unlock_irqrestore(&l2x0_lock, flags);
 
 
 	cache_sync();
 	cache_sync();
@@ -505,15 +506,21 @@ static void aurora_clean_range(unsigned long start, unsigned long end)
 
 
 static void aurora_flush_range(unsigned long start, unsigned long end)
 static void aurora_flush_range(unsigned long start, unsigned long end)
 {
 {
-	if (!l2_wt_override) {
-		start &= ~(CACHE_LINE_SIZE - 1);
-		end = ALIGN(end, CACHE_LINE_SIZE);
-		while (start != end) {
-			unsigned long range_end = calc_range_end(start, end);
+	start &= ~(CACHE_LINE_SIZE - 1);
+	end = ALIGN(end, CACHE_LINE_SIZE);
+	while (start != end) {
+		unsigned long range_end = calc_range_end(start, end);
+		/*
+		 * If L2 is forced to WT, the L2 will always be clean and we
+		 * just need to invalidate.
+		 */
+		if (l2_wt_override)
 			aurora_pa_range(start, range_end - CACHE_LINE_SIZE,
 			aurora_pa_range(start, range_end - CACHE_LINE_SIZE,
-					AURORA_FLUSH_RANGE_REG);
-			start = range_end;
-		}
+							AURORA_INVAL_RANGE_REG);
+		else
+			aurora_pa_range(start, range_end - CACHE_LINE_SIZE,
+							AURORA_FLUSH_RANGE_REG);
+		start = range_end;
 	}
 	}
 }
 }
 
 
@@ -668,8 +675,9 @@ static void pl310_resume(void)
 static void aurora_resume(void)
 static void aurora_resume(void)
 {
 {
 	if (!(readl(l2x0_base + L2X0_CTRL) & L2X0_CTRL_EN)) {
 	if (!(readl(l2x0_base + L2X0_CTRL) & L2X0_CTRL_EN)) {
-		writel(l2x0_saved_regs.aux_ctrl, l2x0_base + L2X0_AUX_CTRL);
-		writel(l2x0_saved_regs.ctrl, l2x0_base + L2X0_CTRL);
+		writel_relaxed(l2x0_saved_regs.aux_ctrl,
+				l2x0_base + L2X0_AUX_CTRL);
+		writel_relaxed(l2x0_saved_regs.ctrl, l2x0_base + L2X0_CTRL);
 	}
 	}
 }
 }
 
 

+ 3 - 1
arch/arm/mm/proc-v7.S

@@ -169,6 +169,7 @@ __v7_ca15mp_setup:
 	orreq	r0, r0, r10			@ Enable CPU-specific SMP bits
 	orreq	r0, r0, r10			@ Enable CPU-specific SMP bits
 	mcreq	p15, 0, r0, c1, c0, 1
 	mcreq	p15, 0, r0, c1, c0, 1
 #endif
 #endif
+	b	__v7_setup
 
 
 __v7_pj4b_setup:
 __v7_pj4b_setup:
 #ifdef CONFIG_CPU_PJ4B
 #ifdef CONFIG_CPU_PJ4B
@@ -245,7 +246,8 @@ __v7_setup:
 	ldr	r10, =0x00000c08		@ Cortex-A8 primary part number
 	ldr	r10, =0x00000c08		@ Cortex-A8 primary part number
 	teq	r0, r10
 	teq	r0, r10
 	bne	2f
 	bne	2f
-#ifdef CONFIG_ARM_ERRATA_430973
+#if defined(CONFIG_ARM_ERRATA_430973) && !defined(CONFIG_ARCH_MULTIPLATFORM)
+
 	teq	r5, #0x00100000			@ only present in r1p*
 	teq	r5, #0x00100000			@ only present in r1p*
 	mrceq	p15, 0, r10, c1, c0, 1		@ read aux control register
 	mrceq	p15, 0, r10, c1, c0, 1		@ read aux control register
 	orreq	r10, r10, #(1 << 6)		@ set IBE to 1
 	orreq	r10, r10, #(1 << 6)		@ set IBE to 1

+ 3 - 3
arch/arm/plat-omap/dma.c

@@ -2000,7 +2000,7 @@ void omap_dma_global_context_restore(void)
 			omap_clear_dma(ch);
 			omap_clear_dma(ch);
 }
 }
 
 
-static int __devinit omap_system_dma_probe(struct platform_device *pdev)
+static int omap_system_dma_probe(struct platform_device *pdev)
 {
 {
 	int ch, ret = 0;
 	int ch, ret = 0;
 	int dma_irq;
 	int dma_irq;
@@ -2116,7 +2116,7 @@ exit_dma_lch_fail:
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit omap_system_dma_remove(struct platform_device *pdev)
+static int omap_system_dma_remove(struct platform_device *pdev)
 {
 {
 	int dma_irq;
 	int dma_irq;
 
 
@@ -2140,7 +2140,7 @@ static int __devexit omap_system_dma_remove(struct platform_device *pdev)
 
 
 static struct platform_driver omap_system_dma_driver = {
 static struct platform_driver omap_system_dma_driver = {
 	.probe		= omap_system_dma_probe,
 	.probe		= omap_system_dma_probe,
-	.remove		= __devexit_p(omap_system_dma_remove),
+	.remove		= omap_system_dma_remove,
 	.driver		= {
 	.driver		= {
 		.name	= "omap_dma_system"
 		.name	= "omap_dma_system"
 	},
 	},

+ 3 - 3
arch/arm/plat-omap/dmtimer.c

@@ -777,7 +777,7 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active);
  * Called by driver framework at the end of device registration for all
  * Called by driver framework at the end of device registration for all
  * timer devices.
  * timer devices.
  */
  */
-static int __devinit omap_dm_timer_probe(struct platform_device *pdev)
+static int omap_dm_timer_probe(struct platform_device *pdev)
 {
 {
 	unsigned long flags;
 	unsigned long flags;
 	struct omap_dm_timer *timer;
 	struct omap_dm_timer *timer;
@@ -864,7 +864,7 @@ static int __devinit omap_dm_timer_probe(struct platform_device *pdev)
  * In addition to freeing platform resources it also deletes the timer
  * In addition to freeing platform resources it also deletes the timer
  * entry from the local list.
  * entry from the local list.
  */
  */
-static int __devexit omap_dm_timer_remove(struct platform_device *pdev)
+static int omap_dm_timer_remove(struct platform_device *pdev)
 {
 {
 	struct omap_dm_timer *timer;
 	struct omap_dm_timer *timer;
 	unsigned long flags;
 	unsigned long flags;
@@ -891,7 +891,7 @@ MODULE_DEVICE_TABLE(of, omap_timer_match);
 
 
 static struct platform_driver omap_dm_timer_driver = {
 static struct platform_driver omap_dm_timer_driver = {
 	.probe  = omap_dm_timer_probe,
 	.probe  = omap_dm_timer_probe,
-	.remove = __devexit_p(omap_dm_timer_remove),
+	.remove = omap_dm_timer_remove,
 	.driver = {
 	.driver = {
 		.name   = "omap_timer",
 		.name   = "omap_timer",
 		.of_match_table = of_match_ptr(omap_timer_match),
 		.of_match_table = of_match_ptr(omap_timer_match),

+ 3 - 3
arch/arm/plat-pxa/ssp.c

@@ -72,7 +72,7 @@ void pxa_ssp_free(struct ssp_device *ssp)
 }
 }
 EXPORT_SYMBOL(pxa_ssp_free);
 EXPORT_SYMBOL(pxa_ssp_free);
 
 
-static int __devinit pxa_ssp_probe(struct platform_device *pdev)
+static int pxa_ssp_probe(struct platform_device *pdev)
 {
 {
 	const struct platform_device_id *id = platform_get_device_id(pdev);
 	const struct platform_device_id *id = platform_get_device_id(pdev);
 	struct resource *res;
 	struct resource *res;
@@ -164,7 +164,7 @@ err_free:
 	return ret;
 	return ret;
 }
 }
 
 
-static int __devexit pxa_ssp_remove(struct platform_device *pdev)
+static int pxa_ssp_remove(struct platform_device *pdev)
 {
 {
 	struct resource *res;
 	struct resource *res;
 	struct ssp_device *ssp;
 	struct ssp_device *ssp;
@@ -199,7 +199,7 @@ static const struct platform_device_id ssp_id_table[] = {
 
 
 static struct platform_driver pxa_ssp_driver = {
 static struct platform_driver pxa_ssp_driver = {
 	.probe		= pxa_ssp_probe,
 	.probe		= pxa_ssp_probe,
-	.remove		= __devexit_p(pxa_ssp_remove),
+	.remove		= pxa_ssp_remove,
 	.driver		= {
 	.driver		= {
 		.owner	= THIS_MODULE,
 		.owner	= THIS_MODULE,
 		.name	= "pxa2xx-ssp",
 		.name	= "pxa2xx-ssp",

+ 2 - 2
arch/arm/plat-samsung/adc.c

@@ -416,7 +416,7 @@ static int s3c_adc_probe(struct platform_device *pdev)
 	return 0;
 	return 0;
 }
 }
 
 
-static int __devexit s3c_adc_remove(struct platform_device *pdev)
+static int s3c_adc_remove(struct platform_device *pdev)
 {
 {
 	struct adc_device *adc = platform_get_drvdata(pdev);
 	struct adc_device *adc = platform_get_drvdata(pdev);
 
 
@@ -516,7 +516,7 @@ static struct platform_driver s3c_adc_driver = {
 		.pm	= &adc_pm_ops,
 		.pm	= &adc_pm_ops,
 	},
 	},
 	.probe		= s3c_adc_probe,
 	.probe		= s3c_adc_probe,
-	.remove		= __devexit_p(s3c_adc_remove),
+	.remove		= s3c_adc_remove,
 };
 };
 
 
 static int __init adc_init(void)
 static int __init adc_init(void)

+ 5 - 1
arch/arm64/Kconfig

@@ -2,6 +2,8 @@ config ARM64
 	def_bool y
 	def_bool y
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 	select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
 	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
 	select ARCH_WANT_COMPAT_IPC_PARSE_VERSION
+	select ARM_AMBA
+	select CLONE_BACKWARDS
 	select COMMON_CLK
 	select COMMON_CLK
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_HARDIRQS_NO_DEPRECATED
 	select GENERIC_HARDIRQS_NO_DEPRECATED
@@ -31,7 +33,6 @@ config ARM64
 	select RTC_LIB
 	select RTC_LIB
 	select SPARSE_IRQ
 	select SPARSE_IRQ
 	select SYSCTL_EXCEPTION_TRACE
 	select SYSCTL_EXCEPTION_TRACE
-	select CLONE_BACKWARDS
 	help
 	help
 	  ARM 64-bit (AArch64) Linux support.
 	  ARM 64-bit (AArch64) Linux support.
 
 
@@ -90,6 +91,9 @@ config SWIOTLB
 config IOMMU_HELPER
 config IOMMU_HELPER
 	def_bool SWIOTLB
 	def_bool SWIOTLB
 
 
+config GENERIC_GPIO
+	def_bool y
+
 source "init/Kconfig"
 source "init/Kconfig"
 
 
 source "kernel/Kconfig.freezer"
 source "kernel/Kconfig.freezer"

+ 1 - 0
arch/arm64/include/asm/compat.h

@@ -23,6 +23,7 @@
  */
  */
 #include <linux/types.h>
 #include <linux/types.h>
 #include <linux/sched.h>
 #include <linux/sched.h>
+#include <linux/ptrace.h>
 
 
 #define COMPAT_USER_HZ		100
 #define COMPAT_USER_HZ		100
 #define COMPAT_UTS_MACHINE	"armv8l\0\0"
 #define COMPAT_UTS_MACHINE	"armv8l\0\0"

+ 1 - 1
arch/arm64/kernel/perf_event.c

@@ -1221,7 +1221,7 @@ static struct of_device_id armpmu_of_device_ids[] = {
 	{},
 	{},
 };
 };
 
 
-static int __devinit armpmu_device_probe(struct platform_device *pdev)
+static int armpmu_device_probe(struct platform_device *pdev)
 {
 {
 	if (!cpu_pmu)
 	if (!cpu_pmu)
 		return -ENODEV;
 		return -ENODEV;

+ 1 - 1
arch/avr32/lib/delay.c

@@ -20,7 +20,7 @@
 #include <asm/processor.h>
 #include <asm/processor.h>
 #include <asm/sysreg.h>
 #include <asm/sysreg.h>
 
 
-int __devinit read_current_timer(unsigned long *timer_value)
+int read_current_timer(unsigned long *timer_value)
 {
 {
 	*timer_value = sysreg_read(COUNT);
 	*timer_value = sysreg_read(COUNT);
 	return 0;
 	return 0;

+ 3 - 3
arch/blackfin/mach-common/dpmc.c

@@ -129,7 +129,7 @@ static struct notifier_block vreg_cpufreq_notifier_block = {
  *	bfin_dpmc_probe -
  *	bfin_dpmc_probe -
  *
  *
  */
  */
-static int __devinit bfin_dpmc_probe(struct platform_device *pdev)
+static int bfin_dpmc_probe(struct platform_device *pdev)
 {
 {
 	if (pdev->dev.platform_data)
 	if (pdev->dev.platform_data)
 		pdata = pdev->dev.platform_data;
 		pdata = pdev->dev.platform_data;
@@ -143,7 +143,7 @@ static int __devinit bfin_dpmc_probe(struct platform_device *pdev)
 /**
 /**
  *	bfin_dpmc_remove -
  *	bfin_dpmc_remove -
  */
  */
-static int __devexit bfin_dpmc_remove(struct platform_device *pdev)
+static int bfin_dpmc_remove(struct platform_device *pdev)
 {
 {
 	pdata = NULL;
 	pdata = NULL;
 	return cpufreq_unregister_notifier(&vreg_cpufreq_notifier_block,
 	return cpufreq_unregister_notifier(&vreg_cpufreq_notifier_block,
@@ -152,7 +152,7 @@ static int __devexit bfin_dpmc_remove(struct platform_device *pdev)
 
 
 struct platform_driver bfin_dpmc_device_driver = {
 struct platform_driver bfin_dpmc_device_driver = {
 	.probe   = bfin_dpmc_probe,
 	.probe   = bfin_dpmc_probe,
-	.remove  = __devexit_p(bfin_dpmc_remove),
+	.remove  = bfin_dpmc_remove,
 	.driver  = {
 	.driver  = {
 		.name = DRIVER_NAME,
 		.name = DRIVER_NAME,
 	}
 	}

+ 1 - 1
arch/cris/arch-v32/drivers/pci/bios.c

@@ -2,7 +2,7 @@
 #include <linux/kernel.h>
 #include <linux/kernel.h>
 #include <arch/hwregs/intr_vect.h>
 #include <arch/hwregs/intr_vect.h>
 
 
-void __devinit  pcibios_fixup_bus(struct pci_bus *b)
+void pcibios_fixup_bus(struct pci_bus *b)
 {
 {
 }
 }
 
 

+ 1 - 1
arch/cris/arch-v32/kernel/smp.c

@@ -84,7 +84,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
 		cpumask_set_cpu(i, &phys_cpu_present_map);
 		cpumask_set_cpu(i, &phys_cpu_present_map);
 }
 }
 
 
-void __devinit smp_prepare_boot_cpu(void)
+void smp_prepare_boot_cpu(void)
 {
 {
 	/* PGD pointer has moved after per_cpu initialization so
 	/* PGD pointer has moved after per_cpu initialization so
 	 * update the MMU.
 	 * update the MMU.

+ 1 - 1
arch/frv/kernel/setup.c

@@ -852,7 +852,7 @@ void __init setup_arch(char **cmdline_p)
 /*
 /*
  *
  *
  */
  */
-static int __devinit setup_arch_serial(void)
+static int setup_arch_serial(void)
 {
 {
 	/* register those serial ports that are available */
 	/* register those serial ports that are available */
 #ifndef CONFIG_GDBSTUB_UART0
 #ifndef CONFIG_GDBSTUB_UART0

+ 3 - 3
arch/frv/mb93090-mb00/pci-vdk.c

@@ -268,7 +268,7 @@ static void __init pci_fixup_umc_ide(struct pci_dev *d)
 		d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO;
 		d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO;
 }
 }
 
 
-static void __devinit pci_fixup_ide_bases(struct pci_dev *d)
+static void pci_fixup_ide_bases(struct pci_dev *d)
 {
 {
 	int i;
 	int i;
 
 
@@ -287,7 +287,7 @@ static void __devinit pci_fixup_ide_bases(struct pci_dev *d)
 	}
 	}
 }
 }
 
 
-static void __devinit pci_fixup_ide_trash(struct pci_dev *d)
+static void pci_fixup_ide_trash(struct pci_dev *d)
 {
 {
 	int i;
 	int i;
 
 
@@ -300,7 +300,7 @@ static void __devinit pci_fixup_ide_trash(struct pci_dev *d)
 		d->resource[i].start = d->resource[i].end = d->resource[i].flags = 0;
 		d->resource[i].start = d->resource[i].end = d->resource[i].flags = 0;
 }
 }
 
 
-static void __devinit  pci_fixup_latency(struct pci_dev *d)
+static void pci_fixup_latency(struct pci_dev *d)
 {
 {
 	/*
 	/*
 	 *  SiS 5597 and 5598 chipsets require latency timer set to
 	 *  SiS 5597 and 5598 chipsets require latency timer set to

+ 1 - 1
arch/ia64/include/asm/acpi.h

@@ -153,7 +153,7 @@ extern int additional_cpus;
 #else
 #else
 #define MAX_PXM_DOMAINS (256)
 #define MAX_PXM_DOMAINS (256)
 #endif
 #endif
-extern int __devinitdata pxm_to_nid_map[MAX_PXM_DOMAINS];
+extern int pxm_to_nid_map[MAX_PXM_DOMAINS];
 extern int __initdata nid_to_pxm_map[MAX_NUMNODES];
 extern int __initdata nid_to_pxm_map[MAX_NUMNODES];
 #endif
 #endif
 
 

+ 3 - 8
arch/ia64/include/asm/iosapic.h

@@ -87,18 +87,13 @@ static inline void iosapic_eoi(char __iomem *iosapic, u32 vector)
 }
 }
 
 
 extern void __init iosapic_system_init (int pcat_compat);
 extern void __init iosapic_system_init (int pcat_compat);
-extern int __devinit iosapic_init (unsigned long address,
-				    unsigned int gsi_base);
-#ifdef CONFIG_HOTPLUG
+extern int iosapic_init (unsigned long address, unsigned int gsi_base);
 extern int iosapic_remove (unsigned int gsi_base);
 extern int iosapic_remove (unsigned int gsi_base);
-#else
-#define iosapic_remove(gsi_base)				(-EINVAL)
-#endif /* CONFIG_HOTPLUG */
 extern int gsi_to_irq (unsigned int gsi);
 extern int gsi_to_irq (unsigned int gsi);
 extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity,
 extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity,
 				  unsigned long trigger);
 				  unsigned long trigger);
 extern void iosapic_unregister_intr (unsigned int irq);
 extern void iosapic_unregister_intr (unsigned int irq);
-extern void __devinit iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi,
+extern void iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi,
 				      unsigned long polarity,
 				      unsigned long polarity,
 				      unsigned long trigger);
 				      unsigned long trigger);
 extern int __init iosapic_register_platform_intr (u32 int_type,
 extern int __init iosapic_register_platform_intr (u32 int_type,
@@ -109,7 +104,7 @@ extern int __init iosapic_register_platform_intr (u32 int_type,
 					   unsigned long trigger);
 					   unsigned long trigger);
 
 
 #ifdef CONFIG_NUMA
 #ifdef CONFIG_NUMA
-extern void __devinit map_iosapic_to_node (unsigned int, int);
+extern void map_iosapic_to_node (unsigned int, int);
 #endif
 #endif
 #else
 #else
 #define iosapic_system_init(pcat_compat)			do { } while (0)
 #define iosapic_system_init(pcat_compat)			do { } while (0)

+ 2 - 3
arch/ia64/include/asm/parport.h

@@ -9,10 +9,9 @@
 #ifndef _ASM_IA64_PARPORT_H
 #ifndef _ASM_IA64_PARPORT_H
 #define _ASM_IA64_PARPORT_H 1
 #define _ASM_IA64_PARPORT_H 1
 
 
-static int __devinit parport_pc_find_isa_ports (int autoirq, int autodma);
+static int 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_nonpci_ports(int autoirq, int autodma)
 {
 {
 	return parport_pc_find_isa_ports(autoirq, autodma);
 	return parport_pc_find_isa_ports(autoirq, autodma);
 }
 }

+ 1 - 1
arch/ia64/include/asm/smp.h

@@ -55,7 +55,7 @@ extern struct smp_boot_data {
 	int cpu_phys_id[NR_CPUS];
 	int cpu_phys_id[NR_CPUS];
 } smp_boot_data __initdata;
 } smp_boot_data __initdata;
 
 
-extern char no_int_routing __devinitdata;
+extern char no_int_routing;
 
 
 extern cpumask_t cpu_core_map[NR_CPUS];
 extern cpumask_t cpu_core_map[NR_CPUS];
 DECLARE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map);
 DECLARE_PER_CPU_SHARED_ALIGNED(cpumask_t, cpu_sibling_map);

+ 1 - 1
arch/ia64/include/asm/unistd.h

@@ -11,7 +11,7 @@
 
 
 
 
 
 
-#define NR_syscalls			311 /* length of syscall table */
+#define NR_syscalls			312 /* length of syscall table */
 
 
 /*
 /*
  * The following defines stop scripts/checksyscalls.sh from complaining about
  * The following defines stop scripts/checksyscalls.sh from complaining about

+ 1 - 0
arch/ia64/include/uapi/asm/unistd.h

@@ -324,5 +324,6 @@
 #define __NR_process_vm_readv		1332
 #define __NR_process_vm_readv		1332
 #define __NR_process_vm_writev		1333
 #define __NR_process_vm_writev		1333
 #define __NR_accept4			1334
 #define __NR_accept4			1334
+#define __NR_finit_module		1335
 
 
 #endif /* _UAPI_ASM_IA64_UNISTD_H */
 #endif /* _UAPI_ASM_IA64_UNISTD_H */

+ 3 - 3
arch/ia64/kernel/acpi.c

@@ -422,7 +422,7 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)
 #define PXM_FLAG_LEN ((MAX_PXM_DOMAINS + 1)/32)
 #define PXM_FLAG_LEN ((MAX_PXM_DOMAINS + 1)/32)
 
 
 static int __initdata srat_num_cpus;	/* number of cpus */
 static int __initdata srat_num_cpus;	/* number of cpus */
-static u32 __devinitdata pxm_flag[PXM_FLAG_LEN];
+static u32 pxm_flag[PXM_FLAG_LEN];
 #define pxm_bit_set(bit)	(set_bit(bit,(void *)pxm_flag))
 #define pxm_bit_set(bit)	(set_bit(bit,(void *)pxm_flag))
 #define pxm_bit_test(bit)	(test_bit(bit,(void *)pxm_flag))
 #define pxm_bit_test(bit)	(test_bit(bit,(void *)pxm_flag))
 static struct acpi_table_slit __initdata *slit_table;
 static struct acpi_table_slit __initdata *slit_table;
@@ -956,8 +956,8 @@ EXPORT_SYMBOL(acpi_unmap_lsapic);
 #endif				/* CONFIG_ACPI_HOTPLUG_CPU */
 #endif				/* CONFIG_ACPI_HOTPLUG_CPU */
 
 
 #ifdef CONFIG_ACPI_NUMA
 #ifdef CONFIG_ACPI_NUMA
-static acpi_status __devinit
-acpi_map_iosapic(acpi_handle handle, u32 depth, void *context, void **ret)
+static acpi_status acpi_map_iosapic(acpi_handle handle, u32 depth,
+				    void *context, void **ret)
 {
 {
 	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
 	struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
 	union acpi_object *obj;
 	union acpi_object *obj;

+ 1 - 0
arch/ia64/kernel/entry.S

@@ -1785,6 +1785,7 @@ sys_call_table:
 	data8 sys_process_vm_readv
 	data8 sys_process_vm_readv
 	data8 sys_process_vm_writev
 	data8 sys_process_vm_writev
 	data8 sys_accept4
 	data8 sys_accept4
+	data8 sys_finit_module			// 1335
 
 
 	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase NR_syscalls
 	.org sys_call_table + 8*NR_syscalls	// guard against failures to increase NR_syscalls
 #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */
 #endif /* __IA64_ASM_PARAVIRTUALIZED_NATIVE */

+ 6 - 13
arch/ia64/kernel/iosapic.c

@@ -147,7 +147,7 @@ static struct iosapic_intr_info {
 	unsigned char	trigger	: 1;	/* trigger mode (see iosapic.h) */
 	unsigned char	trigger	: 1;	/* trigger mode (see iosapic.h) */
 } iosapic_intr_info[NR_IRQS];
 } iosapic_intr_info[NR_IRQS];
 
 
-static unsigned char pcat_compat __devinitdata;	/* 8259 compatibility flag */
+static unsigned char pcat_compat;	/* 8259 compatibility flag */
 
 
 static inline void
 static inline void
 iosapic_write(struct iosapic *iosapic, unsigned int reg, u32 val)
 iosapic_write(struct iosapic *iosapic, unsigned int reg, u32 val)
@@ -914,10 +914,8 @@ iosapic_register_platform_intr (u32 int_type, unsigned int gsi,
 /*
 /*
  * ACPI calls this when it finds an entry for a legacy ISA IRQ override.
  * ACPI calls this when it finds an entry for a legacy ISA IRQ override.
  */
  */
-void __devinit
-iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi,
-			  unsigned long polarity,
-			  unsigned long trigger)
+void iosapic_override_isa_irq(unsigned int isa_irq, unsigned int gsi,
+			      unsigned long polarity, unsigned long trigger)
 {
 {
 	int vector, irq;
 	int vector, irq;
 	unsigned int dest = cpu_physical_id(smp_processor_id());
 	unsigned int dest = cpu_physical_id(smp_processor_id());
@@ -1012,8 +1010,7 @@ iosapic_check_gsi_range (unsigned int gsi_base, unsigned int ver)
 	return 0;
 	return 0;
 }
 }
 
 
-int __devinit
-iosapic_init (unsigned long phys_addr, unsigned int gsi_base)
+int iosapic_init(unsigned long phys_addr, unsigned int gsi_base)
 {
 {
 	int num_rte, err, index;
 	int num_rte, err, index;
 	unsigned int isa_irq, ver;
 	unsigned int isa_irq, ver;
@@ -1070,9 +1067,7 @@ iosapic_init (unsigned long phys_addr, unsigned int gsi_base)
 	return 0;
 	return 0;
 }
 }
 
 
-#ifdef CONFIG_HOTPLUG
-int
-iosapic_remove (unsigned int gsi_base)
+int iosapic_remove(unsigned int gsi_base)
 {
 {
 	int index, err = 0;
 	int index, err = 0;
 	unsigned long flags;
 	unsigned long flags;
@@ -1098,11 +1093,9 @@ iosapic_remove (unsigned int gsi_base)
 	spin_unlock_irqrestore(&iosapic_lock, flags);
 	spin_unlock_irqrestore(&iosapic_lock, flags);
 	return err;
 	return err;
 }
 }
-#endif /* CONFIG_HOTPLUG */
 
 
 #ifdef CONFIG_NUMA
 #ifdef CONFIG_NUMA
-void __devinit
-map_iosapic_to_node(unsigned int gsi_base, int node)
+void map_iosapic_to_node(unsigned int gsi_base, int node)
 {
 {
 	int index;
 	int index;
 
 

+ 4 - 7
arch/ia64/kernel/smpboot.c

@@ -347,8 +347,7 @@ ia64_sync_itc (unsigned int master)
 /*
 /*
  * Ideally sets up per-cpu profiling hooks.  Doesn't do much now...
  * Ideally sets up per-cpu profiling hooks.  Doesn't do much now...
  */
  */
-static inline void __devinit
-smp_setup_percpu_timer (void)
+static inline void smp_setup_percpu_timer(void)
 {
 {
 }
 }
 
 
@@ -563,7 +562,7 @@ smp_prepare_cpus (unsigned int max_cpus)
 	}
 	}
 }
 }
 
 
-void __devinit smp_prepare_boot_cpu(void)
+void smp_prepare_boot_cpu(void)
 {
 {
 	set_cpu_online(smp_processor_id(), true);
 	set_cpu_online(smp_processor_id(), true);
 	cpu_set(smp_processor_id(), cpu_callin_map);
 	cpu_set(smp_processor_id(), cpu_callin_map);
@@ -713,8 +712,7 @@ smp_cpus_done (unsigned int dummy)
 	       (int)num_online_cpus(), bogosum/(500000/HZ), (bogosum/(5000/HZ))%100);
 	       (int)num_online_cpus(), bogosum/(500000/HZ), (bogosum/(5000/HZ))%100);
 }
 }
 
 
-static inline void __devinit
-set_cpu_sibling_map(int cpu)
+static inline void set_cpu_sibling_map(int cpu)
 {
 {
 	int i;
 	int i;
 
 
@@ -793,8 +791,7 @@ init_smp_config(void)
  * identify_siblings(cpu) gets called from identify_cpu. This populates the 
  * identify_siblings(cpu) gets called from identify_cpu. This populates the 
  * information related to logical execution units in per_cpu_data structure.
  * information related to logical execution units in per_cpu_data structure.
  */
  */
-void __devinit
-identify_siblings(struct cpuinfo_ia64 *c)
+void identify_siblings(struct cpuinfo_ia64 *c)
 {
 {
 	long status;
 	long status;
 	u16 pltid;
 	u16 pltid;

+ 1 - 2
arch/ia64/kernel/time.c

@@ -243,8 +243,7 @@ static int __init nojitter_setup(char *str)
 __setup("nojitter", nojitter_setup);
 __setup("nojitter", nojitter_setup);
 
 
 
 
-void __devinit
-ia64_init_itm (void)
+void ia64_init_itm(void)
 {
 {
 	unsigned long platform_base_freq, itc_freq;
 	unsigned long platform_base_freq, itc_freq;
 	struct pal_freq_ratio itc_ratio, proc_ratio;
 	struct pal_freq_ratio itc_ratio, proc_ratio;

+ 2 - 3
arch/ia64/mm/init.c

@@ -294,11 +294,10 @@ setup_gate (void)
 	ia64_patch_gate();
 	ia64_patch_gate();
 }
 }
 
 
-void __devinit
-ia64_mmu_init (void *my_cpu_data)
+void ia64_mmu_init(void *my_cpu_data)
 {
 {
 	unsigned long pta, impl_va_bits;
 	unsigned long pta, impl_va_bits;
-	extern void __devinit tlb_init (void);
+	extern void tlb_init(void);
 
 
 #ifdef CONFIG_DISABLE_VHPT
 #ifdef CONFIG_DISABLE_VHPT
 #	define VHPT_ENABLE_BIT	0
 #	define VHPT_ENABLE_BIT	0

+ 1 - 2
arch/ia64/mm/tlb.c

@@ -337,8 +337,7 @@ flush_tlb_range (struct vm_area_struct *vma, unsigned long start,
 }
 }
 EXPORT_SYMBOL(flush_tlb_range);
 EXPORT_SYMBOL(flush_tlb_range);
 
 
-void __devinit
-ia64_tlb_init (void)
+void ia64_tlb_init(void)
 {
 {
 	ia64_ptce_info_t uninitialized_var(ptce_info); /* GCC be quiet */
 	ia64_ptce_info_t uninitialized_var(ptce_info); /* GCC be quiet */
 	u64 tr_pgbits;
 	u64 tr_pgbits;

+ 1 - 1
arch/ia64/pci/fixup.c

@@ -24,7 +24,7 @@
  * video device at this point.
  * video device at this point.
  */
  */
 
 
-static void __devinit pci_fixup_video(struct pci_dev *pdev)
+static void pci_fixup_video(struct pci_dev *pdev)
 {
 {
 	struct pci_dev *bridge;
 	struct pci_dev *bridge;
 	struct pci_bus *bus;
 	struct pci_bus *bus;

+ 13 - 18
arch/ia64/pci/pci.c

@@ -116,8 +116,7 @@ struct pci_ops pci_root_ops = {
 
 
 /* Called by ACPI when it finds a new root bus.  */
 /* Called by ACPI when it finds a new root bus.  */
 
 
-static struct pci_controller * __devinit
-alloc_pci_controller (int seg)
+static struct pci_controller *alloc_pci_controller(int seg)
 {
 {
 	struct pci_controller *controller;
 	struct pci_controller *controller;
 
 
@@ -165,8 +164,8 @@ new_space (u64 phys_base, int sparse)
 	return i;
 	return i;
 }
 }
 
 
-static u64 __devinit
-add_io_space (struct pci_root_info *info, struct acpi_resource_address64 *addr)
+static u64 add_io_space(struct pci_root_info *info,
+			struct acpi_resource_address64 *addr)
 {
 {
 	struct resource *resource;
 	struct resource *resource;
 	char *name;
 	char *name;
@@ -226,8 +225,8 @@ out:
 	return ~0;
 	return ~0;
 }
 }
 
 
-static acpi_status __devinit resource_to_window(struct acpi_resource *resource,
-	struct acpi_resource_address64 *addr)
+static acpi_status resource_to_window(struct acpi_resource *resource,
+				      struct acpi_resource_address64 *addr)
 {
 {
 	acpi_status status;
 	acpi_status status;
 
 
@@ -249,8 +248,7 @@ static acpi_status __devinit resource_to_window(struct acpi_resource *resource,
 	return AE_ERROR;
 	return AE_ERROR;
 }
 }
 
 
-static acpi_status __devinit
-count_window (struct acpi_resource *resource, void *data)
+static acpi_status count_window(struct acpi_resource *resource, void *data)
 {
 {
 	unsigned int *windows = (unsigned int *) data;
 	unsigned int *windows = (unsigned int *) data;
 	struct acpi_resource_address64 addr;
 	struct acpi_resource_address64 addr;
@@ -263,7 +261,7 @@ count_window (struct acpi_resource *resource, void *data)
 	return AE_OK;
 	return AE_OK;
 }
 }
 
 
-static __devinit acpi_status add_window(struct acpi_resource *res, void *data)
+static acpi_status add_window(struct acpi_resource *res, void *data)
 {
 {
 	struct pci_root_info *info = data;
 	struct pci_root_info *info = data;
 	struct pci_window *window;
 	struct pci_window *window;
@@ -324,8 +322,7 @@ static __devinit acpi_status add_window(struct acpi_resource *res, void *data)
 	return AE_OK;
 	return AE_OK;
 }
 }
 
 
-struct pci_bus * __devinit
-pci_acpi_scan_root(struct acpi_pci_root *root)
+struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
 {
 {
 	struct acpi_device *device = root->device;
 	struct acpi_device *device = root->device;
 	int domain = root->segment;
 	int domain = root->segment;
@@ -396,7 +393,7 @@ out1:
 	return NULL;
 	return NULL;
 }
 }
 
 
-static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
+static int is_valid_resource(struct pci_dev *dev, int idx)
 {
 {
 	unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM;
 	unsigned int i, type_mask = IORESOURCE_IO | IORESOURCE_MEM;
 	struct resource *devr = &dev->resource[idx], *busr;
 	struct resource *devr = &dev->resource[idx], *busr;
@@ -414,8 +411,7 @@ static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
 	return 0;
 	return 0;
 }
 }
 
 
-static void __devinit
-pcibios_fixup_resources(struct pci_dev *dev, int start, int limit)
+static void pcibios_fixup_resources(struct pci_dev *dev, int start, int limit)
 {
 {
 	int i;
 	int i;
 
 
@@ -427,13 +423,13 @@ pcibios_fixup_resources(struct pci_dev *dev, int start, int limit)
 	}
 	}
 }
 }
 
 
-void __devinit pcibios_fixup_device_resources(struct pci_dev *dev)
+void pcibios_fixup_device_resources(struct pci_dev *dev)
 {
 {
 	pcibios_fixup_resources(dev, 0, PCI_BRIDGE_RESOURCES);
 	pcibios_fixup_resources(dev, 0, PCI_BRIDGE_RESOURCES);
 }
 }
 EXPORT_SYMBOL_GPL(pcibios_fixup_device_resources);
 EXPORT_SYMBOL_GPL(pcibios_fixup_device_resources);
 
 
-static void __devinit pcibios_fixup_bridge_resources(struct pci_dev *dev)
+static void pcibios_fixup_bridge_resources(struct pci_dev *dev)
 {
 {
 	pcibios_fixup_resources(dev, PCI_BRIDGE_RESOURCES, PCI_NUM_RESOURCES);
 	pcibios_fixup_resources(dev, PCI_BRIDGE_RESOURCES, PCI_NUM_RESOURCES);
 }
 }
@@ -441,8 +437,7 @@ static void __devinit pcibios_fixup_bridge_resources(struct pci_dev *dev)
 /*
 /*
  *  Called after each bus is probed, but before its children are examined.
  *  Called after each bus is probed, but before its children are examined.
  */
  */
-void __devinit
-pcibios_fixup_bus (struct pci_bus *b)
+void pcibios_fixup_bus(struct pci_bus *b)
 {
 {
 	struct pci_dev *dev;
 	struct pci_dev *dev;
 
 

+ 1 - 2
arch/ia64/sn/kernel/io_common.c

@@ -435,8 +435,7 @@ void sn_generate_path(struct pci_bus *pci_bus, char *address)
 						geo_slot(geoid));
 						geo_slot(geoid));
 }
 }
 
 
-void __devinit
-sn_pci_fixup_bus(struct pci_bus *bus)
+void sn_pci_fixup_bus(struct pci_bus *bus)
 {
 {
 
 
 	if (SN_ACPI_BASE_SUPPORT())
 	if (SN_ACPI_BASE_SUPPORT())

+ 1 - 1
arch/ia64/sn/kernel/sn2/sn_hwperf.c

@@ -977,7 +977,7 @@ int sn_hwperf_get_nearest_node(cnodeid_t node,
 	return e;
 	return e;
 }
 }
 
 
-static int __devinit sn_hwperf_misc_register_init(void)
+static int sn_hwperf_misc_register_init(void)
 {
 {
 	int e;
 	int e;
 
 

Some files were not shown because too many files changed in this diff