History

Merge branch 'master' into for-next

Sync with Linus tree to have 157550ff ("mtd: add GPMI-NAND driver in the config and Makefile") as I have patch depending on that one.

Jiri Kosina committed 15 years ago

Commit 2290c0d2 parents 4da669a 52e4c2a10515 files · +592882 −375993Browse files

Unified · Split

3489 files
  1. Documentation/ABI/stable/sysfs-acpi-pmprofile +22 −0
  2. Documentation/ABI/testing/debugfs-ideapad +19 −0
  3. Documentation/ABI/testing/sysfs-block +13 −0
  4. Documentation/ABI/testing/sysfs-bus-pci-devices-cciss +7 −0
  5. Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd +46 −0
  6. Documentation/ABI/testing/sysfs-bus-usb +15 −0
  7. Documentation/ABI/testing/sysfs-class-devfreq +52 −0
  8. Documentation/ABI/testing/sysfs-class-net-mesh +8 −0
  9. Documentation/ABI/testing/sysfs-driver-wacom +72 −0
  10. Documentation/ABI/testing/sysfs-platform-ideapad-laptop +0 −15
  11. Documentation/ABI/testing/sysfs-wacom +0 −10
  12. Documentation/CodingStyle +2 −2
  13. Documentation/DMA-API.txt +7 −0
  14. Documentation/DocBook/80211.tmpl +10 −1
  15. Documentation/DocBook/drm.tmpl +168 −140
  16. Documentation/DocBook/media/dvb/dvbproperty.xml +10 −14
  17. Documentation/DocBook/media/dvb/intro.xml +1 −1
  18. Documentation/DocBook/media/v4l/compat.xml +11 −0
  19. Documentation/DocBook/media/v4l/controls.xml +3 −2
  20. Documentation/DocBook/media/v4l/dev-subdev.xml +1 −1
  21. Documentation/DocBook/media/v4l/io.xml +27 −0
  22. Documentation/DocBook/media/v4l/v4l2.xml +10 −1
  23. Documentation/DocBook/media/v4l/vidioc-create-bufs.xml +139 −0
  24. Documentation/DocBook/media/v4l/vidioc-dqevent.xml +129 −0
  25. Documentation/DocBook/media/v4l/vidioc-prepare-buf.xml +88 −0
  26. Documentation/DocBook/media/v4l/vidioc-queryctrl.xml +9 −0
  27. Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml +16 −107
  28. Documentation/DocBook/mtdnand.tmpl +1 −18
  29. Documentation/DocBook/uio-howto.tmpl +1 −1
  30. Documentation/DocBook/writing-an-alsa-driver.tmpl +21 −15
  31. Documentation/RCU/NMI-RCU.txt +1 −1
  32. Documentation/RCU/lockdep-splat.txt +110 −0
  33. Documentation/RCU/lockdep.txt +25 −9
  34. Documentation/RCU/torture.txt +102 −35
  35. Documentation/RCU/trace.txt +21 −17
  36. Documentation/block/switching-sched.txt +2 −2
  37. Documentation/blockdev/cciss.txt +10 −0
  38. Documentation/cgroups/cgroups.txt +2 −2
  39. Documentation/cgroups/freezer-subsystem.txt +2 −2
  40. Documentation/cgroups/memory.txt +0 −1
  41. Documentation/device-mapper/dm-log.txt +1 −1
  42. Documentation/device-mapper/persistent-data.txt +84 −0
  43. Documentation/device-mapper/thin-provisioning.txt +285 −0
  44. Documentation/devicetree/bindings/arm/calxeda.txt +8 −0
  45. Documentation/devicetree/bindings/arm/fsl.txt +26 −0
  46. Documentation/devicetree/bindings/arm/gic.txt +55 −0
  47. Documentation/devicetree/bindings/arm/omap/dsp.txt +14 −0
  48. Documentation/devicetree/bindings/arm/omap/iva.txt +19 −0
  49. Documentation/devicetree/bindings/arm/omap/l3-noc.txt +19 −0
  50. Documentation/devicetree/bindings/arm/omap/mpu.txt +27 −0
  51. Documentation/devicetree/bindings/arm/omap/omap.txt +43 −0
  52. Documentation/devicetree/bindings/arm/picoxcell.txt +24 −0
  53. Documentation/devicetree/bindings/arm/primecell.txt +3 −1
  54. Documentation/devicetree/bindings/ata/calxeda-sata.txt +17 −0
  55. Documentation/devicetree/bindings/crypto/picochip-spacc.txt +23 −0
  56. Documentation/devicetree/bindings/gpio/pl061-gpio.txt +10 −0
  57. Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt +25 −0
  58. Documentation/devicetree/bindings/i2c/samsung-i2c.txt +39 −0
  59. Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt +27 −0
  60. Documentation/devicetree/bindings/mtd/atmel-dataflash.txt +14 −0
  61. Documentation/devicetree/bindings/net/can/fsl-flexcan.txt +13 −50
  62. Documentation/devicetree/bindings/net/smsc911x.txt +38 −0
  63. Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt +5 −0
  64. Documentation/devicetree/bindings/powerpc/fsl/board.txt +18 −12
  65. Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt +395 −0
  66. Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt +42 −0
  67. Documentation/devicetree/bindings/serial/rs485.txt +31 −0
  68. Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt +11 −0
  69. Documentation/devicetree/bindings/sound/wm8510.txt +18 −0
  70. Documentation/devicetree/bindings/sound/wm8523.txt +16 −0
  71. Documentation/devicetree/bindings/sound/wm8580.txt +16 −0
  72. Documentation/devicetree/bindings/sound/wm8711.txt +18 −0
  73. Documentation/devicetree/bindings/sound/wm8728.txt +18 −0
  74. Documentation/devicetree/bindings/sound/wm8731.txt +18 −0
  75. Documentation/devicetree/bindings/sound/wm8737.txt +18 −0
  76. Documentation/devicetree/bindings/sound/wm8741.txt +18 −0
  77. Documentation/devicetree/bindings/sound/wm8750.txt +18 −0
  78. Documentation/devicetree/bindings/sound/wm8753.txt +18 −0
  79. Documentation/devicetree/bindings/sound/wm8770.txt +16 −0
  80. Documentation/devicetree/bindings/sound/wm8776.txt +18 −0
  81. Documentation/devicetree/bindings/sound/wm8804.txt +18 −0
  82. Documentation/devicetree/bindings/spi/spi_pl022.txt +12 −0
  83. Documentation/devicetree/bindings/tty/serial/atmel-usart.txt +27 −0
  84. Documentation/devicetree/bindings/tty/serial/msm_serial.txt +27 −0
  85. Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt +25 −0
  86. Documentation/devicetree/bindings/vendor-prefixes.txt +40 −0
  87. Documentation/devicetree/bindings/virtio/mmio.txt +17 −0
  88. Documentation/driver-model/binding.txt +0 −4
  89. Documentation/driver-model/device.txt +32 −33
  90. Documentation/dvb/get_dvb_firmware +39 −12
  91. Documentation/dvb/it9137.txt +9 −0
  92. Documentation/fault-injection/fault-injection.txt +7 −1
  93. Documentation/fb/udlfb.txt +27 −12
  94. Documentation/feature-removal-schedule.txt +9 −58
  95. Documentation/filesystems/9p.txt +1 −1
  96. Documentation/filesystems/Locking +1 −0
  97. Documentation/filesystems/ext3.txt +0 −8
  98. Documentation/filesystems/ext4.txt +16 −25
  99. Documentation/filesystems/hfs.txt +4 −5
  100. Documentation/filesystems/inotify.txt +2 −1
  101. Documentation/filesystems/sysfs.txt +9 −1
  102. Documentation/hwmon/ad7314 +25 −0
  103. Documentation/hwmon/adm1275 +26 −14
  104. Documentation/hwmon/exynos4_tmu +81 −0
  105. Documentation/hwmon/lm75 +38 −23
  106. Documentation/hwmon/ltc2978 +103 −0
  107. Documentation/hwmon/pmbus +8 −5
  108. Documentation/hwmon/pmbus-core +283 −0
  109. Documentation/hwmon/w83627ehf +15 −13
  110. Documentation/hwmon/zl6100 +125 −0
  111. Documentation/hwspinlock.txt +44 −30
  112. Documentation/i2c/smbus-protocol +8 −0
  113. Documentation/input/elantech.txt +279 −16
  114. Documentation/input/multi-touch-protocol.txt +14 −0
  115. Documentation/kernel-parameters.txt +42 −4
  116. Documentation/laptops/thinkpad-acpi.txt +2 −2
  117. Documentation/leds/leds-class.txt +2 −2
  118. Documentation/networking/LICENSE.qlcnic +6 −45
  119. Documentation/networking/batman-adv.txt +4 −4
  120. Documentation/networking/ip-sysctl.txt +8 −9
  121. Documentation/networking/ipvs-sysctl.txt +55 −7
  122. Documentation/networking/mac80211-injection.txt +4 −0
  123. Documentation/networking/netdevices.txt +2 −2
  124. Documentation/networking/stmmac.txt +42 −2
  125. Documentation/oops-tracing.txt +2 −0
  126. Documentation/pinctrl.txt +950 −0
  127. Documentation/power/00-INDEX +2 −0
  128. Documentation/power/basic-pm-debugging.txt +24 −0
  129. Documentation/power/devices.txt +3 −5
  130. Documentation/power/freezing-of-tasks.txt +4 −4
  131. Documentation/power/pm_qos_interface.txt +87 −5
  132. Documentation/power/regulator/machine.txt +13 −6
  133. Documentation/power/runtime_pm.txt +24 −7
  134. Documentation/power/suspend-and-cpuhotplug.txt +275 −0
  135. Documentation/rapidio/rapidio.txt +1 −1
  136. Documentation/rapidio/tsi721.txt +49 −0
  137. Documentation/scheduler/sched-bwc.txt +122 −0
  138. Documentation/scsi/00-INDEX +2 −0
  139. Documentation/scsi/ChangeLog.megaraid_sas +15 −0
  140. Documentation/scsi/LICENSE.qla4xxx +310 −0
  141. Documentation/scsi/bnx2fc.txt +75 −0
  142. Documentation/serial/computone.txt +0 −2
  143. Documentation/serial/serial-rs485.txt +8 −0
  144. Documentation/sound/alsa/ALSA-Configuration.txt +6 −0
  145. Documentation/sound/alsa/HD-Audio-Controls.txt +16 −0
  146. Documentation/sound/alsa/HD-Audio-Models.txt +5 −63
  147. Documentation/sound/alsa/HD-Audio.txt +53 −2
  148. Documentation/stable_kernel_rules.txt +7 −7
  149. Documentation/sysctl/kernel.txt +8 −0
  150. Documentation/trace/postprocess/trace-vmscan-postprocess.pl +4 −4
  151. Documentation/usb/dwc3.txt +45 −0
  152. Documentation/usb/power-management.txt +30 −4
  153. Documentation/video4linux/CARDLIST.tm6000 +0 −0
  154. Documentation/video4linux/gspca.txt +4 −0
  155. Documentation/video4linux/omap3isp.txt +5 −4
  156. Documentation/video4linux/v4l2-controls.txt +16 −27
  157. Documentation/virtual/kvm/api.txt +69 −2
  158. Documentation/virtual/uml/UserModeLinux-HOWTO.txt +266 −266
  159. Documentation/vm/00-INDEX +0 −2
  160. Documentation/watchdog/convert_drivers_to_kernel_api.txt +195 −0
  161. Documentation/x86/entry_64.txt +0 −3
  162. Documentation/zh_CN/SubmitChecklist +0 −109
  163. Kbuild +5 −3
  164. MAINTAINERS +249 −126
  165. Makefile +4 −6
  166. arch/alpha/Kconfig +0 −5
  167. arch/alpha/include/asm/fcntl.h +0 −2
  168. arch/alpha/include/asm/unistd.h +3 −1
  169. arch/alpha/kernel/core_irongate.c +1 −0
  170. arch/alpha/kernel/pci-sysfs.c +1 −0
  171. arch/alpha/kernel/pci_iommu.c +1 −0
  172. arch/alpha/kernel/setup.c +1 −0
  173. arch/alpha/kernel/systbls.S +2 −0
  174. arch/arm/Kconfig +107 −24
  175. arch/arm/Kconfig.debug +123 −10
  176. arch/arm/Makefile +5 −6
  177. arch/arm/boot/compressed/.gitignore +9 −0
  178. arch/arm/boot/compressed/Makefile +28 −4
  179. arch/arm/boot/compressed/atags_to_fdt.c +97 −0
  180. arch/arm/boot/compressed/head.S +115 −7
  181. arch/arm/boot/compressed/libfdt_env.h +15 −0
  182. arch/arm/boot/compressed/misc.c +1 −41
  183. arch/arm/boot/compressed/string.c +127 −0
  184. arch/arm/boot/compressed/vmlinux.lds.in +4 −0
  185. arch/arm/boot/dts/at91sam9g20.dtsi +119 −0
  186. arch/arm/boot/dts/at91sam9g45.dtsi +106 −0
  187. arch/arm/boot/dts/at91sam9m10g45ek.dts +35 −0
  188. arch/arm/boot/dts/highbank.dts +198 −0
  189. arch/arm/boot/dts/imx51-babbage.dts +135 −0
  190. arch/arm/boot/dts/imx51.dtsi +246 −0
  191. arch/arm/boot/dts/imx53-ard.dts +113 −0
  192. arch/arm/boot/dts/imx53-evk.dts +120 −0
  193. arch/arm/boot/dts/imx53-qsb.dts +125 −0
  194. arch/arm/boot/dts/imx53-smd.dts +169 −0
  195. arch/arm/boot/dts/imx53.dtsi +301 −0
  196. arch/arm/boot/dts/imx6q-sabreauto.dts +62 −0
  197. arch/arm/boot/dts/imx6q.dtsi +575 −0
  198. arch/arm/boot/dts/msm8660-surf.dts +24 −0
  199. arch/arm/boot/dts/omap3-beagle.dts +29 −0
  200. arch/arm/boot/dts/omap3.dtsi +63 −0
  201. arch/arm/boot/dts/omap4-panda.dts +29 −0
  202. arch/arm/boot/dts/omap4-sdp.dts +29 −0
  203. arch/arm/boot/dts/omap4.dtsi +103 −0
  204. arch/arm/boot/dts/picoxcell-pc3x2.dtsi +249 −0
  205. arch/arm/boot/dts/picoxcell-pc3x3.dtsi +365 −0
  206. arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts +86 −0
  207. arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts +92 −0
  208. arch/arm/boot/dts/prima2-cb.dts +11 −3
  209. arch/arm/boot/dts/tegra-harmony.dts +1 −0
  210. arch/arm/boot/dts/tegra-seaboard.dts +4 −0
  211. arch/arm/boot/dts/tegra-ventana.dts +31 −0
  212. arch/arm/boot/dts/tegra20.dtsi +8 −0
  213. arch/arm/boot/dts/usb_a9g20.dts +30 −0
  214. arch/arm/common/Kconfig +1 −0
  215. arch/arm/common/gic.c +327 −56
  216. arch/arm/common/it8152.c +1 −0
  217. arch/arm/common/sa1111.c +8 −1
  218. arch/arm/common/scoop.c +2 −1
  219. arch/arm/common/timer-sp.c +9 −0
  220. arch/arm/configs/at91sam9g45_defconfig +214 −0
  221. arch/arm/configs/exynos4_defconfig +3 −7
  222. arch/arm/configs/imx_v4_v5_defconfig +54 −14
  223. arch/arm/configs/mx1_defconfig +0 −91
  224. arch/arm/configs/mx21_defconfig +0 −97
  225. arch/arm/configs/mx3_defconfig +33 −13
  226. arch/arm/configs/mx5_defconfig +37 −23
  227. arch/arm/configs/mxs_defconfig +1 −0
  228. arch/arm/configs/tegra_defconfig +32 −7
  229. arch/arm/include/asm/device.h +5 −0
  230. arch/arm/include/asm/dma-mapping.h +7 −0
  231. arch/arm/include/asm/dma.h +3 −3
  232. arch/arm/include/asm/entry-macro-multi.S +0 −7
  233. arch/arm/include/asm/gpio.h +19 −0
  234. arch/arm/include/asm/hardirq.h +0 −3
  235. arch/arm/include/asm/hardware/cache-l2x0.h +8 −1
  236. arch/arm/include/asm/hardware/entry-macro-gic.S +2 −17
  237. arch/arm/include/asm/hardware/gic.h +16 −3
  238. arch/arm/include/asm/hardware/iop3xx-gpio.h +2 −0
  239. arch/arm/include/asm/hardware/it8152.h +1 −1
  240. arch/arm/include/asm/hardware/pl080.h +4 −0
  241. arch/arm/include/asm/hw_breakpoint.h +2 −0
  242. arch/arm/include/asm/localtimer.h +8 −14
  243. arch/arm/include/asm/mach/arch.h +1 −1
  244. arch/arm/include/asm/mach/map.h +1 −0
  245. arch/arm/include/asm/memory.h +8 −10
  246. arch/arm/include/asm/mmu.h +2 −2
  247. arch/arm/include/asm/pgtable.h +3 −0
  248. arch/arm/include/asm/pmu.h +74 −19
  249. arch/arm/include/asm/proc-fns.h +8 −0
  250. arch/arm/include/asm/smp.h +0 −5
  251. arch/arm/include/asm/smp_twd.h +1 −1
  252. arch/arm/include/asm/suspend.h +1 −16
  253. arch/arm/kernel/Makefile +8 −1
  254. arch/arm/kernel/armksyms.c +1 −1
  255. arch/arm/kernel/bios32.c +1 −1
  256. arch/arm/kernel/debug.S +2 −2
  257. arch/arm/kernel/devtree.c +1 −1
  258. arch/arm/kernel/dma.c +1 −1
  259. arch/arm/kernel/elf.c +1 −1
  260. arch/arm/kernel/etm.c +1 −0
  261. arch/arm/kernel/head.S +2 −2
  262. arch/arm/kernel/hw_breakpoint.c +170 −105
  263. arch/arm/kernel/io.c +1 −1
  264. arch/arm/kernel/irq.c +0 −4
  265. arch/arm/kernel/kprobes-arm.c +4 −0
  266. arch/arm/kernel/kprobes-test-arm.c +1323 −0
  267. arch/arm/kernel/kprobes-test-thumb.c +1187 −0
  268. arch/arm/kernel/kprobes-test.c +1748 −0
  269. arch/arm/kernel/kprobes-test.h +392 −0
  270. arch/arm/kernel/kprobes-thumb.c +7 −0
  271. arch/arm/kernel/kprobes.h +8 −0
  272. arch/arm/kernel/leds.c +2 −1
  273. arch/arm/kernel/perf_event.c +255 −222
  274. arch/arm/kernel/perf_event_v6.c +59 −28
  275. arch/arm/kernel/perf_event_v7.c +196 −199
  276. arch/arm/kernel/perf_event_xscale.c +47 −43
  277. arch/arm/kernel/pj4-cp0.c +0 −1
  278. arch/arm/kernel/pmu.c +8 −174
  279. arch/arm/kernel/process.c +1 −1
  280. arch/arm/kernel/ptrace.c +1 −0
  281. arch/arm/kernel/return_address.c +1 −1
  282. arch/arm/kernel/setup.c +3 −20
  283. arch/arm/kernel/sleep.S +27 −58
  284. arch/arm/kernel/smp.c +4 −40
  285. arch/arm/kernel/smp_twd.c +45 −2
  286. arch/arm/kernel/stacktrace.c +1 −1
  287. arch/arm/kernel/suspend.c +72 −0
  288. arch/arm/kernel/sys_arm.c +1 −1
  289. arch/arm/kernel/time.c +1 −1
  290. arch/arm/kernel/traps.c +10 −10
  291. arch/arm/kernel/unwind.c +1 −1
  292. arch/arm/kernel/xscale-cp0.c +0 −1
  293. arch/arm/mach-at91/Kconfig +24 −6
  294. arch/arm/mach-at91/Makefile +7 −2
  295. arch/arm/mach-at91/Makefile.boot +2 −0
  296. arch/arm/mach-at91/at91cap9.c +2 −0
  297. arch/arm/mach-at91/at91cap9_devices.c +10 −5
  298. arch/arm/mach-at91/at91rm9200.c +2 −0
  299. arch/arm/mach-at91/at91rm9200_devices.c +11 −4
  300. arch/arm/mach-at91/at91sam9260.c +10 −0
  301. arch/arm/mach-at91/at91sam9260_devices.c +12 −5
  302. arch/arm/mach-at91/at91sam9261.c +15 −14
  303. arch/arm/mach-at91/at91sam9261_devices.c +11 −4
  304. arch/arm/mach-at91/at91sam9263.c +2 −0
  305. arch/arm/mach-at91/at91sam9263_devices.c +9 −4
  306. arch/arm/mach-at91/at91sam9g45.c +17 −0
  307. arch/arm/mach-at91/at91sam9g45_devices.c +39 −5
  308. arch/arm/mach-at91/at91sam9rl_devices.c +4 −5
  309. arch/arm/mach-at91/board-1arm.c +1 −1
  310. arch/arm/mach-at91/board-afeb-9260v1.c +3 −8
  311. arch/arm/mach-at91/board-cam60.c +3 −8
  312. arch/arm/mach-at91/board-cap9adk.c +3 −8
  313. arch/arm/mach-at91/board-carmeva.c +1 −1
  314. arch/arm/mach-at91/board-cpu9krea.c +1 −1
  315. arch/arm/mach-at91/board-cpuat91.c +1 −1
  316. arch/arm/mach-at91/board-csb337.c +1 −1
  317. arch/arm/mach-at91/board-csb637.c +1 −1
  318. arch/arm/mach-at91/board-dt.c +123 −0
  319. arch/arm/mach-at91/board-eb9200.c +1 −1
  320. arch/arm/mach-at91/board-ecbat91.c +1 −1
  321. arch/arm/mach-at91/board-kafa.c +1 −1
  322. arch/arm/mach-at91/board-kb9202.c +3 −8
  323. arch/arm/mach-at91/board-neocore926.c +3 −8
  324. arch/arm/mach-at91/board-picotux200.c +1 −1
  325. arch/arm/mach-at91/board-qil-a9260.c +3 −8
  326. arch/arm/mach-at91/board-rm9200dk.c +3 −8
  327. arch/arm/mach-at91/board-rm9200ek.c +1 −1
  328. arch/arm/mach-at91/board-rsi-ews.c +233 −0
  329. arch/arm/mach-at91/board-sam9-l9260.c +3 −8
  330. arch/arm/mach-at91/board-sam9260ek.c +3 −8
  331. arch/arm/mach-at91/board-sam9261ek.c +3 −8
  332. arch/arm/mach-at91/board-sam9263ek.c +3 −8
  333. arch/arm/mach-at91/board-sam9g20ek.c +3 −8
  334. arch/arm/mach-at91/board-sam9m10g45ek.c +3 −8
  335. arch/arm/mach-at91/board-sam9rlek.c +3 −8
  336. arch/arm/mach-at91/board-snapper9260.c +2 −8
  337. arch/arm/mach-at91/board-usb-a9260.c +0 −230
  338. arch/arm/mach-at91/board-usb-a926x.c +161 −29
  339. arch/arm/mach-at91/board-yl-9200.c +4 −9
  340. arch/arm/mach-at91/cpuidle.c +24 −18
  341. arch/arm/mach-at91/gpio.c +1 −3
  342. arch/arm/mach-at91/include/mach/at91sam9g45.h +0 −2
  343. arch/arm/mach-at91/include/mach/board.h +7 −1
  344. arch/arm/mach-at91/include/mach/debug-macro.S +1 −1
  345. arch/arm/mach-at91/include/mach/gpio.h +0 −5
  346. arch/arm/mach-at91/include/mach/timex.h +5 −0
  347. arch/arm/mach-at91/include/mach/vmalloc.h +2 −0
  348. arch/arm/mach-at91/leds.c +1 −1
  349. arch/arm/mach-at91/pm.c +1 −1
  350. arch/arm/mach-bcmring/dma.c +1 −0
  351. arch/arm/mach-bcmring/include/mach/hardware.h +1 −2
  352. arch/arm/mach-bcmring/include/mach/memory.h +0 −33
  353. arch/arm/mach-bcmring/mm.c +4 −0
  354. arch/arm/mach-clps711x/autcpu12.c +1 −1
  355. arch/arm/mach-clps711x/cdb89712.c +1 −1
  356. arch/arm/mach-clps711x/ceiva.c +1 −1
  357. arch/arm/mach-clps711x/clep7312.c +1 −1
  358. arch/arm/mach-clps711x/edb7211-arch.c +1 −1
  359. arch/arm/mach-clps711x/fortunet.c +0 −1
  360. arch/arm/mach-clps711x/include/mach/debug-macro.S +1 −1
  361. arch/arm/mach-clps711x/p720t.c +1 −1
  362. arch/arm/mach-cns3xxx/cns3420vb.c +1 −1
  363. arch/arm/mach-cns3xxx/include/mach/debug-macro.S +1 −1
  364. arch/arm/mach-cns3xxx/include/mach/memory.h +0 −26
  365. arch/arm/mach-davinci/Kconfig +10 −0
  366. arch/arm/mach-davinci/Makefile +1 −2
  367. arch/arm/mach-davinci/board-da830-evm.c +2 −2
  368. arch/arm/mach-davinci/board-da850-evm.c +116 −2
  369. arch/arm/mach-davinci/board-dm355-evm.c +2 −2
  370. arch/arm/mach-davinci/board-dm355-leopard.c +2 −2
  371. arch/arm/mach-davinci/board-dm365-evm.c +2 −2
  372. arch/arm/mach-davinci/board-dm644x-evm.c +3 −2
  373. arch/arm/mach-davinci/board-dm646x-evm.c +3 −2
  374. arch/arm/mach-davinci/board-mityomapl138.c +3 −2
  375. arch/arm/mach-davinci/board-neuros-osd2.c +2 −2
  376. arch/arm/mach-davinci/board-omapl138-hawk.c +1 −1
  377. arch/arm/mach-davinci/board-sffsdr.c +1 −1
  378. arch/arm/mach-davinci/board-tnetv107x-evm.c +2 −2
  379. arch/arm/mach-davinci/cdce949.c +1 −0
  380. arch/arm/mach-davinci/common.c +3 −0
  381. arch/arm/mach-davinci/cpufreq.c +1 −0
  382. arch/arm/mach-davinci/cpuidle.c +31 −23
  383. arch/arm/mach-davinci/da830.c +2 −1
  384. arch/arm/mach-davinci/da850.c +11 −1
  385. arch/arm/mach-davinci/devices-da8xx.c +3 −0
  386. arch/arm/mach-davinci/devices-tnetv107x.c +1 −0
  387. arch/arm/mach-davinci/dm355.c +2 −1
  388. arch/arm/mach-davinci/dm365.c +1 −2
  389. arch/arm/mach-davinci/dm644x.c +2 −1
  390. arch/arm/mach-davinci/dm646x.c +2 −1
  391. arch/arm/mach-davinci/dma.c +1 −4
  392. arch/arm/mach-davinci/include/mach/ddr2.h +4 −0
  393. arch/arm/mach-davinci/include/mach/debug-macro.S +23 −29
  394. arch/arm/mach-davinci/include/mach/gpio-davinci.h +91 −0
  395. arch/arm/mach-davinci/include/mach/gpio.h +3 −76
  396. arch/arm/mach-davinci/include/mach/memory.h +0 −44
  397. arch/arm/mach-davinci/include/mach/mmc.h +3 −0
  398. arch/arm/mach-davinci/include/mach/mux.h +10 −0
  399. arch/arm/mach-davinci/include/mach/nand.h +3 −1
  400. arch/arm/mach-davinci/include/mach/serial.h +2 −1
  401. arch/arm/mach-davinci/include/mach/uncompress.h +6 −1
  402. arch/arm/mach-davinci/sleep.S +1 −1
  403. arch/arm/mach-davinci/tnetv107x.c +2 −1
  404. arch/arm/mach-dove/cm-a510.c +1 −1
  405. arch/arm/mach-dove/dove-db-setup.c +1 −1
  406. arch/arm/mach-dove/include/mach/debug-macro.S +1 −1
  407. arch/arm/mach-dove/include/mach/memory.h +0 −10
  408. arch/arm/mach-ebsa110/core.c +1 −1
  409. arch/arm/mach-ebsa110/include/mach/debug-macro.S +1 −1
  410. arch/arm/mach-ep93xx/Kconfig +7 −0
  411. arch/arm/mach-ep93xx/Makefile +1 −0
  412. arch/arm/mach-ep93xx/adssphere.c +1 −1
  413. arch/arm/mach-ep93xx/core.c +2 −0
  414. arch/arm/mach-ep93xx/edb93xx.c +15 −8
  415. arch/arm/mach-ep93xx/gesbc9312.c +1 −1
  416. arch/arm/mach-ep93xx/include/mach/debug-macro.S +1 −1
  417. arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h +100 −0
  418. arch/arm/mach-ep93xx/include/mach/gpio.h +1 −120
  419. arch/arm/mach-ep93xx/micro9.c +4 −4
  420. arch/arm/mach-ep93xx/simone.c +15 −4
  421. arch/arm/mach-ep93xx/snappercl15.c +14 −3
  422. arch/arm/mach-ep93xx/ts72xx.c +6 −19
  423. arch/arm/mach-ep93xx/vision_ep9307.c +364 −0
  424. arch/arm/mach-exynos/Kconfig +131 −24
  425. arch/arm/mach-exynos/Makefile +13 −8
  426. arch/arm/mach-exynos/Makefile.boot +0 −0
  427. arch/arm/mach-exynos/clock-exynos4210.c +139 −0
  428. arch/arm/mach-exynos/clock-exynos4212.c +118 −0
  429. arch/arm/mach-exynos/clock.c +355 −76
  430. arch/arm/mach-exynos/cpu.c +83 −39
  431. arch/arm/mach-exynos/cpuidle.c +17 −13
  432. arch/arm/mach-exynos/dev-ahci.c +0 −0
  433. arch/arm/mach-exynos/dev-audio.c +0 −0
  434. arch/arm/mach-exynos/dev-dwmci.c +0 −0
  435. arch/arm/mach-exynos/dev-pd.c +0 −0
  436. arch/arm/mach-exynos/dev-sysmmu.c +1 −0
  437. arch/arm/mach-exynos/dma.c +250 −0
  438. arch/arm/mach-exynos/headsmp.S +0 −0
  439. arch/arm/mach-exynos/hotplug.c +1 −1
  440. arch/arm/mach-exynos/include/mach/debug-macro.S +1 −1
  441. arch/arm/mach-exynos/include/mach/dma.h +2 −2
  442. arch/arm/mach-exynos/include/mach/dwmci.h +0 −0
  443. arch/arm/mach-exynos/include/mach/entry-macro.S +19 −11
  444. arch/arm/mach-exynos/include/mach/exynos4-clock.h +43 −0
  445. arch/arm/mach-exynos/include/mach/gpio.h +0 −7
  446. arch/arm/mach-exynos/include/mach/hardware.h +0 −0
  447. arch/arm/mach-exynos/include/mach/io.h +0 −0
  448. arch/arm/mach-exynos/include/mach/irqs.h +6 −0
  449. arch/arm/mach-exynos/include/mach/map.h +28 −10
  450. arch/arm/mach-exynos/include/mach/memory.h +0 −0
  451. arch/arm/mach-exynos/include/mach/pm-core.h +7 −1
  452. arch/arm/mach-exynos/include/mach/pmu.h +7 −0
  453. arch/arm/mach-exynos/include/mach/regs-audss.h +0 −0
  454. arch/arm/mach-exynos/include/mach/regs-clock.h +36 −18
  455. arch/arm/mach-exynos/include/mach/regs-gpio.h +0 −0
  456. arch/arm/mach-exynos/include/mach/regs-irq.h +0 −0
  457. arch/arm/mach-exynos/include/mach/regs-mct.h +3 −2
  458. arch/arm/mach-exynos/include/mach/regs-mem.h +0 −0
  459. arch/arm/mach-exynos/include/mach/regs-pmu.h +63 −11
  460. arch/arm/mach-exynos/include/mach/regs-sysmmu.h +0 −0
  461. arch/arm/mach-exynos/include/mach/regs-usb-phy.h +0 −0
  462. arch/arm/mach-exynos/include/mach/sysmmu.h +0 −0
  463. arch/arm/mach-exynos/include/mach/system.h +0 −0
  464. arch/arm/mach-exynos/include/mach/timex.h +0 −0
  465. arch/arm/mach-exynos/include/mach/uncompress.h +0 −0
  466. arch/arm/mach-exynos/include/mach/vmalloc.h +0 −0
  467. arch/arm/mach-exynos/init.c +0 −0
  468. arch/arm/mach-exynos/irq-combiner.c +0 −0
  469. arch/arm/mach-exynos/irq-eint.c +0 −0
  470. arch/arm/mach-exynos/mach-armlex4210.c +1 −1
  471. arch/arm/mach-exynos/mach-nuri.c +186 −8
  472. arch/arm/mach-exynos/mach-origen.c +700 −0
  473. arch/arm/mach-exynos/mach-smdk4x12.c +302 −0
  474. arch/arm/mach-exynos/mach-smdkv310.c +128 −1
  475. arch/arm/mach-exynos/mach-universal_c210.c +301 −8
  476. arch/arm/mach-exynos/mct.c +118 −76
  477. arch/arm/mach-exynos/platsmp.c +10 −7
  478. arch/arm/mach-exynos/pm.c +14 −72
  479. arch/arm/mach-exynos/pmu.c +230 −0
  480. arch/arm/mach-exynos/setup-fimc.c +0 −0
  481. arch/arm/mach-exynos/setup-fimd0.c +0 −0
  482. arch/arm/mach-exynos/setup-i2c0.c +0 −0
  483. arch/arm/mach-exynos/setup-i2c1.c +0 −0
  484. arch/arm/mach-exynos/setup-i2c2.c +0 −0
  485. arch/arm/mach-exynos/setup-i2c3.c +0 −0
  486. arch/arm/mach-exynos/setup-i2c4.c +0 −0
  487. arch/arm/mach-exynos/setup-i2c5.c +0 −0
  488. arch/arm/mach-exynos/setup-i2c6.c +0 −0
  489. arch/arm/mach-exynos/setup-i2c7.c +0 −0
  490. arch/arm/mach-exynos/setup-keypad.c +0 −0
  491. arch/arm/mach-exynos/setup-sdhci-gpio.c +0 −0
  492. arch/arm/mach-exynos/setup-sdhci.c +22 −0
  493. arch/arm/mach-exynos/setup-usb-phy.c +0 −0
  494. arch/arm/mach-exynos4/dma.c +0 −172
  495. arch/arm/mach-exynos4/include/mach/clkdev.h +0 −7
  496. arch/arm/mach-exynos4/mach-smdkc210.c +0 −309
  497. arch/arm/mach-exynos4/pmu.c +0 −175
  498. arch/arm/mach-exynos4/setup-sdhci.c +0 −69
  499. arch/arm/mach-footbridge/cats-hw.c +1 −1
  500. arch/arm/mach-footbridge/ebsa285.c +1 −1
  501. arch/arm/mach-footbridge/include/mach/debug-macro.S +2 −2
  502. arch/arm/mach-footbridge/include/mach/hardware.h +1 −1
  503. arch/arm/mach-footbridge/netwinder-hw.c +8 −8
  504. arch/arm/mach-footbridge/netwinder-leds.c +5 −5
  505. arch/arm/mach-footbridge/personal.c +1 −1
  506. arch/arm/mach-gemini/board-nas4220b.c +1 −1
  507. arch/arm/mach-gemini/board-rut1xx.c +1 −1
  508. arch/arm/mach-gemini/board-wbd111.c +1 −1
  509. arch/arm/mach-gemini/board-wbd222.c +1 −1
  510. arch/arm/mach-gemini/include/mach/debug-macro.S +1 −1
  511. arch/arm/mach-gemini/include/mach/gpio.h +0 −5
  512. arch/arm/mach-gemini/include/mach/memory.h +0 −19
  513. arch/arm/mach-h720x/h7201-eval.c +1 −1
  514. arch/arm/mach-h720x/h7202-eval.c +1 −1
  515. arch/arm/mach-h720x/include/mach/debug-macro.S +1 −1
  516. arch/arm/mach-h720x/include/mach/memory.h +0 −11
  517. arch/arm/mach-highbank/Makefile +6 −0
  518. arch/arm/mach-highbank/Makefile.boot +1 −0
  519. arch/arm/mach-highbank/clock.c +62 −0
  520. arch/arm/mach-highbank/core.h +9 −0
  521. arch/arm/mach-highbank/highbank.c +145 −0
  522. arch/arm/mach-highbank/hotplug.c +56 −0
  523. arch/arm/mach-highbank/include/mach/debug-macro.S +19 −0
  524. arch/arm/mach-highbank/include/mach/entry-macro.S +7 −0
  525. arch/arm/mach-highbank/include/mach/gpio.h +0 −0
  526. arch/arm/mach-highbank/include/mach/io.h +7 −0
  527. arch/arm/mach-highbank/include/mach/irqs.h +6 −0
  528. arch/arm/mach-highbank/include/mach/memory.h +1 −0
  529. arch/arm/mach-highbank/include/mach/system.h +26 −0
  530. arch/arm/mach-highbank/include/mach/timex.h +6 −0
  531. arch/arm/mach-highbank/include/mach/uncompress.h +9 −0
  532. arch/arm/mach-highbank/include/mach/vmalloc.h +1 −0
  533. arch/arm/mach-highbank/lluart.c +34 −0
  534. arch/arm/mach-highbank/localtimer.c +40 −0
  535. arch/arm/mach-highbank/platsmp.c +78 −0
  536. arch/arm/mach-highbank/pm.c +55 −0
  537. arch/arm/mach-highbank/sysregs.h +52 −0
  538. arch/arm/mach-highbank/system.c +33 −0
  539. arch/arm/mach-imx/Kconfig +49 −34
  540. arch/arm/mach-imx/Makefile +18 −8
  541. arch/arm/mach-imx/Makefile.boot +23 −15
  542. arch/arm/mach-imx/cache-l2x0.c +0 −56
  543. arch/arm/mach-imx/clock-imx25.c +6 −0
  544. arch/arm/mach-imx/clock-imx27.c +4 −2
  545. arch/arm/mach-imx/clock-imx31.c +4 −4
  546. arch/arm/mach-imx/clock-imx35.c +4 −3
  547. arch/arm/mach-imx/clock-imx6q.c +2027 −0
  548. arch/arm/mach-imx/cpu-imx25.c +41 −0
  549. arch/arm/mach-imx/cpu-imx27.c +13 −15
  550. arch/arm/mach-imx/cpu-imx31.c +27 −22
  551. arch/arm/mach-imx/cpu-imx35.c +14 −16
  552. arch/arm/mach-imx/devices-imx27.h +4 −0
  553. arch/arm/mach-imx/devices-imx31.h +4 −0
  554. arch/arm/mach-imx/devices-imx35.h +4 −0
  555. arch/arm/mach-imx/gpc.c +113 −0
  556. arch/arm/mach-imx/head-v7.S +99 −0
  557. arch/arm/mach-imx/hotplug.c +44 −0
  558. arch/arm/mach-imx/iomux-imx31.c +1 −2
  559. arch/arm/mach-imx/lluart.c +32 −0
  560. arch/arm/mach-imx/localtimer.c +35 −0
  561. arch/arm/mach-imx/mach-apf9328.c +1 −0
  562. arch/arm/mach-imx/mach-armadillo5x0.c +9 −12
  563. arch/arm/mach-imx/mach-bug.c +1 −0
  564. arch/arm/mach-imx/mach-cpuimx27.c +2 −1
  565. arch/arm/mach-imx/mach-cpuimx35.c +3 −2
  566. arch/arm/mach-imx/mach-eukrea_cpuimx25.c +2 −1
  567. arch/arm/mach-imx/mach-imx27_visstrim_m10.c +2 −1
  568. arch/arm/mach-imx/mach-imx27ipcam.c +2 −1
  569. arch/arm/mach-imx/mach-imx27lite.c +2 −1
  570. arch/arm/mach-imx/mach-imx6q.c +84 −0
  571. arch/arm/mach-imx/mach-kzm_arm11_01.c +3 −1
  572. arch/arm/mach-imx/mach-mx1ads.c +9 −12
  573. arch/arm/mach-imx/mach-mx21ads.c +2 −1
  574. arch/arm/mach-imx/mach-mx25_3ds.c +12 −1
  575. arch/arm/mach-imx/mach-mx27_3ds.c +6 −8
  576. arch/arm/mach-imx/mach-mx27ads.c +3 −3
  577. arch/arm/mach-imx/mach-mx31_3ds.c +5 −6
  578. arch/arm/mach-imx/mach-mx31ads.c +2 −1
  579. arch/arm/mach-imx/mach-mx31lilly.c +3 −1
  580. arch/arm/mach-imx/mach-mx31lite.c +4 −3
  581. arch/arm/mach-imx/mach-mx31moboard.c +31 −5
  582. arch/arm/mach-imx/mach-mx35_3ds.c +2 −1
  583. arch/arm/mach-imx/mach-mxt_td60.c +2 −1
  584. arch/arm/mach-imx/mach-pca100.c +2 −1
  585. arch/arm/mach-imx/mach-pcm037.c +2 −1
  586. arch/arm/mach-imx/mach-pcm038.c +6 −4
  587. arch/arm/mach-imx/mach-pcm043.c +2 −1
  588. arch/arm/mach-imx/mach-qong.c +7 −2
  589. arch/arm/mach-imx/mach-scb9328.c +2 −1
  590. arch/arm/mach-imx/mach-vpr200.c +2 −1
  591. arch/arm/mach-imx/mm-imx3.c +256 −0
  592. arch/arm/mach-imx/mm-imx31.c +0 −91
  593. arch/arm/mach-imx/mm-imx35.c +0 −109
  594. arch/arm/mach-imx/mmdc.c +72 −0
  595. arch/arm/mach-imx/platsmp.c +85 −0
  596. arch/arm/mach-imx/pm-imx27.c +1 −1
  597. arch/arm/mach-imx/pm-imx6q.c +70 −0
  598. arch/arm/mach-imx/src.c +49 −0
  599. arch/arm/mach-integrator/core.c +3 −3
  600. arch/arm/mach-integrator/include/mach/debug-macro.S +1 −1
  601. arch/arm/mach-integrator/integrator_ap.c +1 −1
  602. arch/arm/mach-integrator/integrator_cp.c +1 −1
  603. arch/arm/mach-integrator/pci_v3.c +7 −7
  604. arch/arm/mach-iop13xx/include/mach/debug-macro.S +1 −1
  605. arch/arm/mach-iop13xx/iq81340mc.c +1 −1
  606. arch/arm/mach-iop13xx/iq81340sc.c +1 −1
  607. arch/arm/mach-iop13xx/pci.c +1 −0
  608. arch/arm/mach-iop32x/em7210.c +1 −1
  609. arch/arm/mach-iop32x/glantank.c +1 −1
  610. arch/arm/mach-iop32x/include/mach/debug-macro.S +1 −1
  611. arch/arm/mach-iop32x/include/mach/memory.h +0 −13
  612. arch/arm/mach-iop32x/iq31244.c +2 −2
  613. arch/arm/mach-iop32x/iq80321.c +1 −1
  614. arch/arm/mach-iop32x/n2100.c +1 −1
  615. arch/arm/mach-iop33x/include/mach/debug-macro.S +1 −1
  616. arch/arm/mach-iop33x/include/mach/memory.h +0 −13
  617. arch/arm/mach-iop33x/iq80331.c +1 −1
  618. arch/arm/mach-iop33x/iq80332.c +1 −1
  619. arch/arm/mach-ixp2000/core.c +3 −2
  620. arch/arm/mach-ixp2000/enp2611.c +1 −1
  621. arch/arm/mach-ixp2000/include/mach/debug-macro.S +1 −1
  622. arch/arm/mach-ixp2000/include/mach/gpio-ixp2000.h +2 −2
  623. arch/arm/mach-ixp2000/ixdp2400.c +1 −1
  624. arch/arm/mach-ixp2000/ixdp2800.c +1 −1
  625. arch/arm/mach-ixp2000/ixdp2x00.c +2 −2
  626. arch/arm/mach-ixp2000/ixdp2x01.c +3 −3
  627. arch/arm/mach-ixp23xx/espresso.c +1 −1
  628. arch/arm/mach-ixp23xx/include/mach/debug-macro.S +1 −1
  629. arch/arm/mach-ixp23xx/ixdp2351.c +1 −1
  630. arch/arm/mach-ixp23xx/roadrunner.c +1 −1
  631. arch/arm/mach-ixp4xx/Kconfig +19 −0
  632. arch/arm/mach-ixp4xx/Makefile +4 −0
  633. arch/arm/mach-ixp4xx/avila-setup.c +2 −2
  634. arch/arm/mach-ixp4xx/common-pci.c +12 −11
  635. arch/arm/mach-ixp4xx/common.c +1 −0
  636. arch/arm/mach-ixp4xx/coyote-setup.c +2 −2
  637. arch/arm/mach-ixp4xx/dsmg600-setup.c +2 −3
  638. arch/arm/mach-ixp4xx/fsg-setup.c +2 −3
  639. arch/arm/mach-ixp4xx/gateway7001-setup.c +1 −1
  640. arch/arm/mach-ixp4xx/goramo_mlr.c +1 −1
  641. arch/arm/mach-ixp4xx/gtwx5715-setup.c +1 −1
  642. arch/arm/mach-ixp4xx/include/mach/debug-macro.S +1 −1
  643. arch/arm/mach-ixp4xx/include/mach/gpio.h +3 −0
  644. arch/arm/mach-ixp4xx/include/mach/memory.h +0 −17
  645. arch/arm/mach-ixp4xx/include/mach/uncompress.h +2 −1
  646. arch/arm/mach-ixp4xx/ixdp425-setup.c +4 −4
  647. arch/arm/mach-ixp4xx/miccpt-pci.c +78 −0
  648. arch/arm/mach-ixp4xx/nas100d-setup.c +2 −3
  649. arch/arm/mach-ixp4xx/nslu2-setup.c +2 −3
  650. arch/arm/mach-ixp4xx/omixp-setup.c +273 −0
  651. arch/arm/mach-ixp4xx/vulcan-setup.c +1 −1
  652. arch/arm/mach-ixp4xx/wg302v2-setup.c +1 −1
  653. arch/arm/mach-kirkwood/cpuidle.c +25 −18
  654. arch/arm/mach-kirkwood/d2net_v2-setup.c +1 −1
  655. arch/arm/mach-kirkwood/db88f6281-bp-setup.c +1 −1
  656. arch/arm/mach-kirkwood/dockstar-setup.c +1 −1
  657. arch/arm/mach-kirkwood/guruplug-setup.c +1 −1
  658. arch/arm/mach-kirkwood/include/mach/debug-macro.S +1 −1
  659. arch/arm/mach-kirkwood/include/mach/memory.h +0 −10
  660. arch/arm/mach-kirkwood/irq.c +1 −2
  661. arch/arm/mach-kirkwood/mpp.c +1 −2
  662. arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c +1 −1
  663. arch/arm/mach-kirkwood/netspace_v2-setup.c +3 −3
  664. arch/arm/mach-kirkwood/netxbig_v2-setup.c +2 −2
  665. arch/arm/mach-kirkwood/openrd-setup.c +3 −3
  666. arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +1 −1
  667. arch/arm/mach-kirkwood/rd88f6281-setup.c +1 −1
  668. arch/arm/mach-kirkwood/sheevaplug-setup.c +2 −2
  669. arch/arm/mach-kirkwood/t5325-setup.c +1 −1
  670. arch/arm/mach-kirkwood/ts219-setup.c +1 −1
  671. arch/arm/mach-kirkwood/ts41x-setup.c +1 −1
  672. arch/arm/mach-ks8695/Makefile +1 −1
  673. arch/arm/mach-ks8695/board-acs5k.c +3 −3
  674. arch/arm/mach-ks8695/board-dsm320.c +3 −3
  675. arch/arm/mach-ks8695/board-micrel.c +3 −3
  676. arch/arm/mach-ks8695/devices.c +1 −0
  677. arch/arm/mach-ks8695/include/mach/debug-macro.S +1 −1
  678. arch/arm/mach-ks8695/include/mach/gpio-ks8695.h +39 −0
  679. arch/arm/mach-ks8695/include/mach/gpio.h +0 −38
  680. arch/arm/mach-ks8695/leds.c +2 −2
  681. arch/arm/mach-l7200/include/mach/debug-macro.S +1 −1
  682. arch/arm/mach-lpc32xx/Makefile +1 −1
  683. arch/arm/mach-lpc32xx/include/mach/debug-macro.S +1 −1
  684. arch/arm/mach-lpc32xx/include/mach/gpio-lpc32xx.h +50 −0
  685. arch/arm/mach-lpc32xx/include/mach/gpio.h +1 −74
  686. arch/arm/mach-lpc32xx/phy3250.c +2 −1
  687. arch/arm/mach-mmp/Kconfig +1 −1
  688. arch/arm/mach-mmp/Makefile +2 −2
  689. arch/arm/mach-mmp/aspenite.c +5 −4
  690. arch/arm/mach-mmp/brownstone.c +11 −1
  691. arch/arm/mach-mmp/clock.h +4 −4
  692. arch/arm/mach-mmp/common.c +2 −2
  693. arch/arm/mach-mmp/gplugd.c +2 −2
  694. arch/arm/mach-mmp/include/mach/addr-map.h +8 −2
  695. arch/arm/mach-mmp/include/mach/debug-macro.S +1 −1
  696. arch/arm/mach-mmp/include/mach/gpio-pxa.h +30 −0
  697. arch/arm/mach-mmp/include/mach/gpio.h +0 −23
  698. arch/arm/mach-mmp/include/mach/memory.h +0 −14
  699. arch/arm/mach-mmp/include/mach/mmp2.h +13 −0
  700. arch/arm/mach-mmp/include/mach/pxa168.h +7 −0
  701. arch/arm/mach-mmp/include/mach/sram.h +35 −0
  702. arch/arm/mach-mmp/jasper.c +0 −1
  703. arch/arm/mach-mmp/mmp2.c +6 −3
  704. arch/arm/mach-mmp/pxa168.c +47 −2
  705. arch/arm/mach-mmp/pxa910.c +1 −2
  706. arch/arm/mach-mmp/sram.c +168 −0
  707. arch/arm/mach-mmp/tavorevb.c +2 −2
  708. arch/arm/mach-msm/Makefile +2 −0
  709. arch/arm/mach-msm/board-halibut.c +1 −1
  710. arch/arm/mach-msm/board-mahimahi.c +1 −1
  711. arch/arm/mach-msm/board-msm7x27.c +5 −6
  712. arch/arm/mach-msm/board-msm7x30.c +6 −7
  713. arch/arm/mach-msm/board-msm8960.c +2 −2
  714. arch/arm/mach-msm/board-msm8x60.c +53 −20
  715. arch/arm/mach-msm/board-qsd8x50.c +3 −4
  716. arch/arm/mach-msm/board-sapphire.c +2 −3
  717. arch/arm/mach-msm/board-trout-mmc.c +1 −2
  718. arch/arm/mach-msm/board-trout-panel.c +1 −2
  719. arch/arm/mach-msm/board-trout.c +1 −1
  720. arch/arm/mach-msm/clock.c +1 −1
  721. arch/arm/mach-msm/devices-msm7x00.c +0 −24
  722. arch/arm/mach-msm/devices-qsd8x50.c +0 −24
  723. arch/arm/mach-msm/hotplug.c +1 −1
  724. arch/arm/mach-msm/include/mach/debug-macro.S +2 −2
  725. arch/arm/mach-msm/include/mach/entry-macro-qgic.S +1 −72
  726. arch/arm/mach-msm/include/mach/gpio.h +1 −26
  727. arch/arm/mach-msm/include/mach/memory.h +0 −35
  728. arch/arm/mach-msm/include/mach/mmc.h +1 −8
  729. arch/arm/mach-msm/io.c +1 −0
  730. arch/arm/mach-msm/platsmp.c +1 −1
  731. arch/arm/mach-msm/scm.c +3 −0
  732. arch/arm/mach-msm/timer.c +40 −29
  733. arch/arm/mach-mv78xx0/buffalo-wxl-setup.c +1 −1
  734. arch/arm/mach-mv78xx0/db78x00-bp-setup.c +1 −1
  735. arch/arm/mach-mv78xx0/include/mach/debug-macro.S +1 −1
  736. arch/arm/mach-mv78xx0/include/mach/memory.h +0 −10
  737. arch/arm/mach-mv78xx0/irq.c +1 −2
  738. arch/arm/mach-mv78xx0/mpp.c +1 −2
  739. arch/arm/mach-mv78xx0/rd78x00-masa-setup.c +1 −1
  740. arch/arm/mach-mx5/Kconfig +34 −16
  741. arch/arm/mach-mx5/Makefile +4 −2
  742. arch/arm/mach-mx5/board-cpuimx51.c +14 −16
  743. arch/arm/mach-mx5/board-cpuimx51sd.c +13 −15
  744. arch/arm/mach-mx5/board-mx50_rdp.c +1 −0
  745. arch/arm/mach-mx5/board-mx51_3ds.c +2 −2
  746. arch/arm/mach-mx5/board-mx51_babbage.c +21 −17
  747. arch/arm/mach-mx5/board-mx51_efikamx.c +11 −5
  748. arch/arm/mach-mx5/board-mx51_efikasb.c +21 −6
  749. arch/arm/mach-mx5/board-mx53_ard.c +12 −6
  750. arch/arm/mach-mx5/board-mx53_evk.c +8 −2
  751. arch/arm/mach-mx5/board-mx53_loco.c +29 −2
  752. arch/arm/mach-mx5/board-mx53_smd.c +24 −2
  753. arch/arm/mach-mx5/clock-mx51-mx53.c +71 −7
  754. arch/arm/mach-mx5/cpu.c +17 −57
  755. arch/arm/mach-mx5/devices-imx51.h +17 −0
  756. arch/arm/mach-mx5/devices-imx53.h +6 −0
  757. arch/arm/mach-mx5/devices.c +0 −120
  758. arch/arm/mach-mx5/devices.h +0 −5
  759. arch/arm/mach-mx5/ehci.c +1 −1
  760. arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c +1 −2
  761. arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c +2 −4
  762. arch/arm/mach-mx5/imx51-dt.c +116 −0
  763. arch/arm/mach-mx5/imx53-dt.c +126 −0
  764. arch/arm/mach-mx5/mm-mx50.c +0 −72
  765. arch/arm/mach-mx5/mm.c +57 −33
  766. arch/arm/mach-mx5/mx51_efika.c +10 −12
  767. arch/arm/mach-mx5/pm-imx5.c +14 −4
  768. arch/arm/mach-mx5/system.c +1 −0
  769. arch/arm/mach-mxs/Kconfig +23 −0
  770. arch/arm/mach-mxs/Makefile +4 −3
  771. arch/arm/mach-mxs/clock-mx28.c +18 −8
  772. arch/arm/mach-mxs/devices-mx23.h +2 −0
  773. arch/arm/mach-mxs/devices-mx28.h +5 −0
  774. arch/arm/mach-mxs/devices/Kconfig +6 −0
  775. arch/arm/mach-mxs/devices/Makefile +2 −0
  776. arch/arm/mach-mxs/devices/platform-mxs-saif.c +60 −0
  777. arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c +51 −0
  778. arch/arm/mach-mxs/include/mach/debug-macro.S +3 −11
  779. arch/arm/mach-mxs/include/mach/devices-common.h +12 −0
  780. arch/arm/mach-mxs/include/mach/gpio.h +1 −35
  781. arch/arm/mach-mxs/include/mach/mxs.h +3 −0
  782. arch/arm/mach-mxs/include/mach/uncompress.h +1 −0
  783. arch/arm/mach-mxs/mach-m28evk.c +366 −0
  784. arch/arm/mach-mxs/mach-mx23evk.c +2 −2
  785. arch/arm/mach-mxs/mach-mx28evk.c +91 −13
  786. arch/arm/mach-mxs/mach-stmp378x_devb.c +1 −1
  787. arch/arm/mach-mxs/mach-tx28.c +2 −1
  788. arch/arm/mach-mxs/mm-mx28.c +0 −44
  789. arch/arm/mach-mxs/mm.c +19 −0
  790. arch/arm/mach-netx/include/mach/debug-macro.S +1 −1
  791. arch/arm/mach-netx/nxdb500.c +1 −1
  792. arch/arm/mach-netx/nxdkn.c +1 −1
  793. arch/arm/mach-netx/nxeb500hmi.c +1 −1
  794. arch/arm/mach-netx/xc.c +1 −0
  795. arch/arm/mach-nomadik/board-nhk8815.c +2 −1
  796. arch/arm/mach-nomadik/cpu-8815.c +1 −1
  797. arch/arm/mach-nomadik/i2c-8815nhk.c +1 −1
  798. arch/arm/mach-nomadik/include/mach/debug-macro.S +1 −1
  799. arch/arm/mach-nomadik/include/mach/gpio.h +0 −2
  800. arch/arm/mach-nuc93x/Kconfig +0 −19
  801. arch/arm/mach-nuc93x/Makefile +0 −14
  802. arch/arm/mach-nuc93x/Makefile.boot +0 −3
  803. arch/arm/mach-nuc93x/clock.c +0 −83
  804. arch/arm/mach-nuc93x/clock.h +0 −36
  805. arch/arm/mach-nuc93x/cpu.c +0 −135
  806. arch/arm/mach-nuc93x/cpu.h +0 −48
  807. arch/arm/mach-nuc93x/dev.c +0 −42
  808. arch/arm/mach-nuc93x/include/mach/entry-macro.S +0 −32
  809. arch/arm/mach-nuc93x/include/mach/hardware.h +0 −22
  810. arch/arm/mach-nuc93x/include/mach/io.h +0 −28
  811. arch/arm/mach-nuc93x/include/mach/irqs.h +0 −59
  812. arch/arm/mach-nuc93x/include/mach/map.h +0 −139
  813. arch/arm/mach-nuc93x/include/mach/memory.h +0 −21
  814. arch/arm/mach-nuc93x/include/mach/regs-clock.h +0 −53
  815. arch/arm/mach-nuc93x/include/mach/regs-ebi.h +0 −33
  816. arch/arm/mach-nuc93x/include/mach/regs-irq.h +0 −42
  817. arch/arm/mach-nuc93x/include/mach/regs-serial.h +0 −52
  818. arch/arm/mach-nuc93x/include/mach/regs-timer.h +0 −28
  819. arch/arm/mach-nuc93x/include/mach/system.h +0 −28
  820. arch/arm/mach-nuc93x/include/mach/timex.h +0 −25
  821. arch/arm/mach-nuc93x/include/mach/uncompress.h +0 −50
  822. arch/arm/mach-nuc93x/include/mach/vmalloc.h +0 −23
  823. arch/arm/mach-nuc93x/irq.c +0 −66
  824. arch/arm/mach-nuc93x/mach-nuc932evb.c +0 −43
  825. arch/arm/mach-nuc93x/nuc932.c +0 −65
  826. arch/arm/mach-nuc93x/nuc932.h +0 −29
  827. arch/arm/mach-nuc93x/time.c +0 −100
  828. arch/arm/mach-omap1/Makefile +1 −1
  829. arch/arm/mach-omap1/board-ams-delta.c +6 −16
  830. arch/arm/mach-omap1/board-fsample.c +38 −43
  831. arch/arm/mach-omap1/board-generic.c +5 −16
  832. arch/arm/mach-omap1/board-h2-mmc.c +1 −2
  833. arch/arm/mach-omap1/board-h2.c +5 −16
  834. arch/arm/mach-omap1/board-h3-mmc.c +1 −2
  835. arch/arm/mach-omap1/board-h3.c +5 −16
  836. arch/arm/mach-omap1/board-htcherald.c +4 −11
  837. arch/arm/mach-omap1/board-innovator.c +18 −23
  838. arch/arm/mach-omap1/board-nokia770.c +14 −25
  839. arch/arm/mach-omap1/board-osk.c +5 −16
  840. arch/arm/mach-omap1/board-palmte.c +5 −16
  841. arch/arm/mach-omap1/board-palmtt.c +5 −15
  842. arch/arm/mach-omap1/board-palmz71.c +5 −18
  843. arch/arm/mach-omap1/board-perseus2.c +38 −42
  844. arch/arm/mach-omap1/board-sx1-mmc.c +1 −1
  845. arch/arm/mach-omap1/board-sx1.c +6 −17
  846. arch/arm/mach-omap1/board-voiceblue.c +6 −15
  847. arch/arm/mach-omap1/devices.c +4 −1
  848. arch/arm/mach-omap1/fpga.c +1 −1
  849. arch/arm/mach-omap1/include/mach/debug-macro.S +21 −27
  850. arch/arm/mach-omap1/include/mach/memory.h +52 −1
  851. arch/arm/mach-omap1/io.c +26 −32
  852. arch/arm/mach-omap1/irq.c +1 −2
  853. arch/arm/mach-omap1/leds-h2p2-debug.c +1 −1
  854. arch/arm/mach-omap1/leds-osk.c +1 −2
  855. arch/arm/mach-omap1/leds.c +1 −1
  856. arch/arm/mach-omap1/mailbox.c +1 −0
  857. arch/arm/mach-omap1/mcbsp.c +45 −0
  858. arch/arm/mach-omap1/pm.c +1 −1
  859. arch/arm/mach-omap1/pm_bus.c +1 −0
  860. arch/arm/mach-omap1/serial.c +1 −2
  861. arch/arm/mach-omap1/timer.c +173 −0
  862. arch/arm/mach-omap2/Kconfig +6 −3
  863. arch/arm/mach-omap2/Makefile +43 −55
  864. arch/arm/mach-omap2/board-2430sdp.c +67 −28
  865. arch/arm/mach-omap2/board-3430sdp.c +6 −12
  866. arch/arm/mach-omap2/board-3630sdp.c +4 −9
  867. arch/arm/mach-omap2/board-4430sdp.c +185 −44
  868. arch/arm/mach-omap2/board-am3517crane.c +3 −8
  869. arch/arm/mach-omap2/board-am3517evm.c +6 −10
  870. arch/arm/mach-omap2/board-apollon.c +25 −26
  871. arch/arm/mach-omap2/board-cm-t35.c +9 −14
  872. arch/arm/mach-omap2/board-cm-t3517.c +3 −8
  873. arch/arm/mach-omap2/board-devkit8000.c +10 −22
  874. arch/arm/mach-omap2/board-flash.c +0 −5
  875. arch/arm/mach-omap2/board-flash.h +19 −0
  876. arch/arm/mach-omap2/board-generic.c +130 −41
  877. arch/arm/mach-omap2/board-h4.c +95 −86
  878. arch/arm/mach-omap2/board-igep0020.c +10 −15
  879. arch/arm/mach-omap2/board-ldp.c +113 −17
  880. arch/arm/mach-omap2/board-n8x0.c +10 −21
  881. arch/arm/mach-omap2/board-omap3beagle.c +18 −21
  882. arch/arm/mach-omap2/board-omap3evm.c +7 −12
  883. arch/arm/mach-omap2/board-omap3logic.c +5 −10
  884. arch/arm/mach-omap2/board-omap3pandora.c +5 −10
  885. arch/arm/mach-omap2/board-omap3stalker.c +7 −51
  886. arch/arm/mach-omap2/board-omap3touchbook.c +5 −33
  887. arch/arm/mach-omap2/board-omap4panda.c +8 −19
  888. arch/arm/mach-omap2/board-overo.c +8 −12
  889. arch/arm/mach-omap2/board-rm680.c +9 −18
  890. arch/arm/mach-omap2/board-rx51-peripherals.c +0 −1
  891. arch/arm/mach-omap2/board-rx51.c +9 −43
  892. arch/arm/mach-omap2/board-ti8168evm.c +3 −9
  893. arch/arm/mach-omap2/board-zoom.c +12 −15
  894. arch/arm/mach-omap2/clkt_dpll.c +35 −16
  895. arch/arm/mach-omap2/clock.h +2 −0
  896. arch/arm/mach-omap2/clock2420_data.c +36 −0
  897. arch/arm/mach-omap2/clock2430_data.c +36 −0
  898. arch/arm/mach-omap2/clock3xxx_data.c +34 −1
  899. arch/arm/mach-omap2/clock44xx.h +7 −0
  900. arch/arm/mach-omap2/clock44xx_data.c +45 −9
  901. arch/arm/mach-omap2/clockdomain.c +103 −47
  902. arch/arm/mach-omap2/clockdomain.h +13 −9
  903. arch/arm/mach-omap2/clockdomain2xxx_3xxx.c +0 −4
  904. arch/arm/mach-omap2/clockdomain44xx.c +0 −2
  905. arch/arm/mach-omap2/clockdomains2420_data.c +154 −0
  906. arch/arm/mach-omap2/clockdomains2430_data.c +181 −0
  907. arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c +18 −785
  908. arch/arm/mach-omap2/clockdomains3xxx_data.c +398 −0
  909. arch/arm/mach-omap2/clockdomains44xx_data.c +80 −329
  910. arch/arm/mach-omap2/common.c +38 −24
  911. arch/arm/mach-omap2/control.c +4 −10
  912. arch/arm/mach-omap2/cpuidle34xx.c +85 −48
  913. arch/arm/mach-omap2/devices.c +52 −64
  914. arch/arm/mach-omap2/display.c +62 −16
  915. arch/arm/mach-omap2/dma.c +8 −17
  916. arch/arm/mach-omap2/dpll3xxx.c +6 −3
  917. arch/arm/mach-omap2/dpll44xx.c +69 −0
  918. arch/arm/mach-omap2/dsp.c +1 −0
  919. arch/arm/mach-omap2/gpio.c +6 −16
  920. arch/arm/mach-omap2/gpmc-onenand.c +1 −0
  921. arch/arm/mach-omap2/hsmmc.c +8 −34
  922. arch/arm/mach-omap2/hwspinlock.c +9 −12
  923. arch/arm/mach-omap2/id.c +55 −141
  924. arch/arm/mach-omap2/include/mach/ctrl_module_pad_core_44xx.h +4 −4
  925. arch/arm/mach-omap2/include/mach/debug-macro.S +36 −45
  926. arch/arm/mach-omap2/include/mach/entry-macro.S +1 −13
  927. arch/arm/mach-omap2/include/mach/memory.h +0 −5
  928. arch/arm/mach-omap2/io.c +104 −54
  929. arch/arm/mach-omap2/io.h +0 −7
  930. arch/arm/mach-omap2/iommu2.c +17 −14
  931. arch/arm/mach-omap2/irq.c +2 −2
  932. arch/arm/mach-omap2/mailbox.c +1 −0
  933. arch/arm/mach-omap2/mcbsp.c +72 −48
  934. arch/arm/mach-omap2/omap-iommu.c +1 −0
  935. arch/arm/mach-omap2/omap-smp.c +5 −2
  936. arch/arm/mach-omap2/omap_hwmod.c +1 −4
  937. arch/arm/mach-omap2/omap_hwmod_2420_data.c +22 −37
  938. arch/arm/mach-omap2/omap_hwmod_2430_data.c +22 −45
  939. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +122 −91
  940. arch/arm/mach-omap2/omap_hwmod_44xx_data.c +23 −83
  941. arch/arm/mach-omap2/omap_l3_noc.c +83 −65
  942. arch/arm/mach-omap2/omap_l3_noc.h +127 −97
  943. arch/arm/mach-omap2/omap_l3_smx.c +44 −47
  944. arch/arm/mach-omap2/omap_l3_smx.h +82 −82
  945. arch/arm/mach-omap2/omap_twl.c +63 −44
  946. arch/arm/mach-omap2/opp.c +1 −1
  947. arch/arm/mach-omap2/pm.c +40 −65
  948. arch/arm/mach-omap2/pm24xx.c +0 −27
  949. arch/arm/mach-omap2/pm34xx.c +38 −34
  950. arch/arm/mach-omap2/powerdomain-common.c +3 −4
  951. arch/arm/mach-omap2/powerdomain.c +95 −29
  952. arch/arm/mach-omap2/powerdomain.h +16 −5
  953. arch/arm/mach-omap2/powerdomain2xxx_3xxx.c +1 −1
  954. arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c +3 −18
  955. arch/arm/mach-omap2/powerdomains2xxx_data.c +30 −18
  956. arch/arm/mach-omap2/powerdomains3xxx_data.c +65 −32
  957. arch/arm/mach-omap2/powerdomains44xx_data.c +19 −17
  958. arch/arm/mach-omap2/prcm.c +7 −13
  959. arch/arm/mach-omap2/prm2xxx_3xxx.c +56 −0
  960. arch/arm/mach-omap2/prm2xxx_3xxx.h +12 −0
  961. arch/arm/mach-omap2/prm44xx.c +71 −0
  962. arch/arm/mach-omap2/prm44xx.h +12 −0
  963. arch/arm/mach-omap2/sdrc.c +4 −9
  964. arch/arm/mach-omap2/serial.c +8 −31
  965. arch/arm/mach-omap2/smartreflex-class3.c +2 −2
  966. arch/arm/mach-omap2/smartreflex.c +20 −10
  967. arch/arm/mach-omap2/sr_device.c +5 −14
  968. arch/arm/mach-omap2/timer.c +172 −12
  969. arch/arm/mach-omap2/twl-common.c +10 −1
  970. arch/arm/mach-omap2/usb-musb.c +7 −57
  971. arch/arm/mach-omap2/usb-tusb6010.c +2 −0
  972. arch/arm/mach-omap2/vc.c +367 −0
  973. arch/arm/mach-omap2/vc.h +65 −23
  974. arch/arm/mach-omap2/vc3xxx_data.c +20 −11
  975. arch/arm/mach-omap2/vc44xx_data.c +29 −15
  976. arch/arm/mach-omap2/voltage.c +207 −882
  977. arch/arm/mach-omap2/voltage.h +69 −81
  978. arch/arm/mach-omap2/voltagedomains2xxx_data.c +32 −0
  979. arch/arm/mach-omap2/voltagedomains3xxx_data.c +44 −39
  980. arch/arm/mach-omap2/voltagedomains44xx_data.c +54 −45
  981. arch/arm/mach-omap2/vp.c +278 −0
  982. arch/arm/mach-omap2/vp.h +59 −74
  983. arch/arm/mach-omap2/vp3xxx_data.c +16 −19
  984. arch/arm/mach-omap2/vp44xx_data.c +18 −29
  985. arch/arm/mach-orion5x/d2net-setup.c +2 −2
  986. arch/arm/mach-orion5x/db88f5281-setup.c +2 −3
  987. arch/arm/mach-orion5x/dns323-setup.c +2 −3
  988. arch/arm/mach-orion5x/edmini_v2-setup.c +1 −1
  989. arch/arm/mach-orion5x/include/mach/debug-macro.S +1 −1
  990. arch/arm/mach-orion5x/include/mach/memory.h +0 −12
  991. arch/arm/mach-orion5x/irq.c +1 −2
  992. arch/arm/mach-orion5x/kurobox_pro-setup.c +3 −4
  993. arch/arm/mach-orion5x/ls-chl-setup.c +1 −1
  994. arch/arm/mach-orion5x/ls_hgl-setup.c +1 −1
  995. arch/arm/mach-orion5x/lsmini-setup.c +1 −1
  996. arch/arm/mach-orion5x/mss2-setup.c +1 −1
  997. arch/arm/mach-orion5x/mv2120-setup.c +2 −3
  998. arch/arm/mach-orion5x/net2big-setup.c +1 −1
  999. arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +2 −3
  1000. arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +2 −3
  1001. arch/arm/mach-orion5x/rd88f5182-setup.c +2 −3
  1002. arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +2 −3
  1003. arch/arm/mach-orion5x/terastation_pro2-setup.c +2 −3
  1004. arch/arm/mach-orion5x/ts209-setup.c +2 −3
  1005. arch/arm/mach-orion5x/ts409-setup.c +2 −3
  1006. arch/arm/mach-orion5x/ts78xx-setup.c +2 −2
  1007. arch/arm/mach-orion5x/wnr854t-setup.c +2 −3
  1008. arch/arm/mach-orion5x/wrt350n-v2-setup.c +2 −3
  1009. arch/arm/mach-picoxcell/Makefile +3 −0
  1010. arch/arm/mach-picoxcell/Makefile.boot +1 −0
  1011. arch/arm/mach-picoxcell/common.c +55 −0
  1012. arch/arm/mach-picoxcell/common.h +18 −0
  1013. arch/arm/mach-picoxcell/include/mach/debug-macro.S +35 −0
  1014. arch/arm/mach-picoxcell/include/mach/entry-macro.S +19 −0
  1015. arch/arm/mach-picoxcell/include/mach/gpio.h +1 −0
  1016. arch/arm/mach-picoxcell/include/mach/hardware.h +5 −11
  1017. arch/arm/mach-picoxcell/include/mach/io.h +22 −0
  1018. arch/arm/mach-picoxcell/include/mach/irqs.h +25 −0
  1019. arch/arm/mach-picoxcell/include/mach/map.h +10 −13
  1020. arch/arm/mach-picoxcell/include/mach/memory.h +1 −0
  1021. arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h +25 −0
  1022. arch/arm/mach-picoxcell/include/mach/system.h +31 −0
  1023. arch/arm/mach-picoxcell/include/mach/timex.h +7 −10
  1024. arch/arm/mach-picoxcell/include/mach/uncompress.h +5 −9
  1025. arch/arm/mach-picoxcell/include/mach/vmalloc.h +14 −0
  1026. arch/arm/mach-picoxcell/io.c +32 −0
  1027. arch/arm/mach-picoxcell/time.c +132 −0
  1028. arch/arm/mach-pnx4008/core.c +1 −1
  1029. arch/arm/mach-pnx4008/gpio.c +1 −2
  1030. arch/arm/mach-pnx4008/include/mach/debug-macro.S +1 −1
  1031. arch/arm/mach-pnx4008/include/mach/gpio-pnx4008.h +1 −1
  1032. arch/arm/mach-pnx4008/include/mach/memory.h +0 −21
  1033. arch/arm/mach-pnx4008/serial.c +1 −2
  1034. arch/arm/mach-prima2/Makefile +2 −0
  1035. arch/arm/mach-prima2/clock.c +2 −2
  1036. arch/arm/mach-prima2/include/mach/debug-macro.S +1 −1
  1037. arch/arm/mach-prima2/include/mach/memory.h +0 −21
  1038. arch/arm/mach-prima2/irq.c +43 −0
  1039. arch/arm/mach-prima2/l2x0.c +9 −37
  1040. arch/arm/mach-prima2/pm.c +150 −0
  1041. arch/arm/mach-prima2/pm.h +29 −0
  1042. arch/arm/mach-prima2/prima2.c +3 −2
  1043. arch/arm/mach-prima2/rtciobrg.c +139 −0
  1044. arch/arm/mach-prima2/sleep.S +64 −0
  1045. arch/arm/mach-prima2/timer.c +36 −2
  1046. arch/arm/mach-pxa/Kconfig +29 −9
  1047. arch/arm/mach-pxa/Makefile +1 −1
  1048. arch/arm/mach-pxa/balloon3.c +6 −6
  1049. arch/arm/mach-pxa/capc7117.c +1 −1
  1050. arch/arm/mach-pxa/cm-x255.c +0 −1
  1051. arch/arm/mach-pxa/cm-x2xx-pci.c +1 −1
  1052. arch/arm/mach-pxa/cm-x2xx.c +3 −3
  1053. arch/arm/mach-pxa/cm-x300.c +7 −8
  1054. arch/arm/mach-pxa/colibri-pxa270.c +3 −2
  1055. arch/arm/mach-pxa/colibri-pxa300.c +1 −1
  1056. arch/arm/mach-pxa/colibri-pxa320.c +1 −1
  1057. arch/arm/mach-pxa/colibri-pxa3xx.c +3 −2
  1058. arch/arm/mach-pxa/corgi.c +1 −0
  1059. arch/arm/mach-pxa/csb726.c +1 −1
  1060. arch/arm/mach-pxa/em-x270.c +2 −2
  1061. arch/arm/mach-pxa/eseries.c +7 −7
  1062. arch/arm/mach-pxa/eseries.h +0 −1
  1063. arch/arm/mach-pxa/ezx.c +6 −6
  1064. arch/arm/mach-pxa/generic.c +1 −1
  1065. arch/arm/mach-pxa/gumstix.c +1 −1
  1066. arch/arm/mach-pxa/h5000.c +1 −1
  1067. arch/arm/mach-pxa/himalaya.c +1 −1
  1068. arch/arm/mach-pxa/hx4700.c +1 −1
  1069. arch/arm/mach-pxa/icontrol.c +1 −1
  1070. arch/arm/mach-pxa/include/mach/addr-map.h +4 −4
  1071. arch/arm/mach-pxa/include/mach/balloon3.h +1 −1
  1072. arch/arm/mach-pxa/include/mach/debug-macro.S +1 −1
  1073. arch/arm/mach-pxa/include/mach/gpio-pxa.h +133 −0
  1074. arch/arm/mach-pxa/include/mach/gpio.h +2 −108
  1075. arch/arm/mach-pxa/include/mach/hardware.h +5 −4
  1076. arch/arm/mach-pxa/include/mach/littleton.h +1 −1
  1077. arch/arm/mach-pxa/include/mach/lpd270.h +2 −2
  1078. arch/arm/mach-pxa/include/mach/memory.h +0 −20
  1079. arch/arm/mach-pxa/include/mach/mtd-xip.h +0 −1
  1080. arch/arm/mach-pxa/include/mach/palm27x.h +1 −1
  1081. arch/arm/mach-pxa/include/mach/palmtx.h +3 −3
  1082. arch/arm/mach-pxa/include/mach/pxa27x.h +2 −0
  1083. arch/arm/mach-pxa/include/mach/pxa95x.h +7 −0
  1084. arch/arm/mach-pxa/include/mach/pxafb.h +13 −0
  1085. arch/arm/mach-pxa/include/mach/smemc.h +1 −1
  1086. arch/arm/mach-pxa/include/mach/zeus.h +2 −2
  1087. arch/arm/mach-pxa/include/mach/zylonite.h +2 −2
  1088. arch/arm/mach-pxa/irq.c +3 −4
  1089. arch/arm/mach-pxa/littleton.c +4 −3
  1090. arch/arm/mach-pxa/lpd270.c +3 −4
  1091. arch/arm/mach-pxa/lubbock.c +1 −1
  1092. arch/arm/mach-pxa/magician.c +1 −1
  1093. arch/arm/mach-pxa/mainstone.c +2 −3
  1094. arch/arm/mach-pxa/mfp-pxa2xx.c +2 −2
  1095. arch/arm/mach-pxa/mioa701.c +1 −1
  1096. arch/arm/mach-pxa/mp900.c +1 −1
  1097. arch/arm/mach-pxa/mxm8x10.c +5 −4
  1098. arch/arm/mach-pxa/palmld.c +1 −1
  1099. arch/arm/mach-pxa/palmt5.c +1 −1
  1100. arch/arm/mach-pxa/palmtc.c +1 −1
  1101. arch/arm/mach-pxa/palmte2.c +1 −1
  1102. arch/arm/mach-pxa/palmtreo.c +10 −2
  1103. arch/arm/mach-pxa/palmtx.c +5 −5
  1104. arch/arm/mach-pxa/palmz72.c +1 −1
  1105. arch/arm/mach-pxa/pcm027.c +1 −1
  1106. arch/arm/mach-pxa/pcm990-baseboard.c +3 −4
  1107. arch/arm/mach-pxa/poodle.c +1 −0
  1108. arch/arm/mach-pxa/pxa25x.c +3 −2
  1109. arch/arm/mach-pxa/pxa27x.c +3 −2
  1110. arch/arm/mach-pxa/pxa3xx-ulpi.c +2 −0
  1111. arch/arm/mach-pxa/pxa3xx.c +2 −3
  1112. arch/arm/mach-pxa/pxa95x.c +1 −2
  1113. arch/arm/mach-pxa/raumfeld.c +6 −5
  1114. arch/arm/mach-pxa/saar.c +1 −1
  1115. arch/arm/mach-pxa/saarb.c +4 −3
  1116. arch/arm/mach-pxa/spitz.c +1 −0
  1117. arch/arm/mach-pxa/stargate2.c +2 −2
  1118. arch/arm/mach-pxa/tavorevb.c +1 −1
  1119. arch/arm/mach-pxa/tavorevb3.c +1 −1
  1120. arch/arm/mach-pxa/trizeps4.c +3 −2
  1121. arch/arm/mach-pxa/viper.c +1 −1
  1122. arch/arm/mach-pxa/vpac270.c +1 −1
  1123. arch/arm/mach-pxa/xcep.c +1 −1
  1124. arch/arm/mach-pxa/z2.c +3 −2
  1125. arch/arm/mach-pxa/zeus.c +5 −5
  1126. arch/arm/mach-pxa/zylonite.c +4 −3
  1127. arch/arm/mach-realview/hotplug.c +1 −1
  1128. arch/arm/mach-realview/include/mach/debug-macro.S +3 −16
  1129. arch/arm/mach-realview/include/mach/gpio.h +1 −6
  1130. arch/arm/mach-realview/realview_eb.c +1 −1
  1131. arch/arm/mach-realview/realview_pb1176.c +1 −1
  1132. arch/arm/mach-realview/realview_pb11mp.c +1 −1
  1133. arch/arm/mach-realview/realview_pba8.c +1 −1
  1134. arch/arm/mach-realview/realview_pbx.c +1 −1
  1135. arch/arm/mach-rpc/include/mach/debug-macro.S +1 −1
  1136. arch/arm/mach-rpc/riscpc.c +1 −1
  1137. arch/arm/mach-s3c2400/include/mach/memory.h +0 −20
  1138. arch/arm/mach-s3c2410/Kconfig +0 −7
  1139. arch/arm/mach-s3c2410/Makefile +0 −1
  1140. arch/arm/mach-s3c2410/dma.c +0 −14
  1141. arch/arm/mach-s3c2410/gpio.c +0 −72
  1142. arch/arm/mach-s3c2410/include/mach/debug-macro.S +1 −1
  1143. arch/arm/mach-s3c2410/include/mach/dma.h +13 −7
  1144. arch/arm/mach-s3c2410/include/mach/fb.h +1 −74
  1145. arch/arm/mach-s3c2410/include/mach/gpio-fns.h +1 −98
  1146. arch/arm/mach-s3c2410/include/mach/gpio-nrs.h +1 −1
  1147. arch/arm/mach-s3c2410/include/mach/gpio-track.h +3 −3
  1148. arch/arm/mach-s3c2410/include/mach/gpio.h +0 −6
  1149. arch/arm/mach-s3c2410/include/mach/h1940-latch.h +1 −1
  1150. arch/arm/mach-s3c2410/include/mach/irqs.h +2 −2
  1151. arch/arm/mach-s3c2410/include/mach/map.h +47 −6
  1152. arch/arm/mach-s3c2410/include/mach/memory.h +0 −16
  1153. arch/arm/mach-s3c2410/include/mach/pm-core.h +1 −1
  1154. arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h +2 −0
  1155. arch/arm/mach-s3c2410/mach-amlm5900.c +1 −1
  1156. arch/arm/mach-s3c2410/mach-bast.c +1 −1
  1157. arch/arm/mach-s3c2410/mach-h1940.c +5 −4
  1158. arch/arm/mach-s3c2410/mach-n30.c +2 −2
  1159. arch/arm/mach-s3c2410/mach-otom.c +1 −1
  1160. arch/arm/mach-s3c2410/mach-qt2410.c +2 −1
  1161. arch/arm/mach-s3c2410/mach-smdk2410.c +1 −1
  1162. arch/arm/mach-s3c2410/mach-tct_hammer.c +1 −1
  1163. arch/arm/mach-s3c2410/mach-vr1000.c +1 −1
  1164. arch/arm/mach-s3c2410/s3c2410.c +2 −2
  1165. arch/arm/mach-s3c2412/Kconfig +0 −1
  1166. arch/arm/mach-s3c2412/Makefile +0 −1
  1167. arch/arm/mach-s3c2412/dma.c +2 −20
  1168. arch/arm/mach-s3c2412/gpio.c +1 −1
  1169. arch/arm/mach-s3c2412/mach-jive.c +1 −1
  1170. arch/arm/mach-s3c2412/mach-smdk2413.c +3 −3
  1171. arch/arm/mach-s3c2412/mach-vstms.c +1 −1
  1172. arch/arm/mach-s3c2416/Kconfig +0 −1
  1173. arch/arm/mach-s3c2416/clock.c +40 −10
  1174. arch/arm/mach-s3c2416/mach-smdk2416.c +1 −1
  1175. arch/arm/mach-s3c2416/s3c2416.c +5 −2
  1176. arch/arm/mach-s3c2416/setup-sdhci.c +0 −37
  1177. arch/arm/mach-s3c2440/Kconfig +0 −4
  1178. arch/arm/mach-s3c2440/dma.c +0 −17
  1179. arch/arm/mach-s3c2440/mach-anubis.c +1 −1
  1180. arch/arm/mach-s3c2440/mach-at2440evb.c +1 −1
  1181. arch/arm/mach-s3c2440/mach-gta02.c +1 −1
  1182. arch/arm/mach-s3c2440/mach-mini2440.c +1 −1
  1183. arch/arm/mach-s3c2440/mach-nexcoder.c +1 −1
  1184. arch/arm/mach-s3c2440/mach-osiris.c +1 −1
  1185. arch/arm/mach-s3c2440/mach-rx1950.c +2 −1
  1186. arch/arm/mach-s3c2440/mach-rx3715.c +1 −1
  1187. arch/arm/mach-s3c2440/mach-smdk2440.c +1 −1
  1188. arch/arm/mach-s3c2440/s3c2440.c +2 −2
  1189. arch/arm/mach-s3c2440/s3c2442.c +2 −2
  1190. arch/arm/mach-s3c2443/Kconfig +0 −1
  1191. arch/arm/mach-s3c2443/clock.c +7 −153
  1192. arch/arm/mach-s3c2443/dma.c +0 −27
  1193. arch/arm/mach-s3c2443/mach-smdk2443.c +1 −1
  1194. arch/arm/mach-s3c2443/s3c2443.c +5 −2
  1195. arch/arm/mach-s3c64xx/Kconfig +1 −0
  1196. arch/arm/mach-s3c64xx/Makefile +1 −4
  1197. arch/arm/mach-s3c64xx/clock.c +10 −3
  1198. arch/arm/mach-s3c64xx/cpu.c +11 −17
  1199. arch/arm/mach-s3c64xx/dev-audio.c +1 −0
  1200. arch/arm/mach-s3c64xx/dev-onenand1.c +0 −53
  1201. arch/arm/mach-s3c64xx/dev-uart.c +8 −52
  1202. arch/arm/mach-s3c64xx/dma.c +6 −6
  1203. arch/arm/mach-s3c64xx/gpiolib.c +0 −290
  1204. arch/arm/mach-s3c64xx/include/mach/clkdev.h +0 −7
  1205. arch/arm/mach-s3c64xx/include/mach/crag6410.h +23 −0
  1206. arch/arm/mach-s3c64xx/include/mach/debug-macro.S +1 −1
  1207. arch/arm/mach-s3c64xx/include/mach/dma.h +6 −2
  1208. arch/arm/mach-s3c64xx/include/mach/gpio.h +0 −7
  1209. arch/arm/mach-s3c64xx/include/mach/irqs.h +0 −30
  1210. arch/arm/mach-s3c64xx/include/mach/map.h +1 −8
  1211. arch/arm/mach-s3c64xx/include/mach/memory.h +0 −20
  1212. arch/arm/mach-s3c64xx/include/mach/pll.h +0 −45
  1213. arch/arm/mach-s3c64xx/include/mach/pm-core.h +1 −1
  1214. arch/arm/mach-s3c64xx/include/mach/pwm-clock.h +0 −56
  1215. arch/arm/mach-s3c64xx/include/mach/regs-sys.h +3 −0
  1216. arch/arm/mach-s3c64xx/irq.c +0 −25
  1217. arch/arm/mach-s3c64xx/mach-anw6410.c +2 −2
  1218. arch/arm/mach-s3c64xx/mach-crag6410-module.c +182 −0
  1219. arch/arm/mach-s3c64xx/mach-crag6410.c +28 −85
  1220. arch/arm/mach-s3c64xx/mach-hmt.c +2 −2
  1221. arch/arm/mach-s3c64xx/mach-mini6410.c +3 −9
  1222. arch/arm/mach-s3c64xx/mach-ncp.c +2 −2
  1223. arch/arm/mach-s3c64xx/mach-real6410.c +3 −9
  1224. arch/arm/mach-s3c64xx/mach-smartq5.c +2 −2
  1225. arch/arm/mach-s3c64xx/mach-smartq7.c +2 −2
  1226. arch/arm/mach-s3c64xx/mach-smdk6400.c +2 −2
  1227. arch/arm/mach-s3c64xx/mach-smdk6410.c +3 −9
  1228. arch/arm/mach-s3c64xx/pm.c +4 −0
  1229. arch/arm/mach-s3c64xx/s3c6400.c +1 −1
  1230. arch/arm/mach-s3c64xx/s3c6410.c +2 −2
  1231. arch/arm/mach-s3c64xx/setup-sdhci.c +0 −48
  1232. arch/arm/mach-s5p64x0/Kconfig +16 −2
  1233. arch/arm/mach-s5p64x0/Makefile +3 −1
  1234. arch/arm/mach-s5p64x0/clock-s5p6440.c +9 −1
  1235. arch/arm/mach-s5p64x0/clock-s5p6450.c +9 −1
  1236. arch/arm/mach-s5p64x0/cpu.c +6 −0
  1237. arch/arm/mach-s5p64x0/dev-spi.c +3 −5
  1238. arch/arm/mach-s5p64x0/dma.c +183 −93
  1239. arch/arm/mach-s5p64x0/gpiolib.c +2 −5
  1240. arch/arm/mach-s5p64x0/include/mach/clkdev.h +0 −7
  1241. arch/arm/mach-s5p64x0/include/mach/debug-macro.S +1 −1
  1242. arch/arm/mach-s5p64x0/include/mach/dma.h +2 −2
  1243. arch/arm/mach-s5p64x0/include/mach/gpio.h +0 −7
  1244. arch/arm/mach-s5p64x0/include/mach/irqs.h +4 −0
  1245. arch/arm/mach-s5p64x0/include/mach/map.h +4 −0
  1246. arch/arm/mach-s5p64x0/include/mach/memory.h +0 −19
  1247. arch/arm/mach-s5p64x0/include/mach/pm-core.h +117 −0
  1248. arch/arm/mach-s5p64x0/include/mach/pwm-clock.h +0 −68
  1249. arch/arm/mach-s5p64x0/include/mach/regs-clock.h +33 −0
  1250. arch/arm/mach-s5p64x0/include/mach/regs-gpio.h +21 −0
  1251. arch/arm/mach-s5p64x0/irq-eint.c +4 −1
  1252. arch/arm/mach-s5p64x0/irq-pm.c +92 −0
  1253. arch/arm/mach-s5p64x0/mach-smdk6440.c +76 −8
  1254. arch/arm/mach-s5p64x0/mach-smdk6450.c +77 −8
  1255. arch/arm/mach-s5p64x0/pm.c +204 −0
  1256. arch/arm/mach-s5p64x0/setup-fb-24bpp.c +29 −0
  1257. arch/arm/mach-s5pc100/Kconfig +1 −1
  1258. arch/arm/mach-s5pc100/clock.c +11 −4
  1259. arch/arm/mach-s5pc100/dma.c +212 −112
  1260. arch/arm/mach-s5pc100/include/mach/clkdev.h +0 −7
  1261. arch/arm/mach-s5pc100/include/mach/debug-macro.S +1 −1
  1262. arch/arm/mach-s5pc100/include/mach/dma.h +2 −2
  1263. arch/arm/mach-s5pc100/include/mach/gpio.h +0 −7
  1264. arch/arm/mach-s5pc100/include/mach/memory.h +0 −18
  1265. arch/arm/mach-s5pc100/include/mach/pwm-clock.h +0 −56
  1266. arch/arm/mach-s5pc100/mach-smdkc100.c +2 −8
  1267. arch/arm/mach-s5pc100/setup-sdhci.c +0 −42
  1268. arch/arm/mach-s5pv210/Kconfig +5 −7
  1269. arch/arm/mach-s5pv210/Makefile +1 −1
  1270. arch/arm/mach-s5pv210/clock.c +136 −15
  1271. arch/arm/mach-s5pv210/cpu.c +6 −0
  1272. arch/arm/mach-s5pv210/dma.c +205 −112
  1273. arch/arm/mach-s5pv210/include/mach/clkdev.h +0 −7
  1274. arch/arm/mach-s5pv210/include/mach/debug-macro.S +1 −1
  1275. arch/arm/mach-s5pv210/include/mach/dma.h +2 −2
  1276. arch/arm/mach-s5pv210/include/mach/gpio.h +0 −7
  1277. arch/arm/mach-s5pv210/include/mach/irqs.h +2 −2
  1278. arch/arm/mach-s5pv210/include/mach/map.h +13 −0
  1279. arch/arm/mach-s5pv210/include/mach/memory.h +0 −1
  1280. arch/arm/mach-s5pv210/include/mach/pm-core.h +1 −1
  1281. arch/arm/mach-s5pv210/include/mach/pwm-clock.h +0 −70
  1282. arch/arm/mach-s5pv210/include/mach/regs-clock.h +2 −1
  1283. arch/arm/mach-s5pv210/mach-aquila.c +1 −1
  1284. arch/arm/mach-s5pv210/mach-goni.c +58 −1
  1285. arch/arm/mach-s5pv210/mach-smdkc110.c +1 −1
  1286. arch/arm/mach-s5pv210/mach-smdkv210.c +2 −8
  1287. arch/arm/mach-s5pv210/mach-torbreck.c +1 −1
  1288. arch/arm/mach-s5pv210/setup-sdhci.c +0 −41
  1289. arch/arm/mach-s5pv210/sleep.S +0 −52
  1290. arch/arm/mach-sa1100/Makefile +1 −1
  1291. arch/arm/mach-sa1100/assabet.c +1 −1
  1292. arch/arm/mach-sa1100/badge4.c +1 −1
  1293. arch/arm/mach-sa1100/collie.c +1 −0
  1294. arch/arm/mach-sa1100/generic.c +1 −1
  1295. arch/arm/mach-sa1100/h3100.c +1 −1
  1296. arch/arm/mach-sa1100/h3600.c +1 −1
  1297. arch/arm/mach-sa1100/hackkit.c +1 −1
  1298. arch/arm/mach-sa1100/include/mach/debug-macro.S +1 −1
  1299. arch/arm/mach-sa1100/include/mach/gpio.h +2 −2
  1300. arch/arm/mach-sa1100/jornada720.c +2 −1
  1301. arch/arm/mach-sa1100/lart.c +1 −1
  1302. arch/arm/mach-sa1100/nanoengine.c +1 −1
  1303. arch/arm/mach-sa1100/shannon.c +1 −1
  1304. arch/arm/mach-sa1100/simpad.c +1 −1
  1305. arch/arm/mach-shark/core.c +1 −1
  1306. arch/arm/mach-shark/include/mach/debug-macro.S +1 −1
  1307. arch/arm/mach-shark/leds.c +3 −3
  1308. arch/arm/mach-shmobile/Kconfig +8 −0
  1309. arch/arm/mach-shmobile/Makefile +1 −0
  1310. arch/arm/mach-shmobile/board-ag5evm.c +30 −15
  1311. arch/arm/mach-shmobile/board-ap4evb.c +12 −3
  1312. arch/arm/mach-shmobile/board-g3evm.c +3 −0
  1313. arch/arm/mach-shmobile/board-g4evm.c +3 −0
  1314. arch/arm/mach-shmobile/board-kota2.c +447 −0
  1315. arch/arm/mach-shmobile/board-mackerel.c +27 −6
  1316. arch/arm/mach-shmobile/clock.c +1 −0
  1317. arch/arm/mach-shmobile/entry-intc.S +0 −3
  1318. arch/arm/mach-shmobile/include/mach/common.h +2 −2
  1319. arch/arm/mach-shmobile/include/mach/entry-macro.S +0 −3
  1320. arch/arm/mach-shmobile/include/mach/gpio.h +4 −20
  1321. arch/arm/mach-shmobile/include/mach/intc.h +246 −0
  1322. arch/arm/mach-shmobile/include/mach/memory.h +0 −3
  1323. arch/arm/mach-shmobile/include/mach/sh7372.h +13 −0
  1324. arch/arm/mach-shmobile/include/mach/sh73a0.h +17 −0
  1325. arch/arm/mach-shmobile/intc-sh7367.c +6 −34
  1326. arch/arm/mach-shmobile/intc-sh7372.c +59 −65
  1327. arch/arm/mach-shmobile/intc-sh7377.c +6 −61
  1328. arch/arm/mach-shmobile/intc-sh73a0.c +187 −0
  1329. arch/arm/mach-shmobile/pfc-sh73a0.c +105 −15
  1330. arch/arm/mach-shmobile/platsmp.c +6 −4
  1331. arch/arm/mach-shmobile/pm-sh7372.c +274 −68
  1332. arch/arm/mach-shmobile/pm_runtime.c +1 −0
  1333. arch/arm/mach-shmobile/setup-sh7372.c +25 −0
  1334. arch/arm/mach-shmobile/sleep-sh7372.S +28 −193
  1335. arch/arm/mach-shmobile/smp-sh73a0.c +5 −1
  1336. arch/arm/mach-spear3xx/include/mach/memory.h +0 −19
  1337. arch/arm/mach-spear3xx/spear300_evb.c +1 −1
  1338. arch/arm/mach-spear3xx/spear310_evb.c +1 −1
  1339. arch/arm/mach-spear3xx/spear320_evb.c +1 −1
  1340. arch/arm/mach-spear6xx/include/mach/memory.h +0 −19
  1341. arch/arm/mach-spear6xx/spear600_evb.c +1 −1
  1342. arch/arm/mach-tcc8k/board-tcc8000-sdk.c +1 −1
  1343. arch/arm/mach-tegra/Kconfig +6 −0
  1344. arch/arm/mach-tegra/Makefile +1 −0
  1345. arch/arm/mach-tegra/Makefile.boot +1 −0
  1346. arch/arm/mach-tegra/board-dt.c +24 −7
  1347. arch/arm/mach-tegra/board-harmony-pcie.c +4 −6
  1348. arch/arm/mach-tegra/board-harmony-pinmux.c +12 −0
  1349. arch/arm/mach-tegra/board-harmony-power.c +12 −1
  1350. arch/arm/mach-tegra/board-harmony.c +5 −2
  1351. arch/arm/mach-tegra/board-harmony.h +3 −0
  1352. arch/arm/mach-tegra/board-paz00-pinmux.c +15 −0
  1353. arch/arm/mach-tegra/board-paz00.c +62 −4
  1354. arch/arm/mach-tegra/board-paz00.h +10 −0
  1355. arch/arm/mach-tegra/board-seaboard-pinmux.c +72 −7
  1356. arch/arm/mach-tegra/board-seaboard.c +83 −4
  1357. arch/arm/mach-tegra/board-seaboard.h +10 −4
  1358. arch/arm/mach-tegra/board-trimslice-pinmux.c +11 −2
  1359. arch/arm/mach-tegra/board-trimslice.c +3 −3
  1360. arch/arm/mach-tegra/board-trimslice.h +2 −0
  1361. arch/arm/mach-tegra/common.c +1 −1
  1362. arch/arm/mach-tegra/cpu-tegra.c +3 −3
  1363. arch/arm/mach-tegra/devices.c +86 −0
  1364. arch/arm/mach-tegra/devices.h +2 −0
  1365. arch/arm/mach-tegra/dma.c +9 −5
  1366. arch/arm/mach-tegra/include/mach/debug-macro.S +1 −1
  1367. arch/arm/mach-tegra/include/mach/gpio-tegra.h +18 −7
  1368. arch/arm/mach-tegra/include/mach/gpio.h +1 −60
  1369. arch/arm/mach-tegra/include/mach/io.h +12 −6
  1370. arch/arm/mach-tegra/include/mach/pinmux.h +4 −0
  1371. arch/arm/mach-tegra/include/mach/powergate.h +0 −1
  1372. arch/arm/mach-tegra/io.c +4 −4
  1373. arch/arm/mach-tegra/pcie.c +6 −3
  1374. arch/arm/mach-tegra/pinmux-t2-tables.c +13 −63
  1375. arch/arm/mach-tegra/pinmux.c +132 −31
  1376. arch/arm/mach-tegra/powergate.c +2 −3
  1377. arch/arm/mach-tegra/tegra2_clocks.c +25 −25
  1378. arch/arm/mach-tegra/timer.c +3 −3
  1379. arch/arm/mach-tegra/usb_phy.c +1 −0
  1380. arch/arm/mach-u300/Kconfig +3 −46
  1381. arch/arm/mach-u300/Makefile +1 −1
  1382. arch/arm/mach-u300/Makefile.boot +3 −14
  1383. arch/arm/mach-u300/core.c +113 −84
  1384. arch/arm/mach-u300/i2c.c +1 −50
  1385. arch/arm/mach-u300/include/mach/debug-macro.S +1 −1
  1386. arch/arm/mach-u300/include/mach/gpio-u300.h +150 −0
  1387. arch/arm/mach-u300/include/mach/gpio.h +1 −294
  1388. arch/arm/mach-u300/include/mach/irqs.h +10 −9
  1389. arch/arm/mach-u300/include/mach/memory.h +2 −25
  1390. arch/arm/mach-u300/include/mach/syscon.h +0 −136
  1391. arch/arm/mach-u300/mmc.c +1 −17
  1392. arch/arm/mach-u300/padmux.c +0 −367
  1393. arch/arm/mach-u300/padmux.h +0 −39
  1394. arch/arm/mach-u300/spi.c +0 −20
  1395. arch/arm/mach-u300/u300.c +1 −17
  1396. arch/arm/mach-ux500/Makefile +2 −1
  1397. arch/arm/mach-ux500/board-mop500-pins.c +24 −12
  1398. arch/arm/mach-ux500/board-mop500-sdi.c +35 −17
  1399. arch/arm/mach-ux500/board-mop500-u8500uib.c +1 −2
  1400. arch/arm/mach-ux500/board-mop500.c +65 −20
  1401. arch/arm/mach-ux500/board-mop500.h +3 −0
  1402. arch/arm/mach-ux500/board-u5500-sdi.c +1 −1
  1403. arch/arm/mach-ux500/board-u5500.c +30 −3
  1404. arch/arm/mach-ux500/cache-l2x0.c +95 −0
  1405. arch/arm/mach-ux500/cpu-db5500.c +1 −1
  1406. arch/arm/mach-ux500/cpu-db8500.c +1 −1
  1407. arch/arm/mach-ux500/cpu.c +2 −98
  1408. arch/arm/mach-ux500/devices-common.c +1 −1
  1409. arch/arm/mach-ux500/hotplug.c +1 −1
  1410. arch/arm/mach-ux500/include/mach/db5500-regs.h +2 −0
  1411. arch/arm/mach-ux500/include/mach/db8500-regs.h +3 −0
  1412. arch/arm/mach-ux500/include/mach/debug-macro.S +1 −1
  1413. arch/arm/mach-ux500/include/mach/gpio.h +0 −2
  1414. arch/arm/mach-ux500/include/mach/memory.h +0 −18
  1415. arch/arm/mach-ux500/include/mach/uncompress.h +2 −8
  1416. arch/arm/mach-ux500/pins-db8500.h +73 −69
  1417. arch/arm/mach-ux500/platsmp.c +1 −1
  1418. arch/arm/mach-ux500/timer.c +68 −0
  1419. arch/arm/mach-versatile/include/mach/debug-macro.S +1 −1
  1420. arch/arm/mach-versatile/include/mach/gpio.h +1 −6
  1421. arch/arm/mach-versatile/include/mach/memory.h +0 −28
  1422. arch/arm/mach-versatile/versatile_ab.c +1 −1
  1423. arch/arm/mach-versatile/versatile_pb.c +1 −1
  1424. arch/arm/mach-vexpress/hotplug.c +1 −1
  1425. arch/arm/mach-vexpress/include/mach/debug-macro.S +1 −1
  1426. arch/arm/mach-vexpress/include/mach/gpio.h +1 −0
  1427. arch/arm/mach-vexpress/v2m.c +1 −1
  1428. arch/arm/mach-vt8500/bv07.c +1 −1
  1429. arch/arm/mach-vt8500/include/mach/debug-macro.S +1 −1
  1430. arch/arm/mach-vt8500/include/mach/gpio.h +1 −6
  1431. arch/arm/mach-vt8500/wm8505_7in.c +1 −1
  1432. arch/arm/mach-w90x900/include/mach/gpio.h +1 −5
  1433. arch/arm/mach-w90x900/include/mach/memory.h +0 −23
  1434. arch/arm/mach-w90x900/mach-nuc910evb.c +0 −1
  1435. arch/arm/mach-w90x900/mach-nuc950evb.c +0 −1
  1436. arch/arm/mach-w90x900/mach-nuc960evb.c +0 −1
  1437. arch/arm/mach-zynq/include/mach/debug-macro.S +1 −1
  1438. arch/arm/mach-zynq/include/mach/memory.h +0 −22
  1439. arch/arm/mm/Kconfig +2 −2
  1440. arch/arm/mm/cache-l2x0.c +23 −23
  1441. arch/arm/mm/context.c +7 −7
  1442. arch/arm/mm/copypage-v4mc.c +3 −3
  1443. arch/arm/mm/copypage-v6.c +5 −5
  1444. arch/arm/mm/copypage-xscale.c +3 −3
  1445. arch/arm/mm/dma-mapping.c +33 −11
  1446. arch/arm/mm/fault-armv.c +0 −1
  1447. arch/arm/mm/init.c +1 −9
  1448. arch/arm/mm/mmu.c +8 −0
  1449. arch/arm/mm/proc-arm920.S +8 −13
  1450. arch/arm/mm/proc-arm926.S +8 −13
  1451. arch/arm/mm/proc-sa1100.S +10 −15
  1452. arch/arm/mm/proc-v6.S +19 −25
  1453. arch/arm/mm/proc-v7.S +22 −28
  1454. arch/arm/mm/proc-xsc3.S +11 −17
  1455. arch/arm/mm/proc-xscale.S +10 −15
  1456. arch/arm/plat-iop/gpio.c +1 −0
  1457. arch/arm/plat-iop/time.c +1 −0
  1458. arch/arm/plat-mxc/Kconfig +17 −33
  1459. arch/arm/plat-mxc/Makefile +1 −1
  1460. arch/arm/plat-mxc/audmux-v2.c +4 −14
  1461. arch/arm/plat-mxc/avic.c +69 −23
  1462. arch/arm/plat-mxc/cpu.c +9 −0
  1463. arch/arm/plat-mxc/devices.c +0 −67
  1464. arch/arm/plat-mxc/devices/Kconfig +8 −1
  1465. arch/arm/plat-mxc/devices/Makefile +2 −0
  1466. arch/arm/plat-mxc/devices/platform-ahci-imx.c +156 −0
  1467. arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c +5 −0
  1468. arch/arm/plat-mxc/devices/platform-imx-i2c.c +6 −0
  1469. arch/arm/plat-mxc/devices/platform-mxc-ehci.c +9 −0
  1470. arch/arm/plat-mxc/devices/platform-pata_imx.c +59 −0
  1471. arch/arm/plat-mxc/gic.c +41 −0
  1472. arch/arm/plat-mxc/include/mach/common.h +62 −1
  1473. arch/arm/plat-mxc/include/mach/debug-macro.S +9 −33
  1474. arch/arm/plat-mxc/include/mach/devices-common.h +32 −2
  1475. arch/arm/plat-mxc/include/mach/entry-macro.S +4 −57
  1476. arch/arm/plat-mxc/include/mach/gpio.h +1 −39
  1477. arch/arm/plat-mxc/include/mach/hardware.h +18 −1
  1478. arch/arm/plat-mxc/include/mach/i2c.h +0 −4
  1479. arch/arm/plat-mxc/include/mach/io.h +6 −16
  1480. arch/arm/plat-mxc/include/mach/iomux-mx3.h +1 −0
  1481. arch/arm/plat-mxc/include/mach/iomux-mx51.h +758 −1512
  1482. arch/arm/plat-mxc/include/mach/iomux-mx53.h +1184 −2346
  1483. arch/arm/plat-mxc/include/mach/iomux-v3.h +6 −5
  1484. arch/arm/plat-mxc/include/mach/irqs.h +8 −2
  1485. arch/arm/plat-mxc/include/mach/memory.h +0 −58
  1486. arch/arm/plat-mxc/include/mach/mx25.h +5 −0
  1487. arch/arm/plat-mxc/include/mach/mx27.h +0 −14
  1488. arch/arm/plat-mxc/include/mach/mx31.h +0 −14
  1489. arch/arm/plat-mxc/include/mach/mx35.h +1 −1
  1490. arch/arm/plat-mxc/include/mach/mx3x.h +2 −16
  1491. arch/arm/plat-mxc/include/mach/mx51.h +86 −97
  1492. arch/arm/plat-mxc/include/mach/mx53.h +1 −0
  1493. arch/arm/plat-mxc/include/mach/mx6q.h +33 −0
  1494. arch/arm/plat-mxc/include/mach/mxc.h +0 −7
  1495. arch/arm/plat-mxc/include/mach/system.h +3 −32
  1496. arch/arm/plat-mxc/irq-common.c +11 −10
  1497. arch/arm/plat-mxc/irq-common.h +1 −2
  1498. arch/arm/plat-mxc/pwm.c +1 −1
  1499. arch/arm/plat-mxc/system.c +3 −0
  1500. arch/arm/plat-mxc/tzic.c +31 −2
  1501. arch/arm/plat-nomadik/Kconfig +7 −1
  1502. arch/arm/plat-nomadik/include/plat/gpio-nomadik.h +6 −14
  1503. arch/arm/plat-nomadik/include/plat/mtu.h +2 −45
  1504. arch/arm/plat-nomadik/include/plat/pincfg.h +0 −5
  1505. arch/arm/plat-nomadik/timer.c +107 −31
  1506. arch/arm/plat-omap/Kconfig +1 −12
  1507. arch/arm/plat-omap/Makefile +0 −2
  1508. arch/arm/plat-omap/clock.c +1 −0
  1509. arch/arm/plat-omap/debug-devices.c +1 −2
  1510. arch/arm/plat-omap/debug-leds.c +1 −2
  1511. arch/arm/plat-omap/devices.c +1 −84
  1512. arch/arm/plat-omap/dmtimer.c +412 −302
  1513. arch/arm/plat-omap/i2c.c +32 −13
  1514. arch/arm/plat-omap/include/plat/clock.h +0 −2
  1515. arch/arm/plat-omap/include/plat/common.h +23 −7
  1516. arch/arm/plat-omap/include/plat/cpu.h +27 −98
  1517. arch/arm/plat-omap/include/plat/dmtimer.h +160 −73
  1518. arch/arm/plat-omap/include/plat/gpio.h +0 −20
  1519. arch/arm/plat-omap/include/plat/io.h +32 −5
  1520. arch/arm/plat-omap/include/plat/iommu.h +35 −43
  1521. arch/arm/plat-omap/include/plat/iommu2.h +2 −2
  1522. arch/arm/plat-omap/include/plat/iopgtable.h +19 −1
  1523. arch/arm/plat-omap/include/plat/iovmm.h +15 −15
  1524. arch/arm/plat-omap/include/plat/mcbsp.h +65 −143
  1525. arch/arm/plat-omap/include/plat/memory.h +0 −102
  1526. arch/arm/plat-omap/include/plat/mmc.h +18 −1
  1527. arch/arm/plat-omap/include/plat/omap-alsa.h +0 −123
  1528. arch/arm/plat-omap/include/plat/omap-pm.h +2 −2
  1529. arch/arm/plat-omap/include/plat/omap_device.h +17 −16
  1530. arch/arm/plat-omap/include/plat/omap_hwmod.h +1 −4
  1531. arch/arm/plat-omap/include/plat/serial.h +3 −3
  1532. arch/arm/plat-omap/include/plat/uncompress.h +7 −1
  1533. arch/arm/plat-omap/include/plat/voltage.h +20 −0
  1534. arch/arm/plat-omap/io.c +18 −0
  1535. arch/arm/plat-omap/mailbox.c +1 −0
  1536. arch/arm/plat-omap/mcbsp.c +164 −221
  1537. arch/arm/plat-omap/omap-pm-noop.c +17 −7
  1538. arch/arm/plat-omap/omap_device.c +338 −115
  1539. arch/arm/plat-omap/sram.c +20 −65
  1540. arch/arm/plat-orion/include/plat/gpio.h +1 −9
  1541. arch/arm/plat-pxa/Makefile +0 −1
  1542. arch/arm/plat-pxa/include/plat/gpio-pxa.h +44 −0
  1543. arch/arm/plat-pxa/include/plat/gpio.h +3 −37
  1544. arch/arm/plat-pxa/include/plat/mfp.h +1 −1
  1545. arch/arm/plat-pxa/include/plat/pxa3xx_nand.h +18 −2
  1546. arch/arm/plat-pxa/mfp.c +2 −2
  1547. arch/arm/plat-s3c24xx/Kconfig +0 −1
  1548. arch/arm/plat-s3c24xx/Makefile +1 −3
  1549. arch/arm/plat-s3c24xx/cpu.c +4 −5
  1550. arch/arm/plat-s3c24xx/dev-uart.c +100 −0
  1551. arch/arm/plat-s3c24xx/devs.c +0 −528
  1552. arch/arm/plat-s3c24xx/dma.c +5 −5
  1553. arch/arm/plat-s3c24xx/gpio.c +0 −96
  1554. arch/arm/plat-s3c24xx/gpiolib.c +0 −229
  1555. arch/arm/plat-s3c24xx/include/mach/clkdev.h +0 −7
  1556. arch/arm/plat-s3c24xx/include/mach/pwm-clock.h +0 −55
  1557. arch/arm/plat-s3c24xx/include/plat/map.h +0 −100
  1558. arch/arm/plat-s3c24xx/include/plat/pll.h +0 −62
  1559. arch/arm/plat-s3c24xx/include/plat/regs-iis.h +0 −68
  1560. arch/arm/plat-s3c24xx/include/plat/regs-spi.h +0 −81
  1561. arch/arm/plat-s3c24xx/s3c2443-clock.c +187 −5
  1562. arch/arm/plat-s5p/Kconfig +23 −5
  1563. arch/arm/plat-s5p/Makefile +2 −12
  1564. arch/arm/plat-s5p/cpu.c +33 −15
  1565. arch/arm/plat-s5p/dev-csis0.c +0 −34
  1566. arch/arm/plat-s5p/dev-csis1.c +0 −34
  1567. arch/arm/plat-s5p/dev-ehci.c +0 −57
  1568. arch/arm/plat-s5p/dev-fimc0.c +0 −43
  1569. arch/arm/plat-s5p/dev-fimc1.c +0 −43
  1570. arch/arm/plat-s5p/dev-fimc2.c +0 −43
  1571. arch/arm/plat-s5p/dev-fimc3.c +0 −43
  1572. arch/arm/plat-s5p/dev-fimd0.c +0 −67
  1573. arch/arm/plat-s5p/dev-mfc.c +0 −50
  1574. arch/arm/plat-s5p/dev-onenand.c +0 −45
  1575. arch/arm/plat-s5p/dev-pmu.c +0 −36
  1576. arch/arm/plat-s5p/dev-uart.c +12 −72
  1577. arch/arm/plat-s5p/include/plat/pll.h +0 −153
  1578. arch/arm/plat-s5p/irq-gpioint.c +5 −5
  1579. arch/arm/plat-s5p/irq.c +0 −34
  1580. arch/arm/plat-s5p/sleep.S +4 −9
  1581. arch/arm/plat-samsung/Kconfig +13 −35
  1582. arch/arm/plat-samsung/Makefile +6 −34
  1583. arch/arm/plat-samsung/adc.c +32 −11
  1584. arch/arm/plat-samsung/cpu.c +58 −0
  1585. arch/arm/plat-samsung/dev-adc.c +0 −46
  1586. arch/arm/plat-samsung/dev-asocdma.c +0 −35
  1587. arch/arm/plat-samsung/dev-backlight.c +2 −0
  1588. arch/arm/plat-samsung/dev-fb.c +0 −63
  1589. arch/arm/plat-samsung/dev-hsmmc.c +0 −79
  1590. arch/arm/plat-samsung/dev-hsmmc1.c +0 −79
  1591. arch/arm/plat-samsung/dev-hsmmc2.c +0 −80
  1592. arch/arm/plat-samsung/dev-hsmmc3.c +0 −83
  1593. arch/arm/plat-samsung/dev-hwmon.c +0 −32
  1594. arch/arm/plat-samsung/dev-i2c0.c +0 −70
  1595. arch/arm/plat-samsung/dev-i2c1.c +0 −61
  1596. arch/arm/plat-samsung/dev-i2c2.c +0 −62
  1597. arch/arm/plat-samsung/dev-i2c3.c +0 −60
  1598. arch/arm/plat-samsung/dev-i2c4.c +0 −60
  1599. arch/arm/plat-samsung/dev-i2c5.c +0 −60
  1600. arch/arm/plat-samsung/dev-i2c6.c +0 −60
  1601. arch/arm/plat-samsung/dev-i2c7.c +0 −60
  1602. arch/arm/plat-samsung/dev-ide.c +0 −44
  1603. arch/arm/plat-samsung/dev-keypad.c +0 −50
  1604. arch/arm/plat-samsung/dev-nand.c +0 −125
  1605. arch/arm/plat-samsung/dev-onenand.c +0 −43
  1606. arch/arm/plat-samsung/dev-pwm.c +0 −53
  1607. arch/arm/plat-samsung/dev-rtc.c +0 −43
  1608. arch/arm/plat-samsung/dev-ts.c +0 −50
  1609. arch/arm/plat-samsung/dev-usb-hsotg.c +0 −48
  1610. arch/arm/plat-samsung/dev-usb.c +0 −65
  1611. arch/arm/plat-samsung/dev-wdt.c +0 −40
  1612. arch/arm/plat-samsung/devs.c +1463 −0
  1613. arch/arm/plat-samsung/dma-ops.c +132 −0
  1614. arch/arm/plat-samsung/gpio-config.c +0 −431
  1615. arch/arm/plat-samsung/gpio.c +0 −167
  1616. arch/arm/plat-samsung/include/plat/adc-core.h +1 −1
  1617. arch/arm/plat-samsung/include/plat/audio-simtec.h +1 −1
  1618. arch/arm/plat-samsung/include/plat/camport.h +3 −3
  1619. arch/arm/plat-samsung/include/plat/common-smdk.h +1 −1
  1620. arch/arm/plat-samsung/include/plat/cpu-freq-core.h +3 −2
  1621. arch/arm/plat-samsung/include/plat/cpu.h +112 −1
  1622. arch/arm/plat-samsung/include/plat/devs.h +71 −80
  1623. arch/arm/plat-samsung/include/plat/dma-ops.h +63 −0
  1624. arch/arm/plat-samsung/include/plat/dma-pl330.h +15 −9
  1625. arch/arm/plat-samsung/include/plat/dma-s3c24xx.h +1 −7
  1626. arch/arm/plat-samsung/include/plat/dma.h +4 −6
  1627. arch/arm/plat-samsung/include/plat/ehci.h +3 −3
  1628. arch/arm/plat-samsung/include/plat/exynos4.h +6 −5
  1629. arch/arm/plat-samsung/include/plat/fb-s3c2410.h +72 −0
  1630. arch/arm/plat-samsung/include/plat/fb.h +7 −0
  1631. arch/arm/plat-samsung/include/plat/fiq.h +1 −1
  1632. arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h +42 −130
  1633. arch/arm/plat-samsung/include/plat/gpio-cfg.h +17 −17
  1634. arch/arm/plat-samsung/include/plat/gpio-core.h +25 −72
  1635. arch/arm/plat-samsung/include/plat/gpio-fns.h +98 −0
  1636. arch/arm/plat-samsung/include/plat/iic.h +1 −0
  1637. arch/arm/plat-samsung/include/plat/irq.h +13 −12
  1638. arch/arm/plat-samsung/include/plat/irqs.h +4 −39
  1639. arch/arm/plat-samsung/include/plat/map-s3c.h +84 −0
  1640. arch/arm/plat-samsung/include/plat/map-s5p.h +3 −3
  1641. arch/arm/plat-samsung/include/plat/mci.h +5 −5
  1642. arch/arm/plat-samsung/include/plat/mfc.h +3 −3
  1643. arch/arm/plat-samsung/include/plat/mipi_csis.h +3 −3
  1644. arch/arm/plat-samsung/include/plat/pll.h +323 −0
  1645. arch/arm/plat-samsung/include/plat/pll6553x.h +0 −51
  1646. arch/arm/plat-samsung/include/plat/pm.h +5 −5
  1647. arch/arm/plat-samsung/include/plat/pwm-clock.h +25 −14
  1648. arch/arm/plat-samsung/include/plat/regs-adc.h +3 −0
  1649. arch/arm/plat-samsung/include/plat/regs-dma.h +59 −53
  1650. arch/arm/plat-samsung/include/plat/regs-iis.h +70 −0
  1651. arch/arm/plat-samsung/include/plat/regs-serial.h +5 −0
  1652. arch/arm/plat-samsung/include/plat/regs-spi.h +48 −0
  1653. arch/arm/plat-samsung/include/plat/regs-srom.h +4 −4
  1654. arch/arm/plat-samsung/include/plat/regs-udc.h +65 −67
  1655. arch/arm/plat-samsung/include/plat/reset.h +4 −4
  1656. arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h +0 −32
  1657. arch/arm/plat-samsung/include/plat/s3c2410.h +1 −1
  1658. arch/arm/plat-samsung/include/plat/s3c2412.h +1 −1
  1659. arch/arm/plat-samsung/include/plat/s3c2416.h +1 −1
  1660. arch/arm/plat-samsung/include/plat/s3c2443.h +5 −4
  1661. arch/arm/plat-samsung/include/plat/s3c244x.h +1 −1
  1662. arch/arm/plat-samsung/include/plat/s3c6400.h +1 −1
  1663. arch/arm/plat-samsung/include/plat/s3c6410.h +1 −1
  1664. arch/arm/plat-samsung/include/plat/s5p-clock.h +1 −1
  1665. arch/arm/plat-samsung/include/plat/s5p-time.h +1 −1
  1666. arch/arm/plat-samsung/include/plat/s5p6440.h +1 −1
  1667. arch/arm/plat-samsung/include/plat/s5p6450.h +1 −1
  1668. arch/arm/plat-samsung/include/plat/s5pc100.h +1 −1
  1669. arch/arm/plat-samsung/include/plat/s5pv210.h +1 −1
  1670. arch/arm/plat-samsung/include/plat/sdhci.h +7 −57
  1671. arch/arm/plat-samsung/include/plat/sysmmu.h +3 −3
  1672. arch/arm/plat-samsung/include/plat/system-reset.h +1 −1
  1673. arch/arm/plat-samsung/include/plat/tv-core.h +44 −0
  1674. arch/arm/plat-samsung/include/plat/udc.h +2 −2
  1675. arch/arm/plat-samsung/include/plat/usb-phy.h +3 −3
  1676. arch/arm/plat-samsung/irq-uart.c +0 −96
  1677. arch/arm/plat-samsung/platformdata.c +21 −0
  1678. arch/arm/plat-samsung/pm-gpio.c +36 −36
  1679. arch/arm/plat-samsung/pm.c +3 −3
  1680. arch/arm/plat-samsung/pwm-clock.c +11 −2
  1681. arch/arm/plat-samsung/pwm.c +7 −0
  1682. arch/arm/plat-samsung/s3c-dma-ops.c +131 −0
  1683. arch/arm/plat-samsung/s3c-pl330.c +0 −1244
  1684. arch/arm/plat-spear/include/plat/debug-macro.S +1 −1
  1685. arch/arm/plat-spear/include/plat/gpio.h +1 −24
  1686. arch/arm/plat-spear/include/plat/memory.h +0 −20
  1687. arch/arm/plat-tcc/include/mach/debug-macro.S +1 −1
  1688. arch/arm/plat-tcc/include/mach/memory.h +0 −18
  1689. arch/arm/plat-versatile/platsmp.c +1 −1
  1690. arch/arm/vfp/vfpmodule.c +22 −10
  1691. arch/avr32/boards/atngw100/setup.c +2 −6
  1692. arch/avr32/boards/atstk1000/atstk1002.c +2 −7
  1693. arch/avr32/mach-at32ap/clock.c +1 −0
  1694. arch/avr32/mach-at32ap/cpufreq.c +1 −0
  1695. arch/avr32/mach-at32ap/include/mach/board.h +2 −1
  1696. arch/avr32/mach-at32ap/intc.c +1 −0
  1697. arch/avr32/mach-at32ap/pio.c +1 −0
  1698. arch/avr32/mm/dma-coherent.c +1 −0
  1699. arch/blackfin/Kconfig +0 −4
  1700. arch/blackfin/configs/BF548-EZKIT_defconfig +3 −10
  1701. arch/blackfin/include/asm/Kbuild +1 −0
  1702. arch/blackfin/include/asm/atomic.h +10 −94
  1703. arch/blackfin/include/asm/mutex.h +0 −1
  1704. arch/blackfin/include/asm/uaccess.h +3 −3
  1705. arch/blackfin/kernel/Makefile +1 −1
  1706. arch/blackfin/kernel/dma-mapping.c +1 −0
  1707. arch/blackfin/kernel/kgdb_test.c +1 −2
  1708. arch/blackfin/kernel/perf_event.c +1 −0
  1709. arch/blackfin/kernel/sys_bfin.c +1 −0
  1710. arch/blackfin/kernel/time-ts.c +2 −4
  1711. arch/blackfin/kernel/time.c +0 −1
  1712. arch/blackfin/mach-bf518/boards/ezbrd.c +1 −0
  1713. arch/blackfin/mach-bf527/boards/ad7160eval.c +1 −0
  1714. arch/blackfin/mach-bf527/boards/cm_bf527.c +1 −0
  1715. arch/blackfin/mach-bf527/boards/ezbrd.c +1 −0
  1716. arch/blackfin/mach-bf527/boards/ezkit.c +1 −0
  1717. arch/blackfin/mach-bf527/boards/tll6527m.c +1 −0
  1718. arch/blackfin/mach-bf533/boards/H8606.c +2 −1
  1719. arch/blackfin/mach-bf537/boards/cm_bf537e.c +2 −1
  1720. arch/blackfin/mach-bf537/boards/cm_bf537u.c +2 −1
  1721. arch/blackfin/mach-bf537/boards/dnp5370.c +1 −0
  1722. arch/blackfin/mach-bf537/boards/pnav10.c +1 −0
  1723. arch/blackfin/mach-bf537/boards/stamp.c +52 −37
  1724. arch/blackfin/mach-bf537/boards/tcm_bf537.c +2 −1
  1725. arch/blackfin/mach-bf561/boards/cm_bf561.c +1 −1
  1726. arch/blackfin/mach-bf561/smp.c +1 −1
  1727. arch/blackfin/mach-common/cpufreq.c +1 −0
  1728. arch/blackfin/mach-common/smp.c +6 −1
  1729. arch/blackfin/mm/init.c +1 −0
  1730. arch/cris/arch-v10/drivers/Kconfig +1 −0
  1731. arch/cris/arch-v10/kernel/kgdb.c +3 −3
  1732. arch/cris/arch-v32/drivers/Kconfig +1 −0
  1733. arch/cris/arch-v32/drivers/mach-a3/nandflash.c +1 −1
  1734. arch/cris/arch-v32/drivers/mach-fs/nandflash.c +1 −1
  1735. arch/cris/arch-v32/kernel/kgdb.c +7 −7
  1736. arch/frv/kernel/gdb-stub.c +22 −22
  1737. arch/h8300/include/asm/gpio-internal.h +0 −0
  1738. arch/h8300/platform/h8300h/irq.c +1 −1
  1739. arch/h8300/platform/h8s/irq.c +1 −1
  1740. arch/hexagon/Kconfig +220 −0
  1741. arch/hexagon/Makefile +58 −0
  1742. arch/hexagon/configs/comet_defconfig +85 −0
  1743. arch/hexagon/include/asm/Kbuild +58 −0
  1744. arch/hexagon/include/asm/asm-offsets.h +1 −0
  1745. arch/hexagon/include/asm/atomic.h +164 −0
  1746. arch/hexagon/include/asm/bitops.h +301 −0
  1747. arch/hexagon/include/asm/bitsperlong.h +26 −0
  1748. arch/hexagon/include/asm/byteorder.h +28 −0
  1749. arch/hexagon/include/asm/cache.h +34 −0
  1750. arch/hexagon/include/asm/cacheflush.h +99 −0
  1751. arch/hexagon/include/asm/checksum.h +50 −0
  1752. arch/hexagon/include/asm/delay.h +28 −0
  1753. arch/hexagon/include/asm/dma-mapping.h +101 −0
  1754. arch/hexagon/include/asm/dma.h +29 −0
  1755. arch/hexagon/include/asm/elf.h +229 −0
  1756. arch/hexagon/include/asm/fixmap.h +73 −0
  1757. arch/hexagon/include/asm/fpu.h +4 −0
  1758. arch/hexagon/include/asm/futex.h +137 −0
  1759. arch/hexagon/include/asm/hexagon_vm.h +281 −0
  1760. arch/hexagon/include/asm/intrinsics.h +26 −0
  1761. arch/hexagon/include/asm/io.h +326 −0
  1762. arch/hexagon/include/asm/irq.h +36 −0
  1763. arch/hexagon/include/asm/irqflags.h +62 −0
  1764. arch/hexagon/include/asm/kgdb.h +43 −0
  1765. arch/hexagon/include/asm/linkage.h +9 −10
  1766. arch/hexagon/include/asm/mem-layout.h +112 −0
  1767. arch/hexagon/include/asm/mmu.h +37 −0
  1768. arch/hexagon/include/asm/mmu_context.h +100 −0
  1769. arch/hexagon/include/asm/module.h +26 −0
  1770. arch/hexagon/include/asm/mutex.h +8 −0
  1771. arch/hexagon/include/asm/page.h +157 −0
  1772. arch/hexagon/include/asm/param.h +26 −0
  1773. arch/hexagon/include/asm/perf_event.h +24 −0
  1774. arch/hexagon/include/asm/pgalloc.h +146 −0
  1775. arch/hexagon/include/asm/pgtable.h +518 −0
  1776. arch/hexagon/include/asm/processor.h +123 −0
  1777. arch/hexagon/include/asm/ptrace.h +35 −0
  1778. arch/hexagon/include/asm/registers.h +236 −0
  1779. arch/hexagon/include/asm/setup.h +29 −0
  1780. arch/hexagon/include/asm/sigcontext.h +33 −0
  1781. arch/hexagon/include/asm/signal.h +26 −0
  1782. arch/hexagon/include/asm/smp.h +44 −0
  1783. arch/hexagon/include/asm/spinlock.h +186 −0
  1784. arch/hexagon/include/asm/spinlock_types.h +42 −0
  1785. arch/hexagon/include/asm/string.h +32 −0
  1786. arch/hexagon/include/asm/suspend.h +27 −0
  1787. arch/hexagon/include/asm/swab.h +24 −0
  1788. arch/hexagon/include/asm/syscall.h +54 −0
  1789. arch/hexagon/include/asm/system.h +126 −0
  1790. arch/hexagon/include/asm/thread_info.h +154 −0
  1791. arch/hexagon/include/asm/time.h +29 −0
  1792. arch/hexagon/include/asm/timer-regs.h +39 −0
  1793. arch/hexagon/include/asm/timex.h +36 −0
  1794. arch/hexagon/include/asm/tlb.h +39 −0
  1795. arch/hexagon/include/asm/tlbflush.h +58 −0
  1796. arch/hexagon/include/asm/traps.h +29 −0
  1797. arch/hexagon/include/asm/uaccess.h +116 −0
  1798. arch/hexagon/include/asm/unistd.h +36 −0
  1799. arch/hexagon/include/asm/user.h +81 −0
  1800. arch/hexagon/include/asm/vdso.h +30 −0
  1801. arch/hexagon/include/asm/vm_fault.h +26 −0
  1802. arch/hexagon/include/asm/vm_mmu.h +111 −0
  1803. arch/hexagon/kernel/Makefile +18 −0
  1804. arch/hexagon/kernel/asm-offsets.c +104 −0
  1805. arch/hexagon/kernel/dma.c +220 −0
  1806. arch/hexagon/kernel/head.S +162 −0
  1807. arch/hexagon/kernel/hexagon_ksyms.c +40 −0
  1808. arch/hexagon/kernel/init_task.c +54 −0
  1809. arch/hexagon/kernel/irq_cpu.c +90 −0
  1810. arch/hexagon/kernel/kgdb.c +254 −0
  1811. arch/hexagon/kernel/module.c +162 −0
  1812. arch/hexagon/kernel/process.c +279 −0
  1813. arch/hexagon/kernel/ptrace.c +180 −0
  1814. arch/hexagon/kernel/reset.c +38 −0
  1815. arch/hexagon/kernel/setup.c +145 −0
  1816. arch/hexagon/kernel/signal.c +345 −0
  1817. arch/hexagon/kernel/smp.c +276 −0
  1818. arch/hexagon/kernel/stacktrace.c +66 −0
  1819. arch/hexagon/kernel/syscall.c +90 −0
  1820. arch/hexagon/kernel/syscalltab.c +32 −0
  1821. arch/hexagon/kernel/time.c +250 −0
  1822. arch/hexagon/kernel/topology.c +52 −0
  1823. arch/hexagon/kernel/trampoline.S +35 −0
  1824. arch/hexagon/kernel/traps.c +454 −0
  1825. arch/hexagon/kernel/vdso.c +100 −0
  1826. arch/hexagon/kernel/vm_entry.S +269 −0
  1827. arch/hexagon/kernel/vm_events.c +101 −0
  1828. arch/hexagon/kernel/vm_init_segtable.S +442 −0
  1829. arch/hexagon/kernel/vm_ops.S +102 −0
  1830. arch/hexagon/kernel/vm_switch.S +95 −0
  1831. arch/hexagon/kernel/vm_vectors.S +48 −0
  1832. arch/hexagon/kernel/vmlinux.lds.S +88 −0
  1833. arch/hexagon/lib/Makefile +4 −0
  1834. arch/hexagon/lib/checksum.c +203 −0
  1835. arch/hexagon/lib/io.c +91 −0
  1836. arch/hexagon/lib/memcpy.S +543 −0
  1837. arch/hexagon/lib/memset.S +315 −0
  1838. arch/hexagon/mm/Makefile +6 −0
  1839. arch/hexagon/mm/cache.c +128 −0
  1840. arch/hexagon/mm/copy_from_user.S +114 −0
  1841. arch/hexagon/mm/copy_to_user.S +92 −0
  1842. arch/hexagon/mm/copy_user_template.S +185 −0
  1843. arch/hexagon/mm/init.c +276 −0
  1844. arch/hexagon/mm/ioremap.c +56 −0
  1845. arch/hexagon/mm/pgalloc.c +23 −0
  1846. arch/hexagon/mm/strnlen_user.S +139 −0
  1847. arch/hexagon/mm/uaccess.c +59 −0
  1848. arch/hexagon/mm/vm_fault.c +187 −0
  1849. arch/hexagon/mm/vm_tlb.c +93 −0
  1850. arch/ia64/Kconfig +1 −1
  1851. arch/ia64/configs/generic_defconfig +2 −1
  1852. arch/ia64/configs/gensparse_defconfig +1 −0
  1853. arch/ia64/configs/tiger_defconfig +1 −0
  1854. arch/ia64/configs/xen_domu_defconfig +1 −0
  1855. arch/ia64/configs/zx1_defconfig +1 −0
  1856. arch/ia64/dig/Makefile +1 −1
  1857. arch/ia64/hp/common/hwsw_iommu.c +1 −0
  1858. arch/ia64/hp/sim/simeth.c +1 −1
  1859. arch/ia64/include/asm/device.h +1 −1
  1860. arch/ia64/include/asm/iommu.h +4 −2
  1861. arch/ia64/include/asm/pci.h +1 −1
  1862. arch/ia64/include/asm/unistd.h +3 −1
  1863. arch/ia64/include/asm/xen/grant_table.h +0 −29
  1864. arch/ia64/include/asm/xen/interface.h +1 −0
  1865. arch/ia64/kernel/Makefile +1 −1
  1866. arch/ia64/kernel/acpi.c +2 −2
  1867. arch/ia64/kernel/dma-mapping.c +1 −0
  1868. arch/ia64/kernel/entry.S +2 −0
  1869. arch/ia64/kernel/msi_ia64.c +2 −2
  1870. arch/ia64/kernel/pci-dma.c +1 −1
  1871. arch/ia64/kernel/topology.c +1 −0
  1872. arch/ia64/kvm/kvm-ia64.c +2 −1
  1873. arch/ia64/pci/pci.c +1 −0
  1874. arch/ia64/sn/kernel/io_acpi_init.c +1 −0
  1875. arch/ia64/sn/kernel/io_init.c +1 −0
  1876. arch/ia64/sn/kernel/sn2/sn_hwperf.c +8 −4
  1877. arch/ia64/sn/pci/pcibr/pcibr_dma.c +1 −0
  1878. arch/ia64/sn/pci/pcibr/pcibr_provider.c +1 −0
  1879. arch/ia64/sn/pci/tioca_provider.c +1 −0
  1880. arch/ia64/xen/grant-table.c +0 −62
  1881. arch/ia64/xen/hypervisor.c +1 −0
  1882. arch/m32r/Kconfig +1 −7
  1883. arch/m68k/Kconfig +44 −155
  1884. arch/m68k/Kconfig.bus +64 −0
  1885. arch/m68k/Kconfig.cpu +429 −0
  1886. arch/m68k/Kconfig.devices +154 −0
  1887. arch/m68k/Kconfig.machine +179 −383
  1888. arch/m68k/Kconfig.mmu +0 −411
  1889. arch/m68k/Makefile +166 −2
  1890. arch/m68k/Makefile_mm +0 −121
  1891. arch/m68k/Makefile_no +0 −124
  1892. arch/m68k/amiga/amiints.c +64 −104
  1893. arch/m68k/amiga/cia.c +21 −18
  1894. arch/m68k/apollo/dn_ints.c +19 −16
  1895. arch/m68k/atari/ataints.c +26 −248
  1896. arch/m68k/atari/time.c +1 −0
  1897. arch/m68k/bvme6000/config.c +1 −1
  1898. arch/m68k/emu/nfblock.c +1 −2
  1899. arch/m68k/hp300/time.c +1 −1
  1900. arch/m68k/include/asm/entry.h +252 −3
  1901. arch/m68k/include/asm/entry_mm.h +0 −128
  1902. arch/m68k/include/asm/entry_no.h +0 −181
  1903. arch/m68k/include/asm/hardirq.h +5 −0
  1904. arch/m68k/include/asm/irq.h +15 −54
  1905. arch/m68k/include/asm/m520xsim.h +12 −14
  1906. arch/m68k/include/asm/macintosh.h +2 −0
  1907. arch/m68k/include/asm/mcfqspi.h +5 −3
  1908. arch/m68k/include/asm/page_no.h +3 −0
  1909. arch/m68k/include/asm/processor.h +6 −0
  1910. arch/m68k/include/asm/q40ints.h +0 −3
  1911. arch/m68k/include/asm/sections.h +2 −0
  1912. arch/m68k/kernel/Makefile +19 −4
  1913. arch/m68k/kernel/Makefile_mm +0 −17
  1914. arch/m68k/kernel/Makefile_no +0 −10
  1915. arch/m68k/kernel/dma_mm.c +1 −0
  1916. arch/m68k/kernel/dma_no.c +1 −0
  1917. arch/m68k/kernel/entry_mm.S +3 −4
  1918. arch/m68k/kernel/entry_no.S +3 −3
  1919. arch/m68k/kernel/ints.c +31 −292
  1920. arch/m68k/kernel/setup_no.c +1 −3
  1921. arch/m68k/kernel/traps.c +1105 −3
  1922. arch/m68k/kernel/traps_mm.c +0 −1207
  1923. arch/m68k/kernel/traps_no.c +0 −361
  1924. arch/m68k/kernel/vectors.c +145 −0
  1925. arch/m68k/lib/memcpy.c +9 −0
  1926. arch/m68k/mac/baboon.c +9 −12
  1927. arch/m68k/mac/iop.c +4 −6
  1928. arch/m68k/mac/macints.c +11 −13
  1929. arch/m68k/mac/oss.c +21 −33
  1930. arch/m68k/mac/psc.c +24 −25
  1931. arch/m68k/mac/via.c +29 −45
  1932. arch/m68k/mm/init_no.c +8 −13
  1933. arch/m68k/mvme147/config.c +2 −3
  1934. arch/m68k/mvme16x/config.c +1 −1
  1935. arch/m68k/platform/520x/config.c +3 −3
  1936. arch/m68k/platform/520x/gpio.c +7 −43
  1937. arch/m68k/platform/68328/Makefile +4 −1
  1938. arch/m68k/platform/68328/entry.S +9 −9
  1939. arch/m68k/platform/68360/Makefile +4 −2
  1940. arch/m68k/platform/68360/entry.S +2 −2
  1941. arch/m68k/platform/coldfire/entry.S +2 −4
  1942. arch/m68k/q40/q40ints.c +28 −32
  1943. arch/m68k/sun3/sun3ints.c +27 −19
  1944. arch/microblaze/include/asm/dma-mapping.h +18 −2
  1945. arch/microblaze/include/asm/elf.h +5 −3
  1946. arch/microblaze/include/asm/system.h +0 −9
  1947. arch/microblaze/include/asm/uaccess.h +1 −1
  1948. arch/microblaze/kernel/cpu/cpuinfo.c +1 −0
  1949. arch/microblaze/kernel/dma.c +64 −19
  1950. arch/microblaze/kernel/exceptions.c +1 −1
  1951. arch/microblaze/kernel/irq.c +1 −0
  1952. arch/microblaze/kernel/process.c +1 −0
  1953. arch/microblaze/kernel/ptrace.c +1 −1
  1954. arch/microblaze/kernel/timer.c +2 −1
  1955. arch/microblaze/lib/Makefile +1 −0
  1956. arch/microblaze/lib/uaccess_old.S +106 −17
  1957. arch/microblaze/lib/ucmpdi2.c +20 −0
  1958. arch/microblaze/mm/init.c +1 −0
  1959. arch/microblaze/pci/iomap.c +1 −0
  1960. arch/microblaze/pci/pci-common.c +1 −0
  1961. arch/mips/Kconfig +5 −22
  1962. arch/mips/Makefile +5 −3
  1963. arch/mips/alchemy/Kconfig +15 −35
  1964. arch/mips/alchemy/common/Makefile +1 −5
  1965. arch/mips/alchemy/common/dbdma.c +91 −112
  1966. arch/mips/alchemy/common/dma.c +34 −38
  1967. arch/mips/alchemy/common/gpiolib.c +21 −14
  1968. arch/mips/alchemy/common/pci.c +0 −104
  1969. arch/mips/alchemy/common/platform.c +89 −281
  1970. arch/mips/alchemy/common/power.c +0 −46
  1971. arch/mips/alchemy/common/setup.c +3 −3
  1972. arch/mips/alchemy/devboards/db1200/platform.c +125 −44
  1973. arch/mips/alchemy/devboards/db1x00/board_setup.c +1 −27
  1974. arch/mips/alchemy/devboards/db1x00/platform.c +222 −24
  1975. arch/mips/alchemy/devboards/pb1100/platform.c +38 −11
  1976. arch/mips/alchemy/devboards/pb1200/platform.c +163 −27
  1977. arch/mips/alchemy/devboards/pb1500/board_setup.c +12 −21
  1978. arch/mips/alchemy/devboards/pb1500/platform.c +58 −13
  1979. arch/mips/alchemy/devboards/pb1550/board_setup.c +0 −6
  1980. arch/mips/alchemy/devboards/pb1550/platform.c +95 −24
  1981. arch/mips/alchemy/gpr/board_setup.c +0 −12
  1982. arch/mips/alchemy/gpr/platform.c +47 −0
  1983. arch/mips/alchemy/mtx-1/board_setup.c +0 −40
  1984. arch/mips/alchemy/mtx-1/platform.c +62 −0
  1985. arch/mips/alchemy/xxs1500/board_setup.c +0 −8
  1986. arch/mips/alchemy/xxs1500/platform.c +6 −6
  1987. arch/mips/bcm47xx/Kconfig +31 −0
  1988. arch/mips/bcm47xx/Makefile +2 −1
  1989. arch/mips/bcm47xx/gpio.c +62 −21
  1990. arch/mips/bcm47xx/irq.c +12 −0
  1991. arch/mips/bcm47xx/nvram.c +25 −4
  1992. arch/mips/bcm47xx/serial.c +44 −2
  1993. arch/mips/bcm47xx/setup.c +84 −7
  1994. arch/mips/bcm47xx/time.c +14 −2
  1995. arch/mips/bcm47xx/wgt634u.c +9 −5
  1996. arch/mips/cavium-octeon/csrc-octeon.c +1 −0
  1997. arch/mips/cavium-octeon/dma-octeon.c +1 −0
  1998. arch/mips/cavium-octeon/flash_setup.c +1 −0
  1999. arch/mips/include/asm/cacheflush.h +24 −0
  2000. arch/mips/include/asm/compat.h +2 −1
  2001. arch/mips/include/asm/cpu.h +3 −0
  2002. arch/mips/include/asm/io.h +2 −10
  2003. arch/mips/include/asm/mach-au1x00/au1000.h +210 −349
  2004. arch/mips/include/asm/mach-au1x00/au1xxx.h +0 −43
  2005. arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h +56 −60
  2006. arch/mips/include/asm/mach-au1x00/au1xxx_ide.h +1 −0
  2007. arch/mips/include/asm/mach-au1x00/au1xxx_psc.h +0 −39
  2008. arch/mips/include/asm/mach-au1x00/gpio-au1000.h +2 −29
  2009. arch/mips/include/asm/mach-au1x00/gpio.h +76 −3
  2010. arch/mips/include/asm/mach-bcm47xx/bcm47xx.h +24 −2
  2011. arch/mips/include/asm/mach-bcm47xx/gpio.h +93 −15
  2012. arch/mips/include/asm/mach-db1x00/db1200.h +0 −2
  2013. arch/mips/include/asm/mach-db1x00/db1x00.h +8 −8
  2014. arch/mips/include/asm/mach-pb1x00/pb1200.h +8 −10
  2015. arch/mips/include/asm/mach-pb1x00/pb1550.h +8 −8
  2016. arch/mips/include/asm/mipsprom.h +3 −3
  2017. arch/mips/include/asm/mipsregs.h +8 −0
  2018. arch/mips/include/asm/prom.h +3 −3
  2019. arch/mips/include/asm/regdef.h +6 −0
  2020. arch/mips/jz4740/gpio.c +38 −102
  2021. arch/mips/jz4740/irq.c +38 −54
  2022. arch/mips/jz4740/irq.h +4 −2
  2023. arch/mips/jz4740/pm.c +0 −3
  2024. arch/mips/kernel/8250-platform.c +0 −1
  2025. arch/mips/kernel/Makefile +4 −1
  2026. arch/mips/kernel/cpu-probe.c +5 −1
  2027. arch/mips/kernel/i8253.c +1 −1
  2028. arch/mips/kernel/init_task.c +1 −1
  2029. arch/mips/kernel/irq-msc01.c +0 −1
  2030. arch/mips/kernel/irq.c +0 −1
  2031. arch/mips/kernel/mips-mt.c +1 −1
  2032. arch/mips/kernel/mips_ksyms.c +1 −1
  2033. arch/mips/kernel/module.c +0 −1
  2034. arch/mips/kernel/perf_event.c +1 −518
  2035. arch/mips/kernel/perf_event_mipsxx.c +919 −346
  2036. arch/mips/kernel/process.c +1 −1
  2037. arch/mips/kernel/prom.c +1 −1
  2038. arch/mips/kernel/reset.c +1 −1
  2039. arch/mips/kernel/rtlx.c +0 −1
  2040. arch/mips/kernel/scall32-o32.S +1 −1
  2041. arch/mips/kernel/setup.c +1 −1
  2042. arch/mips/kernel/spinlock_test.c +1 −1
  2043. arch/mips/kernel/stacktrace.c +1 −1
  2044. arch/mips/kernel/time.c +1 −1
  2045. arch/mips/kernel/traps.c +0 −1
  2046. arch/mips/kernel/unaligned.c +0 −1
  2047. arch/mips/kernel/vpe.c +0 −1
  2048. arch/mips/loongson/common/platform.c +1 −0
  2049. arch/mips/mm/c-octeon.c +6 −0
  2050. arch/mips/mm/c-r3k.c +7 −0
  2051. arch/mips/mm/c-r4k.c +35 −0
  2052. arch/mips/mm/c-tx39.c +7 −0
  2053. arch/mips/mm/cache.c +5 −0
  2054. arch/mips/mm/tlb-r3k.c +2 −2
  2055. arch/mips/mm/tlb-r4k.c +2 −2
  2056. arch/mips/netlogic/Platform +5 −0
  2057. arch/mips/netlogic/xlr/setup.c +2 −2
  2058. arch/mips/netlogic/xlr/smp.c +5 −1
  2059. arch/mips/netlogic/xlr/smpboot.S +11 −5
  2060. arch/mips/pci/Makefile +1 −2
  2061. arch/mips/pci/fixup-au1000.c +0 −43
  2062. arch/mips/pci/ops-au1000.c +0 −308
  2063. arch/mips/pci/pci-alchemy.c +516 −0
  2064. arch/mips/pci/pci-bcm47xx.c +6 −0
  2065. arch/mips/pci/pci-ip27.c +1 −0
  2066. arch/mips/pci/pci.c +1 −0
  2067. arch/mips/pmc-sierra/msp71xx/msp_serial.c +67 −6
  2068. arch/mips/pmc-sierra/msp71xx/msp_setup.c +1 −0
  2069. arch/mips/pmc-sierra/yosemite/py-console.c +2 −10
  2070. arch/mips/pnx8550/common/prom.c +1 −1
  2071. arch/mips/powertv/Kconfig +0 −2
  2072. arch/mips/powertv/asic/Kconfig +0 −28
  2073. arch/mips/powertv/pci/fixup-powertv.c +1 −0
  2074. arch/mips/powertv/powertv-usb.c +1 −0
  2075. arch/mips/rb532/gpio.c +1 −0
  2076. arch/mips/rb532/setup.c +1 −0
  2077. arch/mips/sgi-ip27/ip27-irq.c +2 −2
  2078. arch/mips/txx9/generic/setup_tx4939.c +1 −1
  2079. arch/mips/txx9/generic/spi_eeprom.c +1 −0
  2080. arch/mips/txx9/rbtx4939/setup.c +1 −0
  2081. arch/mips/vr41xx/common/giu.c +1 −0
  2082. arch/mips/vr41xx/common/rtc.c +1 −0
  2083. arch/mn10300/Kconfig +0 −3
  2084. arch/mn10300/kernel/gdb-stub.c +26 −26
  2085. arch/openrisc/Kconfig +0 −12
  2086. arch/parisc/include/asm/compat.h +2 −1
  2087. arch/parisc/kernel/drivers.c +1 −0
  2088. arch/parisc/kernel/pci-dma.c +1 −0
  2089. arch/parisc/kernel/setup.c +1 −0
  2090. arch/parisc/lib/iomap.c +1 −0
  2091. arch/powerpc/Kconfig +5 −26
  2092. arch/powerpc/Kconfig.debug +42 −4
  2093. arch/powerpc/boot/Makefile +2 −1
  2094. arch/powerpc/boot/dts/charon.dts +236 −0
  2095. arch/powerpc/boot/dts/digsy_mtc.dts +51 −8
  2096. arch/powerpc/boot/dts/gef_ppc9a.dts +29 −4
  2097. arch/powerpc/boot/dts/gef_sbc310.dts +29 −4
  2098. arch/powerpc/boot/dts/gef_sbc610.dts +29 −4
  2099. arch/powerpc/boot/dts/hcu4.dts +0 −168
  2100. arch/powerpc/boot/dts/ksi8560.dts +1 −1
  2101. arch/powerpc/boot/dts/mgcoge.dts +9 −0
  2102. arch/powerpc/boot/dts/mpc5200b.dtsi +2 −0
  2103. arch/powerpc/boot/dts/mpc8349emitx.dts +2 −1
  2104. arch/powerpc/boot/dts/p1010rdb.dts +2 −8
  2105. arch/powerpc/boot/dts/p1010si.dtsi +4 −6
  2106. arch/powerpc/boot/dts/p1022ds.dts +1 −1
  2107. arch/powerpc/boot/dts/p2020ds.dts +5 −0
  2108. arch/powerpc/boot/dts/p2041rdb.dts +8 −9
  2109. arch/powerpc/boot/dts/p2041si.dtsi +102 −33
  2110. arch/powerpc/boot/dts/p3041ds.dts +6 −2
  2111. arch/powerpc/boot/dts/p3041si.dtsi +70 −1
  2112. arch/powerpc/boot/dts/p3060qds.dts +238 −0
  2113. arch/powerpc/boot/dts/p3060si.dtsi +719 −0
  2114. arch/powerpc/boot/dts/p4080ds.dts +11 −1
  2115. arch/powerpc/boot/dts/p4080si.dtsi +104 −10
  2116. arch/powerpc/boot/dts/p5020ds.dts +6 −2
  2117. arch/powerpc/boot/dts/p5020si.dtsi +66 −2
  2118. arch/powerpc/boot/dts/sbc8560.dts +1 −1
  2119. arch/powerpc/boot/dts/yosemite.dts +36 −0
  2120. arch/powerpc/configs/40x/acadia_defconfig +6 −5
  2121. arch/powerpc/configs/40x/ep405_defconfig +3 −2
  2122. arch/powerpc/configs/40x/hcu4_defconfig +0 −80
  2123. arch/powerpc/configs/40x/kilauea_defconfig +5 −4
  2124. arch/powerpc/configs/40x/makalu_defconfig +5 −4
  2125. arch/powerpc/configs/40x/walnut_defconfig +3 −2
  2126. arch/powerpc/configs/44x/arches_defconfig +5 −4
  2127. arch/powerpc/configs/44x/bamboo_defconfig +3 −2
  2128. arch/powerpc/configs/44x/bluestone_defconfig +5 −4
  2129. arch/powerpc/configs/44x/canyonlands_defconfig +5 −4
  2130. arch/powerpc/configs/44x/ebony_defconfig +3 −2
  2131. arch/powerpc/configs/44x/eiger_defconfig +5 −4
  2132. arch/powerpc/configs/44x/icon_defconfig +3 −2
  2133. arch/powerpc/configs/44x/katmai_defconfig +3 −2
  2134. arch/powerpc/configs/44x/redwood_defconfig +6 −5
  2135. arch/powerpc/configs/44x/sam440ep_defconfig +3 −2
  2136. arch/powerpc/configs/44x/sequoia_defconfig +3 −2
  2137. arch/powerpc/configs/44x/taishan_defconfig +3 −2
  2138. arch/powerpc/configs/44x/warp_defconfig +3 −2
  2139. arch/powerpc/configs/52xx/tqm5200_defconfig +12 −8
  2140. arch/powerpc/configs/85xx/p1023rds_defconfig +1 −1
  2141. arch/powerpc/configs/85xx/xes_mpc85xx_defconfig +1 −1
  2142. arch/powerpc/configs/corenet32_smp_defconfig +2 −9
  2143. arch/powerpc/configs/corenet64_smp_defconfig +0 −5
  2144. arch/powerpc/configs/mgcoge_defconfig +16 −11
  2145. arch/powerpc/configs/mpc512x_defconfig +11 −8
  2146. arch/powerpc/configs/mpc5200_defconfig +12 −0
  2147. arch/powerpc/configs/mpc85xx_defconfig +1 −4
  2148. arch/powerpc/configs/mpc85xx_smp_defconfig +1 −5
  2149. arch/powerpc/configs/ppc40x_defconfig +3 −3
  2150. arch/powerpc/configs/ppc44x_defconfig +3 −2
  2151. arch/powerpc/configs/ppc64_defconfig +4 −0
  2152. arch/powerpc/configs/ppc6xx_defconfig +1 −1
  2153. arch/powerpc/configs/pseries_defconfig +4 −0
  2154. arch/powerpc/include/asm/compat.h +2 −1
  2155. arch/powerpc/include/asm/device.h +2 −0
  2156. arch/powerpc/include/asm/firmware.h +10 −0
  2157. arch/powerpc/include/asm/floppy.h +2 −2
  2158. arch/powerpc/include/asm/hugetlb.h +61 −2
  2159. arch/powerpc/include/asm/kexec.h +1 −1
  2160. arch/powerpc/include/asm/kvm.h +13 −0
  2161. arch/powerpc/include/asm/kvm_book3s.h +37 −3
  2162. arch/powerpc/include/asm/kvm_book3s_asm.h +2 −0
  2163. arch/powerpc/include/asm/kvm_host.h +18 −12
  2164. arch/powerpc/include/asm/kvm_ppc.h +1 −0
  2165. arch/powerpc/include/asm/lv1call.h +2 −1
  2166. arch/powerpc/include/asm/machdep.h +3 −1
  2167. arch/powerpc/include/asm/mmu-book3e.h +7 −0
  2168. arch/powerpc/include/asm/mmu-hash64.h +1 −2
  2169. arch/powerpc/include/asm/mmu.h +10 −8
  2170. arch/powerpc/include/asm/mpic.h +0 −2
  2171. arch/powerpc/include/asm/opal.h +443 −0
  2172. arch/powerpc/include/asm/paca.h +8 −0
  2173. arch/powerpc/include/asm/page.h +30 −1
  2174. arch/powerpc/include/asm/page_64.h +0 −11
  2175. arch/powerpc/include/asm/pte-book3e.h +3 −0
  2176. arch/powerpc/include/asm/reg_booke.h +3 −0
  2177. arch/powerpc/include/asm/rtas.h +4 −2
  2178. arch/powerpc/include/asm/smp.h +1 −0
  2179. arch/powerpc/include/asm/sparsemem.h +1 −1
  2180. arch/powerpc/include/asm/spu.h +1 −0
  2181. arch/powerpc/include/asm/systbl.h +2 −0
  2182. arch/powerpc/include/asm/topology.h +5 −9
  2183. arch/powerpc/include/asm/udbg.h +4 −0
  2184. arch/powerpc/include/asm/unistd.h +3 −1
  2185. arch/powerpc/include/asm/xics.h +21 −2
  2186. arch/powerpc/kernel/asm-offsets.c +17 −6
  2187. arch/powerpc/kernel/btext.c +1 −1
  2188. arch/powerpc/kernel/clock.c +1 −1
  2189. arch/powerpc/kernel/cputable.c +1 −1
  2190. arch/powerpc/kernel/crash.c +1 −0
  2191. arch/powerpc/kernel/dma-iommu.c +22 −7
  2192. arch/powerpc/kernel/dma-swiotlb.c +16 −0
  2193. arch/powerpc/kernel/dma.c +38 −7
  2194. arch/powerpc/kernel/exceptions-64s.S +26 −17
  2195. arch/powerpc/kernel/firmware.c +2 −1
  2196. arch/powerpc/kernel/head_32.S +3 −4
  2197. arch/powerpc/kernel/head_40x.S +3 −12
  2198. arch/powerpc/kernel/head_44x.S +3 −13
  2199. arch/powerpc/kernel/head_64.S +19 −3
  2200. arch/powerpc/kernel/head_8xx.S +3 −10
  2201. arch/powerpc/kernel/head_fsl_booke.S +140 −35
  2202. arch/powerpc/kernel/hw_breakpoint.c +0 −1
  2203. arch/powerpc/kernel/ibmebus.c +16 −8
  2204. arch/powerpc/kernel/idle_e500.S +1 −1
  2205. arch/powerpc/kernel/init_task.c +1 −1
  2206. arch/powerpc/kernel/io-workarounds.c +1 −0
  2207. arch/powerpc/kernel/io.c +1 −1
  2208. arch/powerpc/kernel/iomap.c +1 −0
  2209. arch/powerpc/kernel/iommu.c +8 −0
  2210. arch/powerpc/kernel/irq.c +1 −1
  2211. arch/powerpc/kernel/isa-bridge.c +1 −0
  2212. arch/powerpc/kernel/kvm.c +1 −0
  2213. arch/powerpc/kernel/legacy_serial.c +25 −0
  2214. arch/powerpc/kernel/machine_kexec_64.c +1 −2
  2215. arch/powerpc/kernel/misc_32.S +171 −0
  2216. arch/powerpc/kernel/module.c +0 −1
  2217. arch/powerpc/kernel/of_platform.c +1 −1
  2218. arch/powerpc/kernel/paca.c +1 −1
  2219. arch/powerpc/kernel/pci-common.c +12 −0
  2220. arch/powerpc/kernel/pci_32.c +1 −0
  2221. arch/powerpc/kernel/pci_64.c +1 −0
  2222. arch/powerpc/kernel/pci_dn.c +1 −0
  2223. arch/powerpc/kernel/pci_of_scan.c +1 −0
  2224. arch/powerpc/kernel/pmc.c +1 −1
  2225. arch/powerpc/kernel/power6-pmu.c +2 −2
  2226. arch/powerpc/kernel/power7-pmu.c +2 −0
  2227. arch/powerpc/kernel/ppc_ksyms.c +1 −1
  2228. arch/powerpc/kernel/process.c +1 −1
  2229. arch/powerpc/kernel/prom.c +19 −2
  2230. arch/powerpc/kernel/prom_init.c +350 −33
  2231. arch/powerpc/kernel/prom_init_check.sh +3 −1
  2232. arch/powerpc/kernel/prom_parse.c +0 −1
  2233. arch/powerpc/kernel/ptrace.c +14 −7
  2234. arch/powerpc/kernel/rtas.c +1 −1
  2235. arch/powerpc/kernel/setup-common.c +1 −1
  2236. arch/powerpc/kernel/setup_32.c +1 −1
  2237. arch/powerpc/kernel/setup_64.c +15 −9
  2238. arch/powerpc/kernel/signal_64.c +0 −1
  2239. arch/powerpc/kernel/smp.c +27 −7
  2240. arch/powerpc/kernel/stacktrace.c +1 −1
  2241. arch/powerpc/kernel/swsusp.c +1 −1
  2242. arch/powerpc/kernel/swsusp_64.c +1 −0
  2243. arch/powerpc/kernel/sysfs.c +1 −1
  2244. arch/powerpc/kernel/time.c +1 −1
  2245. arch/powerpc/kernel/traps.c +8 −1
  2246. arch/powerpc/kernel/udbg.c +8 −0
  2247. arch/powerpc/kernel/vdso.c +0 −1
  2248. arch/powerpc/kernel/vio.c +15 −9
  2249. arch/powerpc/kvm/44x.c +3 −0
  2250. arch/powerpc/kvm/Makefile +4 −0
  2251. arch/powerpc/kvm/book3s.c +1 −0
  2252. arch/powerpc/kvm/book3s_32_sr.S +1 −1
  2253. arch/powerpc/kvm/book3s_64_mmu.c +7 −1
  2254. arch/powerpc/kvm/book3s_64_slb.S +1 −1
  2255. arch/powerpc/kvm/book3s_emulate.c +29 −0
  2256. arch/powerpc/kvm/book3s_exports.c +2 −4
  2257. arch/powerpc/kvm/book3s_hv.c +197 −147
  2258. arch/powerpc/kvm/book3s_hv_builtin.c +1 −0
  2259. arch/powerpc/kvm/book3s_hv_rm_mmu.c +0 −33
  2260. arch/powerpc/kvm/book3s_hv_rmhandlers.S +266 −34
  2261. arch/powerpc/kvm/book3s_interrupts.S +5 −124
  2262. arch/powerpc/kvm/book3s_pr.c +44 −15
  2263. arch/powerpc/kvm/book3s_pr_papr.c +158 −0
  2264. arch/powerpc/kvm/book3s_rmhandlers.S +20 −34
  2265. arch/powerpc/kvm/book3s_segment.S +97 −20
  2266. arch/powerpc/kvm/booke.c +9 −1
  2267. arch/powerpc/kvm/e500.c +2 −0
  2268. arch/powerpc/kvm/powerpc.c +44 −12
  2269. arch/powerpc/lib/checksum_wrappers_64.c +1 −1
  2270. arch/powerpc/lib/devres.c +1 −1
  2271. arch/powerpc/lib/locks.c +1 −1
  2272. arch/powerpc/lib/rheap.c +1 −1
  2273. arch/powerpc/math-emu/math_efp.c +48 −52
  2274. arch/powerpc/mm/Makefile +1 −0
  2275. arch/powerpc/mm/dma-noncoherent.c +1 −0
  2276. arch/powerpc/mm/fsl_booke_mmu.c +25 −18
  2277. arch/powerpc/mm/gup.c +0 −12
  2278. arch/powerpc/mm/hash_utils_64.c +4 −6
  2279. arch/powerpc/mm/hugetlbpage-book3e.c +121 −0
  2280. arch/powerpc/mm/hugetlbpage.c +353 −47
  2281. arch/powerpc/mm/init_32.c +9 −0
  2282. arch/powerpc/mm/mem.c +38 −2
  2283. arch/powerpc/mm/mmu_context_hash32.c +1 −0
  2284. arch/powerpc/mm/mmu_context_hash64.c +7 −7
  2285. arch/powerpc/mm/mmu_context_nohash.c +5 −0
  2286. arch/powerpc/mm/mmu_decl.h +2 −0
  2287. arch/powerpc/mm/numa.c +29 −17
  2288. arch/powerpc/mm/pgtable.c +2 −1
  2289. arch/powerpc/mm/pgtable_64.c +1 −0
  2290. arch/powerpc/mm/slice.c +1 −1
  2291. arch/powerpc/mm/tlb_hash32.c +1 −0
  2292. arch/powerpc/mm/tlb_low_64e.S +12 −12
  2293. arch/powerpc/mm/tlb_nohash.c +63 −5
  2294. arch/powerpc/platforms/40x/Kconfig +6 −19
  2295. arch/powerpc/platforms/40x/Makefile +0 −1
  2296. arch/powerpc/platforms/40x/hcu4.c +0 −61
  2297. arch/powerpc/platforms/44x/Kconfig +27 −27
  2298. arch/powerpc/platforms/44x/warp.c +1 −0
  2299. arch/powerpc/platforms/512x/Kconfig +1 −0
  2300. arch/powerpc/platforms/512x/clock.c +1 −0
  2301. arch/powerpc/platforms/512x/mpc512x_shared.c +10 −14
  2302. arch/powerpc/platforms/52xx/mpc5200_simple.c +1 −0
  2303. arch/powerpc/platforms/52xx/mpc52xx_common.c +1 −0
  2304. arch/powerpc/platforms/52xx/mpc52xx_gpt.c +1 −0
  2305. arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +1 −0
  2306. arch/powerpc/platforms/82xx/km82xx.c +4 −0
  2307. arch/powerpc/platforms/83xx/Kconfig +6 −3
  2308. arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c +57 −1
  2309. arch/powerpc/platforms/83xx/suspend.c +1 −0
  2310. arch/powerpc/platforms/85xx/Kconfig +23 −7
  2311. arch/powerpc/platforms/85xx/Makefile +2 −1
  2312. arch/powerpc/platforms/85xx/mpc85xx_cds.c +0 −1
  2313. arch/powerpc/platforms/85xx/mpc85xx_mds.c +0 −1
  2314. arch/powerpc/platforms/85xx/p1022_ds.c +29 −29
  2315. arch/powerpc/platforms/85xx/p2041_rdb.c +9 −9
  2316. arch/powerpc/platforms/85xx/p3060_qds.c +77 −0
  2317. arch/powerpc/platforms/85xx/sbc8548.c +0 −1
  2318. arch/powerpc/platforms/85xx/sbc8560.c +1 −1
  2319. arch/powerpc/platforms/85xx/smp.c +7 −5
  2320. arch/powerpc/platforms/86xx/Kconfig +1 −0
  2321. arch/powerpc/platforms/86xx/gef_gpio.c +1 −0
  2322. arch/powerpc/platforms/86xx/mpc8610_hpcd.c +25 −30
  2323. arch/powerpc/platforms/8xx/tqm8xx_setup.c +0 −1
  2324. arch/powerpc/platforms/Kconfig +2 −11
  2325. arch/powerpc/platforms/Kconfig.cputype +3 −9
  2326. arch/powerpc/platforms/Makefile +1 −0
  2327. arch/powerpc/platforms/cell/Kconfig +4 −4
  2328. arch/powerpc/platforms/cell/axon_msi.c +1 −0
  2329. arch/powerpc/platforms/cell/beat.c +2 −2
  2330. arch/powerpc/platforms/cell/beat_spu_priv1.c +0 −2
  2331. arch/powerpc/platforms/cell/beat_wrapper.h +1 −0
  2332. arch/powerpc/platforms/cell/cbe_cpufreq.c +1 −0
  2333. arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c +1 −0
  2334. arch/powerpc/platforms/cell/cbe_powerbutton.c +1 −0
  2335. arch/powerpc/platforms/cell/cbe_regs.c +1 −1
  2336. arch/powerpc/platforms/cell/celleb_scc_pciex.c +1 −1
  2337. arch/powerpc/platforms/cell/celleb_setup.c +1 −0
  2338. arch/powerpc/platforms/cell/cpufreq_spudemand.c +1 −0
  2339. arch/powerpc/platforms/cell/interrupt.c +1 −1
  2340. arch/powerpc/platforms/cell/iommu.c +22 −2
  2341. arch/powerpc/platforms/cell/pmu.c +2 −1
  2342. arch/powerpc/platforms/cell/qpace_setup.c +1 −0
  2343. arch/powerpc/platforms/cell/setup.c +1 −0
  2344. arch/powerpc/platforms/cell/smp.c +0 −1
  2345. arch/powerpc/platforms/cell/spu_base.c +3 −6
  2346. arch/powerpc/platforms/cell/spu_callbacks.c +1 −1
  2347. arch/powerpc/platforms/cell/spu_fault.c +1 −1
  2348. arch/powerpc/platforms/cell/spu_manage.c +1 −1
  2349. arch/powerpc/platforms/cell/spu_notify.c +2 −1
  2350. arch/powerpc/platforms/cell/spu_priv1_mmio.c +0 −1
  2351. arch/powerpc/platforms/cell/spufs/backing_ops.c +0 −1
  2352. arch/powerpc/platforms/cell/spufs/context.c +1 −1
  2353. arch/powerpc/platforms/cell/spufs/coredump.c +0 −1
  2354. arch/powerpc/platforms/cell/spufs/fault.c +0 −1
  2355. arch/powerpc/platforms/cell/spufs/file.c +1 −1
  2356. arch/powerpc/platforms/cell/spufs/hw_ops.c +0 −1
  2357. arch/powerpc/platforms/cell/spufs/sched.c +0 −1
  2358. arch/powerpc/platforms/cell/spufs/switch.c +1 −1
  2359. arch/powerpc/platforms/cell/spufs/syscalls.c +1 −1
  2360. arch/powerpc/platforms/embedded6xx/Kconfig +0 −4
  2361. arch/powerpc/platforms/embedded6xx/holly.c +1 −0
  2362. arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +1 −0
  2363. arch/powerpc/platforms/iseries/hvlpconfig.c +1 −1
  2364. arch/powerpc/platforms/iseries/iommu.c +1 −1
  2365. arch/powerpc/platforms/iseries/ksyms.c +1 −1
  2366. arch/powerpc/platforms/iseries/lpardata.c +0 −1
  2367. arch/powerpc/platforms/iseries/lpevents.c +1 −1
  2368. arch/powerpc/platforms/iseries/mf.c +1 −0
  2369. arch/powerpc/platforms/iseries/pci.c +0 −1
  2370. arch/powerpc/platforms/iseries/setup.c +1 −0
  2371. arch/powerpc/platforms/iseries/smp.c +0 −1
  2372. arch/powerpc/platforms/iseries/vio.c +1 −1
  2373. arch/powerpc/platforms/iseries/viopath.c +1 −1
  2374. arch/powerpc/platforms/maple/setup.c +1 −0
  2375. arch/powerpc/platforms/pasemi/cpufreq.c +1 −0
  2376. arch/powerpc/platforms/pasemi/dma_lib.c +2 −1
  2377. arch/powerpc/platforms/pasemi/setup.c +1 −0
  2378. arch/powerpc/platforms/powermac/backlight.c +1 −0
  2379. arch/powerpc/platforms/powermac/feature.c +1 −0
  2380. arch/powerpc/platforms/powermac/low_i2c.c +1 −1
  2381. arch/powerpc/platforms/powermac/nvram.c +1 −1
  2382. arch/powerpc/platforms/powermac/pic.c +0 −2
  2383. arch/powerpc/platforms/powermac/setup.c +1 −0
  2384. arch/powerpc/platforms/powermac/smp.c +2 −2
  2385. arch/powerpc/platforms/powernv/Kconfig +16 −0
  2386. arch/powerpc/platforms/powernv/Makefile +5 −0
  2387. arch/powerpc/platforms/powernv/opal-nvram.c +88 −0
  2388. arch/powerpc/platforms/powernv/opal-rtc.c +97 −0
  2389. arch/powerpc/platforms/powernv/opal-takeover.S +140 −0
  2390. arch/powerpc/platforms/powernv/opal-wrappers.S +101 −0
  2391. arch/powerpc/platforms/powernv/opal.c +322 −0
  2392. arch/powerpc/platforms/powernv/pci-p5ioc2.c +234 −0
  2393. arch/powerpc/platforms/powernv/pci.c +427 −0
  2394. arch/powerpc/platforms/powernv/pci.h +48 −0
  2395. arch/powerpc/platforms/powernv/powernv.h +16 −0
  2396. arch/powerpc/platforms/powernv/setup.c +196 −0
  2397. arch/powerpc/platforms/powernv/smp.c +182 −0
  2398. arch/powerpc/platforms/prep/Kconfig +0 −9
  2399. arch/powerpc/platforms/ps3/Kconfig +12 −0
  2400. arch/powerpc/platforms/ps3/Makefile +1 −0
  2401. arch/powerpc/platforms/ps3/device-init.c +1 −1
  2402. arch/powerpc/platforms/ps3/exports.c +0 −2
  2403. arch/powerpc/platforms/ps3/gelic_udbg.c +273 −0
  2404. arch/powerpc/platforms/ps3/interrupt.c +1 −1
  2405. arch/powerpc/platforms/ps3/mm.c +1 −1
  2406. arch/powerpc/platforms/ps3/os-area.c +1 −0
  2407. arch/powerpc/platforms/ps3/repository.c +16 −16
  2408. arch/powerpc/platforms/ps3/setup.c +1 −0
  2409. arch/powerpc/platforms/ps3/spu.c +1 −0
  2410. arch/powerpc/platforms/ps3/system-bus.c +8 −1
  2411. arch/powerpc/platforms/pseries/Kconfig +1 −0
  2412. arch/powerpc/platforms/pseries/dlpar.c +4 −0
  2413. arch/powerpc/platforms/pseries/eeh.c +3 −1
  2414. arch/powerpc/platforms/pseries/eeh_event.c +1 −0
  2415. arch/powerpc/platforms/pseries/eeh_sysfs.c +1 −0
  2416. arch/powerpc/platforms/pseries/hotplug-cpu.c +1 −0
  2417. arch/powerpc/platforms/pseries/hvconsole.c +2 −1
  2418. arch/powerpc/platforms/pseries/io_event_irq.c +1 −1
  2419. arch/powerpc/platforms/pseries/iommu.c +33 −2
  2420. arch/powerpc/platforms/pseries/lpar.c +1 −0
  2421. arch/powerpc/platforms/pseries/mobility.c +1 −0
  2422. arch/powerpc/platforms/pseries/nvram.c +164 −7
  2423. arch/powerpc/platforms/pseries/pci_dlpar.c +1 −0
  2424. arch/powerpc/platforms/pseries/plpar_wrappers.h +3 −0
  2425. arch/powerpc/platforms/pseries/setup.c +1 −1
  2426. arch/powerpc/platforms/pseries/smp.c +0 −1
  2427. arch/powerpc/platforms/pseries/suspend.c +1 −0
  2428. arch/powerpc/platforms/wsp/Kconfig +7 −9
  2429. arch/powerpc/platforms/wsp/Makefile +2 −0
  2430. arch/powerpc/platforms/wsp/ics.c +48 −0
  2431. arch/powerpc/platforms/wsp/ics.h +5 −0
  2432. arch/powerpc/platforms/wsp/msi.c +102 −0
  2433. arch/powerpc/platforms/wsp/msi.h +19 −0
  2434. arch/powerpc/platforms/wsp/psr2.c +4 −0
  2435. arch/powerpc/platforms/wsp/wsp.h +3 −0
  2436. arch/powerpc/platforms/wsp/wsp_pci.c +1133 −0
  2437. arch/powerpc/platforms/wsp/wsp_pci.h +268 −0
  2438. arch/powerpc/sysdev/Makefile +0 −1
  2439. arch/powerpc/sysdev/axonram.c +2 −6
  2440. arch/powerpc/sysdev/bestcomm/sram.c +1 −1
  2441. arch/powerpc/sysdev/cpm_common.c +3 −1
  2442. arch/powerpc/sysdev/dcr.c +1 −0
  2443. arch/powerpc/sysdev/fsl_gtm.c +1 −0
  2444. arch/powerpc/sysdev/fsl_lbc.c +2 −1
  2445. arch/powerpc/sysdev/fsl_msi.c +19 −9
  2446. arch/powerpc/sysdev/fsl_msi.h +1 −2
  2447. arch/powerpc/sysdev/fsl_pmc.c +1 −0
  2448. arch/powerpc/sysdev/fsl_rio.c +2 −1
  2449. arch/powerpc/sysdev/fsl_soc.c +1 −1
  2450. arch/powerpc/sysdev/fsl_soc.h +17 −8
  2451. arch/powerpc/sysdev/mpc5xxx_clocks.c +1 −0
  2452. arch/powerpc/sysdev/mpc8xx_pic.c +0 −1
  2453. arch/powerpc/sysdev/mpic.c +25 −11
  2454. arch/powerpc/sysdev/mv64x60_pci.c +1 −0
  2455. arch/powerpc/sysdev/pmi.c +1 −0
  2456. arch/powerpc/sysdev/ppc4xx_msi.c +1 −0
  2457. arch/powerpc/sysdev/ppc4xx_pci.c +78 −23
  2458. arch/powerpc/sysdev/ppc4xx_pci.h +12 −0
  2459. arch/powerpc/sysdev/ppc4xx_soc.c +1 −1
  2460. arch/powerpc/sysdev/qe_lib/gpio.c +1 −0
  2461. arch/powerpc/sysdev/qe_lib/ucc.c +1 −1
  2462. arch/powerpc/sysdev/qe_lib/ucc_fast.c +1 −1
  2463. arch/powerpc/sysdev/qe_lib/ucc_slow.c +1 −1
  2464. arch/powerpc/sysdev/qe_lib/usb.c +1 −0
  2465. arch/powerpc/sysdev/rtc_cmos_setup.c +1 −0
  2466. arch/powerpc/sysdev/scom.c +1 −0
  2467. arch/powerpc/sysdev/simple_gpio.c +0 −1
  2468. arch/powerpc/sysdev/tsi108_dev.c +1 −1
  2469. arch/powerpc/sysdev/uic.c +12 −12
  2470. arch/powerpc/sysdev/xics/Makefile +1 −0
  2471. arch/powerpc/sysdev/xics/icp-native.c +1 −1
  2472. arch/powerpc/sysdev/xics/ics-opal.c +244 −0
  2473. arch/powerpc/sysdev/xics/xics-common.c +4 −9
  2474. arch/powerpc/xmon/xmon.c +3 −3
  2475. arch/s390/Kconfig +11 −0
  2476. arch/s390/boot/compressed/misc.c +1 −1
  2477. arch/s390/crypto/sha_common.c +1 −0
  2478. arch/s390/defconfig +1 −1
  2479. arch/s390/hypfs/inode.c +2 −4
  2480. arch/s390/include/asm/ccwdev.h +3 −0
  2481. arch/s390/include/asm/compat.h +8 −8
  2482. arch/s390/include/asm/ipl.h +1 −0
  2483. arch/s390/include/asm/irq.h +4 −2
  2484. arch/s390/include/asm/kexec.h +6 −0
  2485. arch/s390/include/asm/kvm_host.h +8 −0
  2486. arch/s390/include/asm/lowcore.h +3 −7
  2487. arch/s390/include/asm/page.h +1 −0
  2488. arch/s390/include/asm/pgtable.h +2 −0
  2489. arch/s390/include/asm/processor.h +30 −18
  2490. arch/s390/include/asm/ptrace.h +13 −16
  2491. arch/s390/include/asm/qdio.h +80 −3
  2492. arch/s390/include/asm/reset.h +1 −1
  2493. arch/s390/include/asm/setup.h +13 −0
  2494. arch/s390/include/asm/sfp-util.h +1 −1
  2495. arch/s390/include/asm/smp.h +5 −0
  2496. arch/s390/include/asm/spinlock.h +2 −0
  2497. arch/s390/include/asm/syscall.h +4 −2
  2498. arch/s390/include/asm/system.h +8 −2
  2499. arch/s390/include/asm/thread_info.h +4 −3
  2500. arch/s390/include/asm/timex.h +11 −0
  2501. arch/s390/include/asm/tlbflush.h +1 −0
  2502. arch/s390/kernel/Makefile +1 −0
  2503. arch/s390/kernel/asm-offsets.c +1 −3
  2504. arch/s390/kernel/base.S +6 −0
  2505. arch/s390/kernel/compat_linux.c +8 −24
  2506. arch/s390/kernel/compat_signal.c +28 −43
  2507. arch/s390/kernel/compat_wrapper.S +1 −2
  2508. arch/s390/kernel/crash_dump.c +426 −0
  2509. arch/s390/kernel/early.c +1 −1
  2510. arch/s390/kernel/entry.S +34 −50
  2511. arch/s390/kernel/entry.h +11 −2
  2512. arch/s390/kernel/entry64.S +36 −50
  2513. arch/s390/kernel/head.S +22 −0
  2514. arch/s390/kernel/head31.S +1 −1
  2515. arch/s390/kernel/head64.S +1 −1
  2516. arch/s390/kernel/head_kdump.S +119 −0
  2517. arch/s390/kernel/ipl.c +18 −8
  2518. arch/s390/kernel/irq.c +4 −2
  2519. arch/s390/kernel/jump_label.c +31 −20
  2520. arch/s390/kernel/kprobes.c +1 −1
  2521. arch/s390/kernel/machine_kexec.c +186 −6
  2522. arch/s390/kernel/mem_detect.c +69 −0
  2523. arch/s390/kernel/process.c +3 −1
  2524. arch/s390/kernel/processor.c +1 −1
  2525. arch/s390/kernel/ptrace.c +85 −39
  2526. arch/s390/kernel/reipl.S +6 −0
  2527. arch/s390/kernel/reipl64.S +6 −3
  2528. arch/s390/kernel/setup.c +244 −31
  2529. arch/s390/kernel/signal.c +70 −58
  2530. arch/s390/kernel/smp.c +64 −9
  2531. arch/s390/kernel/suspend.c +119 −0
  2532. arch/s390/kernel/swsusp_asm64.S +3 −0
  2533. arch/s390/kernel/sysinfo.c +1 −1
  2534. arch/s390/kernel/time.c +10 −4
  2535. arch/s390/kernel/topology.c +2 −2
  2536. arch/s390/kernel/traps.c +3 −2
  2537. arch/s390/kernel/vtime.c +7 −4
  2538. arch/s390/kvm/diag.c +31 −1
  2539. arch/s390/kvm/interrupt.c +30 −0
  2540. arch/s390/kvm/kvm-s390.c +17 −4
  2541. arch/s390/kvm/sigp.c +44 −1
  2542. arch/s390/lib/delay.c +2 −1
  2543. arch/s390/lib/uaccess_pt.c +4 −2
  2544. arch/s390/mm/fault.c +3 −3
  2545. arch/s390/mm/gup.c +13 −1
  2546. arch/s390/mm/init.c +1 −0
  2547. arch/s390/mm/maccess.c +56 −0
  2548. arch/s390/mm/mmap.c +1 −0
  2549. arch/s390/mm/pageattr.c +1 −0
  2550. arch/s390/mm/pgtable.c +77 −6
  2551. arch/s390/mm/vmem.c +6 −0
  2552. arch/s390/oprofile/hwsampler.c +4 −4
  2553. arch/score/Kconfig +0 −19
  2554. arch/sh/Kconfig +12 −5
  2555. arch/sh/Makefile +1 −0
  2556. arch/sh/boards/board-espt.c +1 −1
  2557. arch/sh/boards/board-secureedge5410.c +1 −2
  2558. arch/sh/boards/board-sh7757lcr.c +1 −1
  2559. arch/sh/boards/mach-ap325rxa/setup.c +5 −5
  2560. arch/sh/boards/mach-cayman/irq.c +0 −2
  2561. arch/sh/boards/mach-ecovec24/setup.c +5 −1
  2562. arch/sh/boards/mach-hp6xx/hp6xx_apm.c +1 −1
  2563. arch/sh/boards/mach-migor/setup.c +1 −3
  2564. arch/sh/boards/mach-se/7724/setup.c +1 −1
  2565. arch/sh/boards/mach-sh7763rdp/setup.c +1 −1
  2566. arch/sh/boot/Makefile +4 −2
  2567. arch/sh/drivers/dma/dma-g2.c +1 −1
  2568. arch/sh/drivers/dma/dma-pvr2.c +0 −1
  2569. arch/sh/drivers/dma/dma-sh.c +2 −2
  2570. arch/sh/drivers/dma/dma-sysfs.c +1 −0
  2571. arch/sh/drivers/dma/dmabrg.c +3 −3
  2572. arch/sh/drivers/pci/pci-sh5.c +2 −2
  2573. arch/sh/drivers/pci/pci-sh7780.c +1 −1
  2574. arch/sh/drivers/pci/pci.c +1 −0
  2575. arch/sh/drivers/push-switch.c +1 −1
  2576. arch/sh/include/asm/page.h +10 −0
  2577. arch/sh/kernel/cpu/sh4a/clock-sh7757.c +9 −1
  2578. arch/sh/kernel/cpu/sh4a/smp-shx3.c +1 −1
  2579. arch/sh/kernel/cpu/shmobile/cpuidle.c +18 −11
  2580. arch/sh/kernel/perf_event.c +1 −0
  2581. arch/sh/kernel/setup.c +6 −3
  2582. arch/sh/kernel/topology.c +2 −0
  2583. arch/sh/kernel/vmlinux.lds.S +1 −1
  2584. arch/sh/mm/init.c +5 −4
  2585. arch/sparc/Kconfig +1 −6
  2586. arch/sparc/include/asm/compat.h +2 −1
  2587. arch/sparc/include/asm/termios.h +0 −1
  2588. arch/sparc/include/asm/unistd.h +3 −1
  2589. arch/sparc/kernel/apc.c +1 −0
  2590. arch/sparc/kernel/auxio_32.c +1 −0
  2591. arch/sparc/kernel/btext.c +0 −1
  2592. arch/sparc/kernel/central.c +1 −0
  2593. arch/sparc/kernel/cpu.c +1 −1
  2594. arch/sparc/kernel/cpumap.c +1 −1
  2595. arch/sparc/kernel/dma.c +0 −1
  2596. arch/sparc/kernel/ebus.c +1 −1
  2597. arch/sparc/kernel/hvapi.c +1 −1
  2598. arch/sparc/kernel/idprom.c +1 −1
  2599. arch/sparc/kernel/iommu.c +1 −1
  2600. arch/sparc/kernel/irq_32.c +1 −0
  2601. arch/sparc/kernel/irq_64.c +0 −1
  2602. arch/sparc/kernel/jump_label.c +0 −8
  2603. arch/sparc/kernel/ldc.c +1 −1
  2604. arch/sparc/kernel/leon_kernel.c +0 −1
  2605. arch/sparc/kernel/leon_pci.c +1 −0
  2606. arch/sparc/kernel/leon_pci_grpci2.c +1 −1
  2607. arch/sparc/kernel/mdesc.c +2 −0
  2608. arch/sparc/kernel/nmi.c +1 −1
  2609. arch/sparc/kernel/of_device_32.c +0 −1
  2610. arch/sparc/kernel/of_device_64.c +2 −1
  2611. arch/sparc/kernel/of_device_common.c +1 −1
  2612. arch/sparc/kernel/pci.c +1 −1
  2613. arch/sparc/kernel/pci_fire.c +1 −0
  2614. arch/sparc/kernel/pci_psycho.c +1 −0
  2615. arch/sparc/kernel/pci_sabre.c +1 −0
  2616. arch/sparc/kernel/pci_schizo.c +1 −0
  2617. arch/sparc/kernel/pci_sun4v.c +1 −0
  2618. arch/sparc/kernel/pcic.c +1 −0
  2619. arch/sparc/kernel/pcr.c +2 −1
  2620. arch/sparc/kernel/pmc.c +1 −0
  2621. arch/sparc/kernel/power.c +1 −1
  2622. arch/sparc/kernel/process_64.c +1 −1
  2623. arch/sparc/kernel/prom_32.c +0 −1
  2624. arch/sparc/kernel/prom_64.c +0 −1
  2625. arch/sparc/kernel/prom_common.c +1 −1
  2626. arch/sparc/kernel/reboot.c +1 −1
  2627. arch/sparc/kernel/sbus.c +1 −0
  2628. arch/sparc/kernel/setup_32.c +1 −0
  2629. arch/sparc/kernel/smp_64.c +1 −1
  2630. arch/sparc/kernel/sparc_ksyms_64.c +1 −1
  2631. arch/sparc/kernel/stacktrace.c +1 −1
  2632. arch/sparc/kernel/sys_sparc32.c +0 −1
  2633. arch/sparc/kernel/sys_sparc_64.c +1 −1
  2634. arch/sparc/kernel/systbls_32.S +1 −1
  2635. arch/sparc/kernel/systbls_64.S +2 −2
  2636. arch/sparc/kernel/time_64.c +1 −1
  2637. arch/sparc/kernel/traps_32.c +1 −0
  2638. arch/sparc/kernel/unaligned_32.c +0 −1
  2639. arch/sparc/kernel/vio.c +1 −0
  2640. arch/sparc/kernel/viohs.c +1 −1
  2641. arch/sparc/kernel/visemul.c +16 −16
  2642. arch/sparc/lib/memcpy.S +99 −705
  2643. arch/sparc/mm/fault_32.c +0 −1
  2644. arch/sparc/mm/generic_32.c +1 −0
  2645. arch/sparc/mm/generic_64.c +1 −0
  2646. arch/sparc/mm/gup.c +2 −0
  2647. arch/sparc/mm/highmem.c +1 −0
  2648. arch/sparc/mm/hugetlbpage.c +0 −1
  2649. arch/tile/Kconfig +0 −3
  2650. arch/tile/configs/tilegx_defconfig +0 −1
  2651. arch/tile/configs/tilepro_defconfig +0 −1
  2652. arch/tile/include/arch/Kbuild +17 −0
  2653. arch/tile/include/arch/abi.h +72 −27
  2654. arch/tile/include/arch/opcode.h +6 −11
  2655. arch/tile/include/arch/opcode_tilegx.h +801 −5
  2656. arch/tile/include/arch/opcode_tilepro.h +1471 −0
  2657. arch/tile/include/asm/Kbuild +2 −0
  2658. arch/tile/include/asm/opcode-tile_32.h +0 −1513
  2659. arch/tile/include/asm/opcode-tile_64.h +0 −1248
  2660. arch/tile/include/asm/opcode_constants_32.h +0 −480
  2661. arch/tile/include/asm/sigcontext.h +10 −8
  2662. arch/tile/include/asm/tile-desc.h +4 −15
  2663. arch/tile/include/asm/tile-desc_32.h +553 −0
  2664. arch/tile/include/asm/tile-desc_64.h +483 −0
  2665. arch/tile/kernel/backtrace.c +14 −5
  2666. arch/tile/kernel/module.c +1 −1
  2667. arch/tile/kernel/single_step.c +4 −5
  2668. arch/tile/kernel/tile-desc_32.c +1174 −1068
  2669. arch/tile/kernel/tile-desc_64.c +23 −5
  2670. arch/tile/kernel/traps.c +2 −3
  2671. arch/tile/lib/exports.c +0 −2
  2672. arch/um/Kconfig.char +1 −113
  2673. arch/um/Kconfig.rest +1 −22
  2674. arch/um/Kconfig.um +6 −0
  2675. arch/um/Makefile +26 −23
  2676. arch/um/Makefile-x86_64 +0 −26
  2677. arch/um/defconfig +0 −1
  2678. arch/um/drivers/chan.h +3 −3
  2679. arch/um/drivers/chan_kern.c +6 −6
  2680. arch/um/drivers/chan_user.c +6 −3
  2681. arch/um/drivers/chan_user.h +0 −0
  2682. arch/um/drivers/cow_sys.h +0 −1
  2683. arch/um/drivers/daemon_user.c +0 −1
  2684. arch/um/drivers/fd.c +0 −2
  2685. arch/um/drivers/harddog_user.c +0 −1
  2686. arch/um/drivers/line.c +1 −1
  2687. arch/um/drivers/line.h +0 −0
  2688. arch/um/drivers/mconsole.h +0 −0
  2689. arch/um/drivers/mconsole_kern.h +0 −0
  2690. arch/um/drivers/mconsole_user.c +0 −2
  2691. arch/um/drivers/net_kern.c +1 −1
  2692. arch/um/drivers/net_user.c +0 −2
  2693. arch/um/drivers/pcap_user.c +0 −2
  2694. arch/um/drivers/port_user.c +0 −2
  2695. arch/um/drivers/pty.c +0 −2
  2696. arch/um/drivers/slip_user.c +0 −2
  2697. arch/um/drivers/slirp_user.c +0 −2
  2698. arch/um/drivers/ssl.c +1 −3
  2699. arch/um/drivers/stdio_console.c +1 −2
  2700. arch/um/drivers/tty.c +0 −2
  2701. arch/um/drivers/ubd_kern.c +30 −3
  2702. arch/um/drivers/ubd_user.c +0 −1
  2703. arch/um/drivers/ubd_user.h +0 −0
  2704. arch/um/drivers/umcast_user.c +0 −2
  2705. arch/um/drivers/vde_user.c +0 −2
  2706. arch/um/drivers/xterm.c +0 −2
  2707. arch/um/include/asm/Kbuild +3 −0
  2708. arch/um/include/asm/bug.h +0 −6
  2709. arch/um/include/asm/checksum.h +0 −6
  2710. arch/um/include/asm/cputime.h +0 −6
  2711. arch/um/include/asm/device.h +0 −7
  2712. arch/um/include/asm/emergency-restart.h +0 −6
  2713. arch/um/include/asm/futex.h +0 −6
  2714. arch/um/include/asm/hardirq.h +0 −1
  2715. arch/um/include/asm/hw_irq.h +0 −7
  2716. arch/um/include/asm/irq_regs.h +0 −1
  2717. arch/um/include/asm/irqflags.h +37 −1
  2718. arch/um/include/asm/kdebug.h +0 −1
  2719. arch/um/include/asm/mmu.h +17 −5
  2720. arch/um/include/asm/mmu_context.h +2 −5
  2721. arch/um/include/asm/page.h +1 −1
  2722. arch/um/include/asm/page_offset.h +0 −1
  2723. arch/um/include/asm/pda.h +0 −21
  2724. arch/um/include/asm/percpu.h +0 −6
  2725. arch/um/include/asm/ptrace-generic.h +0 −7
  2726. arch/um/include/asm/sections.h +0 −7
  2727. arch/um/include/asm/system.h +0 −47
  2728. arch/um/include/asm/topology.h +0 −6
  2729. arch/um/include/asm/uaccess.h +84 −5
  2730. arch/um/include/asm/xor.h +0 −6
  2731. arch/um/include/shared/as-layout.h +1 −1
  2732. arch/um/include/shared/common-offsets.h +0 −1
  2733. arch/um/include/shared/initrd.h +0 −12
  2734. arch/um/include/shared/kern.h +0 −18
  2735. arch/um/include/shared/kern_util.h +0 −1
  2736. arch/um/include/shared/ldt.h +0 −37
  2737. arch/um/include/shared/mem_kern.h +0 −20
  2738. arch/um/include/shared/os.h +1 −12
  2739. arch/um/include/shared/process.h +0 −17
  2740. arch/um/include/shared/ptrace_user.h +2 −1
  2741. arch/um/include/shared/skas_ptregs.h +0 −6
  2742. arch/um/include/shared/syscall.h +0 −12
  2743. arch/um/include/shared/task.h +0 −9
  2744. arch/um/include/shared/tlb.h +0 −15
  2745. arch/um/include/shared/um_malloc.h +1 −1
  2746. arch/um/include/shared/um_mmu.h +0 −24
  2747. arch/um/include/shared/um_uaccess.h +0 −97
  2748. arch/um/include/shared/user.h +4 −3
  2749. arch/um/kernel/Makefile +1 −1
  2750. arch/um/kernel/exec.c +10 −8
  2751. arch/um/kernel/gmon_syms.c +0 −15
  2752. arch/um/kernel/initrd.c +2 −2
  2753. arch/um/kernel/irq.c +1 −0
  2754. arch/um/kernel/ksyms.c +1 −37
  2755. arch/um/kernel/mem.c +2 −0
  2756. arch/um/kernel/physmem.c +12 −9
  2757. arch/um/kernel/process.c +3 −1
  2758. arch/um/kernel/signal.c +0 −1
  2759. arch/um/kernel/skas/clone.c +0 −1
  2760. arch/um/kernel/skas/uaccess.c +6 −0
  2761. arch/um/kernel/tlb.c +3 −2
  2762. arch/um/kernel/trap.c +2 −1
  2763. arch/um/kernel/uaccess.c +0 −33
  2764. arch/um/kernel/um_arch.c +2 −0
  2765. arch/um/os-Linux/Makefile +3 −3
  2766. arch/um/os-Linux/aio.c +0 −2
  2767. arch/um/os-Linux/drivers/ethertap_user.c +0 −2
  2768. arch/um/os-Linux/drivers/tuntap_user.c +0 −2
  2769. arch/um/os-Linux/elf_aux.c +0 −1
  2770. arch/um/os-Linux/file.c +0 −2
  2771. arch/um/os-Linux/helper.c +0 −2
  2772. arch/um/os-Linux/internal.h +1 −0
  2773. arch/um/os-Linux/irq.c +0 −3
  2774. arch/um/os-Linux/main.c +0 −1
  2775. arch/um/os-Linux/mem.c +0 −2
  2776. arch/um/os-Linux/process.c +6 −17
  2777. arch/um/os-Linux/sigio.c +0 −3
  2778. arch/um/os-Linux/signal.c +38 −34
  2779. arch/um/os-Linux/skas/mem.c +0 −2
  2780. arch/um/os-Linux/skas/process.c +6 −15
  2781. arch/um/os-Linux/start_up.c +4 −6
  2782. arch/um/os-Linux/sys-i386/signal.c +0 −13
  2783. arch/um/os-Linux/sys-x86_64/Makefile +0 −10
  2784. arch/um/os-Linux/sys-x86_64/registers.c +0 −52
  2785. arch/um/os-Linux/sys-x86_64/signal.c +0 −16
  2786. arch/um/os-Linux/sys-x86_64/task_size.c +0 −5
  2787. arch/um/os-Linux/time.c +1 −3
  2788. arch/um/os-Linux/tls.c +0 −35
  2789. arch/um/os-Linux/tty.c +0 −2
  2790. arch/um/os-Linux/uaccess.c +0 −32
  2791. arch/um/os-Linux/umid.c +0 −2
  2792. arch/um/os-Linux/util.c +0 −2
  2793. arch/um/scripts/Makefile.rules +1 −6
  2794. arch/um/sys-i386/Makefile +0 −24
  2795. arch/um/sys-i386/asm/elf.h +0 −125
  2796. arch/um/sys-i386/asm/module.h +0 −13
  2797. arch/um/sys-i386/atomic64_cx8_32.S +0 −225
  2798. arch/um/sys-i386/bug.c +0 −21
  2799. arch/um/sys-i386/ksyms.c +0 −5
  2800. arch/um/sys-i386/shared/sysdep/barrier.h +0 −9
  2801. arch/um/sys-i386/shared/sysdep/host_ldt.h +0 −34
  2802. arch/um/sys-i386/shared/sysdep/ptrace_user.h +0 −50
  2803. arch/um/sys-i386/shared/sysdep/sc.h +0 −44
  2804. arch/um/sys-i386/shared/sysdep/sigcontext.h +0 −26
  2805. arch/um/sys-i386/shared/sysdep/system.h +0 −132
  2806. arch/um/sys-i386/shared/sysdep/vm-flags.h +0 −14
  2807. arch/um/sys-i386/stub_segv.c +0 −17
  2808. arch/um/sys-i386/user-offsets.c +0 −53
  2809. arch/um/sys-x86_64/Makefile +0 −27
  2810. arch/um/sys-x86_64/asm/archparam.h +0 −16
  2811. arch/um/sys-x86_64/asm/module.h +0 −20
  2812. arch/um/sys-x86_64/delay.c +0 −60
  2813. arch/um/sys-x86_64/fault.c +0 −28
  2814. arch/um/sys-x86_64/ptrace_user.c +0 −22
  2815. arch/um/sys-x86_64/shared/sysdep/barrier.h +0 −7
  2816. arch/um/sys-x86_64/shared/sysdep/host_ldt.h +0 −38
  2817. arch/um/sys-x86_64/shared/sysdep/kernel-offsets.h +0 −23
  2818. arch/um/sys-x86_64/shared/sysdep/ptrace_user.h +0 −77
  2819. arch/um/sys-x86_64/shared/sysdep/sc.h +0 −45
  2820. arch/um/sys-x86_64/shared/sysdep/sigcontext.h +0 −27
  2821. arch/um/sys-x86_64/shared/sysdep/skas_ptrace.h +0 −22
  2822. arch/um/sys-x86_64/shared/sysdep/tls.h +0 −29
  2823. arch/um/sys-x86_64/signal.c +0 −290
  2824. arch/unicore32/mm/init.c +1 −0
  2825. arch/x86/Kconfig +28 −6
  2826. arch/x86/Makefile.um +28 −9
  2827. arch/x86/configs/x86_64_defconfig +2 −2
  2828. arch/x86/crypto/Makefile +12 −0
  2829. arch/x86/crypto/aes_glue.c +2 −0
  2830. arch/x86/crypto/aesni-intel_glue.c +1 −0
  2831. arch/x86/crypto/blowfish-x86_64-asm_64.S +390 −0
  2832. arch/x86/crypto/blowfish_glue.c +492 −0
  2833. arch/x86/crypto/sha1_ssse3_asm.S +558 −0
  2834. arch/x86/crypto/sha1_ssse3_glue.c +240 −0
  2835. arch/x86/crypto/twofish-i586-asm_32.S +5 −5
  2836. arch/x86/crypto/twofish-x86_64-asm_64-3way.S +316 −0
  2837. arch/x86/crypto/twofish-x86_64-asm_64.S +2 −4
  2838. arch/x86/crypto/twofish_glue.c +8 −4
  2839. arch/x86/crypto/twofish_glue_3way.c +472 −0
  2840. arch/x86/ia32/ia32entry.S +2 −0
  2841. arch/x86/include/asm/amd_nb.h +6 −0
  2842. arch/x86/include/asm/apic.h +1 −1
  2843. arch/x86/include/asm/apicdef.h +2 −0
  2844. arch/x86/include/asm/archrandom.h +75 −0
  2845. arch/x86/include/asm/atomic.h +2 −6
  2846. arch/x86/include/asm/atomic64_64.h +1 −5
  2847. arch/x86/include/asm/cmpxchg.h +205 −0
  2848. arch/x86/include/asm/cmpxchg_32.h +0 −114
  2849. arch/x86/include/asm/cmpxchg_64.h +0 −131
  2850. arch/x86/include/asm/compat.h +2 −1
  2851. arch/x86/include/asm/cpufeature.h +5 −0
  2852. arch/x86/include/asm/device.h +1 −1
  2853. arch/x86/include/asm/dwarf2.h +2 −0
  2854. arch/x86/include/asm/elf.h +31 −0
  2855. arch/x86/include/asm/hw_irq.h +1 −1
  2856. arch/x86/include/asm/hyperv.h +1 −0
  2857. arch/x86/include/asm/intel_scu_ipc.h +22 −0
  2858. arch/x86/include/asm/irq_remapping.h +5 −1
  2859. arch/x86/include/asm/irq_vectors.h +2 −10
  2860. arch/x86/include/asm/kvm_emulate.h +3 −1
  2861. arch/x86/include/asm/kvm_host.h +9 −5
  2862. arch/x86/include/asm/msr-index.h +2 −0
  2863. arch/x86/include/asm/nmi.h +18 −19
  2864. arch/x86/include/asm/pci_x86.h +3 −3
  2865. arch/x86/include/asm/perf_event.h +52 −3
  2866. arch/x86/include/asm/processor.h +3 −1
  2867. arch/x86/include/asm/reboot.h +1 −1
  2868. arch/x86/include/asm/rwsem.h +1 −7
  2869. arch/x86/include/asm/spinlock.h +27 −87
  2870. arch/x86/include/asm/spinlock_types.h +20 −2
  2871. arch/x86/include/asm/unistd_32.h +3 −1
  2872. arch/x86/include/asm/unistd_64.h +4 −1
  2873. arch/x86/include/asm/uv/uv_bau.h +2 −5
  2874. arch/x86/include/asm/uv/uv_hub.h +34 −3
  2875. arch/x86/include/asm/vmx.h +12 −0
  2876. arch/x86/include/asm/xen/grant_table.h +0 −7
  2877. arch/x86/include/asm/xen/hypercall.h +8 −0
  2878. arch/x86/include/asm/xen/interface.h +1 −0
  2879. arch/x86/kernel/Makefile +1 −1
  2880. arch/x86/kernel/apic/apic.c +16 −17
  2881. arch/x86/kernel/apic/bigsmp_32.c +16 −4
  2882. arch/x86/kernel/apic/hw_nmi.c +5 −22
  2883. arch/x86/kernel/apic/io_apic.c +335 −343
  2884. arch/x86/kernel/apic/probe_32.c +2 −8
  2885. arch/x86/kernel/apic/x2apic_uv_x.c +9 −18
  2886. arch/x86/kernel/cpu/Makefile +7 −1
  2887. arch/x86/kernel/cpu/amd.c +34 −16
  2888. arch/x86/kernel/cpu/common.c +5 −0
  2889. arch/x86/kernel/cpu/cpu.h +1 −0
  2890. arch/x86/kernel/cpu/intel.c +13 −11
  2891. arch/x86/kernel/cpu/intel_cacheinfo.c +47 −80
  2892. arch/x86/kernel/cpu/mcheck/mce-apei.c +1 −0
  2893. arch/x86/kernel/cpu/mcheck/mce-inject.c +7 −13
  2894. arch/x86/kernel/cpu/mcheck/mce.c +28 −23
  2895. arch/x86/kernel/cpu/mcheck/mce_intel.c +5 −5
  2896. arch/x86/kernel/cpu/mcheck/therm_throt.c +1 −0
  2897. arch/x86/kernel/cpu/mshyperv.c +23 −0
  2898. arch/x86/kernel/cpu/perf_event.c +28 −414
  2899. arch/x86/kernel/cpu/perf_event.h +505 −0
  2900. arch/x86/kernel/cpu/perf_event_amd.c +24 −14
  2901. arch/x86/kernel/cpu/perf_event_amd_ibs.c +294 −0
  2902. arch/x86/kernel/cpu/perf_event_intel.c +119 −28
  2903. arch/x86/kernel/cpu/perf_event_intel_ds.c +25 −54
  2904. arch/x86/kernel/cpu/perf_event_intel_lbr.c +16 −12
  2905. arch/x86/kernel/cpu/perf_event_p4.c +6 −4
  2906. arch/x86/kernel/cpu/perf_event_p6.c +5 −4
  2907. arch/x86/kernel/cpu/proc.c +2 −0
  2908. arch/x86/kernel/cpu/rdrand.c +73 −0
  2909. arch/x86/kernel/crash.c +1 −4
  2910. arch/x86/kernel/devicetree.c +1 −0
  2911. arch/x86/kernel/e820.c +1 −0
  2912. arch/x86/kernel/entry_64.S +9 −5
  2913. arch/x86/kernel/hpet.c +1 −0
  2914. arch/x86/kernel/irq.c +1 −0
  2915. arch/x86/kernel/jump_label.c +14 −6
  2916. arch/x86/kernel/kgdb.c +45 −15
  2917. arch/x86/kernel/kprobes.c +4 −3
  2918. arch/x86/kernel/microcode_amd.c +3 −2
  2919. arch/x86/kernel/microcode_core.c +7 −1
  2920. arch/x86/kernel/microcode_intel.c +5 −9
  2921. arch/x86/kernel/nmi.c +434 −0
  2922. arch/x86/kernel/pci-dma.c +1 −0
  2923. arch/x86/kernel/probe_roms.c +2 −2
  2924. arch/x86/kernel/process.c +1 −1
  2925. arch/x86/kernel/process_32.c +2 −0
  2926. arch/x86/kernel/process_64.c +2 −0
  2927. arch/x86/kernel/reboot.c +7 −16
  2928. arch/x86/kernel/rtc.c +1 −0
  2929. arch/x86/kernel/smp.c +1 −0
  2930. arch/x86/kernel/sys_x86_64.c +75 −3
  2931. arch/x86/kernel/syscall_table_32.S +2 −0
  2932. arch/x86/kernel/tboot.c +1 −0
  2933. arch/x86/kernel/time.c +1 −0
  2934. arch/x86/kernel/topology.c +1 −0
  2935. arch/x86/kernel/traps.c +0 −155
  2936. arch/x86/kernel/vsyscall_64.c +1 −0
  2937. arch/x86/kvm/emulate.c +417 −450
  2938. arch/x86/kvm/i8254.c +4 −2
  2939. arch/x86/kvm/i8259.c +97 −26
  2940. arch/x86/kvm/irq.h +3 −1
  2941. arch/x86/kvm/kvm_cache_regs.h +0 −7
  2942. arch/x86/kvm/kvm_timer.h +2 −0
  2943. arch/x86/kvm/lapic.c +135 −32
  2944. arch/x86/kvm/lapic.h +4 −0
  2945. arch/x86/kvm/mmu.c +4 −1
  2946. arch/x86/kvm/mmu_audit.c +3 −3
  2947. arch/x86/kvm/paging_tmpl.h +14 −10
  2948. arch/x86/kvm/svm.c +30 −63
  2949. arch/x86/kvm/trace.h +108 −10
  2950. arch/x86/kvm/vmx.c +66 −65
  2951. arch/x86/kvm/x86.c +181 −96
  2952. arch/x86/lguest/boot.c +11 −0
  2953. arch/x86/lib/insn.c +43 −5
  2954. arch/x86/mm/fault.c +8 −2
  2955. arch/x86/mm/gup.c +0 −10
  2956. arch/x86/mm/mmap.c +4 −16
  2957. arch/x86/oprofile/nmi_int.c +13 −31
  2958. arch/x86/oprofile/nmi_timer_int.c +6 −22
  2959. arch/x86/oprofile/op_model_amd.c +3 −231
  2960. arch/x86/oprofile/op_model_ppro.c +2 −25
  2961. arch/x86/oprofile/op_x86_model.h +0 −1
  2962. arch/x86/pci/ce4100.c +1 −1
  2963. arch/x86/pci/common.c +2 −2
  2964. arch/x86/pci/direct.c +3 −3
  2965. arch/x86/pci/i386.c +1 −0
  2966. arch/x86/pci/legacy.c +1 −0
  2967. arch/x86/pci/mmconfig_32.c +1 −1
  2968. arch/x86/pci/mmconfig_64.c +1 −1
  2969. arch/x86/pci/numaq_32.c +1 −1
  2970. arch/x86/pci/olpc.c +1 −1
  2971. arch/x86/pci/pcbios.c +2 −2
  2972. arch/x86/platform/Makefile +1 −0
  2973. arch/x86/platform/ce4100/ce4100.c +1 −1
  2974. arch/x86/platform/efi/efi.c +1 −0
  2975. arch/x86/platform/efi/efi_32.c +1 −0
  2976. arch/x86/platform/geode/Makefile +1 −0
  2977. arch/x86/platform/geode/alix.c +142 −0
  2978. arch/x86/platform/mrst/mrst.c +165 −15
  2979. arch/x86/platform/mrst/pmu.c +1 −1
  2980. arch/x86/platform/mrst/vrtc.c +3 −2
  2981. arch/x86/platform/olpc/olpc-xo1-pm.c +1 −0
  2982. arch/x86/platform/uv/bios_uv.c +1 −0
  2983. arch/x86/platform/uv/tlb_uv.c +6 −11
  2984. arch/x86/power/cpu.c +1 −0
  2985. arch/x86/um/Kconfig +0 −3
  2986. arch/x86/um/Makefile +45 −0
  2987. arch/x86/um/asm/apic.h +0 −0
  2988. arch/x86/um/asm/arch_hweight.h +0 −0
  2989. arch/x86/um/asm/archparam.h +6 −2
  2990. arch/x86/um/asm/checksum.h +10 −0
  2991. arch/x86/um/asm/checksum_32.h +1 −1
  2992. arch/x86/um/asm/checksum_64.h +0 −0
  2993. arch/x86/um/asm/desc.h +0 −0
  2994. arch/x86/um/asm/elf.h +117 −28
  2995. arch/x86/um/asm/irq_vectors.h +0 −0
  2996. arch/x86/um/asm/mm_context.h +72 −0
  2997. arch/x86/um/asm/module.h +23 −0
  2998. arch/x86/um/asm/processor.h +22 −0
  2999. arch/x86/um/asm/processor_32.h +3 −15
  3000. arch/x86/um/asm/processor_64.h +0 −11
  3001. arch/x86/um/asm/ptrace.h +5 −0
  3002. arch/x86/um/asm/ptrace_32.h +0 −0
  3003. arch/x86/um/asm/ptrace_64.h +1 −1
  3004. arch/x86/um/asm/required-features.h +0 −0
  3005. arch/x86/um/asm/segment.h +0 −0
  3006. arch/x86/um/asm/system.h +3 −0
  3007. arch/x86/um/asm/vm-flags.h +12 −2
  3008. arch/x86/um/bug.c +0 −0
  3009. arch/x86/um/bugs_32.c +3 −3
  3010. arch/x86/um/bugs_64.c +0 −0
  3011. arch/x86/um/checksum_32.S +0 −0
  3012. arch/x86/um/delay.c +0 −0
  3013. arch/x86/um/elfcore.c +0 −0
  3014. arch/x86/um/fault.c +0 −0
  3015. arch/x86/um/ksyms.c +2 −0
  3016. arch/x86/um/ldt.c +18 −18
  3017. arch/x86/um/mem_32.c +0 −0
  3018. arch/x86/um/mem_64.c +0 −0
  3019. arch/x86/um/os-Linux/Makefile +4 −1
  3020. arch/x86/um/os-Linux/mcontext.c +31 −0
  3021. arch/x86/um/os-Linux/prctl.c +0 −0
  3022. arch/x86/um/os-Linux/registers.c +42 −20
  3023. arch/x86/um/os-Linux/task_size.c +12 −1
  3024. arch/x86/um/os-Linux/tls.c +33 −2
  3025. arch/x86/um/ptrace_32.c +57 −12
  3026. arch/x86/um/ptrace_64.c +88 −15
  3027. arch/x86/um/ptrace_user.c +1 −1
  3028. arch/x86/um/setjmp_32.S +0 −0
  3029. arch/x86/um/setjmp_64.S +0 −0
  3030. arch/x86/um/shared/sysdep/archsetjmp.h +5 −0
  3031. arch/x86/um/shared/sysdep/archsetjmp_32.h +0 −0
  3032. arch/x86/um/shared/sysdep/archsetjmp_64.h +0 −0
  3033. arch/x86/um/shared/sysdep/faultinfo.h +5 −0
  3034. arch/x86/um/shared/sysdep/faultinfo_32.h +6 −0
  3035. arch/x86/um/shared/sysdep/faultinfo_64.h +6 −0
  3036. arch/x86/um/shared/sysdep/kernel-offsets.h +0 −0
  3037. arch/x86/um/shared/sysdep/mcontext.h +31 −0
  3038. arch/x86/um/shared/sysdep/ptrace.h +5 −0
  3039. arch/x86/um/shared/sysdep/ptrace_32.h +9 −66
  3040. arch/x86/um/shared/sysdep/ptrace_64.h +10 −93
  3041. arch/x86/um/shared/sysdep/ptrace_user.h +27 −0
  3042. arch/x86/um/shared/sysdep/skas_ptrace.h +2 −2
  3043. arch/x86/um/shared/sysdep/stub.h +14 −0
  3044. arch/x86/um/shared/sysdep/stub_32.h +0 −8
  3045. arch/x86/um/shared/sysdep/stub_64.h +0 −8
  3046. arch/x86/um/shared/sysdep/syscalls.h +5 −0
  3047. arch/x86/um/shared/sysdep/syscalls_32.h +0 −0
  3048. arch/x86/um/shared/sysdep/syscalls_64.h +0 −1
  3049. arch/x86/um/shared/sysdep/tls.h +8 −1
  3050. arch/x86/um/signal.c +210 −94
  3051. arch/x86/um/stub_32.S +0 −0
  3052. arch/x86/um/stub_64.S +0 −0
  3053. arch/x86/um/stub_segv.c +4 −7
  3054. arch/x86/um/sys_call_table_32.S +1 −3
  3055. arch/x86/um/sys_call_table_64.c +1 −2
  3056. arch/x86/um/syscalls_32.c +0 −0
  3057. arch/x86/um/syscalls_64.c +0 −0
  3058. arch/x86/um/sysrq_32.c +0 −0
  3059. arch/x86/um/sysrq_64.c +1 −1
  3060. arch/x86/um/tls_32.c +0 −0
  3061. arch/x86/um/tls_64.c +0 −0
  3062. arch/x86/um/user-offsets.c +33 −18
  3063. arch/x86/um/vdso/Makefile +2 −2
  3064. arch/x86/um/vdso/checkundef.sh +0 −0
  3065. arch/x86/um/vdso/um_vdso.c +0 −0
  3066. arch/x86/um/vdso/vdso-layout.lds.S +0 −0
  3067. arch/x86/um/vdso/vdso-note.S +0 −0
  3068. arch/x86/um/vdso/vdso.S +1 −1
  3069. arch/x86/um/vdso/vdso.lds.S +0 −0
  3070. arch/x86/um/vdso/vma.c +1 −1
  3071. arch/x86/vdso/vma.c +9 −0
  3072. arch/x86/video/fbdev.c +1 −0
  3073. arch/x86/xen/grant-table.c +1 −1
  3074. arch/x86/xen/time.c +15 −1
  3075. arch/xtensa/configs/iss_defconfig +0 −1
  3076. arch/xtensa/configs/s6105_defconfig +0 −1
  3077. arch/xtensa/platforms/iss/network.c +1 −1
  3078. block/blk-cgroup.c +64 −47
  3079. block/blk-cgroup.h +1 −1
  3080. block/blk-core.c +263 −198
  3081. block/blk-flush.c +1 −2
  3082. block/blk-integrity.c +1 −0
  3083. block/blk-sysfs.c +4 −3
  3084. block/blk-tag.c +4 −2
  3085. block/blk-throttle.c +62 −44
  3086. block/blk.h +19 −1
  3087. block/bsg-lib.c +1 −1
  3088. block/elevator.c +12 −27
  3089. block/genhd.c +81 −2
  3090. block/ioctl.c +2 −1
  3091. block/scsi_ioctl.c +1 −2
  3092. crypto/Kconfig +63 −0
  3093. crypto/Makefile +3 −1
  3094. crypto/ablkcipher.c +62 −0
  3095. crypto/aead.c +62 −0
  3096. crypto/ahash.c +28 −0
  3097. crypto/algapi.c +6 −6
  3098. crypto/async_tx/async_memcpy.c +1 −0
  3099. crypto/async_tx/async_pq.c +1 −0
  3100. crypto/async_tx/async_raid6_recov.c +1 −0
  3101. crypto/async_tx/async_tx.c +1 −0
  3102. crypto/async_tx/async_xor.c +1 −0
  3103. crypto/async_tx/raid6test.c +1 −0
  3104. crypto/blkcipher.c +32 −0
  3105. crypto/blowfish_common.c +9 −89
  3106. crypto/blowfish_generic.c +142 −0
  3107. crypto/cryptd.c +1 −1
  3108. crypto/crypto_user.c +435 −0
  3109. crypto/crypto_wq.c +1 −0
  3110. crypto/internal.h +3 −0
  3111. crypto/md4.c +1 −0
  3112. crypto/pcompress.c +25 −0
  3113. crypto/proc.c +1 −0
  3114. crypto/rng.c +27 −0
  3115. crypto/sha1_generic.c +5 −4
  3116. crypto/shash.c +28 −0
  3117. crypto/tcrypt.c +10 −0
  3118. crypto/testmgr.c +30 −0
  3119. crypto/testmgr.h +390 −8
  3120. crypto/vmac.c +1 −0
  3121. crypto/wp512.c +12 −6
  3122. crypto/xcbc.c +1 −0
  3123. drivers/Kconfig +6 −0
  3124. drivers/Makefile +5 −0
  3125. drivers/acpi/acpica/evxface.c +1 −0
  3126. drivers/acpi/acpica/evxfevnt.c +1 −0
  3127. drivers/acpi/acpica/evxfgpe.c +1 −0
  3128. drivers/acpi/acpica/evxfregn.c +1 −0
  3129. drivers/acpi/acpica/hwregs.c +6 −5
  3130. drivers/acpi/acpica/hwsleep.c +1 −0
  3131. drivers/acpi/acpica/hwtimer.c +1 −0
  3132. drivers/acpi/acpica/hwxface.c +1 −0
  3133. drivers/acpi/acpica/nsxfeval.c +1 −0
  3134. drivers/acpi/acpica/nsxfname.c +1 −0
  3135. drivers/acpi/acpica/nsxfobj.c +1 −0
  3136. drivers/acpi/acpica/rsxface.c +1 −0
  3137. drivers/acpi/acpica/tbxface.c +1 −0
  3138. drivers/acpi/acpica/utdebug.c +1 −0
  3139. drivers/acpi/acpica/utdecode.c +1 −0
  3140. drivers/acpi/acpica/utglobal.c +1 −0
  3141. drivers/acpi/acpica/utxface.c +1 −0
  3142. drivers/acpi/acpica/utxferror.c +1 −0
  3143. drivers/acpi/apei/Kconfig +0 −1
  3144. drivers/acpi/apei/erst.c +7 −5
  3145. drivers/acpi/apei/ghes.c +8 −14
  3146. drivers/acpi/atomicio.c +2 −2
  3147. drivers/acpi/blacklist.c +0 −1
  3148. drivers/acpi/bus.c +2 −6
  3149. drivers/acpi/debugfs.c +1 −0
  3150. drivers/acpi/ec_sys.c +1 −0
  3151. drivers/acpi/event.c +1 −0
  3152. drivers/acpi/glue.c +1 −0
  3153. drivers/acpi/osl.c +2 −1
  3154. drivers/acpi/proc.c +1 −0
  3155. drivers/acpi/processor_core.c +1 −0
  3156. drivers/acpi/processor_driver.c +3 −17
  3157. drivers/acpi/processor_idle.c +200 −66
  3158. drivers/acpi/sbshc.c +1 −0
  3159. drivers/acpi/scan.c +1 −2
  3160. drivers/acpi/sleep.c +32 −0
  3161. drivers/acpi/sysfs.c +13 −1
  3162. drivers/acpi/video_detect.c +1 −0
  3163. drivers/amba/bus.c +64 −4
  3164. drivers/ata/Kconfig +2 −1
  3165. drivers/ata/Makefile +0 −1
  3166. drivers/ata/ahci.c +3 −0
  3167. drivers/ata/ahci_platform.c +47 −8
  3168. drivers/ata/ata_piix.c +73 −80
  3169. drivers/ata/libata-core.c +2 −1
  3170. drivers/ata/libata-eh.c +14 −4
  3171. drivers/ata/libata-pmp.c +3 −5
  3172. drivers/ata/libata-scsi.c +31 −12
  3173. drivers/ata/libata-sff.c +50 −68
  3174. drivers/ata/pata_ali.c +1 −1
  3175. drivers/ata/pata_arasan_cf.c +2 −4
  3176. drivers/ata/pata_artop.c +59 −48
  3177. drivers/ata/pata_at91.c +5 −2
  3178. drivers/ata/pata_atiixp.c +26 −9
  3179. drivers/ata/pata_cmd64x.c +21 −23
  3180. drivers/ata/pata_cs5535.c +2 −14
  3181. drivers/ata/pata_efar.c +11 −11
  3182. drivers/ata/pata_hpt366.c +25 −10
  3183. drivers/ata/pata_it8213.c +12 −12
  3184. drivers/ata/pata_legacy.c +42 −87
  3185. drivers/ata/pata_mpc52xx.c +1 −1
  3186. drivers/ata/pata_of_platform.c +5 −3
  3187. drivers/ata/pata_pdc2027x.c +30 −0
  3188. drivers/ata/pata_qdi.c +0 −366
  3189. drivers/ata/pata_rdc.c +16 −0
  3190. drivers/ata/pata_sc1200.c +9 −5
  3191. drivers/ata/pata_scc.c +1 −13
  3192. drivers/ata/pata_serverworks.c +42 −85
  3193. drivers/ata/pata_sil680.c +54 −40
  3194. drivers/ata/pata_sis.c +99 −55
  3195. drivers/ata/pata_sl82c105.c +32 −5
  3196. drivers/ata/pata_via.c +23 −26
  3197. drivers/ata/sata_mv.c +9 −7
  3198. drivers/ata/sata_sil24.c +2 −2
  3199. drivers/ata/sata_sis.c +1 −1
  3200. drivers/atm/eni.c +3 −2
  3201. drivers/atm/iphase.c +145 −120
  3202. drivers/atm/iphase.h +192 −203
  3203. drivers/base/base.h +1 −0
  3204. drivers/base/class.c +15 −2
  3205. drivers/base/core.c +3 −2
  3206. drivers/base/dd.c +3 −0
  3207. drivers/base/dma-coherent.c +1 −0
  3208. drivers/base/dma-mapping.c +1 −0
  3209. drivers/base/hypervisor.c +1 −0
  3210. drivers/base/memory.c +44 −18
  3211. drivers/base/platform.c +33 −21
  3212. drivers/base/power/Makefile +2 −2
  3213. drivers/base/power/clock_ops.c +59 −68
  3214. drivers/base/power/common.c +86 −0
  3215. drivers/base/power/domain.c +204 −148
  3216. drivers/base/power/generic_ops.c +1 −0
  3217. drivers/base/power/main.c +37 −6
  3218. drivers/base/power/opp.c +30 −0
  3219. drivers/base/power/power.h +9 −1
  3220. drivers/base/power/qos.c +420 −0
  3221. drivers/base/power/runtime.c +101 −50
  3222. drivers/base/power/sysfs.c +1 −0
  3223. drivers/base/power/trace.c +1 −0
  3224. drivers/base/power/wakeup.c +4 −1
  3225. drivers/base/regmap/Kconfig +2 −0
  3226. drivers/base/regmap/Makefile +2 −1
  3227. drivers/base/regmap/internal.h +128 −0
  3228. drivers/base/regmap/regcache-indexed.c +64 −0
  3229. drivers/base/regmap/regcache-lzo.c +361 −0
  3230. drivers/base/regmap/regcache-rbtree.c +345 −0
  3231. drivers/base/regmap/regcache.c +402 −0
  3232. drivers/base/regmap/regmap-debugfs.c +209 −0
  3233. drivers/base/regmap/regmap-i2c.c +0 −2
  3234. drivers/base/regmap/regmap-spi.c +0 −2
  3235. drivers/base/regmap/regmap.c +179 −42
  3236. drivers/base/transport_class.c +1 −0
  3237. drivers/bcma/Kconfig +13 −0
  3238. drivers/bcma/Makefile +2 −0
  3239. drivers/bcma/bcma_private.h +16 −0
  3240. drivers/bcma/core.c +3 −0
  3241. drivers/bcma/driver_chipcommon.c +54 −0
  3242. drivers/bcma/driver_chipcommon_pmu.c +182 −10
  3243. drivers/bcma/driver_mips.c +256 −0
  3244. drivers/bcma/driver_pci.c +15 −2
  3245. drivers/bcma/host_pci.c +1 −0
  3246. drivers/bcma/host_soc.c +183 −0
  3247. drivers/bcma/main.c +70 −1
  3248. drivers/bcma/scan.c +237 −111
  3249. drivers/bcma/sprom.c +15 −0
  3250. drivers/block/aoe/aoeblk.c +7 −8
  3251. drivers/block/aoe/aoechr.c +1 −0
  3252. drivers/block/brd.c +1 −3
  3253. drivers/block/cciss.c +65 −11
  3254. drivers/block/cciss.h +1 −0
  3255. drivers/block/cpqarray.c +1 −1
  3256. drivers/block/drbd/drbd_int.h +1 −1
  3257. drivers/block/drbd/drbd_req.c +4 −4
  3258. drivers/block/loop.c +129 −122
  3259. drivers/block/nbd.c +34 −35
  3260. drivers/block/pktcdvd.c +5 −6
  3261. drivers/block/ps3disk.c +1 −0
  3262. drivers/block/ps3vram.c +3 −4
  3263. drivers/block/rbd.c +1 −1
  3264. drivers/block/umem.c +2 −2
  3265. drivers/block/virtio_blk.c +25 −6
  3266. drivers/block/xen-blkback/blkback.c +109 −21
  3267. drivers/block/xen-blkback/common.h +82 −21
  3268. drivers/block/xen-blkback/xenbus.c +83 −47
  3269. drivers/block/xen-blkfront.c +98 −25
  3270. drivers/bluetooth/ath3k.c +2 −2
  3271. drivers/bluetooth/bcm203x.c +11 −1
  3272. drivers/bluetooth/bfusb.c +7 −6
  3273. drivers/bluetooth/btmrvl_main.c +2 −0
  3274. drivers/bluetooth/btmrvl_sdio.c +1 −0
  3275. drivers/bluetooth/btusb.c +5 −3
  3276. drivers/bluetooth/btwilink.c +1 −0
  3277. drivers/char/Kconfig +3 −3
  3278. drivers/char/agp/hp-agp.c +4 −2
  3279. drivers/char/agp/intel-gtt.c +31 −2
  3280. drivers/char/hw_random/Kconfig +28 −0
  3281. drivers/char/hw_random/Makefile +1 −0
  3282. drivers/char/hw_random/atmel-rng.c +158 −0
  3283. drivers/char/hw_random/virtio-rng.c +1 −0
  3284. drivers/char/ipmi/ipmi_watchdog.c +11 −22
  3285. drivers/char/mem.c +1 −0
  3286. drivers/char/ps3flash.c +1 −0
  3287. drivers/char/ramoops.c +1 −0
  3288. drivers/char/random.c +21 −2
  3289. drivers/char/scc.h +0 −613
  3290. drivers/char/ttyprintk.c +2 −1
  3291. drivers/char/virtio_console.c +80 −41
  3292. drivers/clocksource/Kconfig +15 −0
  3293. drivers/clocksource/Makefile +1 −0
  3294. drivers/clocksource/clksrc-dbx500-prcmu.c +106 −0
  3295. drivers/clocksource/dw_apb_timer.c +1 −1
  3296. drivers/clocksource/sh_cmt.c +1 −0
  3297. drivers/clocksource/sh_mtu2.c +1 −0
  3298. drivers/clocksource/sh_tmu.c +1 −0
  3299. drivers/connector/cn_proc.c +26 −0
  3300. drivers/cpufreq/cpufreq_conservative.c +3 −1
  3301. drivers/cpufreq/cpufreq_ondemand.c +3 −1
  3302. drivers/cpufreq/cpufreq_stats.c +1 −0
  3303. drivers/cpufreq/db8500-cpufreq.c +22 −18
  3304. drivers/cpufreq/e_powersaver.c +124 −11
  3305. drivers/cpufreq/exynos4210-cpufreq.c +124 −5
  3306. drivers/cpufreq/s3c64xx-cpufreq.c +1 −0
  3307. drivers/cpuidle/cpuidle.c +30 −59
  3308. drivers/cpuidle/driver.c +25 −0
  3309. drivers/cpuidle/governors/ladder.c +32 −13
  3310. drivers/cpuidle/governors/menu.c +19 −13
  3311. drivers/cpuidle/sysfs.c +15 −7
  3312. drivers/crypto/Kconfig +2 −1
  3313. drivers/crypto/hifn_795x.c +2 −4
  3314. drivers/crypto/mv_cesa.c +1 −0
  3315. drivers/crypto/n2_core.c +2 −2
  3316. drivers/crypto/padlock-aes.c +1 −3
  3317. drivers/crypto/picoxcell_crypto.c +59 −62
  3318. drivers/crypto/talitos.c +10 −8
  3319. drivers/dca/dca-core.c +45 −34
  3320. drivers/dca/dca-sysfs.c +1 −0
  3321. drivers/devfreq/Kconfig +75 −0
  3322. drivers/devfreq/Makefile +5 −0
  3323. drivers/devfreq/devfreq.c +601 −0
  3324. drivers/devfreq/governor.h +24 −0
  3325. drivers/devfreq/governor_performance.c +29 −0
  3326. drivers/devfreq/governor_powersave.c +29 −0
  3327. drivers/devfreq/governor_simpleondemand.c +88 −0
  3328. drivers/devfreq/governor_userspace.c +116 −0
  3329. drivers/dma/Kconfig +2 −1
  3330. drivers/dma/amba-pl08x.c +316 −324
  3331. drivers/dma/at_hdmac.c +127 −37
  3332. drivers/dma/at_hdmac_regs.h +24 −0
  3333. drivers/dma/dmatest.c +21 −2
  3334. drivers/dma/dw_dmac.c +2 −3
  3335. drivers/dma/ep93xx_dma.c +1 −0
  3336. drivers/dma/imx-dma.c +2 −0
  3337. drivers/dma/imx-sdma.c +40 −9
  3338. drivers/dma/intel_mid_dma.c +4 −6
  3339. drivers/dma/ipu/ipu_idmac.c +43 −23
  3340. drivers/dma/ipu/ipu_irq.c +24 −24
  3341. drivers/dma/mpc512x_dma.c +0 −1
  3342. drivers/dma/mxs-dma.c +24 −21
  3343. drivers/dma/pch_dma.c +2 −5
  3344. drivers/dma/pl330.c +207 −24
  3345. drivers/dma/shdma.c +86 −43
  3346. drivers/dma/shdma.h +7 −0
  3347. drivers/dma/ste_dma40.c +1 −0
  3348. drivers/dma/timb_dma.c +2 −3
  3349. drivers/edac/Kconfig +10 −6
  3350. drivers/edac/Makefile +1 −1
  3351. drivers/edac/amd64_edac.c +26 −11
  3352. drivers/edac/cpc925_edac.c +64 −3
  3353. drivers/edac/edac_core.h +1 −349
  3354. drivers/edac/edac_mce.c +0 −61
  3355. drivers/edac/i7300_edac.c +26 −25
  3356. drivers/edac/i7core_edac.c +377 −38
  3357. drivers/edac/mce_amd.c +15 −31
  3358. drivers/edac/mce_amd.h +3 −3
  3359. drivers/edac/mce_amd_inj.c +1 −0
  3360. drivers/edac/ppc4xx_edac.c +1 −1
  3361. drivers/edac/sb_edac.c +1893 −0
  3362. drivers/firewire/core-iso.c +1 −0
  3363. drivers/firewire/core-transaction.c +2 −2
  3364. drivers/firewire/net.c +3 −12
  3365. drivers/firewire/ohci.c +243 −12
  3366. drivers/firewire/sbp2.c +114 −146
  3367. drivers/firmware/edd.c +3 −3
  3368. drivers/firmware/efivars.c +10 −9
  3369. drivers/firmware/google/gsmi.c +1 −0
  3370. drivers/gpio/Kconfig +20 −18
  3371. drivers/gpio/Makefile +8 −6
  3372. drivers/gpio/gpio-74x164.c +1 −0
  3373. drivers/gpio/gpio-davinci.c +1 −6
  3374. drivers/gpio/gpio-ep93xx.c +22 −1
  3375. drivers/gpio/gpio-exynos4.c +0 −385
  3376. drivers/gpio/gpio-ks8695.c +2 −2
  3377. drivers/gpio/gpio-langwell.c +27 −0
  3378. drivers/gpio/gpio-lpc32xx.c +1 −1
  3379. drivers/gpio/gpio-mc33880.c +1 −0
  3380. drivers/gpio/gpio-mcp23s08.c +1 −0
  3381. drivers/gpio/gpio-ml-ioh.c +247 −8
  3382. drivers/gpio/gpio-mpc5200.c +1 −0
  3383. drivers/gpio/gpio-mpc8xxx.c +3 −0
  3384. drivers/gpio/gpio-mxc.c +19 −0
  3385. drivers/gpio/gpio-mxs.c +3 −0
  3386. drivers/gpio/gpio-nomadik.c +115 −15
  3387. drivers/gpio/gpio-omap.c +1 −1
  3388. drivers/gpio/gpio-pcf857x.c +1 −0
  3389. drivers/gpio/gpio-pch.c +244 −7
  3390. drivers/gpio/gpio-pl061.c +21 −10
  3391. drivers/gpio/gpio-plat-samsung.c +0 −205
  3392. drivers/gpio/gpio-pxa.c +3 −3
  3393. drivers/gpio/gpio-s5pc100.c +0 −354
  3394. drivers/gpio/gpio-s5pv210.c +0 −287
  3395. drivers/gpio/gpio-sa1100.c +1 −3
  3396. drivers/gpio/gpio-samsung.c +2712 −0
  3397. drivers/gpio/gpio-tegra.c +111 −55
  3398. drivers/gpio/gpio-tnetv107x.c +0 −0
  3399. drivers/gpio/gpio-u300.c +705 −485
  3400. drivers/gpio/gpio-xilinx.c +1 −0
  3401. drivers/gpu/drm/Kconfig +5 −1
  3402. drivers/gpu/drm/Makefile +1 −0
  3403. drivers/gpu/drm/ati_pcigart.c +1 −0
  3404. drivers/gpu/drm/drm_buffer.c +1 −0
  3405. drivers/gpu/drm/drm_bufs.c +1 −0
  3406. drivers/gpu/drm/drm_cache.c +1 −0
  3407. drivers/gpu/drm/drm_crtc.c +10 −3
  3408. drivers/gpu/drm/drm_crtc_helper.c +18 −0
  3409. drivers/gpu/drm/drm_debugfs.c +11 −7
  3410. drivers/gpu/drm/drm_dma.c +1 −0
  3411. drivers/gpu/drm/drm_drv.c +4 −1
  3412. drivers/gpu/drm/drm_edid.c +172 −0
  3413. drivers/gpu/drm/drm_encoder_slave.c +2 −0
  3414. drivers/gpu/drm/drm_fb_helper.c +1 −0
  3415. drivers/gpu/drm/drm_fops.c +1 −0
  3416. drivers/gpu/drm/drm_gem.c +88 −0
  3417. drivers/gpu/drm/drm_hashtab.c +1 −0
  3418. drivers/gpu/drm/drm_ioc32.c +1 −0
  3419. drivers/gpu/drm/drm_irq.c +16 −7
  3420. drivers/gpu/drm/drm_memory.c +1 −0
  3421. drivers/gpu/drm/drm_mm.c +1 −0
  3422. drivers/gpu/drm/drm_modes.c +1 −0
  3423. drivers/gpu/drm/drm_pci.c +1 −0
  3424. drivers/gpu/drm/drm_platform.c +1 −0
  3425. drivers/gpu/drm/drm_proc.c +2 −2
  3426. drivers/gpu/drm/drm_sman.c +1 −0
  3427. drivers/gpu/drm/drm_sysfs.c +1 −0
  3428. drivers/gpu/drm/drm_usb.c +1 −0
  3429. drivers/gpu/drm/drm_vm.c +1 −0
  3430. drivers/gpu/drm/exynos/Kconfig +20 −0
  3431. drivers/gpu/drm/exynos/Makefile +11 −0
  3432. drivers/gpu/drm/exynos/exynos_drm_buf.c +110 −0
  3433. drivers/gpu/drm/exynos/exynos_drm_buf.h +53 −0
  3434. drivers/gpu/drm/exynos/exynos_drm_connector.c +293 −0
  3435. drivers/gpu/drm/exynos/exynos_drm_connector.h +34 −0
  3436. drivers/gpu/drm/exynos/exynos_drm_core.c +272 −0
  3437. drivers/gpu/drm/exynos/exynos_drm_crtc.c +381 −0
  3438. drivers/gpu/drm/exynos/exynos_drm_crtc.h +38 −0
  3439. drivers/gpu/drm/exynos/exynos_drm_drv.c +244 −0
  3440. drivers/gpu/drm/exynos/exynos_drm_drv.h +254 −0
  3441. drivers/gpu/drm/exynos/exynos_drm_encoder.c +271 −0
  3442. drivers/gpu/drm/exynos/exynos_drm_encoder.h +45 −0
  3443. drivers/gpu/drm/exynos/exynos_drm_fb.c +265 −0
  3444. drivers/gpu/drm/exynos/exynos_drm_fb.h +37 −0
  3445. drivers/gpu/drm/exynos/exynos_drm_fbdev.c +456 −0
  3446. drivers/gpu/drm/exynos/exynos_drm_fbdev.h +37 −0
  3447. drivers/gpu/drm/exynos/exynos_drm_fimd.c +811 −0
  3448. drivers/gpu/drm/exynos/exynos_drm_gem.c +415 −0
  3449. drivers/gpu/drm/exynos/exynos_drm_gem.h +107 −0
  3450. drivers/gpu/drm/i2c/ch7006_drv.c +2 −0
  3451. drivers/gpu/drm/i2c/sil164_drv.c +2 −0
  3452. drivers/gpu/drm/i810/i810_drv.c +2 −0
  3453. drivers/gpu/drm/i915/dvo_ch7017.c +1 −1
  3454. drivers/gpu/drm/i915/dvo_ch7xxx.c +2 −2
  3455. drivers/gpu/drm/i915/dvo_ivch.c +3 −3
  3456. drivers/gpu/drm/i915/dvo_sil164.c +1 −1
  3457. drivers/gpu/drm/i915/dvo_tfp410.c +7 −7
  3458. drivers/gpu/drm/i915/i915_debugfs.c +24 −20
  3459. drivers/gpu/drm/i915/i915_dma.c +26 −23
  3460. drivers/gpu/drm/i915/i915_drv.c +56 −12
  3461. drivers/gpu/drm/i915/i915_drv.h +44 −59
  3462. drivers/gpu/drm/i915/i915_gem.c +15 −100
  3463. drivers/gpu/drm/i915/i915_gem_debug.c +4 −4
  3464. drivers/gpu/drm/i915/i915_gem_evict.c +1 −1
  3465. drivers/gpu/drm/i915/i915_gem_execbuffer.c +2 −1
  3466. drivers/gpu/drm/i915/i915_gem_gtt.c +30 −0
  3467. drivers/gpu/drm/i915/i915_gem_tiling.c +4 −11
  3468. drivers/gpu/drm/i915/i915_irq.c +36 −6
  3469. drivers/gpu/drm/i915/i915_mem.c +7 −7
  3470. drivers/gpu/drm/i915/i915_reg.h +94 −17
  3471. drivers/gpu/drm/i915/i915_suspend.c +4 −4
  3472. drivers/gpu/drm/i915/i915_trace.h +23 −23
  3473. drivers/gpu/drm/i915/intel_acpi.c +1 −1
  3474. drivers/gpu/drm/i915/intel_bios.c +14 −9
  3475. drivers/gpu/drm/i915/intel_bios.h +13 −9
  3476. drivers/gpu/drm/i915/intel_crt.c +8 −12
  3477. drivers/gpu/drm/i915/intel_display.c +532 −230
  3478. drivers/gpu/drm/i915/intel_dp.c +458 −157
  3479. drivers/gpu/drm/i915/intel_drv.h +14 −7
  3480. drivers/gpu/drm/i915/intel_hdmi.c +19 −14
  3481. drivers/gpu/drm/i915/intel_i2c.c +2 −7
  3482. drivers/gpu/drm/i915/intel_lvds.c +5 −3
  3483. drivers/gpu/drm/i915/intel_modes.c +2 −0
  3484. drivers/gpu/drm/i915/intel_opregion.c +45 −45
  3485. drivers/gpu/drm/i915/intel_overlay.c +73 −73
  3486. drivers/gpu/drm/i915/intel_panel.c +16 −11
  3487. drivers/gpu/drm/i915/intel_ringbuffer.c +273 −96
  3488. drivers/gpu/drm/i915/intel_ringbuffer.h +9 −7
  3489. drivers/gpu/drm/i915/intel_sdvo.c +124 −126
Documentation/ABI/stable/sysfs-acpi-pmprofile+22−0
@@ -0,0 +1,22 @@
1+What: /sys/firmware/acpi/pm_profile
2+Date: 03-Nov-2011
3+KernelVersion: v3.2
4+Contact: linux-acpi@vger.kernel.org
5+Description: The ACPI pm_profile sysfs interface exports the platform
6+ power management (and performance) requirement expectations
7+ as provided by BIOS. The integer value is directly passed as
8+ retrieved from the FADT ACPI table.
9+Values: For possible values see ACPI specification:
10+ 5.2.9 Fixed ACPI Description Table (FADT)
11+ Field: Preferred_PM_Profile
12+
13+ Currently these values are defined by spec:
14+ 0 Unspecified
15+ 1 Desktop
16+ 2 Mobile
17+ 3 Workstation
18+ 4 Enterprise Server
19+ 5 SOHO Server
20+ 6 Appliance PC
21+ 7 Performance Server
22+ >7 Reserved
Documentation/ABI/testing/debugfs-ideapad+19−0
@@ -0,0 +1,19 @@
1+What: /sys/kernel/debug/ideapad/cfg
2+Date: Sep 2011
3+KernelVersion: 3.2
4+Contact: Ike Panhc <ike.pan@canonical.com>
5+Description:
6+
7+cfg shows the return value of _CFG method in VPC2004 device. It tells machine
8+capability and what graphic component within the machine.
9+
10+
11+What: /sys/kernel/debug/ideapad/status
12+Date: Sep 2011
13+KernelVersion: 3.2
14+Contact: Ike Panhc <ike.pan@canonical.com>
15+Description:
16+
17+status shows infos we can read and tells its meaning and value.
18+
19+
Documentation/ABI/testing/sysfs-block+13−0
@@ -206,3 +206,16 @@ Description: · 205 unmodified lines
206206 when a discarded area is read the discard_zeroes_data
207207 parameter will be set to one. Otherwise it will be 0 and
208208 the result of reading a discarded area is undefined.
209+What: /sys/block/<disk>/alias
210+Date: Aug 2011
211+Contact: Nao Nishijima <nao.nishijima.xt@hitachi.com>
212+Description:
213+ A raw device name of a disk does not always point a same disk
214+ each boot-up time. Therefore, users have to use persistent
215+ device names, which udev creates when the kernel finds a disk,
216+ instead of raw device name. However, kernel doesn't show those
217+ persistent names on its messages (e.g. dmesg).
218+ This file can store an alias of the disk and it would be
219+ appeared in kernel messages if it is set. A disk can have an
220+ alias which length is up to 255bytes. Users can use alphabets,
221+ numbers, "-" and "_" in alias name. This file is writeonce.
Documentation/ABI/testing/sysfs-bus-pci-devices-cciss+7−0
@@ -71,3 +71,10 @@ Description: Value of 1 indicates the controller can honor the reset_devices · 70 unmodified lines
7171 a dump device, as kdump requires resetting the device in order
7272 to work reliably.
7373
74+Where: /sys/bus/pci/devices/<dev>/ccissX/transport_mode
75+Date: July 2011
76+Kernel Version: 3.0
77+Contact: iss_storagedev@hp.com
78+Description: Value of "simple" indicates that the controller has been placed
79+ in "simple mode". Value of "performant" indicates that the
80+ controller has been placed in "performant mode".
Documentation/ABI/testing/sysfs-bus-pci-drivers-ehci_hcd+46−0
@@ -0,0 +1,46 @@
1+What: /sys/bus/pci/drivers/ehci_hcd/.../companion
2+ /sys/bus/usb/devices/usbN/../companion
3+Date: January 2007
4+KernelVersion: 2.6.21
5+Contact: Alan Stern <stern@rowland.harvard.edu>
6+Description:
7+ PCI-based EHCI USB controllers (i.e., high-speed USB-2.0
8+ controllers) are often implemented along with a set of
9+ "companion" full/low-speed USB-1.1 controllers. When a
10+ high-speed device is plugged in, the connection is routed
11+ to the EHCI controller; when a full- or low-speed device
12+ is plugged in, the connection is routed to the companion
13+ controller.
14+
15+ Sometimes you want to force a high-speed device to connect
16+ at full speed, which can be accomplished by forcing the
17+ connection to be routed to the companion controller.
18+ That's what this file does. Writing a port number to the
19+ file causes connections on that port to be routed to the
20+ companion controller, and writing the negative of a port
21+ number returns the port to normal operation.
22+
23+ For example: To force the high-speed device attached to
24+ port 4 on bus 2 to run at full speed:
25+
26+ echo 4 >/sys/bus/usb/devices/usb2/../companion
27+
28+ To return the port to high-speed operation:
29+
30+ echo -4 >/sys/bus/usb/devices/usb2/../companion
31+
32+ Reading the file gives the list of ports currently forced
33+ to the companion controller.
34+
35+ Note: Some EHCI controllers do not have companions; they
36+ may contain an internal "transaction translator" or they
37+ may be attached directly to a "rate-matching hub". This
38+ mechanism will not work with such controllers. Also, it
39+ cannot be used to force a port on a high-speed hub to
40+ connect at full speed.
41+
42+ Note: When this file was first added, it appeared in a
43+ different sysfs directory. The location given above is
44+ correct for 2.6.35 (and probably several earlier kernel
45+ versions as well).
46+
Documentation/ABI/testing/sysfs-bus-usb+15−0
@@ -142,3 +142,18 @@ Description: · 141 unmodified lines
142142 such devices.
143143 Users:
144144 usb_modeswitch
145+
146+What: /sys/bus/usb/devices/.../power/usb2_hardware_lpm
147+Date: September 2011
148+Contact: Andiry Xu <andiry.xu@amd.com>
149+Description:
150+ If CONFIG_USB_SUSPEND is set and a USB 2.0 lpm-capable device
151+ is plugged in to a xHCI host which support link PM, it will
152+ perform a LPM test; if the test is passed and host supports
153+ USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will
154+ be enabled for the device and the USB device directory will
155+ contain a file named power/usb2_hardware_lpm. The file holds
156+ a string value (enable or disable) indicating whether or not
157+ USB2 hardware LPM is enabled for the device. Developer can
158+ write y/Y/1 or n/N/0 to the file to enable/disable the
159+ feature.
Documentation/ABI/testing/sysfs-class-devfreq+52−0
@@ -0,0 +1,52 @@
1+What: /sys/class/devfreq/.../
2+Date: September 2011
3+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
4+Description:
5+ Provide a place in sysfs for the devfreq objects.
6+ This allows accessing various devfreq specific variables.
7+ The name of devfreq object denoted as ... is same as the
8+ name of device using devfreq.
9+
10+What: /sys/class/devfreq/.../governor
11+Date: September 2011
12+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
13+Description:
14+ The /sys/class/devfreq/.../governor shows the name of the
15+ governor used by the corresponding devfreq object.
16+
17+What: /sys/class/devfreq/.../cur_freq
18+Date: September 2011
19+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
20+Description:
21+ The /sys/class/devfreq/.../cur_freq shows the current
22+ frequency of the corresponding devfreq object.
23+
24+What: /sys/class/devfreq/.../central_polling
25+Date: September 2011
26+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
27+Description:
28+ The /sys/class/devfreq/.../central_polling shows whether
29+ the devfreq ojbect is using devfreq-provided central
30+ polling mechanism or not.
31+
32+What: /sys/class/devfreq/.../polling_interval
33+Date: September 2011
34+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
35+Description:
36+ The /sys/class/devfreq/.../polling_interval shows and sets
37+ the requested polling interval of the corresponding devfreq
38+ object. The values are represented in ms. If the value is
39+ less than 1 jiffy, it is considered to be 0, which means
40+ no polling. This value is meaningless if the governor is
41+ not polling; thus. If the governor is not using
42+ devfreq-provided central polling
43+ (/sys/class/devfreq/.../central_polling is 0), this value
44+ may be useless.
45+
46+What: /sys/class/devfreq/.../userspace/set_freq
47+Date: September 2011
48+Contact: MyungJoo Ham <myungjoo.ham@samsung.com>
49+Description:
50+ The /sys/class/devfreq/.../userspace/set_freq shows and
51+ sets the requested frequency for the devfreq object if
52+ userspace governor is in effect.
Documentation/ABI/testing/sysfs-class-net-mesh+8−0
@@ -22,6 +22,14 @@ Description: · 21 unmodified lines
2222 mesh will be fragmented or silently discarded if the
2323 packet size exceeds the outgoing interface MTU.
2424
25+What: /sys/class/net/<mesh_iface>/mesh/ap_isolation
26+Date: May 2011
27+Contact: Antonio Quartulli <ordex@autistici.org>
28+Description:
29+ Indicates whether the data traffic going from a
30+ wireless client to another wireless client will be
31+ silently dropped.
32+
2533 What: /sys/class/net/<mesh_iface>/mesh/gw_bandwidth
2634 Date: October 2010
2735 Contact: Marek Lindner <lindner_marek@yahoo.de>
Documentation/ABI/testing/sysfs-driver-wacom+72−0
@@ -0,0 +1,72 @@
1+What: /sys/class/hidraw/hidraw*/device/speed
2+Date: April 2010
3+Kernel Version: 2.6.35
4+Contact: linux-bluetooth@vger.kernel.org
5+Description:
6+ The /sys/class/hidraw/hidraw*/device/speed file controls
7+ reporting speed of Wacom bluetooth tablet. Reading from
8+ this file returns 1 if tablet reports in high speed mode
9+ or 0 otherwise. Writing to this file one of these values
10+ switches reporting speed.
11+
12+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/led
13+Date: August 2011
14+Contact: linux-input@vger.kernel.org
15+Description:
16+ Attribute group for control of the status LEDs and the OLEDs.
17+ This attribute group is only available for Intuos 4 M, L,
18+ and XL (with LEDs and OLEDs) and Cintiq 21UX2 (LEDs only).
19+ Therefore its presence implicitly signifies the presence of
20+ said LEDs and OLEDs on the tablet device.
21+
22+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status0_luminance
23+Date: August 2011
24+Contact: linux-input@vger.kernel.org
25+Description:
26+ Writing to this file sets the status LED luminance (1..127)
27+ when the stylus does not touch the tablet surface, and no
28+ button is pressed on the stylus. This luminance level is
29+ normally lower than the level when a button is pressed.
30+
31+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status1_luminance
32+Date: August 2011
33+Contact: linux-input@vger.kernel.org
34+Description:
35+ Writing to this file sets the status LED luminance (1..127)
36+ when the stylus touches the tablet surface, or any button is
37+ pressed on the stylus.
38+
39+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led0_select
40+Date: August 2011
41+Contact: linux-input@vger.kernel.org
42+Description:
43+ Writing to this file sets which one of the four (for Intuos 4)
44+ or of the right four (for Cintiq 21UX2) status LEDs is active (0..3).
45+ The other three LEDs on the same side are always inactive.
46+
47+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/status_led1_select
48+Date: September 2011
49+Contact: linux-input@vger.kernel.org
50+Description:
51+ Writing to this file sets which one of the left four (for Cintiq 21UX2)
52+ status LEDs is active (0..3). The other three LEDs on the left are always
53+ inactive.
54+
55+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/buttons_luminance
56+Date: August 2011
57+Contact: linux-input@vger.kernel.org
58+Description:
59+ Writing to this file sets the overall luminance level (0..15)
60+ of all eight button OLED displays.
61+
62+What: /sys/bus/usb/devices/<busnum>-<devnum>:<cfg>.<intf>/wacom_led/button<n>_rawimg
63+Date: August 2011
64+Contact: linux-input@vger.kernel.org
65+Description:
66+ When writing a 1024 byte raw image in Wacom Intuos 4
67+ interleaving format to the file, the image shows up on Button N
68+ of the device. The image is a 64x32 pixel 4-bit gray image. The
69+ 1024 byte binary is split up into 16x 64 byte chunks. Each 64
70+ byte chunk encodes the image data for two consecutive lines on
71+ the display. The low nibble of each byte contains the first
72+ line, and the high nibble contains the second line.
Documentation/ABI/testing/sysfs-platform-ideapad-laptop+0−15
@@ -5,19 +5,4 @@ Contact: "Ike Panhc <ike.pan@canonical.com>" · 4 unmodified lines
55 Description:
66 Control the power of camera module. 1 means on, 0 means off.
77
8−What: /sys/devices/platform/ideapad/cfg
9−Date: Jun 2011
10−KernelVersion: 3.1
11−Contact: "Ike Panhc <ike.pan@canonical.com>"
12−Description:
13− Ideapad capability bits.
14− Bit 8-10: 1 - Intel graphic only
15− 2 - ATI graphic only
16− 3 - Nvidia graphic only
17− 4 - Intel and ATI graphic
18− 5 - Intel and Nvidia graphic
19− Bit 16: Bluetooth exist (1 for exist)
20− Bit 17: 3G exist (1 for exist)
21− Bit 18: Wifi exist (1 for exist)
22− Bit 19: Camera exist (1 for exist)
238
Documentation/ABI/testing/sysfs-wacom+0−10
@@ -1,10 +0,0 @@
1−What: /sys/class/hidraw/hidraw*/device/speed
2−Date: April 2010
3−Kernel Version: 2.6.35
4−Contact: linux-bluetooth@vger.kernel.org
5−Description:
6− The /sys/class/hidraw/hidraw*/device/speed file controls
7− reporting speed of wacom bluetooth tablet. Reading from
8− this file returns 1 if tablet reports in high speed mode
9− or 0 otherwise. Writing to this file one of these values
10− switches reporting speed.
Documentation/CodingStyle+2−2
@@ -166,8 +166,8 @@ if (condition) · 165 unmodified lines
166166 else
167167 do_that();
168168
169−This does not apply if one branch of a conditional statement is a single
170−statement. Use braces in both branches.
169+This does not apply if only one branch of a conditional statement is a single
170+statement; in the latter case use braces in both branches:
171171
172172 if (condition) {
173173 do_this();
Documentation/DMA-API.txt+7−0
@@ -50,6 +50,13 @@ specify the GFP_ flags (see kmalloc) for the allocation (the · 49 unmodified lines
5050 implementation may choose to ignore flags that affect the location of
5151 the returned memory, like GFP_DMA).
5252
53+void *
54+dma_zalloc_coherent(struct device *dev, size_t size,
55+ dma_addr_t *dma_handle, gfp_t flag)
56+
57+Wraps dma_alloc_coherent() and also zeroes the returned memory if the
58+allocation attempt succeeded.
59+
5360 void
5461 dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
5562 dma_addr_t dma_handle)
Documentation/DocBook/80211.tmpl+10−1
@@ -433,8 +433,18 @@ · 432 unmodified lines
433433 Insert notes about VLAN interfaces with hw crypto here or
434434 in the hw crypto chapter.
435435 </para>
436+ <section id="ps-client">
437+ <title>support for powersaving clients</title>
438+!Pinclude/net/mac80211.h AP support for powersaving clients
439+ </section>
436440 !Finclude/net/mac80211.h ieee80211_get_buffered_bc
437441 !Finclude/net/mac80211.h ieee80211_beacon_get
442+!Finclude/net/mac80211.h ieee80211_sta_eosp_irqsafe
443+!Finclude/net/mac80211.h ieee80211_frame_release_type
444+!Finclude/net/mac80211.h ieee80211_sta_ps_transition
445+!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni
446+!Finclude/net/mac80211.h ieee80211_sta_set_buffered
447+!Finclude/net/mac80211.h ieee80211_sta_block_awake
438448 </chapter>
439449
440450 <chapter id="multi-iface">
@@ -460,7 +470,6 @@ · 19 unmodified lines
460470 !Finclude/net/mac80211.h sta_notify_cmd
461471 !Finclude/net/mac80211.h ieee80211_find_sta
462472 !Finclude/net/mac80211.h ieee80211_find_sta_by_ifaddr
463−!Finclude/net/mac80211.h ieee80211_sta_block_awake
464473 </chapter>
465474
466475 <chapter id="hardware-scan-offload">
Documentation/DocBook/drm.tmpl+168−140
@@ -32,7 +32,7 @@ · 31 unmodified lines
3232 The Linux DRM layer contains code intended to support the needs
3333 of complex graphics devices, usually containing programmable
3434 pipelines well suited to 3D graphics acceleration. Graphics
35− drivers in the kernel can make use of DRM functions to make
35+ drivers in the kernel may make use of DRM functions to make
3636 tasks like memory management, interrupt handling and DMA easier,
3737 and provide a uniform interface to applications.
3838 </para>
@@ -57,10 +57,10 @@ · 18 unmodified lines
5757 existing drivers.
5858 </para>
5959 <para>
60− First, we'll go over some typical driver initialization
60+ First, we go over some typical driver initialization
6161 requirements, like setting up command buffers, creating an
6262 initial output configuration, and initializing core services.
63− Subsequent sections will cover core internals in more detail,
63+ Subsequent sections cover core internals in more detail,
6464 providing implementation notes and examples.
6565 </para>
6666 <para>
@@ -74,7 +74,7 @@ · 7 unmodified lines
7474 </para>
7575 <para>
7676 The core of every DRM driver is struct drm_driver. Drivers
77− will typically statically initialize a drm_driver structure,
77+ typically statically initialize a drm_driver structure,
7878 then pass it to drm_init() at load time.
7979 </para>
8080
@@ -88,8 +88,8 @@ · 7 unmodified lines
8888 </para>
8989 <programlisting>
9090 static struct drm_driver driver = {
91− /* don't use mtrr's here, the Xserver or user space app should
92− * deal with them for intel hardware.
91+ /* Don't use MTRRs here; the Xserver or userspace app should
92+ * deal with them for Intel hardware.
9393 */
9494 .driver_features =
9595 DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
@@ -154,8 +154,8 @@ · 58 unmodified lines
154154 </programlisting>
155155 <para>
156156 In the example above, taken from the i915 DRM driver, the driver
157− sets several flags indicating what core features it supports.
158− We'll go over the individual callbacks in later sections. Since
157+ sets several flags indicating what core features it supports;
158+ we go over the individual callbacks in later sections. Since
159159 flags indicate which features your driver supports to the DRM
160160 core, you need to set most of them prior to calling drm_init(). Some,
161161 like DRIVER_MODESET can be set later based on user supplied parameters,
@@ -203,8 +203,8 @@ · 41 unmodified lines
203203 <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term>
204204 <listitem>
205205 <para>
206− DRIVER_HAVE_IRQ indicates whether the driver has a IRQ
207− handler, DRIVER_IRQ_SHARED indicates whether the device &amp;
206+ DRIVER_HAVE_IRQ indicates whether the driver has an IRQ
207+ handler. DRIVER_IRQ_SHARED indicates whether the device &amp;
208208 handler support shared IRQs (note that this is required of
209209 PCI drivers).
210210 </para>
@@ -214,8 +214,8 @@ · 3 unmodified lines
214214 <term>DRIVER_DMA_QUEUE</term>
215215 <listitem>
216216 <para>
217− If the driver queues DMA requests and completes them
218− asynchronously, this flag should be set. Deprecated.
217+ Should be set if the driver queues DMA requests and completes them
218+ asynchronously. Deprecated.
219219 </para>
220220 </listitem>
221221 </varlistentry>
@@ -238,7 +238,7 @@ · 16 unmodified lines
238238 </variablelist>
239239 <para>
240240 In this specific case, the driver requires AGP and supports
241− IRQs. DMA, as we'll see, is handled by device specific ioctls
241+ IRQs. DMA, as discussed later, is handled by device-specific ioctls
242242 in this case. It also supports the kernel mode setting APIs, though
243243 unlike in the actual i915 driver source, this example unconditionally
244244 exports KMS capability.
@@ -269,36 +269,34 @@ · 24 unmodified lines
269269 initial output configuration.
270270 </para>
271271 <para>
272− Note that the tasks performed at driver load time must not
273− conflict with DRM client requirements. For instance, if user
272+ If compatibility is a concern (e.g. with drivers converted over
273+ to the new interfaces from the old ones), care must be taken to
274+ prevent device initialization and control that is incompatible with
275+ currently active userspace drivers. For instance, if user
274276 level mode setting drivers are in use, it would be problematic
275277 to perform output discovery &amp; configuration at load time.
276− Likewise, if pre-memory management aware user level drivers are
278+ Likewise, if user-level drivers unaware of memory management are
277279 in use, memory management and command buffer setup may need to
278− be omitted. These requirements are driver specific, and care
280+ be omitted. These requirements are driver-specific, and care
279281 needs to be taken to keep both old and new applications and
280282 libraries working. The i915 driver supports the "modeset"
281283 module parameter to control whether advanced features are
282− enabled at load time or in legacy fashion. If compatibility is
283− a concern (e.g. with drivers converted over to the new interfaces
284− from the old ones), care must be taken to prevent incompatible
285− device initialization and control with the currently active
286− userspace drivers.
284+ enabled at load time or in legacy fashion.
287285 </para>
288286
289287 <sect2>
290288 <title>Driver private &amp; performance counters</title>
291289 <para>
292290 The driver private hangs off the main drm_device structure and
293− can be used for tracking various device specific bits of
291+ can be used for tracking various device-specific bits of
294292 information, like register offsets, command buffer status,
295293 register state for suspend/resume, etc. At load time, a
296− driver can simply allocate one and set drm_device.dev_priv
297− appropriately; at unload the driver can free it and set
298− drm_device.dev_priv to NULL.
294+ driver may simply allocate one and set drm_device.dev_priv
295+ appropriately; it should be freed and drm_device.dev_priv set
296+ to NULL when the driver is unloaded.
299297 </para>
300298 <para>
301− The DRM supports several counters which can be used for rough
299+ The DRM supports several counters which may be used for rough
302300 performance characterization. Note that the DRM stat counter
303301 system is not often used by applications, and supporting
304302 additional counters is completely optional.
@@ -307,15 +305,15 @@ · 2 unmodified lines
307305 These interfaces are deprecated and should not be used. If performance
308306 monitoring is desired, the developer should investigate and
309307 potentially enhance the kernel perf and tracing infrastructure to export
310− GPU related performance information to performance monitoring
311− tools and applications.
308+ GPU related performance information for consumption by performance
309+ monitoring tools and applications.
312310 </para>
313311 </sect2>
314312
315313 <sect2>
316314 <title>Configuring the device</title>
317315 <para>
318− Obviously, device configuration will be device specific.
316+ Obviously, device configuration is device-specific.
319317 However, there are several common operations: finding a
320318 device's PCI resources, mapping them, and potentially setting
321319 up an IRQ handler.
@@ -323,10 +321,10 @@ · 1 unmodified line
323321 <para>
324322 Finding &amp; mapping resources is fairly straightforward. The
325323 DRM wrapper functions, drm_get_resource_start() and
326− drm_get_resource_len() can be used to find BARs on the given
324+ drm_get_resource_len(), may be used to find BARs on the given
327325 drm_device struct. Once those values have been retrieved, the
328326 driver load function can call drm_addmap() to create a new
329− mapping for the BAR in question. Note you'll probably want a
327+ mapping for the BAR in question. Note that you probably want a
330328 drm_local_map_t in your driver private structure to track any
331329 mappings you create.
332330 <!-- !Fdrivers/gpu/drm/drm_bufs.c drm_get_resource_* -->
@@ -335,20 +333,20 @@ · 2 unmodified lines
335333 <para>
336334 if compatibility with other operating systems isn't a concern
337335 (DRM drivers can run under various BSD variants and OpenSolaris),
338− native Linux calls can be used for the above, e.g. pci_resource_*
336+ native Linux calls may be used for the above, e.g. pci_resource_*
339337 and iomap*/iounmap. See the Linux device driver book for more
340338 info.
341339 </para>
342340 <para>
343− Once you have a register map, you can use the DRM_READn() and
341+ Once you have a register map, you may use the DRM_READn() and
344342 DRM_WRITEn() macros to access the registers on your device, or
345− use driver specific versions to offset into your MMIO space
346− relative to a driver specific base pointer (see I915_READ for
347− example).
343+ use driver-specific versions to offset into your MMIO space
344+ relative to a driver-specific base pointer (see I915_READ for
345+ an example).
348346 </para>
349347 <para>
350348 If your device supports interrupt generation, you may want to
351− setup an interrupt handler at driver load time as well. This
349+ set up an interrupt handler when the driver is loaded. This
352350 is done using the drm_irq_install() function. If your device
353351 supports vertical blank interrupts, it should call
354352 drm_vblank_init() to initialize the core vblank handling code before
@@ -357,7 +355,7 @@ · 2 unmodified lines
357355 </para>
358356 <!--!Fdrivers/char/drm/drm_irq.c drm_irq_install-->
359357 <para>
360− Once your interrupt handler is registered (it'll use your
358+ Once your interrupt handler is registered (it uses your
361359 drm_driver.irq_handler as the actual interrupt handling
362360 function), you can safely enable interrupts on your device,
363361 assuming any other state your interrupt handler uses is also
@@ -371,10 +369,10 @@ · 7 unmodified lines
371369 using the pci_map_rom() call, a convenience function that
372370 takes care of mapping the actual ROM, whether it has been
373371 shadowed into memory (typically at address 0xc0000) or exists
374− on the PCI device in the ROM BAR. Note that once you've
375− mapped the ROM and extracted any necessary information, be
376− sure to unmap it; on many devices the ROM address decoder is
377− shared with other BARs, so leaving it mapped can cause
372+ on the PCI device in the ROM BAR. Note that after the ROM
373+ has been mapped and any necessary information has been extracted,
374+ it should be unmapped; on many devices, the ROM address decoder is
375+ shared with other BARs, so leaving it mapped could cause
378376 undesired behavior like hangs or memory corruption.
379377 <!--!Fdrivers/pci/rom.c pci_map_rom-->
380378 </para>
@@ -389,9 +387,9 @@ · 8 unmodified lines
389387 should support a memory manager.
390388 </para>
391389 <para>
392− If your driver supports memory management (it should!), you'll
390+ If your driver supports memory management (it should!), you
393391 need to set that up at load time as well. How you initialize
394− it depends on which memory manager you're using, TTM or GEM.
392+ it depends on which memory manager you're using: TTM or GEM.
395393 </para>
396394 <sect3>
397395 <title>TTM initialization</title>
@@ -401,7 +399,7 @@ · 3 unmodified lines
401399 and devices with dedicated video RAM (VRAM), i.e. most discrete
402400 graphics devices. If your device has dedicated RAM, supporting
403401 TTM is desirable. TTM also integrates tightly with your
404− driver specific buffer execution function. See the radeon
402+ driver-specific buffer execution function. See the radeon
405403 driver for examples.
406404 </para>
407405 <para>
@@ -429,21 +427,21 @@ · 21 unmodified lines
429427 created by the memory manager at runtime. Your global TTM should
430428 have a type of TTM_GLOBAL_TTM_MEM. The size field for the global
431429 object should be sizeof(struct ttm_mem_global), and the init and
432− release hooks should point at your driver specific init and
433− release routines, which will probably eventually call
434− ttm_mem_global_init and ttm_mem_global_release respectively.
430+ release hooks should point at your driver-specific init and
431+ release routines, which probably eventually call
432+ ttm_mem_global_init and ttm_mem_global_release, respectively.
435433 </para>
436434 <para>
437435 Once your global TTM accounting structure is set up and initialized
438− (done by calling ttm_global_item_ref on the global object you
439− just created), you'll need to create a buffer object TTM to
436+ by calling ttm_global_item_ref() on it,
437+ you need to create a buffer object TTM to
440438 provide a pool for buffer object allocation by clients and the
441439 kernel itself. The type of this object should be TTM_GLOBAL_TTM_BO,
442440 and its size should be sizeof(struct ttm_bo_global). Again,
443− driver specific init and release functions can be provided,
444− likely eventually calling ttm_bo_global_init and
445− ttm_bo_global_release, respectively. Also like the previous
446− object, ttm_global_item_ref is used to create an initial reference
441+ driver-specific init and release functions may be provided,
442+ likely eventually calling ttm_bo_global_init() and
443+ ttm_bo_global_release(), respectively. Also, like the previous
444+ object, ttm_global_item_ref() is used to create an initial reference
447445 count for the TTM, which will call your initialization function.
448446 </para>
449447 </sect3>
@@ -453,27 +451,26 @@ · 3 unmodified lines
453451 GEM is an alternative to TTM, designed specifically for UMA
454452 devices. It has simpler initialization and execution requirements
455453 than TTM, but has no VRAM management capability. Core GEM
456− initialization is comprised of a basic drm_mm_init call to create
454+ is initialized by calling drm_mm_init() to create
457455 a GTT DRM MM object, which provides an address space pool for
458− object allocation. In a KMS configuration, the driver will
459− need to allocate and initialize a command ring buffer following
460− basic GEM initialization. Most UMA devices have a so-called
456+ object allocation. In a KMS configuration, the driver
457+ needs to allocate and initialize a command ring buffer following
458+ core GEM initialization. A UMA device usually has what is called a
461459 "stolen" memory region, which provides space for the initial
462460 framebuffer and large, contiguous memory regions required by the
463− device. This space is not typically managed by GEM, and must
461+ device. This space is not typically managed by GEM, and it must
464462 be initialized separately into its own DRM MM object.
465463 </para>
466464 <para>
467− Initialization will be driver specific, and will depend on
468− the architecture of the device. In the case of Intel
465+ Initialization is driver-specific. In the case of Intel
469466 integrated graphics chips like 965GM, GEM initialization can
470467 be done by calling the internal GEM init function,
471468 i915_gem_do_init(). Since the 965GM is a UMA device
472− (i.e. it doesn't have dedicated VRAM), GEM will manage
469+ (i.e. it doesn't have dedicated VRAM), GEM manages
473470 making regular RAM available for GPU operations. Memory set
474471 aside by the BIOS (called "stolen" memory by the i915
475− driver) will be managed by the DRM memrange allocator; the
476− rest of the aperture will be managed by GEM.
472+ driver) is managed by the DRM memrange allocator; the
473+ rest of the aperture is managed by GEM.
477474 <programlisting>
478475 /* Basic memrange allocator for stolen space (aka vram) */
479476 drm_memrange_init(&amp;dev_priv->vram, 0, prealloc_size);
@@ -483,7 +480,7 @@ · 3 unmodified lines
483480 <!--!Edrivers/char/drm/drm_memrange.c-->
484481 </para>
485482 <para>
486− Once the memory manager has been set up, we can allocate the
483+ Once the memory manager has been set up, we may allocate the
487484 command buffer. In the i915 case, this is also done with a
488485 GEM function, i915_gem_init_ringbuffer().
489486 </para>
@@ -493,16 +490,25 @@ · 3 unmodified lines
493490 <sect2>
494491 <title>Output configuration</title>
495492 <para>
496− The final initialization task is output configuration. This involves
497− finding and initializing the CRTCs, encoders and connectors
498− for your device, creating an initial configuration and
499− registering a framebuffer console driver.
493+ The final initialization task is output configuration. This involves:
494+ <itemizedlist>
495+ <listitem>
496+ Finding and initializing the CRTCs, encoders, and connectors
497+ for the device.
498+ </listitem>
499+ <listitem>
500+ Creating an initial configuration.
501+ </listitem>
502+ <listitem>
503+ Registering a framebuffer console driver.
504+ </listitem>
505+ </itemizedlist>
500506 </para>
501507 <sect3>
502508 <title>Output discovery and initialization</title>
503509 <para>
504− Several core functions exist to create CRTCs, encoders and
505− connectors, namely drm_crtc_init(), drm_connector_init() and
510+ Several core functions exist to create CRTCs, encoders, and
511+ connectors, namely: drm_crtc_init(), drm_connector_init(), and
506512 drm_encoder_init(), along with several "helper" functions to
507513 perform common tasks.
508514 </para>
@@ -555,10 +561,10 @@ void intel_crt_init(struct drm_device *dev) · 46 unmodified lines
555561 </programlisting>
556562 <para>
557563 In the example above (again, taken from the i915 driver), a
558− CRT connector and encoder combination is created. A device
559− specific i2c bus is also created, for fetching EDID data and
564+ CRT connector and encoder combination is created. A device-specific
565+ i2c bus is also created for fetching EDID data and
560566 performing monitor detection. Once the process is complete,
561− the new connector is registered with sysfs, to make its
567+ the new connector is registered with sysfs to make its
562568 properties available to applications.
563569 </para>
564570 <sect4>
@@ -567,12 +573,12 @@ void intel_crt_init(struct drm_device *dev) · 2 unmodified lines
567573 Since many PC-class graphics devices have similar display output
568574 designs, the DRM provides a set of helper functions to make
569575 output management easier. The core helper routines handle
570− encoder re-routing and disabling of unused functions following
571− mode set. Using the helpers is optional, but recommended for
576+ encoder re-routing and the disabling of unused functions following
577+ mode setting. Using the helpers is optional, but recommended for
572578 devices with PC-style architectures (i.e. a set of display planes
573579 for feeding pixels to encoders which are in turn routed to
574580 connectors). Devices with more complex requirements needing
575− finer grained management can opt to use the core callbacks
581+ finer grained management may opt to use the core callbacks
576582 directly.
577583 </para>
578584 <para>
@@ -580,17 +586,25 @@ void intel_crt_init(struct drm_device *dev) · 1 unmodified line
580586 </para>
581587 </sect4>
582588 <para>
583− For each encoder, CRTC and connector, several functions must
584− be provided, depending on the object type. Encoder objects
585− need to provide a DPMS (basically on/off) function, mode fixup
586− (for converting requested modes into native hardware timings),
587− and prepare, set and commit functions for use by the core DRM
588− helper functions. Connector helpers need to provide mode fetch and
589− validity functions as well as an encoder matching function for
590− returning an ideal encoder for a given connector. The core
591− connector functions include a DPMS callback, (deprecated)
592− save/restore routines, detection, mode probing, property handling,
593− and cleanup functions.
589+ Each encoder object needs to provide:
590+ <itemizedlist>
591+ <listitem>
592+ A DPMS (basically on/off) function.
593+ </listitem>
594+ <listitem>
595+ A mode-fixup function (for converting requested modes into
596+ native hardware timings).
597+ </listitem>
598+ <listitem>
599+ Functions (prepare, set, and commit) for use by the core DRM
600+ helper functions.
601+ </listitem>
602+ </itemizedlist>
603+ Connector helpers need to provide functions (mode-fetch, validity,
604+ and encoder-matching) for returning an ideal encoder for a given
605+ connector. The core connector functions include a DPMS callback,
606+ save/restore routines (deprecated), detection, mode probing,
607+ property handling, and cleanup functions.
594608 </para>
595609 <!--!Edrivers/char/drm/drm_crtc.h-->
596610 <!--!Edrivers/char/drm/drm_crtc.c-->
@@ -605,22 +619,33 @@ void intel_crt_init(struct drm_device *dev) · 8 unmodified lines
605619 <title>VBlank event handling</title>
606620 <para>
607621 The DRM core exposes two vertical blank related ioctls:
608− DRM_IOCTL_WAIT_VBLANK and DRM_IOCTL_MODESET_CTL.
622+ <variablelist>
623+ <varlistentry>
624+ <term>DRM_IOCTL_WAIT_VBLANK</term>
625+ <listitem>
626+ <para>
627+ This takes a struct drm_wait_vblank structure as its argument,
628+ and it is used to block or request a signal when a specified
629+ vblank event occurs.
630+ </para>
631+ </listitem>
632+ </varlistentry>
633+ <varlistentry>
634+ <term>DRM_IOCTL_MODESET_CTL</term>
635+ <listitem>
636+ <para>
637+ This should be called by application level drivers before and
638+ after mode setting, since on many devices the vertical blank
639+ counter is reset at that time. Internally, the DRM snapshots
640+ the last vblank count when the ioctl is called with the
641+ _DRM_PRE_MODESET command, so that the counter won't go backwards
642+ (which is dealt with when _DRM_POST_MODESET is used).
643+ </para>
644+ </listitem>
645+ </varlistentry>
646+ </variablelist>
609647 <!--!Edrivers/char/drm/drm_irq.c-->
610648 </para>
611− <para>
612− DRM_IOCTL_WAIT_VBLANK takes a struct drm_wait_vblank structure
613− as its argument, and is used to block or request a signal when a
614− specified vblank event occurs.
615− </para>
616− <para>
617− DRM_IOCTL_MODESET_CTL should be called by application level
618− drivers before and after mode setting, since on many devices the
619− vertical blank counter will be reset at that time. Internally,
620− the DRM snapshots the last vblank count when the ioctl is called
621− with the _DRM_PRE_MODESET command so that the counter won't go
622− backwards (which is dealt with when _DRM_POST_MODESET is used).
623− </para>
624649 <para>
625650 To support the functions above, the DRM core provides several
626651 helper functions for tracking vertical blank counters, and
@@ -632,24 +657,24 @@ void intel_crt_init(struct drm_device *dev) · 5 unmodified lines
632657 register. The enable and disable vblank callbacks should enable
633658 and disable vertical blank interrupts, respectively. In the
634659 absence of DRM clients waiting on vblank events, the core DRM
635− code will use the disable_vblank() function to disable
636− interrupts, which saves power. They'll be re-enabled again when
660+ code uses the disable_vblank() function to disable
661+ interrupts, which saves power. They are re-enabled again when
637662 a client calls the vblank wait ioctl above.
638663 </para>
639664 <para>
640− Devices that don't provide a count register can simply use an
665+ A device that doesn't provide a count register may simply use an
641666 internal atomic counter incremented on every vertical blank
642− interrupt, and can make their enable and disable vblank
643− functions into no-ops.
667+ interrupt (and then treat the enable_vblank() and disable_vblank()
668+ callbacks as no-ops).
644669 </para>
645670 </sect1>
646671
647672 <sect1>
648673 <title>Memory management</title>
649674 <para>
650− The memory manager lies at the heart of many DRM operations, and
651− is also required to support advanced client features like OpenGL
652− pbuffers. The DRM currently contains two memory managers, TTM
675+ The memory manager lies at the heart of many DRM operations; it
676+ is required to support advanced client features like OpenGL
677+ pbuffers. The DRM currently contains two memory managers: TTM
653678 and GEM.
654679 </para>
655680
@@ -679,41 +704,46 @@ void intel_crt_init(struct drm_device *dev) · 23 unmodified lines
679704 <para>
680705 GEM-enabled drivers must provide gem_init_object() and
681706 gem_free_object() callbacks to support the core memory
682− allocation routines. They should also provide several driver
683− specific ioctls to support command execution, pinning, buffer
707+ allocation routines. They should also provide several driver-specific
708+ ioctls to support command execution, pinning, buffer
684709 read &amp; write, mapping, and domain ownership transfers.
685710 </para>
686711 <para>
687− On a fundamental level, GEM involves several operations: memory
688− allocation and freeing, command execution, and aperture management
689− at command execution time. Buffer object allocation is relatively
712+ On a fundamental level, GEM involves several operations:
713+ <itemizedlist>
714+ <listitem>Memory allocation and freeing</listitem>
715+ <listitem>Command execution</listitem>
716+ <listitem>Aperture management at command execution time</listitem>
717+ </itemizedlist>
718+ Buffer object allocation is relatively
690719 straightforward and largely provided by Linux's shmem layer, which
691720 provides memory to back each object. When mapped into the GTT
692721 or used in a command buffer, the backing pages for an object are
693722 flushed to memory and marked write combined so as to be coherent
694− with the GPU. Likewise, when the GPU finishes rendering to an object,
695− if the CPU accesses it, it must be made coherent with the CPU's view
723+ with the GPU. Likewise, if the CPU accesses an object after the GPU
724+ has finished rendering to the object, then the object must be made
725+ coherent with the CPU's view
696726 of memory, usually involving GPU cache flushing of various kinds.
697− This core CPU&lt;-&gt;GPU coherency management is provided by the GEM
698− set domain function, which evaluates an object's current domain and
727+ This core CPU&lt;-&gt;GPU coherency management is provided by a
728+ device-specific ioctl, which evaluates an object's current domain and
699729 performs any necessary flushing or synchronization to put the object
700730 into the desired coherency domain (note that the object may be busy,
701− i.e. an active render target; in that case the set domain function
702− will block the client and wait for rendering to complete before
731+ i.e. an active render target; in that case, setting the domain
732+ blocks the client and waits for rendering to complete before
703733 performing any necessary flushing operations).
704734 </para>
705735 <para>
706736 Perhaps the most important GEM function is providing a command
707737 execution interface to clients. Client programs construct command
708− buffers containing references to previously allocated memory objects
709− and submit them to GEM. At that point, GEM will take care to bind
738+ buffers containing references to previously allocated memory objects,
739+ and then submit them to GEM. At that point, GEM takes care to bind
710740 all the objects into the GTT, execute the buffer, and provide
711741 necessary synchronization between clients accessing the same buffers.
712742 This often involves evicting some objects from the GTT and re-binding
713743 others (a fairly expensive operation), and providing relocation
714744 support which hides fixed GTT offsets from clients. Clients must
715745 take care not to submit command buffers that reference more objects
716− than can fit in the GTT or GEM will reject them and no rendering
746+ than can fit in the GTT; otherwise, GEM will reject them and no rendering
717747 will occur. Similarly, if several objects in the buffer require
718748 fence registers to be allocated for correct rendering (e.g. 2D blits
719749 on pre-965 chips), care must be taken not to require more fence
@@ -729,7 +759,7 @@ void intel_crt_init(struct drm_device *dev) · 9 unmodified lines
729759 <title>Output management</title>
730760 <para>
731761 At the core of the DRM output management code is a set of
732− structures representing CRTCs, encoders and connectors.
762+ structures representing CRTCs, encoders, and connectors.
733763 </para>
734764 <para>
735765 A CRTC is an abstraction representing a part of the chip that
@@ -765,21 +795,19 @@ void intel_crt_init(struct drm_device *dev) · 29 unmodified lines
765795 <sect1>
766796 <title>Framebuffer management</title>
767797 <para>
768− In order to set a mode on a given CRTC, encoder and connector
769− configuration, clients need to provide a framebuffer object which
770− will provide a source of pixels for the CRTC to deliver to the encoder(s)
771− and ultimately the connector(s) in the configuration. A framebuffer
772− is fundamentally a driver specific memory object, made into an opaque
773− handle by the DRM addfb function. Once an fb has been created this
774− way it can be passed to the KMS mode setting routines for use in
775− a configuration.
798+ Clients need to provide a framebuffer object which provides a source
799+ of pixels for a CRTC to deliver to the encoder(s) and ultimately the
800+ connector(s). A framebuffer is fundamentally a driver-specific memory
801+ object, made into an opaque handle by the DRM's addfb() function.
802+ Once a framebuffer has been created this way, it may be passed to the
803+ KMS mode setting routines for use in a completed configuration.
776804 </para>
777805 </sect1>
778806
779807 <sect1>
780808 <title>Command submission &amp; fencing</title>
781809 <para>
782− This should cover a few device specific command submission
810+ This should cover a few device-specific command submission
783811 implementations.
784812 </para>
785813 </sect1>
@@ -789,7 +817,7 @@ void intel_crt_init(struct drm_device *dev) · 3 unmodified lines
789817 <para>
790818 The DRM core provides some suspend/resume code, but drivers
791819 wanting full suspend/resume support should provide save() and
792− restore() functions. These will be called at suspend,
820+ restore() functions. These are called at suspend,
793821 hibernate, or resume time, and should perform any state save or
794822 restore required by your device across suspend or hibernate
795823 states.
@@ -812,8 +840,8 @@ void intel_crt_init(struct drm_device *dev) · 16 unmodified lines
812840 <para>
813841 The DRM core exports several interfaces to applications,
814842 generally intended to be used through corresponding libdrm
815− wrapper functions. In addition, drivers export device specific
816− interfaces for use by userspace drivers &amp; device aware
843+ wrapper functions. In addition, drivers export device-specific
844+ interfaces for use by userspace drivers &amp; device-aware
817845 applications through ioctls and sysfs files.
818846 </para>
819847 <para>
@@ -822,8 +850,8 @@ void intel_crt_init(struct drm_device *dev) · 2 unmodified lines
822850 management, memory management, and output management.
823851 </para>
824852 <para>
825− Cover generic ioctls and sysfs layout here. Only need high
826− level info, since man pages will cover the rest.
853+ Cover generic ioctls and sysfs layout here. We only need high-level
854+ info, since man pages should cover the rest.
827855 </para>
828856 </chapter>
829857
Documentation/DocBook/media/dvb/dvbproperty.xml+10−14
@@ -352,6 +352,7 @@ typedef enum fe_delivery_system { · 351 unmodified lines
352352 SYS_CMMB,
353353 SYS_DAB,
354354 SYS_DVBT2,
355+ SYS_TURBO,
355356 } fe_delivery_system_t;
356357 </programlisting>
357358 </section>
@@ -809,6 +810,8 @@ typedef enum fe_hierarchy { · 451 unmodified lines
809810 <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
810811 <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
811812 <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
813+ <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem>
814+ <listitem><para><link linkend="DTV-TONE"><constant>DTV_TONE</constant></link></para></listitem>
812815 </itemizedlist>
813816 <para>Future implementations might add those two missing parameters:</para>
814817 <itemizedlist mark='opencircle'>
@@ -818,25 +821,18 @@ typedef enum fe_hierarchy { · 3 unmodified lines
818821 </section>
819822 <section id="dvbs2-params">
820823 <title>DVB-S2 delivery system</title>
821− <para>The following parameters are valid for DVB-S2:</para>
824+ <para>In addition to all parameters valid for DVB-S, DVB-S2 supports the following parameters:</para>
822825 <itemizedlist mark='opencircle'>
823− <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
824− <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
825− <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
826− <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
827− <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
828− <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
829− <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
830− <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
831− <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem>
832− <listitem><para><link linkend="DTV-TONE"><constant>DTV_TONE</constant></link></para></listitem>
826+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
833827 <listitem><para><link linkend="DTV-PILOT"><constant>DTV_PILOT</constant></link></para></listitem>
834828 <listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem>
835829 </itemizedlist>
836− <para>Future implementations might add those two missing parameters:</para>
830+ </section>
831+ <section id="turbo-params">
832+ <title>Turbo code delivery system</title>
833+ <para>In addition to all parameters valid for DVB-S, turbo code supports the following parameters:</para>
837834 <itemizedlist mark='opencircle'>
838− <listitem><para><link linkend="DTV-DISEQC-MASTER"><constant>DTV_DISEQC_MASTER</constant></link></para></listitem>
839− <listitem><para><link linkend="DTV-DISEQC-SLAVE-REPLY"><constant>DTV_DISEQC_SLAVE_REPLY</constant></link></para></listitem>
835+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
840836 </itemizedlist>
841837 </section>
842838 <section id="isdbs-params">
Documentation/DocBook/media/dvb/intro.xml+1−1
@@ -205,7 +205,7 @@ a partial path like:</para> · 204 unmodified lines
205205 additional include file <emphasis
206206 role="tt">linux/dvb/version.h</emphasis> exists, which defines the
207207 constant <emphasis role="tt">DVB_API_VERSION</emphasis>. This document
208−describes <emphasis role="tt">DVB_API_VERSION&#x00A0;3</emphasis>.
208+describes <emphasis role="tt">DVB_API_VERSION 5.4</emphasis>.
209209 </para>
210210
211211 </section>
Documentation/DocBook/media/v4l/compat.xml+11−0
@@ -2370,6 +2370,14 @@ that used it. It was originally scheduled for removal in 2.6.35. · 2369 unmodified lines
23702370 </listitem>
23712371 </orderedlist>
23722372 </section>
2373+ <section>
2374+ <title>V4L2 in Linux 3.2</title>
2375+ <orderedlist>
2376+ <listitem>
2377+ <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para>
2378+ </listitem>
2379+ </orderedlist>
2380+ </section>
23732381
23742382 <section id="other">
23752383 <title>Relation of V4L2 to other Linux multimedia APIs</title>
@@ -2478,6 +2486,9 @@ ioctls.</para> · 102 unmodified lines
24782486 <listitem>
24792487 <para>Flash API. <xref linkend="flash-controls" /></para>
24802488 </listitem>
2489+ <listitem>
2490+ <para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para>
2491+ </listitem>
24812492 </itemizedlist>
24822493 </section>
24832494
Documentation/DocBook/media/v4l/controls.xml+3−2
@@ -232,8 +232,9 @@ control is deprecated. New drivers and applications should use the · 231 unmodified lines
232232 <entry>Enables a power line frequency filter to avoid
233233 flicker. Possible values for <constant>enum v4l2_power_line_frequency</constant> are:
234234 <constant>V4L2_CID_POWER_LINE_FREQUENCY_DISABLED</constant> (0),
235−<constant>V4L2_CID_POWER_LINE_FREQUENCY_50HZ</constant> (1) and
236−<constant>V4L2_CID_POWER_LINE_FREQUENCY_60HZ</constant> (2).</entry>
235+<constant>V4L2_CID_POWER_LINE_FREQUENCY_50HZ</constant> (1),
236+<constant>V4L2_CID_POWER_LINE_FREQUENCY_60HZ</constant> (2) and
237+<constant>V4L2_CID_POWER_LINE_FREQUENCY_AUTO</constant> (3).</entry>
237238 </row>
238239 <row>
239240 <entry><constant>V4L2_CID_HUE_AUTO</constant></entry>
Documentation/DocBook/media/v4l/dev-subdev.xml+1−1
@@ -266,7 +266,7 @@ · 265 unmodified lines
266266
267267 <para>When satisfied with the try results, applications can set the active
268268 formats by setting the <structfield>which</structfield> argument to
269− <constant>V4L2_SUBDEV_FORMAT_TRY</constant>. Active formats are changed
269+ <constant>V4L2_SUBDEV_FORMAT_ACTIVE</constant>. Active formats are changed
270270 exactly as try formats by drivers. To avoid modifying the hardware state
271271 during format negotiation, applications should negotiate try formats first
272272 and then modify the active settings using the try formats returned during
Documentation/DocBook/media/v4l/io.xml+27−0
@@ -927,6 +927,33 @@ ioctl is called.</entry> · 926 unmodified lines
927927 Applications set or clear this flag before calling the
928928 <constant>VIDIOC_QBUF</constant> ioctl.</entry>
929929 </row>
930+ <row>
931+ <entry><constant>V4L2_BUF_FLAG_PREPARED</constant></entry>
932+ <entry>0x0400</entry>
933+ <entry>The buffer has been prepared for I/O and can be queued by the
934+application. Drivers set or clear this flag when the
935+<link linkend="vidioc-querybuf">VIDIOC_QUERYBUF</link>, <link
936+ linkend="vidioc-qbuf">VIDIOC_PREPARE_BUF</link>, <link
937+ linkend="vidioc-qbuf">VIDIOC_QBUF</link> or <link
938+ linkend="vidioc-qbuf">VIDIOC_DQBUF</link> ioctl is called.</entry>
939+ </row>
940+ <row>
941+ <entry><constant>V4L2_BUF_FLAG_NO_CACHE_INVALIDATE</constant></entry>
942+ <entry>0x0400</entry>
943+ <entry>Caches do not have to be invalidated for this buffer.
944+Typically applications shall use this flag if the data captured in the buffer
945+is not going to be touched by the CPU, instead the buffer will, probably, be
946+passed on to a DMA-capable hardware unit for further processing or output.
947+</entry>
948+ </row>
949+ <row>
950+ <entry><constant>V4L2_BUF_FLAG_NO_CACHE_CLEAN</constant></entry>
951+ <entry>0x0800</entry>
952+ <entry>Caches do not have to be cleaned for this buffer.
953+Typically applications shall use this flag for output buffers if the data
954+in this buffer has not been created by the CPU but by some DMA-capable unit,
955+in which case caches have not been used.</entry>
956+ </row>
930957 </tbody>
931958 </tgroup>
932959 </table>
Documentation/DocBook/media/v4l/v4l2.xml+10−1
@@ -127,6 +127,13 @@ structs, ioctls) must be noted in more detail in the history chapter · 126 unmodified lines
127127 (compat.xml), along with the possible impact on existing drivers and
128128 applications. -->
129129
130+ <revision>
131+ <revnumber>3.2</revnumber>
132+ <date>2011-08-26</date>
133+ <authorinitials>hv</authorinitials>
134+ <revremark>Added V4L2_CTRL_FLAG_VOLATILE.</revremark>
135+ </revision>
136+
130137 <revision>
131138 <revnumber>3.1</revnumber>
132139 <date>2011-06-27</date>
@@ -410,7 +417,7 @@ and discussions on the V4L mailing list.</revremark> · 277 unmodified lines
410417 </partinfo>
411418
412419 <title>Video for Linux Two API Specification</title>
413− <subtitle>Revision 3.1</subtitle>
420+ <subtitle>Revision 3.2</subtitle>
414421
415422 <chapter id="common">
416423 &sub-common;
@@ -462,6 +469,7 @@ and discussions on the V4L mailing list.</revremark> · 45 unmodified lines
462469 &sub-close;
463470 &sub-ioctl;
464471 <!-- All ioctls go here. -->
472+ &sub-create-bufs;
465473 &sub-cropcap;
466474 &sub-dbg-g-chip-ident;
467475 &sub-dbg-g-register;
@@ -504,6 +512,7 @@ and discussions on the V4L mailing list.</revremark> · 36 unmodified lines
504512 &sub-queryctrl;
505513 &sub-query-dv-preset;
506514 &sub-querystd;
515+ &sub-prepare-buf;
507516 &sub-reqbufs;
508517 &sub-s-hw-freq-seek;
509518 &sub-streamon;
Documentation/DocBook/media/v4l/vidioc-create-bufs.xml+139−0
@@ -0,0 +1,139 @@
1+<refentry id="vidioc-create-bufs">
2+ <refmeta>
3+ <refentrytitle>ioctl VIDIOC_CREATE_BUFS</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+
7+ <refnamediv>
8+ <refname>VIDIOC_CREATE_BUFS</refname>
9+ <refpurpose>Create buffers for Memory Mapped or User Pointer I/O</refpurpose>
10+ </refnamediv>
11+
12+ <refsynopsisdiv>
13+ <funcsynopsis>
14+ <funcprototype>
15+ <funcdef>int <function>ioctl</function></funcdef>
16+ <paramdef>int <parameter>fd</parameter></paramdef>
17+ <paramdef>int <parameter>request</parameter></paramdef>
18+ <paramdef>struct v4l2_create_buffers *<parameter>argp</parameter></paramdef>
19+ </funcprototype>
20+ </funcsynopsis>
21+ </refsynopsisdiv>
22+
23+ <refsect1>
24+ <title>Arguments</title>
25+
26+ <variablelist>
27+ <varlistentry>
28+ <term><parameter>fd</parameter></term>
29+ <listitem>
30+ <para>&fd;</para>
31+ </listitem>
32+ </varlistentry>
33+ <varlistentry>
34+ <term><parameter>request</parameter></term>
35+ <listitem>
36+ <para>VIDIOC_CREATE_BUFS</para>
37+ </listitem>
38+ </varlistentry>
39+ <varlistentry>
40+ <term><parameter>argp</parameter></term>
41+ <listitem>
42+ <para></para>
43+ </listitem>
44+ </varlistentry>
45+ </variablelist>
46+ </refsect1>
47+
48+ <refsect1>
49+ <title>Description</title>
50+
51+ <para>This ioctl is used to create buffers for <link linkend="mmap">memory
52+mapped</link> or <link linkend="userp">user pointer</link>
53+I/O. It can be used as an alternative or in addition to the
54+<constant>VIDIOC_REQBUFS</constant> ioctl, when a tighter control over buffers
55+is required. This ioctl can be called multiple times to create buffers of
56+different sizes.</para>
57+
58+ <para>To allocate device buffers applications initialize relevant fields of
59+the <structname>v4l2_create_buffers</structname> structure. They set the
60+<structfield>type</structfield> field in the
61+<structname>v4l2_format</structname> structure, embedded in this
62+structure, to the respective stream or buffer type.
63+<structfield>count</structfield> must be set to the number of required buffers.
64+<structfield>memory</structfield> specifies the required I/O method. The
65+<structfield>format</structfield> field shall typically be filled in using
66+either the <constant>VIDIOC_TRY_FMT</constant> or
67+<constant>VIDIOC_G_FMT</constant> ioctl(). Additionally, applications can adjust
68+<structfield>sizeimage</structfield> fields to fit their specific needs. The
69+<structfield>reserved</structfield> array must be zeroed.</para>
70+
71+ <para>When the ioctl is called with a pointer to this structure the driver
72+will attempt to allocate up to the requested number of buffers and store the
73+actual number allocated and the starting index in the
74+<structfield>count</structfield> and the <structfield>index</structfield> fields
75+respectively. On return <structfield>count</structfield> can be smaller than
76+the number requested. The driver may also increase buffer sizes if required,
77+however, it will not update <structfield>sizeimage</structfield> field values.
78+The user has to use <constant>VIDIOC_QUERYBUF</constant> to retrieve that
79+information.</para>
80+
81+ <table pgwide="1" frame="none" id="v4l2-create-buffers">
82+ <title>struct <structname>v4l2_create_buffers</structname></title>
83+ <tgroup cols="3">
84+ &cs-str;
85+ <tbody valign="top">
86+ <row>
87+ <entry>__u32</entry>
88+ <entry><structfield>index</structfield></entry>
89+ <entry>The starting buffer index, returned by the driver.</entry>
90+ </row>
91+ <row>
92+ <entry>__u32</entry>
93+ <entry><structfield>count</structfield></entry>
94+ <entry>The number of buffers requested or granted.</entry>
95+ </row>
96+ <row>
97+ <entry>&v4l2-memory;</entry>
98+ <entry><structfield>memory</structfield></entry>
99+ <entry>Applications set this field to
100+<constant>V4L2_MEMORY_MMAP</constant> or
101+<constant>V4L2_MEMORY_USERPTR</constant>.</entry>
102+ </row>
103+ <row>
104+ <entry>&v4l2-format;</entry>
105+ <entry><structfield>format</structfield></entry>
106+ <entry>Filled in by the application, preserved by the driver.</entry>
107+ </row>
108+ <row>
109+ <entry>__u32</entry>
110+ <entry><structfield>reserved</structfield>[8]</entry>
111+ <entry>A place holder for future extensions.</entry>
112+ </row>
113+ </tbody>
114+ </tgroup>
115+ </table>
116+ </refsect1>
117+
118+ <refsect1>
119+ &return-value;
120+
121+ <variablelist>
122+ <varlistentry>
123+ <term><errorcode>ENOMEM</errorcode></term>
124+ <listitem>
125+ <para>No memory to allocate buffers for <link linkend="mmap">memory
126+mapped</link> I/O.</para>
127+ </listitem>
128+ </varlistentry>
129+ <varlistentry>
130+ <term><errorcode>EINVAL</errorcode></term>
131+ <listitem>
132+ <para>The buffer type (<structfield>type</structfield> field) or the
133+requested I/O method (<structfield>memory</structfield>) is not
134+supported.</para>
135+ </listitem>
136+ </varlistentry>
137+ </variablelist>
138+ </refsect1>
139+</refentry>
Documentation/DocBook/media/v4l/vidioc-dqevent.xml+129−0
@@ -86,6 +86,12 @@ · 85 unmodified lines
8686 <entry>Event data for event V4L2_EVENT_CTRL.
8787 </entry>
8888 </row>
89+ <row>
90+ <entry></entry>
91+ <entry>&v4l2-event-frame-sync;</entry>
92+ <entry><structfield>frame</structfield></entry>
93+ <entry>Event data for event V4L2_EVENT_FRAME_SYNC.</entry>
94+ </row>
8995 <row>
9096 <entry></entry>
9197 <entry>__u8</entry>
@@ -135,6 +141,129 @@ · 43 unmodified lines
135141 </tgroup>
136142 </table>
137143
144+ <table frame="none" pgwide="1" id="v4l2-event-vsync">
145+ <title>struct <structname>v4l2_event_vsync</structname></title>
146+ <tgroup cols="3">
147+ &cs-str;
148+ <tbody valign="top">
149+ <row>
150+ <entry>__u8</entry>
151+ <entry><structfield>field</structfield></entry>
152+ <entry>The upcoming field. See &v4l2-field;.</entry>
153+ </row>
154+ </tbody>
155+ </tgroup>
156+ </table>
157+
158+ <table frame="none" pgwide="1" id="v4l2-event-ctrl">
159+ <title>struct <structname>v4l2_event_ctrl</structname></title>
160+ <tgroup cols="4">
161+ &cs-str;
162+ <tbody valign="top">
163+ <row>
164+ <entry>__u32</entry>
165+ <entry><structfield>changes</structfield></entry>
166+ <entry></entry>
167+ <entry>A bitmask that tells what has changed. See <xref linkend="changes-flags" />.</entry>
168+ </row>
169+ <row>
170+ <entry>__u32</entry>
171+ <entry><structfield>type</structfield></entry>
172+ <entry></entry>
173+ <entry>The type of the control. See &v4l2-ctrl-type;.</entry>
174+ </row>
175+ <row>
176+ <entry>union (anonymous)</entry>
177+ <entry></entry>
178+ <entry></entry>
179+ <entry></entry>
180+ </row>
181+ <row>
182+ <entry></entry>
183+ <entry>__s32</entry>
184+ <entry><structfield>value</structfield></entry>
185+ <entry>The 32-bit value of the control for 32-bit control types.
186+ This is 0 for string controls since the value of a string
187+ cannot be passed using &VIDIOC-DQEVENT;.</entry>
188+ </row>
189+ <row>
190+ <entry></entry>
191+ <entry>__s64</entry>
192+ <entry><structfield>value64</structfield></entry>
193+ <entry>The 64-bit value of the control for 64-bit control types.</entry>
194+ </row>
195+ <row>
196+ <entry>__u32</entry>
197+ <entry><structfield>flags</structfield></entry>
198+ <entry></entry>
199+ <entry>The control flags. See <xref linkend="control-flags" />.</entry>
200+ </row>
201+ <row>
202+ <entry>__s32</entry>
203+ <entry><structfield>minimum</structfield></entry>
204+ <entry></entry>
205+ <entry>The minimum value of the control. See &v4l2-queryctrl;.</entry>
206+ </row>
207+ <row>
208+ <entry>__s32</entry>
209+ <entry><structfield>maximum</structfield></entry>
210+ <entry></entry>
211+ <entry>The maximum value of the control. See &v4l2-queryctrl;.</entry>
212+ </row>
213+ <row>
214+ <entry>__s32</entry>
215+ <entry><structfield>step</structfield></entry>
216+ <entry></entry>
217+ <entry>The step value of the control. See &v4l2-queryctrl;.</entry>
218+ </row>
219+ <row>
220+ <entry>__s32</entry>
221+ <entry><structfield>default_value</structfield></entry>
222+ <entry></entry>
223+ <entry>The default value value of the control. See &v4l2-queryctrl;.</entry>
224+ </row>
225+ </tbody>
226+ </tgroup>
227+ </table>
228+
229+ <table frame="none" pgwide="1" id="v4l2-event-frame-sync">
230+ <title>struct <structname>v4l2_event_frame_sync</structname></title>
231+ <tgroup cols="3">
232+ &cs-str;
233+ <tbody valign="top">
234+ <row>
235+ <entry>__u32</entry>
236+ <entry><structfield>frame_sequence</structfield></entry>
237+ <entry>
238+ The sequence number of the frame being received.
239+ </entry>
240+ </row>
241+ </tbody>
242+ </tgroup>
243+ </table>
244+
245+ <table pgwide="1" frame="none" id="changes-flags">
246+ <title>Changes</title>
247+ <tgroup cols="3">
248+ &cs-def;
249+ <tbody valign="top">
250+ <row>
251+ <entry><constant>V4L2_EVENT_CTRL_CH_VALUE</constant></entry>
252+ <entry>0x0001</entry>
253+ <entry>This control event was triggered because the value of the control
254+ changed. Special case: if a button control is pressed, then this
255+ event is sent as well, even though there is not explicit value
256+ associated with a button control.</entry>
257+ </row>
258+ <row>
259+ <entry><constant>V4L2_EVENT_CTRL_CH_FLAGS</constant></entry>
260+ <entry>0x0002</entry>
261+ <entry>This control event was triggered because the control flags
262+ changed.</entry>
263+ </row>
264+ </tbody>
265+ </tgroup>
266+ </table>
138267 </refsect1>
139268 <refsect1>
140269 &return-value;
Documentation/DocBook/media/v4l/vidioc-prepare-buf.xml+88−0
@@ -0,0 +1,88 @@
1+<refentry id="vidioc-prepare-buf">
2+ <refmeta>
3+ <refentrytitle>ioctl VIDIOC_PREPARE_BUF</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+
7+ <refnamediv>
8+ <refname>VIDIOC_PREPARE_BUF</refname>
9+ <refpurpose>Prepare a buffer for I/O</refpurpose>
10+ </refnamediv>
11+
12+ <refsynopsisdiv>
13+ <funcsynopsis>
14+ <funcprototype>
15+ <funcdef>int <function>ioctl</function></funcdef>
16+ <paramdef>int <parameter>fd</parameter></paramdef>
17+ <paramdef>int <parameter>request</parameter></paramdef>
18+ <paramdef>struct v4l2_buffer *<parameter>argp</parameter></paramdef>
19+ </funcprototype>
20+ </funcsynopsis>
21+ </refsynopsisdiv>
22+
23+ <refsect1>
24+ <title>Arguments</title>
25+
26+ <variablelist>
27+ <varlistentry>
28+ <term><parameter>fd</parameter></term>
29+ <listitem>
30+ <para>&fd;</para>
31+ </listitem>
32+ </varlistentry>
33+ <varlistentry>
34+ <term><parameter>request</parameter></term>
35+ <listitem>
36+ <para>VIDIOC_PREPARE_BUF</para>
37+ </listitem>
38+ </varlistentry>
39+ <varlistentry>
40+ <term><parameter>argp</parameter></term>
41+ <listitem>
42+ <para></para>
43+ </listitem>
44+ </varlistentry>
45+ </variablelist>
46+ </refsect1>
47+
48+ <refsect1>
49+ <title>Description</title>
50+
51+ <para>Applications can optionally call the
52+<constant>VIDIOC_PREPARE_BUF</constant> ioctl to pass ownership of the buffer
53+to the driver before actually enqueuing it, using the
54+<constant>VIDIOC_QBUF</constant> ioctl, and to prepare it for future I/O.
55+Such preparations may include cache invalidation or cleaning. Performing them
56+in advance saves time during the actual I/O. In case such cache operations are
57+not required, the application can use one of
58+<constant>V4L2_BUF_FLAG_NO_CACHE_INVALIDATE</constant> and
59+<constant>V4L2_BUF_FLAG_NO_CACHE_CLEAN</constant> flags to skip the respective
60+step.</para>
61+
62+ <para>The <structname>v4l2_buffer</structname> structure is
63+specified in <xref linkend="buffer" />.</para>
64+ </refsect1>
65+
66+ <refsect1>
67+ &return-value;
68+
69+ <variablelist>
70+ <varlistentry>
71+ <term><errorcode>EBUSY</errorcode></term>
72+ <listitem>
73+ <para>File I/O is in progress.</para>
74+ </listitem>
75+ </varlistentry>
76+ <varlistentry>
77+ <term><errorcode>EINVAL</errorcode></term>
78+ <listitem>
79+ <para>The buffer <structfield>type</structfield> is not
80+supported, or the <structfield>index</structfield> is out of bounds,
81+or no buffers have been allocated yet, or the
82+<structfield>userptr</structfield> or
83+<structfield>length</structfield> are invalid.</para>
84+ </listitem>
85+ </varlistentry>
86+ </variablelist>
87+ </refsect1>
88+</refentry>
Documentation/DocBook/media/v4l/vidioc-queryctrl.xml+9−0
@@ -406,6 +406,15 @@ flag is typically present for relative controls or action controls where · 405 unmodified lines
406406 writing a value will cause the device to carry out a given action
407407 (&eg; motor control) but no meaningful value can be returned.</entry>
408408 </row>
409+ <row>
410+ <entry><constant>V4L2_CTRL_FLAG_VOLATILE</constant></entry>
411+ <entry>0x0080</entry>
412+ <entry>This control is volatile, which means that the value of the control
413+changes continuously. A typical example would be the current gain value if the device
414+is in auto-gain mode. In such a case the hardware calculates the gain value based on
415+the lighting conditions which can change over time. Note that setting a new value for
416+a volatile control will have no effect. The new value will just be ignored.</entry>
417+ </row>
409418 </tbody>
410419 </tgroup>
411420 </table>
Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml+16−107
@@ -138,6 +138,22 @@ · 137 unmodified lines
138138 field of the oldest event.</para>
139139 </entry>
140140 </row>
141+ <row>
142+ <entry><constant>V4L2_EVENT_FRAME_SYNC</constant></entry>
143+ <entry>4</entry>
144+ <entry>
145+ <para>Triggered immediately when the reception of a
146+ frame has begun. This event has a
147+ &v4l2-event-frame-sync; associated with it.</para>
148+
149+ <para>If the hardware needs to be stopped in the case of a
150+ buffer underrun it might not be able to generate this event.
151+ In such cases the <structfield>frame_sequence</structfield>
152+ field in &v4l2-event-frame-sync; will not be incremented. This
153+ causes two consecutive frame sequence numbers to have n times
154+ frame interval in between them.</para>
155+ </entry>
156+ </row>
141157 <row>
142158 <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry>
143159 <entry>0x08000000</entry>
@@ -183,113 +199,6 @@ · 39 unmodified lines
183199 </tgroup>
184200 </table>
185201
186− <table frame="none" pgwide="1" id="v4l2-event-vsync">
187− <title>struct <structname>v4l2_event_vsync</structname></title>
188− <tgroup cols="3">
189− &cs-str;
190− <tbody valign="top">
191− <row>
192− <entry>__u8</entry>
193− <entry><structfield>field</structfield></entry>
194− <entry>The upcoming field. See &v4l2-field;.</entry>
195− </row>
196− </tbody>
197− </tgroup>
198− </table>
199−
200− <table frame="none" pgwide="1" id="v4l2-event-ctrl">
201− <title>struct <structname>v4l2_event_ctrl</structname></title>
202− <tgroup cols="4">
203− &cs-str;
204− <tbody valign="top">
205− <row>
206− <entry>__u32</entry>
207− <entry><structfield>changes</structfield></entry>
208− <entry></entry>
209− <entry>A bitmask that tells what has changed. See <xref linkend="changes-flags" />.</entry>
210− </row>
211− <row>
212− <entry>__u32</entry>
213− <entry><structfield>type</structfield></entry>
214− <entry></entry>
215− <entry>The type of the control. See &v4l2-ctrl-type;.</entry>
216− </row>
217− <row>
218− <entry>union (anonymous)</entry>
219− <entry></entry>
220− <entry></entry>
221− <entry></entry>
222− </row>
223− <row>
224− <entry></entry>
225− <entry>__s32</entry>
226− <entry><structfield>value</structfield></entry>
227− <entry>The 32-bit value of the control for 32-bit control types.
228− This is 0 for string controls since the value of a string
229− cannot be passed using &VIDIOC-DQEVENT;.</entry>
230− </row>
231− <row>
232− <entry></entry>
233− <entry>__s64</entry>
234− <entry><structfield>value64</structfield></entry>
235− <entry>The 64-bit value of the control for 64-bit control types.</entry>
236− </row>
237− <row>
238− <entry>__u32</entry>
239− <entry><structfield>flags</structfield></entry>
240− <entry></entry>
241− <entry>The control flags. See <xref linkend="control-flags" />.</entry>
242− </row>
243− <row>
244− <entry>__s32</entry>
245− <entry><structfield>minimum</structfield></entry>
246− <entry></entry>
247− <entry>The minimum value of the control. See &v4l2-queryctrl;.</entry>
248− </row>
249− <row>
250− <entry>__s32</entry>
251− <entry><structfield>maximum</structfield></entry>
252− <entry></entry>
253− <entry>The maximum value of the control. See &v4l2-queryctrl;.</entry>
254− </row>
255− <row>
256− <entry>__s32</entry>
257− <entry><structfield>step</structfield></entry>
258− <entry></entry>
259− <entry>The step value of the control. See &v4l2-queryctrl;.</entry>
260− </row>
261− <row>
262− <entry>__s32</entry>
263− <entry><structfield>default_value</structfield></entry>
264− <entry></entry>
265− <entry>The default value value of the control. See &v4l2-queryctrl;.</entry>
266− </row>
267− </tbody>
268− </tgroup>
269− </table>
270−
271− <table pgwide="1" frame="none" id="changes-flags">
272− <title>Changes</title>
273− <tgroup cols="3">
274− &cs-def;
275− <tbody valign="top">
276− <row>
277− <entry><constant>V4L2_EVENT_CTRL_CH_VALUE</constant></entry>
278− <entry>0x0001</entry>
279− <entry>This control event was triggered because the value of the control
280− changed. Special case: if a button control is pressed, then this
281− event is sent as well, even though there is not explicit value
282− associated with a button control.</entry>
283− </row>
284− <row>
285− <entry><constant>V4L2_EVENT_CTRL_CH_FLAGS</constant></entry>
286− <entry>0x0002</entry>
287− <entry>This control event was triggered because the control flags
288− changed.</entry>
289− </row>
290− </tbody>
291− </tgroup>
292− </table>
293202 </refsect1>
294203 <refsect1>
295204 &return-value;
Documentation/DocBook/mtdnand.tmpl+1−18
@@ -572,7 +572,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 571 unmodified lines
572572 </para>
573573 <para>
574574 The simplest way to activate the FLASH based bad block table support
575− is to set the option NAND_USE_FLASH_BBT in the option field of
575+ is to set the option NAND_BBT_USE_FLASH in the bbt_option field of
576576 the nand chip structure before calling nand_scan(). For AG-AND
577577 chips is this done by default.
578578 This activates the default FLASH based bad block table functionality
@@ -773,20 +773,6 @@ struct nand_oobinfo { · 194 unmodified lines
773773 done according to the default builtin scheme.
774774 </para>
775775 </sect2>
776− <sect2 id="User_space_placement_selection">
777− <title>User space placement selection</title>
778− <para>
779− All non ecc functions like mtd->read and mtd->write use an internal
780− structure, which can be set by an ioctl. This structure is preset
781− to the autoplacement default.
782− <programlisting>
783− ioctl (fd, MEMSETOOBSEL, oobsel);
784− </programlisting>
785− oobsel is a pointer to a user supplied structure of type
786− nand_oobconfig. The contents of this structure must match the
787− criteria of the filesystem, which will be used. See an example in utils/nandwrite.c.
788− </para>
789− </sect2>
790776 </sect1>
791777 <sect1 id="Spare_area_autoplacement_default">
792778 <title>Spare area autoplacement default schemes</title>
@@ -1158,9 +1144,6 @@ in this page</entry> · 365 unmodified lines
11581144 These constants are defined in nand.h. They are ored together to describe
11591145 the functionality.
11601146 <programlisting>
1161−/* Use a flash based bad block table. This option is parsed by the
1162− * default bad block table function (nand_default_bbt). */
1163−#define NAND_USE_FLASH_BBT 0x00010000
11641147 /* The hw ecc generator provides a syndrome instead a ecc value on read
11651148 * This can only work if we have the ecc bytes directly behind the
11661149 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
Documentation/DocBook/uio-howto.tmpl+1−1
@@ -529,7 +529,7 @@ memory (e.g. allocated with <function>kmalloc()</function>). There's also · 528 unmodified lines
529529 </para></listitem>
530530
531531 <listitem><para>
532−<varname>unsigned long addr</varname>: Required if the mapping is used.
532+<varname>phys_addr_t addr</varname>: Required if the mapping is used.
533533 Fill in the address of your memory block. This address is the one that
534534 appears in sysfs.
535535 </para></listitem>
Documentation/DocBook/writing-an-alsa-driver.tmpl+21−15
@@ -4288,7 +4288,7 @@ struct _snd_pcm_runtime { · 4287 unmodified lines
42884288 <![CDATA[
42894289 struct snd_rawmidi *rmidi;
42904290 snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags,
4291− irq, irq_flags, &rmidi);
4291+ irq, &rmidi);
42924292 ]]>
42934293 </programlisting>
42944294 </informalexample>
@@ -4343,6 +4343,13 @@ struct _snd_pcm_runtime { · 48 unmodified lines
43434343 by itself to start processing the output stream in the irq handler.
43444344 </para>
43454345
4346+ <para>
4347+ If the MPU-401 interface shares its interrupt with the other logical
4348+ devices on the card, set <constant>MPU401_INFO_IRQ_HOOK</constant>
4349+ (see <link linkend="midi-interface-interrupt-handler"><citetitle>
4350+ below</citetitle></link>).
4351+ </para>
4352+
43464353 <para>
43474354 Usually, the port address corresponds to the command port and
43484355 port + 1 corresponds to the data port. If not, you may change
@@ -4375,14 +4382,12 @@ struct _snd_pcm_runtime { · 26 unmodified lines
43754382 </para>
43764383
43774384 <para>
4378− The 6th argument specifies the irq number for UART. If the irq
4379− is already allocated, pass 0 to the 7th argument
4380− (<parameter>irq_flags</parameter>). Otherwise, pass the flags
4381− for irq allocation
4382− (<constant>SA_XXX</constant> bits) to it, and the irq will be
4383− reserved by the mpu401-uart layer. If the card doesn't generate
4384− UART interrupts, pass -1 as the irq number. Then a timer
4385− interrupt will be invoked for polling.
4385+ The 6th argument specifies the ISA irq number that will be
4386+ allocated. If no interrupt is to be allocated (because your
4387+ code is already allocating a shared interrupt, or because the
4388+ device does not use interrupts), pass -1 instead.
4389+ For a MPU-401 device without an interrupt, a polling timer
4390+ will be used instead.
43864391 </para>
43874392 </section>
43884393
@@ -4390,12 +4395,13 @@ struct _snd_pcm_runtime { · 1 unmodified line
43904395 <title>Interrupt Handler</title>
43914396 <para>
43924397 When the interrupt is allocated in
4393− <function>snd_mpu401_uart_new()</function>, the private
4394− interrupt handler is used, hence you don't have anything else to do
4395− than creating the mpu401 stuff. Otherwise, you have to call
4396− <function>snd_mpu401_uart_interrupt()</function> explicitly when
4397− a UART interrupt is invoked and checked in your own interrupt
4398− handler.
4398+ <function>snd_mpu401_uart_new()</function>, an exclusive ISA
4399+ interrupt handler is automatically used, hence you don't have
4400+ anything else to do than creating the mpu401 stuff. Otherwise, you
4401+ have to set <constant>MPU401_INFO_IRQ_HOOK</constant>, and call
4402+ <function>snd_mpu401_uart_interrupt()</function> explicitly from your
4403+ own interrupt handler when it has determined that a UART interrupt
4404+ has occurred.
43994405 </para>
44004406
44014407 <para>
Documentation/RCU/NMI-RCU.txt+1−1
@@ -95,7 +95,7 @@ not to return until all ongoing NMI handlers exit. It is therefore safe · 94 unmodified lines
9595 to free up the handler's data as soon as synchronize_sched() returns.
9696
9797 Important note: for this to work, the architecture in question must
98−invoke irq_enter() and irq_exit() on NMI entry and exit, respectively.
98+invoke nmi_enter() and nmi_exit() on NMI entry and exit, respectively.
9999
100100
101101 Answer to Quick Quiz
Documentation/RCU/lockdep-splat.txt+110−0
@@ -0,0 +1,110 @@
1+Lockdep-RCU was added to the Linux kernel in early 2010
2+(http://lwn.net/Articles/371986/). This facility checks for some common
3+misuses of the RCU API, most notably using one of the rcu_dereference()
4+family to access an RCU-protected pointer without the proper protection.
5+When such misuse is detected, an lockdep-RCU splat is emitted.
6+
7+The usual cause of a lockdep-RCU slat is someone accessing an
8+RCU-protected data structure without either (1) being in the right kind of
9+RCU read-side critical section or (2) holding the right update-side lock.
10+This problem can therefore be serious: it might result in random memory
11+overwriting or worse. There can of course be false positives, this
12+being the real world and all that.
13+
14+So let's look at an example RCU lockdep splat from 3.0-rc5, one that
15+has long since been fixed:
16+
17+===============================
18+[ INFO: suspicious RCU usage. ]
19+-------------------------------
20+block/cfq-iosched.c:2776 suspicious rcu_dereference_protected() usage!
21+
22+other info that might help us debug this:
23+
24+
25+rcu_scheduler_active = 1, debug_locks = 0
26+3 locks held by scsi_scan_6/1552:
27+ #0: (&shost->scan_mutex){+.+.+.}, at: [<ffffffff8145efca>]
28+scsi_scan_host_selected+0x5a/0x150
29+ #1: (&eq->sysfs_lock){+.+...}, at: [<ffffffff812a5032>]
30+elevator_exit+0x22/0x60
31+ #2: (&(&q->__queue_lock)->rlock){-.-...}, at: [<ffffffff812b6233>]
32+cfq_exit_queue+0x43/0x190
33+
34+stack backtrace:
35+Pid: 1552, comm: scsi_scan_6 Not tainted 3.0.0-rc5 #17
36+Call Trace:
37+ [<ffffffff810abb9b>] lockdep_rcu_dereference+0xbb/0xc0
38+ [<ffffffff812b6139>] __cfq_exit_single_io_context+0xe9/0x120
39+ [<ffffffff812b626c>] cfq_exit_queue+0x7c/0x190
40+ [<ffffffff812a5046>] elevator_exit+0x36/0x60
41+ [<ffffffff812a802a>] blk_cleanup_queue+0x4a/0x60
42+ [<ffffffff8145cc09>] scsi_free_queue+0x9/0x10
43+ [<ffffffff81460944>] __scsi_remove_device+0x84/0xd0
44+ [<ffffffff8145dca3>] scsi_probe_and_add_lun+0x353/0xb10
45+ [<ffffffff817da069>] ? error_exit+0x29/0xb0
46+ [<ffffffff817d98ed>] ? _raw_spin_unlock_irqrestore+0x3d/0x80
47+ [<ffffffff8145e722>] __scsi_scan_target+0x112/0x680
48+ [<ffffffff812c690d>] ? trace_hardirqs_off_thunk+0x3a/0x3c
49+ [<ffffffff817da069>] ? error_exit+0x29/0xb0
50+ [<ffffffff812bcc60>] ? kobject_del+0x40/0x40
51+ [<ffffffff8145ed16>] scsi_scan_channel+0x86/0xb0
52+ [<ffffffff8145f0b0>] scsi_scan_host_selected+0x140/0x150
53+ [<ffffffff8145f149>] do_scsi_scan_host+0x89/0x90
54+ [<ffffffff8145f170>] do_scan_async+0x20/0x160
55+ [<ffffffff8145f150>] ? do_scsi_scan_host+0x90/0x90
56+ [<ffffffff810975b6>] kthread+0xa6/0xb0
57+ [<ffffffff817db154>] kernel_thread_helper+0x4/0x10
58+ [<ffffffff81066430>] ? finish_task_switch+0x80/0x110
59+ [<ffffffff817d9c04>] ? retint_restore_args+0xe/0xe
60+ [<ffffffff81097510>] ? __init_kthread_worker+0x70/0x70
61+ [<ffffffff817db150>] ? gs_change+0xb/0xb
62+
63+Line 2776 of block/cfq-iosched.c in v3.0-rc5 is as follows:
64+
65+ if (rcu_dereference(ioc->ioc_data) == cic) {
66+
67+This form says that it must be in a plain vanilla RCU read-side critical
68+section, but the "other info" list above shows that this is not the
69+case. Instead, we hold three locks, one of which might be RCU related.
70+And maybe that lock really does protect this reference. If so, the fix
71+is to inform RCU, perhaps by changing __cfq_exit_single_io_context() to
72+take the struct request_queue "q" from cfq_exit_queue() as an argument,
73+which would permit us to invoke rcu_dereference_protected as follows:
74+
75+ if (rcu_dereference_protected(ioc->ioc_data,
76+ lockdep_is_held(&q->queue_lock)) == cic) {
77+
78+With this change, there would be no lockdep-RCU splat emitted if this
79+code was invoked either from within an RCU read-side critical section
80+or with the ->queue_lock held. In particular, this would have suppressed
81+the above lockdep-RCU splat because ->queue_lock is held (see #2 in the
82+list above).
83+
84+On the other hand, perhaps we really do need an RCU read-side critical
85+section. In this case, the critical section must span the use of the
86+return value from rcu_dereference(), or at least until there is some
87+reference count incremented or some such. One way to handle this is to
88+add rcu_read_lock() and rcu_read_unlock() as follows:
89+
90+ rcu_read_lock();
91+ if (rcu_dereference(ioc->ioc_data) == cic) {
92+ spin_lock(&ioc->lock);
93+ rcu_assign_pointer(ioc->ioc_data, NULL);
94+ spin_unlock(&ioc->lock);
95+ }
96+ rcu_read_unlock();
97+
98+With this change, the rcu_dereference() is always within an RCU
99+read-side critical section, which again would have suppressed the
100+above lockdep-RCU splat.
101+
102+But in this particular case, we don't actually deference the pointer
103+returned from rcu_dereference(). Instead, that pointer is just compared
104+to the cic pointer, which means that the rcu_dereference() can be replaced
105+by rcu_access_pointer() as follows:
106+
107+ if (rcu_access_pointer(ioc->ioc_data) == cic) {
108+
109+Because it is legal to invoke rcu_access_pointer() without protection,
110+this change would also suppress the above lockdep-RCU splat.
Documentation/RCU/lockdep.txt+25−9
@@ -32,9 +32,27 @@ checking of rcu_dereference() primitives: · 31 unmodified lines
3232 srcu_dereference(p, sp):
3333 Check for SRCU read-side critical section.
3434 rcu_dereference_check(p, c):
35− Use explicit check expression "c". This is useful in
36− code that is invoked by both readers and updaters.
37− rcu_dereference_raw(p)
35+ Use explicit check expression "c" along with
36+ rcu_read_lock_held(). This is useful in code that is
37+ invoked by both RCU readers and updaters.
38+ rcu_dereference_bh_check(p, c):
39+ Use explicit check expression "c" along with
40+ rcu_read_lock_bh_held(). This is useful in code that
41+ is invoked by both RCU-bh readers and updaters.
42+ rcu_dereference_sched_check(p, c):
43+ Use explicit check expression "c" along with
44+ rcu_read_lock_sched_held(). This is useful in code that
45+ is invoked by both RCU-sched readers and updaters.
46+ srcu_dereference_check(p, c):
47+ Use explicit check expression "c" along with
48+ srcu_read_lock_held()(). This is useful in code that
49+ is invoked by both SRCU readers and updaters.
50+ rcu_dereference_index_check(p, c):
51+ Use explicit check expression "c", but the caller
52+ must supply one of the rcu_read_lock_held() functions.
53+ This is useful in code that uses RCU-protected arrays
54+ that is invoked by both RCU readers and updaters.
55+ rcu_dereference_raw(p):
3856 Don't check. (Use sparingly, if at all.)
3957 rcu_dereference_protected(p, c):
4058 Use explicit check expression "c", and omit all barriers
@@ -48,13 +66,11 @@ checking of rcu_dereference() primitives: · 7 unmodified lines
4866 value of the pointer itself, for example, against NULL.
4967
5068 The rcu_dereference_check() check expression can be any boolean
51−expression, but would normally include one of the rcu_read_lock_held()
52−family of functions and a lockdep expression. However, any boolean
53−expression can be used. For a moderately ornate example, consider
54−the following:
69+expression, but would normally include a lockdep expression. However,
70+any boolean expression can be used. For a moderately ornate example,
71+consider the following:
5572
5673 file = rcu_dereference_check(fdt->fd[fd],
57− rcu_read_lock_held() ||
5874 lockdep_is_held(&files->file_lock) ||
5975 atomic_read(&files->count) == 1);
6076
@@ -62,7 +78,7 @@ This expression picks up the pointer "fdt->fd[fd]" in an RCU-safe manner, · 1 unmodified line
6278 and, if CONFIG_PROVE_RCU is configured, verifies that this expression
6379 is used in:
6480
65−1. An RCU read-side critical section, or
81+1. An RCU read-side critical section (implicit), or
6682 2. with files->file_lock held, or
6783 3. on an unshared files_struct.
6884
Documentation/RCU/torture.txt+102−35
@@ -42,7 +42,7 @@ fqs_holdoff Holdoff time (in microseconds) between consecutive calls · 41 unmodified lines
4242 fqs_stutter Wait time (in seconds) between consecutive bursts
4343 of calls to force_quiescent_state().
4444
45−irqreaders Says to invoke RCU readers from irq level. This is currently
45+irqreader Says to invoke RCU readers from irq level. This is currently
4646 done via timers. Defaults to "1" for variants of RCU that
4747 permit this. (Or, more accurately, variants of RCU that do
4848 -not- permit this know to ignore this variable.)
@@ -79,19 +79,68 @@ stutter The length of time to run the test before pausing for this · 30 unmodified lines
7979 Specifying "stutter=0" causes the test to run continuously
8080 without pausing, which is the old default behavior.
8181
82+test_boost Whether or not to test the ability of RCU to do priority
83+ boosting. Defaults to "test_boost=1", which performs
84+ RCU priority-inversion testing only if the selected
85+ RCU implementation supports priority boosting. Specifying
86+ "test_boost=0" never performs RCU priority-inversion
87+ testing. Specifying "test_boost=2" performs RCU
88+ priority-inversion testing even if the selected RCU
89+ implementation does not support RCU priority boosting,
90+ which can be used to test rcutorture's ability to
91+ carry out RCU priority-inversion testing.
92+
93+test_boost_interval
94+ The number of seconds in an RCU priority-inversion test
95+ cycle. Defaults to "test_boost_interval=7". It is
96+ usually wise for this value to be relatively prime to
97+ the value selected for "stutter".
98+
99+test_boost_duration
100+ The number of seconds to do RCU priority-inversion testing
101+ within any given "test_boost_interval". Defaults to
102+ "test_boost_duration=4".
103+
82104 test_no_idle_hz Whether or not to test the ability of RCU to operate in
83105 a kernel that disables the scheduling-clock interrupt to
84106 idle CPUs. Boolean parameter, "1" to test, "0" otherwise.
85107 Defaults to omitting this test.
86108
87−torture_type The type of RCU to test: "rcu" for the rcu_read_lock() API,
88− "rcu_sync" for rcu_read_lock() with synchronous reclamation,
89− "rcu_bh" for the rcu_read_lock_bh() API, "rcu_bh_sync" for
90− rcu_read_lock_bh() with synchronous reclamation, "srcu" for
91− the "srcu_read_lock()" API, "sched" for the use of
92− preempt_disable() together with synchronize_sched(),
93− and "sched_expedited" for the use of preempt_disable()
94− with synchronize_sched_expedited().
109+torture_type The type of RCU to test, with string values as follows:
110+
111+ "rcu": rcu_read_lock(), rcu_read_unlock() and call_rcu().
112+
113+ "rcu_sync": rcu_read_lock(), rcu_read_unlock(), and
114+ synchronize_rcu().
115+
116+ "rcu_expedited": rcu_read_lock(), rcu_read_unlock(), and
117+ synchronize_rcu_expedited().
118+
119+ "rcu_bh": rcu_read_lock_bh(), rcu_read_unlock_bh(), and
120+ call_rcu_bh().
121+
122+ "rcu_bh_sync": rcu_read_lock_bh(), rcu_read_unlock_bh(),
123+ and synchronize_rcu_bh().
124+
125+ "rcu_bh_expedited": rcu_read_lock_bh(), rcu_read_unlock_bh(),
126+ and synchronize_rcu_bh_expedited().
127+
128+ "srcu": srcu_read_lock(), srcu_read_unlock() and
129+ synchronize_srcu().
130+
131+ "srcu_expedited": srcu_read_lock(), srcu_read_unlock() and
132+ synchronize_srcu_expedited().
133+
134+ "sched": preempt_disable(), preempt_enable(), and
135+ call_rcu_sched().
136+
137+ "sched_sync": preempt_disable(), preempt_enable(), and
138+ synchronize_sched().
139+
140+ "sched_expedited": preempt_disable(), preempt_enable(), and
141+ synchronize_sched_expedited().
142+
143+ Defaults to "rcu".
95144
96145 verbose Enable debug printk()s. Default is disabled.
97146
@@ -100,12 +149,12 @@ OUTPUT · 2 unmodified lines
100149
101150 The statistics output is as follows:
102151
103− rcu-torture: --- Start of test: nreaders=16 stat_interval=0 verbose=0
104− rcu-torture: rtc: 0000000000000000 ver: 1916 tfle: 0 rta: 1916 rtaf: 0 rtf: 1915
105− rcu-torture: Reader Pipe: 1466408 9747 0 0 0 0 0 0 0 0 0
106− rcu-torture: Reader Batch: 1464477 11678 0 0 0 0 0 0 0 0
107− rcu-torture: Free-Block Circulation: 1915 1915 1915 1915 1915 1915 1915 1915 1915 1915 0
108− rcu-torture: --- End of test
152+ rcu-torture:--- Start of test: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4
153+ rcu-torture: rtc: (null) ver: 155441 tfle: 0 rta: 155441 rtaf: 8884 rtf: 155440 rtmbe: 0 rtbke: 0 rtbre: 0 rtbf: 0 rtb: 0 nt: 3055767
154+ rcu-torture: Reader Pipe: 727860534 34213 0 0 0 0 0 0 0 0 0
155+ rcu-torture: Reader Batch: 727877838 17003 0 0 0 0 0 0 0 0 0
156+ rcu-torture: Free-Block Circulation: 155440 155440 155440 155440 155440 155440 155440 155440 155440 155440 0
157+ rcu-torture:--- End of test: SUCCESS: nreaders=16 nfakewriters=4 stat_interval=30 verbose=0 test_no_idle_hz=1 shuffle_interval=3 stutter=5 irqreader=1 fqs_duration=0 fqs_holdoff=0 fqs_stutter=3 test_boost=1/0 test_boost_interval=7 test_boost_duration=4
109158
110159 The command "dmesg | grep torture:" will extract this information on
111160 most systems. On more esoteric configurations, it may be necessary to
@@ -113,26 +162,55 @@ use other commands to access the output of the printk()s used by · 1 unmodified line
113162 the RCU torture test. The printk()s use KERN_ALERT, so they should
114163 be evident. ;-)
115164
165+The first and last lines show the rcutorture module parameters, and the
166+last line shows either "SUCCESS" or "FAILURE", based on rcutorture's
167+automatic determination as to whether RCU operated correctly.
168+
116169 The entries are as follows:
117170
118171 o "rtc": The hexadecimal address of the structure currently visible
119172 to readers.
120173
121−o "ver": The number of times since boot that the rcutw writer task
174+o "ver": The number of times since boot that the RCU writer task
122175 has changed the structure visible to readers.
123176
124177 o "tfle": If non-zero, indicates that the "torture freelist"
125− containing structure to be placed into the "rtc" area is empty.
178+ containing structures to be placed into the "rtc" area is empty.
126179 This condition is important, since it can fool you into thinking
127180 that RCU is working when it is not. :-/
128181
129182 o "rta": Number of structures allocated from the torture freelist.
130183
131184 o "rtaf": Number of allocations from the torture freelist that have
132− failed due to the list being empty.
185+ failed due to the list being empty. It is not unusual for this
186+ to be non-zero, but it is bad for it to be a large fraction of
187+ the value indicated by "rta".
133188
134189 o "rtf": Number of frees into the torture freelist.
135190
191+o "rtmbe": A non-zero value indicates that rcutorture believes that
192+ rcu_assign_pointer() and rcu_dereference() are not working
193+ correctly. This value should be zero.
194+
195+o "rtbke": rcutorture was unable to create the real-time kthreads
196+ used to force RCU priority inversion. This value should be zero.
197+
198+o "rtbre": Although rcutorture successfully created the kthreads
199+ used to force RCU priority inversion, it was unable to set them
200+ to the real-time priority level of 1. This value should be zero.
201+
202+o "rtbf": The number of times that RCU priority boosting failed
203+ to resolve RCU priority inversion.
204+
205+o "rtb": The number of times that rcutorture attempted to force
206+ an RCU priority inversion condition. If you are testing RCU
207+ priority boosting via the "test_boost" module parameter, this
208+ value should be non-zero.
209+
210+o "nt": The number of times rcutorture ran RCU read-side code from
211+ within a timer handler. This value should be non-zero only
212+ if you specified the "irqreader" module parameter.
213+
136214 o "Reader Pipe": Histogram of "ages" of structures seen by readers.
137215 If any entries past the first two are non-zero, RCU is broken.
138216 And rcutorture prints the error flag string "!!!" to make sure
@@ -162,26 +240,15 @@ o "Free-Block Circulation": Shows the number of torture structures · 23 unmodified lines
162240 somehow gets incremented farther than it should.
163241
164242 Different implementations of RCU can provide implementation-specific
165−additional information. For example, SRCU provides the following:
243+additional information. For example, SRCU provides the following
244+additional line:
166245
167− srcu-torture: rtc: f8cf46a8 ver: 355 tfle: 0 rta: 356 rtaf: 0 rtf: 346 rtmbe: 0
168− srcu-torture: Reader Pipe: 559738 939 0 0 0 0 0 0 0 0 0
169− srcu-torture: Reader Batch: 560434 243 0 0 0 0 0 0 0 0
170− srcu-torture: Free-Block Circulation: 355 354 353 352 351 350 349 348 347 346 0
171246 srcu-torture: per-CPU(idx=1): 0(0,1) 1(0,1) 2(0,0) 3(0,1)
172247
173−The first four lines are similar to those for RCU. The last line shows
174−the per-CPU counter state. The numbers in parentheses are the values
175−of the "old" and "current" counters for the corresponding CPU. The
176−"idx" value maps the "old" and "current" values to the underlying array,
177−and is useful for debugging.
178−
179−Similarly, sched_expedited RCU provides the following:
180−
181− sched_expedited-torture: rtc: d0000000016c1880 ver: 1090796 tfle: 0 rta: 1090796 rtaf: 0 rtf: 1090787 rtmbe: 0 nt: 27713319
182− sched_expedited-torture: Reader Pipe: 12660320201 95875 0 0 0 0 0 0 0 0 0
183− sched_expedited-torture: Reader Batch: 12660424885 0 0 0 0 0 0 0 0 0 0
184− sched_expedited-torture: Free-Block Circulation: 1090795 1090795 1090794 1090793 1090792 1090791 1090790 1090789 1090788 1090787 0
248+This line shows the per-CPU counter state. The numbers in parentheses are
249+the values of the "old" and "current" counters for the corresponding CPU.
250+The "idx" value maps the "old" and "current" values to the underlying
251+array, and is useful for debugging.
185252
186253
187254 USAGE
Documentation/RCU/trace.txt+21−17
@@ -33,23 +33,23 @@ rcu/rcuboost: · 32 unmodified lines
3333 The output of "cat rcu/rcudata" looks as follows:
3434
3535 rcu_sched:
36− 0 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=545/1/0 df=50 of=0 ri=0 ql=163 qs=NRW. kt=0/W/0 ktl=ebc3 b=10 ci=153737 co=0 ca=0
37− 1 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=967/1/0 df=58 of=0 ri=0 ql=634 qs=NRW. kt=0/W/1 ktl=58c b=10 ci=191037 co=0 ca=0
38− 2 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=1081/1/0 df=175 of=0 ri=0 ql=74 qs=N.W. kt=0/W/2 ktl=da94 b=10 ci=75991 co=0 ca=0
39− 3 c=20942 g=20943 pq=1 pqc=20942 qp=1 dt=1846/0/0 df=404 of=0 ri=0 ql=0 qs=.... kt=0/W/3 ktl=d1cd b=10 ci=72261 co=0 ca=0
40− 4 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=369/1/0 df=83 of=0 ri=0 ql=48 qs=N.W. kt=0/W/4 ktl=e0e7 b=10 ci=128365 co=0 ca=0
41− 5 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=381/1/0 df=64 of=0 ri=0 ql=169 qs=NRW. kt=0/W/5 ktl=fb2f b=10 ci=164360 co=0 ca=0
42− 6 c=20972 g=20973 pq=1 pqc=20972 qp=0 dt=1037/1/0 df=183 of=0 ri=0 ql=62 qs=N.W. kt=0/W/6 ktl=d2ad b=10 ci=65663 co=0 ca=0
43− 7 c=20897 g=20897 pq=1 pqc=20896 qp=0 dt=1572/0/0 df=382 of=0 ri=0 ql=0 qs=.... kt=0/W/7 ktl=cf15 b=10 ci=75006 co=0 ca=0
36+ 0 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=545/1/0 df=50 of=0 ri=0 ql=163 qs=NRW. kt=0/W/0 ktl=ebc3 b=10 ci=153737 co=0 ca=0
37+ 1 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=967/1/0 df=58 of=0 ri=0 ql=634 qs=NRW. kt=0/W/1 ktl=58c b=10 ci=191037 co=0 ca=0
38+ 2 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=1081/1/0 df=175 of=0 ri=0 ql=74 qs=N.W. kt=0/W/2 ktl=da94 b=10 ci=75991 co=0 ca=0
39+ 3 c=20942 g=20943 pq=1 pgp=20942 qp=1 dt=1846/0/0 df=404 of=0 ri=0 ql=0 qs=.... kt=0/W/3 ktl=d1cd b=10 ci=72261 co=0 ca=0
40+ 4 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=369/1/0 df=83 of=0 ri=0 ql=48 qs=N.W. kt=0/W/4 ktl=e0e7 b=10 ci=128365 co=0 ca=0
41+ 5 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=381/1/0 df=64 of=0 ri=0 ql=169 qs=NRW. kt=0/W/5 ktl=fb2f b=10 ci=164360 co=0 ca=0
42+ 6 c=20972 g=20973 pq=1 pgp=20973 qp=0 dt=1037/1/0 df=183 of=0 ri=0 ql=62 qs=N.W. kt=0/W/6 ktl=d2ad b=10 ci=65663 co=0 ca=0
43+ 7 c=20897 g=20897 pq=1 pgp=20896 qp=0 dt=1572/0/0 df=382 of=0 ri=0 ql=0 qs=.... kt=0/W/7 ktl=cf15 b=10 ci=75006 co=0 ca=0
4444 rcu_bh:
45− 0 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=545/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/0 ktl=ebc3 b=10 ci=0 co=0 ca=0
46− 1 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=967/1/0 df=3 of=0 ri=1 ql=0 qs=.... kt=0/W/1 ktl=58c b=10 ci=151 co=0 ca=0
47− 2 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=1081/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/2 ktl=da94 b=10 ci=0 co=0 ca=0
48− 3 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=1846/0/0 df=8 of=0 ri=1 ql=0 qs=.... kt=0/W/3 ktl=d1cd b=10 ci=0 co=0 ca=0
49− 4 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=369/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/4 ktl=e0e7 b=10 ci=0 co=0 ca=0
50− 5 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=381/1/0 df=4 of=0 ri=1 ql=0 qs=.... kt=0/W/5 ktl=fb2f b=10 ci=0 co=0 ca=0
51− 6 c=1480 g=1480 pq=1 pqc=1479 qp=0 dt=1037/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/6 ktl=d2ad b=10 ci=0 co=0 ca=0
52− 7 c=1474 g=1474 pq=1 pqc=1473 qp=0 dt=1572/0/0 df=8 of=0 ri=1 ql=0 qs=.... kt=0/W/7 ktl=cf15 b=10 ci=0 co=0 ca=0
45+ 0 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=545/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/0 ktl=ebc3 b=10 ci=0 co=0 ca=0
46+ 1 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=967/1/0 df=3 of=0 ri=1 ql=0 qs=.... kt=0/W/1 ktl=58c b=10 ci=151 co=0 ca=0
47+ 2 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=1081/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/2 ktl=da94 b=10 ci=0 co=0 ca=0
48+ 3 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=1846/0/0 df=8 of=0 ri=1 ql=0 qs=.... kt=0/W/3 ktl=d1cd b=10 ci=0 co=0 ca=0
49+ 4 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=369/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/4 ktl=e0e7 b=10 ci=0 co=0 ca=0
50+ 5 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=381/1/0 df=4 of=0 ri=1 ql=0 qs=.... kt=0/W/5 ktl=fb2f b=10 ci=0 co=0 ca=0
51+ 6 c=1480 g=1480 pq=1 pgp=1480 qp=0 dt=1037/1/0 df=6 of=0 ri=1 ql=0 qs=.... kt=0/W/6 ktl=d2ad b=10 ci=0 co=0 ca=0
52+ 7 c=1474 g=1474 pq=1 pgp=1473 qp=0 dt=1572/0/0 df=8 of=0 ri=1 ql=0 qs=.... kt=0/W/7 ktl=cf15 b=10 ci=0 co=0 ca=0
5353
5454 The first section lists the rcu_data structures for rcu_sched, the second
5555 for rcu_bh. Note that CONFIG_TREE_PREEMPT_RCU kernels will have an
@@ -84,7 +84,7 @@ o "pq" indicates that this CPU has passed through a quiescent state · 28 unmodified lines
8484 CPU has not yet reported that fact, (2) some other CPU has not
8585 yet reported for this grace period, or (3) both.
8686
87−o "pqc" indicates which grace period the last-observed quiescent
87+o "pgp" indicates which grace period the last-observed quiescent
8888 state for this CPU corresponds to. This is important for handling
8989 the race between CPU 0 reporting an extended dynticks-idle
9090 quiescent state for CPU 1 and CPU 1 suddenly waking up and
@@ -184,10 +184,14 @@ o "kt" is the per-CPU kernel-thread state. The digit preceding · 93 unmodified lines
184184 The number after the final slash is the CPU that the kthread
185185 is actually running on.
186186
187+ This field is displayed only for CONFIG_RCU_BOOST kernels.
188+
187189 o "ktl" is the low-order 16 bits (in hexadecimal) of the count of
188190 the number of times that this CPU's per-CPU kthread has gone
189191 through its loop servicing invoke_rcu_cpu_kthread() requests.
190192
193+ This field is displayed only for CONFIG_RCU_BOOST kernels.
194+
191195 o "b" is the batch limit for this CPU. If more than this number
192196 of RCU callbacks is ready to invoke, then the remainder will
193197 be deferred.
Documentation/block/switching-sched.txt+2−2
@@ -1,6 +1,6 @@
11 To choose IO schedulers at boot time, use the argument 'elevator=deadline'.
2−'noop', 'as' and 'cfq' (the default) are also available. IO schedulers are
3−assigned globally at boot time only presently.
2+'noop' and 'cfq' (the default) are also available. IO schedulers are assigned
3+globally at boot time only presently.
44
55 Each io queue has a set of io scheduler tunables associated with it. These
66 tunables control how the io scheduler works. You can find these entries
Documentation/blockdev/cciss.txt+10−0
@@ -78,6 +78,16 @@ The device naming scheme is: · 77 unmodified lines
7878 /dev/cciss/c1d1p2 Controller 1, disk 1, partition 2
7979 /dev/cciss/c1d1p3 Controller 1, disk 1, partition 3
8080
81+CCISS simple mode support
82+-------------------------
83+
84+The "cciss_simple_mode=1" boot parameter may be used to prevent the driver
85+from putting the controller into "performant" mode. The difference is that
86+with simple mode, each command completion requires an interrupt, while with
87+"performant mode" (the default, and ordinarily better performing) it is
88+possible to have multiple command completions indicated by a single
89+interrupt.
90+
8191 SCSI tape drive and medium changer support
8292 ------------------------------------------
8393
Documentation/cgroups/cgroups.txt+2−2
@@ -454,8 +454,8 @@ mounted hierarchy, to remove a task from its current cgroup you must · 453 unmodified lines
454454 move it into a new cgroup (possibly the root cgroup) by writing to the
455455 new cgroup's tasks file.
456456
457−Note: If the ns cgroup is active, moving a process to another cgroup can
458−fail.
457+Note: Due to some restrictions enforced by some cgroup subsystems, moving
458+a process to another cgroup can fail.
459459
460460 2.3 Mounting hierarchies by name
461461 --------------------------------
Documentation/cgroups/freezer-subsystem.txt+2−2
@@ -33,9 +33,9 @@ demonstrate this problem using nested bash shells: · 32 unmodified lines
3333
3434 From a second, unrelated bash shell:
3535 $ kill -SIGSTOP 16690
36− $ kill -SIGCONT 16990
36+ $ kill -SIGCONT 16690
3737
38− <at this point 16990 exits and causes 16644 to exit too>
38+ <at this point 16690 exits and causes 16644 to exit too>
3939
4040 This happens because bash can observe both signals and choose how it
4141 responds to them.
Documentation/cgroups/memory.txt+0−1
@@ -418,7 +418,6 @@ total_unevictable - sum of all children's "unevictable" · 417 unmodified lines
418418
419419 # The following additional stats are dependent on CONFIG_DEBUG_VM.
420420
421−inactive_ratio - VM internal parameter. (see mm/page_alloc.c)
422421 recent_rotated_anon - VM internal parameter. (see mm/vmscan.c)
423422 recent_rotated_file - VM internal parameter. (see mm/vmscan.c)
424423 recent_scanned_anon - VM internal parameter. (see mm/vmscan.c)
Documentation/device-mapper/dm-log.txt+1−1
@@ -48,7 +48,7 @@ kernel and userspace, 'connector' is used as the interface for · 47 unmodified lines
4848 communication.
4949
5050 There are currently two userspace log implementations that leverage this
51−framework - "clustered_disk" and "clustered_core". These implementations
51+framework - "clustered-disk" and "clustered-core". These implementations
5252 provide a cluster-coherent log for shared-storage. Device-mapper mirroring
5353 can be used in a shared-storage environment when the cluster log implementations
5454 are employed.
Documentation/device-mapper/persistent-data.txt+84−0
@@ -0,0 +1,84 @@
1+Introduction
2+============
3+
4+The more-sophisticated device-mapper targets require complex metadata
5+that is managed in kernel. In late 2010 we were seeing that various
6+different targets were rolling their own data strutures, for example:
7+
8+- Mikulas Patocka's multisnap implementation
9+- Heinz Mauelshagen's thin provisioning target
10+- Another btree-based caching target posted to dm-devel
11+- Another multi-snapshot target based on a design of Daniel Phillips
12+
13+Maintaining these data structures takes a lot of work, so if possible
14+we'd like to reduce the number.
15+
16+The persistent-data library is an attempt to provide a re-usable
17+framework for people who want to store metadata in device-mapper
18+targets. It's currently used by the thin-provisioning target and an
19+upcoming hierarchical storage target.
20+
21+Overview
22+========
23+
24+The main documentation is in the header files which can all be found
25+under drivers/md/persistent-data.
26+
27+The block manager
28+-----------------
29+
30+dm-block-manager.[hc]
31+
32+This provides access to the data on disk in fixed sized-blocks. There
33+is a read/write locking interface to prevent concurrent accesses, and
34+keep data that is being used in the cache.
35+
36+Clients of persistent-data are unlikely to use this directly.
37+
38+The transaction manager
39+-----------------------
40+
41+dm-transaction-manager.[hc]
42+
43+This restricts access to blocks and enforces copy-on-write semantics.
44+The only way you can get hold of a writable block through the
45+transaction manager is by shadowing an existing block (ie. doing
46+copy-on-write) or allocating a fresh one. Shadowing is elided within
47+the same transaction so performance is reasonable. The commit method
48+ensures that all data is flushed before it writes the superblock.
49+On power failure your metadata will be as it was when last committed.
50+
51+The Space Maps
52+--------------
53+
54+dm-space-map.h
55+dm-space-map-metadata.[hc]
56+dm-space-map-disk.[hc]
57+
58+On-disk data structures that keep track of reference counts of blocks.
59+Also acts as the allocator of new blocks. Currently two
60+implementations: a simpler one for managing blocks on a different
61+device (eg. thinly-provisioned data blocks); and one for managing
62+the metadata space. The latter is complicated by the need to store
63+its own data within the space it's managing.
64+
65+The data structures
66+-------------------
67+
68+dm-btree.[hc]
69+dm-btree-remove.c
70+dm-btree-spine.c
71+dm-btree-internal.h
72+
73+Currently there is only one data structure, a hierarchical btree.
74+There are plans to add more. For example, something with an
75+array-like interface would see a lot of use.
76+
77+The btree is 'hierarchical' in that you can define it to be composed
78+of nested btrees, and take multiple keys. For example, the
79+thin-provisioning target uses a btree with two levels of nesting.
80+The first maps a device id to a mapping tree, and that in turn maps a
81+virtual block to a physical block.
82+
83+Values stored in the btrees can have arbitrary size. Keys are always
84+64bits, although nesting allows you to use multiple keys.
Documentation/device-mapper/thin-provisioning.txt+285−0
@@ -0,0 +1,285 @@
1+Introduction
2+============
3+
4+This document descibes a collection of device-mapper targets that
5+between them implement thin-provisioning and snapshots.
6+
7+The main highlight of this implementation, compared to the previous
8+implementation of snapshots, is that it allows many virtual devices to
9+be stored on the same data volume. This simplifies administration and
10+allows the sharing of data between volumes, thus reducing disk usage.
11+
12+Another significant feature is support for an arbitrary depth of
13+recursive snapshots (snapshots of snapshots of snapshots ...). The
14+previous implementation of snapshots did this by chaining together
15+lookup tables, and so performance was O(depth). This new
16+implementation uses a single data structure to avoid this degradation
17+with depth. Fragmentation may still be an issue, however, in some
18+scenarios.
19+
20+Metadata is stored on a separate device from data, giving the
21+administrator some freedom, for example to:
22+
23+- Improve metadata resilience by storing metadata on a mirrored volume
24+ but data on a non-mirrored one.
25+
26+- Improve performance by storing the metadata on SSD.
27+
28+Status
29+======
30+
31+These targets are very much still in the EXPERIMENTAL state. Please
32+do not yet rely on them in production. But do experiment and offer us
33+feedback. Different use cases will have different performance
34+characteristics, for example due to fragmentation of the data volume.
35+
36+If you find this software is not performing as expected please mail
37+dm-devel@redhat.com with details and we'll try our best to improve
38+things for you.
39+
40+Userspace tools for checking and repairing the metadata are under
41+development.
42+
43+Cookbook
44+========
45+
46+This section describes some quick recipes for using thin provisioning.
47+They use the dmsetup program to control the device-mapper driver
48+directly. End users will be advised to use a higher-level volume
49+manager such as LVM2 once support has been added.
50+
51+Pool device
52+-----------
53+
54+The pool device ties together the metadata volume and the data volume.
55+It maps I/O linearly to the data volume and updates the metadata via
56+two mechanisms:
57+
58+- Function calls from the thin targets
59+
60+- Device-mapper 'messages' from userspace which control the creation of new
61+ virtual devices amongst other things.
62+
63+Setting up a fresh pool device
64+------------------------------
65+
66+Setting up a pool device requires a valid metadata device, and a
67+data device. If you do not have an existing metadata device you can
68+make one by zeroing the first 4k to indicate empty metadata.
69+
70+ dd if=/dev/zero of=$metadata_dev bs=4096 count=1
71+
72+The amount of metadata you need will vary according to how many blocks
73+are shared between thin devices (i.e. through snapshots). If you have
74+less sharing than average you'll need a larger-than-average metadata device.
75+
76+As a guide, we suggest you calculate the number of bytes to use in the
77+metadata device as 48 * $data_dev_size / $data_block_size but round it up
78+to 2MB if the answer is smaller. The largest size supported is 16GB.
79+
80+If you're creating large numbers of snapshots which are recording large
81+amounts of change, you may need find you need to increase this.
82+
83+Reloading a pool table
84+----------------------
85+
86+You may reload a pool's table, indeed this is how the pool is resized
87+if it runs out of space. (N.B. While specifying a different metadata
88+device when reloading is not forbidden at the moment, things will go
89+wrong if it does not route I/O to exactly the same on-disk location as
90+previously.)
91+
92+Using an existing pool device
93+-----------------------------
94+
95+ dmsetup create pool \
96+ --table "0 20971520 thin-pool $metadata_dev $data_dev \
97+ $data_block_size $low_water_mark"
98+
99+$data_block_size gives the smallest unit of disk space that can be
100+allocated at a time expressed in units of 512-byte sectors. People
101+primarily interested in thin provisioning may want to use a value such
102+as 1024 (512KB). People doing lots of snapshotting may want a smaller value
103+such as 128 (64KB). If you are not zeroing newly-allocated data,
104+a larger $data_block_size in the region of 256000 (128MB) is suggested.
105+$data_block_size must be the same for the lifetime of the
106+metadata device.
107+
108+$low_water_mark is expressed in blocks of size $data_block_size. If
109+free space on the data device drops below this level then a dm event
110+will be triggered which a userspace daemon should catch allowing it to
111+extend the pool device. Only one such event will be sent.
112+Resuming a device with a new table itself triggers an event so the
113+userspace daemon can use this to detect a situation where a new table
114+already exceeds the threshold.
115+
116+Thin provisioning
117+-----------------
118+
119+i) Creating a new thinly-provisioned volume.
120+
121+ To create a new thinly- provisioned volume you must send a message to an
122+ active pool device, /dev/mapper/pool in this example.
123+
124+ dmsetup message /dev/mapper/pool 0 "create_thin 0"
125+
126+ Here '0' is an identifier for the volume, a 24-bit number. It's up
127+ to the caller to allocate and manage these identifiers. If the
128+ identifier is already in use, the message will fail with -EEXIST.
129+
130+ii) Using a thinly-provisioned volume.
131+
132+ Thinly-provisioned volumes are activated using the 'thin' target:
133+
134+ dmsetup create thin --table "0 2097152 thin /dev/mapper/pool 0"
135+
136+ The last parameter is the identifier for the thinp device.
137+
138+Internal snapshots
139+------------------
140+
141+i) Creating an internal snapshot.
142+
143+ Snapshots are created with another message to the pool.
144+
145+ N.B. If the origin device that you wish to snapshot is active, you
146+ must suspend it before creating the snapshot to avoid corruption.
147+ This is NOT enforced at the moment, so please be careful!
148+
149+ dmsetup suspend /dev/mapper/thin
150+ dmsetup message /dev/mapper/pool 0 "create_snap 1 0"
151+ dmsetup resume /dev/mapper/thin
152+
153+ Here '1' is the identifier for the volume, a 24-bit number. '0' is the
154+ identifier for the origin device.
155+
156+ii) Using an internal snapshot.
157+
158+ Once created, the user doesn't have to worry about any connection
159+ between the origin and the snapshot. Indeed the snapshot is no
160+ different from any other thinly-provisioned device and can be
161+ snapshotted itself via the same method. It's perfectly legal to
162+ have only one of them active, and there's no ordering requirement on
163+ activating or removing them both. (This differs from conventional
164+ device-mapper snapshots.)
165+
166+ Activate it exactly the same way as any other thinly-provisioned volume:
167+
168+ dmsetup create snap --table "0 2097152 thin /dev/mapper/pool 1"
169+
170+Deactivation
171+------------
172+
173+All devices using a pool must be deactivated before the pool itself
174+can be.
175+
176+ dmsetup remove thin
177+ dmsetup remove snap
178+ dmsetup remove pool
179+
180+Reference
181+=========
182+
183+'thin-pool' target
184+------------------
185+
186+i) Constructor
187+
188+ thin-pool <metadata dev> <data dev> <data block size (sectors)> \
189+ <low water mark (blocks)> [<number of feature args> [<arg>]*]
190+
191+ Optional feature arguments:
192+ - 'skip_block_zeroing': skips the zeroing of newly-provisioned blocks.
193+
194+ Data block size must be between 64KB (128 sectors) and 1GB
195+ (2097152 sectors) inclusive.
196+
197+
198+ii) Status
199+
200+ <transaction id> <used metadata blocks>/<total metadata blocks>
201+ <used data blocks>/<total data blocks> <held metadata root>
202+
203+
204+ transaction id:
205+ A 64-bit number used by userspace to help synchronise with metadata
206+ from volume managers.
207+
208+ used data blocks / total data blocks
209+ If the number of free blocks drops below the pool's low water mark a
210+ dm event will be sent to userspace. This event is edge-triggered and
211+ it will occur only once after each resume so volume manager writers
212+ should register for the event and then check the target's status.
213+
214+ held metadata root:
215+ The location, in sectors, of the metadata root that has been
216+ 'held' for userspace read access. '-' indicates there is no
217+ held root. This feature is not yet implemented so '-' is
218+ always returned.
219+
220+iii) Messages
221+
222+ create_thin <dev id>
223+
224+ Create a new thinly-provisioned device.
225+ <dev id> is an arbitrary unique 24-bit identifier chosen by
226+ the caller.
227+
228+ create_snap <dev id> <origin id>
229+
230+ Create a new snapshot of another thinly-provisioned device.
231+ <dev id> is an arbitrary unique 24-bit identifier chosen by
232+ the caller.
233+ <origin id> is the identifier of the thinly-provisioned device
234+ of which the new device will be a snapshot.
235+
236+ delete <dev id>
237+
238+ Deletes a thin device. Irreversible.
239+
240+ trim <dev id> <new size in sectors>
241+
242+ Delete mappings from the end of a thin device. Irreversible.
243+ You might want to use this if you're reducing the size of
244+ your thinly-provisioned device. In many cases, due to the
245+ sharing of blocks between devices, it is not possible to
246+ determine in advance how much space 'trim' will release. (In
247+ future a userspace tool might be able to perform this
248+ calculation.)
249+
250+ set_transaction_id <current id> <new id>
251+
252+ Userland volume managers, such as LVM, need a way to
253+ synchronise their external metadata with the internal metadata of the
254+ pool target. The thin-pool target offers to store an
255+ arbitrary 64-bit transaction id and return it on the target's
256+ status line. To avoid races you must provide what you think
257+ the current transaction id is when you change it with this
258+ compare-and-swap message.
259+
260+'thin' target
261+-------------
262+
263+i) Constructor
264+
265+ thin <pool dev> <dev id>
266+
267+ pool dev:
268+ the thin-pool device, e.g. /dev/mapper/my_pool or 253:0
269+
270+ dev id:
271+ the internal device identifier of the device to be
272+ activated.
273+
274+The pool doesn't store any size against the thin devices. If you
275+load a thin target that is smaller than you've been using previously,
276+then you'll have no access to blocks mapped beyond the end. If you
277+load a target that is bigger than before, then extra blocks will be
278+provisioned as and when needed.
279+
280+If you wish to reduce the size of your thin device and potentially
281+regain some space then send the 'trim' message to the pool.
282+
283+ii) Status
284+
285+ <nr mapped sectors> <highest mapped sector>
Documentation/devicetree/bindings/arm/calxeda.txt+8−0
@@ -0,0 +1,8 @@
1+Calxeda Highbank Platforms Device Tree Bindings
2+-----------------------------------------------
3+
4+Boards with Calxeda Cortex-A9 based Highbank SOC shall have the following
5+properties.
6+
7+Required root node properties:
8+ - compatible = "calxeda,highbank";
Documentation/devicetree/bindings/arm/fsl.txt+26−0
@@ -0,0 +1,26 @@
1+Freescale i.MX Platforms Device Tree Bindings
2+-----------------------------------------------
3+
4+i.MX51 Babbage Board
5+Required root node properties:
6+ - compatible = "fsl,imx51-babbage", "fsl,imx51";
7+
8+i.MX53 Automotive Reference Design Board
9+Required root node properties:
10+ - compatible = "fsl,imx53-ard", "fsl,imx53";
11+
12+i.MX53 Evaluation Kit
13+Required root node properties:
14+ - compatible = "fsl,imx53-evk", "fsl,imx53";
15+
16+i.MX53 Quick Start Board
17+Required root node properties:
18+ - compatible = "fsl,imx53-qsb", "fsl,imx53";
19+
20+i.MX53 Smart Mobile Reference Design Board
21+Required root node properties:
22+ - compatible = "fsl,imx53-smd", "fsl,imx53";
23+
24+i.MX6 Quad SABRE Automotive Board
25+Required root node properties:
26+ - compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
Documentation/devicetree/bindings/arm/gic.txt+55−0
@@ -0,0 +1,55 @@
1+* ARM Generic Interrupt Controller
2+
3+ARM SMP cores are often associated with a GIC, providing per processor
4+interrupts (PPI), shared processor interrupts (SPI) and software
5+generated interrupts (SGI).
6+
7+Primary GIC is attached directly to the CPU and typically has PPIs and SGIs.
8+Secondary GICs are cascaded into the upward interrupt controller and do not
9+have PPIs or SGIs.
10+
11+Main node required properties:
12+
13+- compatible : should be one of:
14+ "arm,cortex-a9-gic"
15+ "arm,arm11mp-gic"
16+- interrupt-controller : Identifies the node as an interrupt controller
17+- #interrupt-cells : Specifies the number of cells needed to encode an
18+ interrupt source. The type shall be a <u32> and the value shall be 3.
19+
20+ The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI
21+ interrupts.
22+
23+ The 2nd cell contains the interrupt number for the interrupt type.
24+ SPI interrupts are in the range [0-987]. PPI interrupts are in the
25+ range [0-15].
26+
27+ The 3rd cell is the flags, encoded as follows:
28+ bits[3:0] trigger type and level flags.
29+ 1 = low-to-high edge triggered
30+ 2 = high-to-low edge triggered
31+ 4 = active high level-sensitive
32+ 8 = active low level-sensitive
33+ bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of
34+ the 8 possible cpus attached to the GIC. A bit set to '1' indicated
35+ the interrupt is wired to that CPU. Only valid for PPI interrupts.
36+
37+- reg : Specifies base physical address(s) and size of the GIC registers. The
38+ first region is the GIC distributor register base and size. The 2nd region is
39+ the GIC cpu interface register base and size.
40+
41+Optional
42+- interrupts : Interrupt source of the parent interrupt controller. Only
43+ present on secondary GICs.
44+
45+Example:
46+
47+ intc: interrupt-controller@fff11000 {
48+ compatible = "arm,cortex-a9-gic";
49+ #interrupt-cells = <3>;
50+ #address-cells = <1>;
51+ interrupt-controller;
52+ reg = <0xfff11000 0x1000>,
53+ <0xfff10100 0x100>;
54+ };
55+
Documentation/devicetree/bindings/arm/omap/dsp.txt+14−0
@@ -0,0 +1,14 @@
1+* TI - DSP (Digital Signal Processor)
2+
3+TI DSP included in OMAP SoC
4+
5+Required properties:
6+- compatible : Should be "ti,omap3-c64" for OMAP3 & 4
7+- ti,hwmods: "dsp"
8+
9+Examples:
10+
11+dsp {
12+ compatible = "ti,omap3-c64";
13+ ti,hwmods = "dsp";
14+};
Documentation/devicetree/bindings/arm/omap/iva.txt+19−0
@@ -0,0 +1,19 @@
1+* TI - IVA (Imaging and Video Accelerator) subsystem
2+
3+The IVA contain various audio, video or imaging HW accelerator
4+depending of the version.
5+
6+Required properties:
7+- compatible : Should be:
8+ - "ti,ivahd" for OMAP4
9+ - "ti,iva2.2" for OMAP3
10+ - "ti,iva2.1" for OMAP2430
11+ - "ti,iva1" for OMAP2420
12+- ti,hwmods: "iva"
13+
14+Examples:
15+
16+iva {
17+ compatible = "ti,ivahd", "ti,iva";
18+ ti,hwmods = "iva";
19+};
Documentation/devicetree/bindings/arm/omap/l3-noc.txt+19−0
@@ -0,0 +1,19 @@
1+* TI - L3 Network On Chip (NoC)
2+
3+This version is an implementation of the generic NoC IP
4+provided by Arteris.
5+
6+Required properties:
7+- compatible : Should be "ti,omap3-l3-smx" for OMAP3 family
8+ Should be "ti,omap4-l3-noc" for OMAP4 family
9+- ti,hwmods: "l3_main_1", ... One hwmod for each noc domain.
10+
11+Examples:
12+
13+ocp {
14+ compatible = "ti,omap4-l3-noc", "simple-bus";
15+ #address-cells = <1>;
16+ #size-cells = <1>;
17+ ranges;
18+ ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
19+};
Documentation/devicetree/bindings/arm/omap/mpu.txt+27−0
@@ -0,0 +1,27 @@
1+* TI - MPU (Main Processor Unit) subsystem
2+
3+The MPU subsystem contain one or several ARM cores
4+depending of the version.
5+The MPU contain CPUs, GIC, L2 cache and a local PRCM.
6+
7+Required properties:
8+- compatible : Should be "ti,omap3-mpu" for OMAP3
9+ Should be "ti,omap4-mpu" for OMAP4
10+- ti,hwmods: "mpu"
11+
12+Examples:
13+
14+- For an OMAP4 SMP system:
15+
16+mpu {
17+ compatible = "ti,omap4-mpu";
18+ ti,hwmods = "mpu";
19+};
20+
21+
22+- For an OMAP3 monocore system:
23+
24+mpu {
25+ compatible = "ti,omap3-mpu";
26+ ti,hwmods = "mpu";
27+};
Documentation/devicetree/bindings/arm/omap/omap.txt+43−0
@@ -0,0 +1,43 @@
1+* Texas Instruments OMAP
2+
3+OMAP is currently using a static file per SoC family to describe the
4+IPs present in the SoC.
5+On top of that an omap_device is created to extend the platform_device
6+capabilities and to allow binding with one or several hwmods.
7+The hwmods will contain all the information to build the device:
8+adresse range, irq lines, dma lines, interconnect, PRCM register,
9+clock domain, input clocks.
10+For the moment just point to the existing hwmod, the next step will be
11+to move data from hwmod to device-tree representation.
12+
13+
14+Required properties:
15+- compatible: Every devices present in OMAP SoC should be in the
16+ form: "ti,XXX"
17+- ti,hwmods: list of hwmod names (ascii strings), that comes from the OMAP
18+ HW documentation, attached to a device. Must contain at least
19+ one hwmod.
20+
21+Optional properties:
22+- ti,no_idle_on_suspend: When present, it prevents the PM to idle the module
23+ during suspend.
24+
25+
26+Example:
27+
28+spinlock@1 {
29+ compatible = "ti,omap4-spinlock";
30+ ti,hwmods = "spinlock";
31+};
32+
33+
34+Boards:
35+
36+- OMAP3 BeagleBoard : Low cost community board
37+ compatible = "ti,omap3-beagle", "ti,omap3"
38+
39+- OMAP4 SDP : Software Developement Board
40+ compatible = "ti,omap4-sdp", "ti,omap4430"
41+
42+- OMAP4 PandaBoard : Low cost community board
43+ compatible = "ti,omap4-panda", "ti,omap4430"
Documentation/devicetree/bindings/arm/picoxcell.txt+24−0
@@ -0,0 +1,24 @@
1+Picochip picoXcell device tree bindings.
2+========================================
3+
4+Required root node properties:
5+ - compatible:
6+ - "picochip,pc7302-pc3x3" : PC7302 development board with PC3X3 device.
7+ - "picochip,pc7302-pc3x2" : PC7302 development board with PC3X2 device.
8+ - "picochip,pc3x3" : picoXcell PC3X3 device based board.
9+ - "picochip,pc3x2" : picoXcell PC3X2 device based board.
10+
11+Timers required properties:
12+ - compatible = "picochip,pc3x2-timer"
13+ - interrupts : The single IRQ line for the timer.
14+ - clock-freq : The frequency in HZ of the timer.
15+ - reg : The register bank for the timer.
16+
17+Note: two timers are required - one for the scheduler clock and one for the
18+event tick/NOHZ.
19+
20+VIC required properties:
21+ - compatible = "arm,pl192-vic".
22+ - interrupt-controller.
23+ - reg : The register bank for the device.
24+ - #interrupt-cells : Must be 1.
Documentation/devicetree/bindings/arm/primecell.txt+3−1
@@ -6,7 +6,9 @@ driver matching. · 5 unmodified lines
66
77 Required properties:
88
9−- compatible : should be a specific value for peripheral and "arm,primecell"
9+- compatible : should be a specific name for the peripheral and
10+ "arm,primecell". The specific name will match the ARM
11+ engineering name for the logic block in the form: "arm,pl???"
1012
1113 Optional properties:
1214
Documentation/devicetree/bindings/ata/calxeda-sata.txt+17−0
@@ -0,0 +1,17 @@
1+* Calxeda SATA Controller
2+
3+SATA nodes are defined to describe on-chip Serial ATA controllers.
4+Each SATA controller should have its own node.
5+
6+Required properties:
7+- compatible : compatible list, contains "calxeda,hb-ahci"
8+- interrupts : <interrupt mapping for SATA IRQ>
9+- reg : <registers mapping>
10+
11+Example:
12+ sata@ffe08000 {
13+ compatible = "calxeda,hb-ahci";
14+ reg = <0xffe08000 0x1000>;
15+ interrupts = <115>;
16+ };
17+
Documentation/devicetree/bindings/crypto/picochip-spacc.txt+23−0
@@ -0,0 +1,23 @@
1+Picochip picoXcell SPAcc (Security Protocol Accelerator) bindings
2+
3+Picochip picoXcell devices contain crypto offload engines that may be used for
4+IPSEC and femtocell layer 2 ciphering.
5+
6+Required properties:
7+ - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine
8+ "picochip,spacc-l2" for the femtocell layer 2 ciphering engine.
9+ - reg : Offset and length of the register set for this device
10+ - interrupt-parent : The interrupt controller that controls the SPAcc
11+ interrupt.
12+ - interrupts : The interrupt line from the SPAcc.
13+ - ref-clock : The input clock that drives the SPAcc.
14+
15+Example SPAcc node:
16+
17+spacc@10000 {
18+ compatible = "picochip,spacc-ipsec";
19+ reg = <0x100000 0x10000>;
20+ interrupt-parent = <&vic0>;
21+ interrupts = <24>;
22+ ref-clock = <&ipsec_clk>, "ref";
23+};
Documentation/devicetree/bindings/gpio/pl061-gpio.txt+10−0
@@ -0,0 +1,10 @@
1+ARM PL061 GPIO controller
2+
3+Required properties:
4+- compatible : "arm,pl061", "arm,primecell"
5+- #gpio-cells : Should be two. The first cell is the pin number and the
6+ second cell is used to specify optional parameters:
7+ - bit 0 specifies polarity (0 for normal, 1 for inverted)
8+- gpio-controller : Marks the device node as a GPIO controller.
9+- interrupts : Interrupt mapping for GPIO IRQ.
10+
Documentation/devicetree/bindings/i2c/fsl-imx-i2c.txt+25−0
@@ -0,0 +1,25 @@
1+* Freescale Inter IC (I2C) and High Speed Inter IC (HS-I2C) for i.MX
2+
3+Required properties:
4+- compatible : Should be "fsl,<chip>-i2c"
5+- reg : Should contain I2C/HS-I2C registers location and length
6+- interrupts : Should contain I2C/HS-I2C interrupt
7+
8+Optional properties:
9+- clock-frequency : Constains desired I2C/HS-I2C bus clock frequency in Hz.
10+ The absence of the propoerty indicates the default frequency 100 kHz.
11+
12+Examples:
13+
14+i2c@83fc4000 { /* I2C2 on i.MX51 */
15+ compatible = "fsl,imx51-i2c", "fsl,imx1-i2c";
16+ reg = <0x83fc4000 0x4000>;
17+ interrupts = <63>;
18+};
19+
20+i2c@70038000 { /* HS-I2C on i.MX51 */
21+ compatible = "fsl,imx51-i2c", "fsl,imx1-i2c";
22+ reg = <0x70038000 0x4000>;
23+ interrupts = <64>;
24+ clock-frequency = <400000>;
25+};
Documentation/devicetree/bindings/i2c/samsung-i2c.txt+39−0
@@ -0,0 +1,39 @@
1+* Samsung's I2C controller
2+
3+The Samsung's I2C controller is used to interface with I2C devices.
4+
5+Required properties:
6+ - compatible: value should be either of the following.
7+ (a) "samsung, s3c2410-i2c", for i2c compatible with s3c2410 i2c.
8+ (b) "samsung, s3c2440-i2c", for i2c compatible with s3c2440 i2c.
9+ - reg: physical base address of the controller and length of memory mapped
10+ region.
11+ - interrupts: interrupt number to the cpu.
12+ - samsung,i2c-sda-delay: Delay (in ns) applied to data line (SDA) edges.
13+ - gpios: The order of the gpios should be the following: <SDA, SCL>.
14+ The gpio specifier depends on the gpio controller.
15+
16+Optional properties:
17+ - samsung,i2c-slave-addr: Slave address in multi-master enviroment. If not
18+ specified, default value is 0.
19+ - samsung,i2c-max-bus-freq: Desired frequency in Hz of the bus. If not
20+ specified, the default value in Hz is 100000.
21+
22+Example:
23+
24+ i2c@13870000 {
25+ compatible = "samsung,s3c2440-i2c";
26+ reg = <0x13870000 0x100>;
27+ interrupts = <345>;
28+ samsung,i2c-sda-delay = <100>;
29+ samsung,i2c-max-bus-freq = <100000>;
30+ gpios = <&gpd1 2 0 /* SDA */
31+ &gpd1 3 0 /* SCL */>;
32+ #address-cells = <1>;
33+ #size-cells = <0>;
34+
35+ wm8994@1a {
36+ compatible = "wlf,wm8994";
37+ reg = <0x1a>;
38+ };
39+ };
Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt+27−0
@@ -0,0 +1,27 @@
1+* NVIDIA Tegra Secure Digital Host Controller
2+
3+This controller on Tegra family SoCs provides an interface for MMC, SD,
4+and SDIO types of memory cards.
5+
6+Required properties:
7+- compatible : Should be "nvidia,<chip>-sdhci"
8+- reg : Should contain SD/MMC registers location and length
9+- interrupts : Should contain SD/MMC interrupt
10+
11+Optional properties:
12+- cd-gpios : Specify GPIOs for card detection
13+- wp-gpios : Specify GPIOs for write protection
14+- power-gpios : Specify GPIOs for power control
15+- support-8bit : Boolean, indicates if 8-bit mode should be used.
16+
17+Example:
18+
19+sdhci@c8000200 {
20+ compatible = "nvidia,tegra20-sdhci";
21+ reg = <0xc8000200 0x200>;
22+ interrupts = <47>;
23+ cd-gpios = <&gpio 69 0>; /* gpio PI5 */
24+ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
25+ power-gpios = <&gpio 155 0>; /* gpio PT3 */
26+ support-8bit;
27+};
Documentation/devicetree/bindings/mtd/atmel-dataflash.txt+14−0
@@ -0,0 +1,14 @@
1+* Atmel Data Flash
2+
3+Required properties:
4+- compatible : "atmel,<model>", "atmel,<series>", "atmel,dataflash".
5+
6+Example:
7+
8+flash@1 {
9+ #address-cells = <1>;
10+ #size-cells = <1>;
11+ compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
12+ spi-max-frequency = <25000000>;
13+ reg = <1>;
14+};
Documentation/devicetree/bindings/net/can/fsl-flexcan.txt+13−50
@@ -1,61 +1,24 @@
1−CAN Device Tree Bindings
2−------------------------
3−2011 Freescale Semiconductor, Inc.
1+Flexcan CAN contoller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
42
5−fsl,flexcan-v1.0 nodes
6−-----------------------
7−In addition to the required compatible-, reg- and interrupt-properties, you can
8−also specify which clock source shall be used for the controller.
3+Required properties:
94
10−CPI Clock- Can Protocol Interface Clock
11− This CLK_SRC bit of CTRL(control register) selects the clock source to
12− the CAN Protocol Interface(CPI) to be either the peripheral clock
13− (driven by the PLL) or the crystal oscillator clock. The selected clock
14− is the one fed to the prescaler to generate the Serial Clock (Sclock).
15− The PRESDIV field of CTRL(control register) controls a prescaler that
16− generates the Serial Clock (Sclock), whose period defines the
17− time quantum used to compose the CAN waveform.
5+- compatible : Should be "fsl,<processor>-flexcan"
186
19−Can Engine Clock Source
20− There are two sources for CAN clock
21− - Platform Clock It represents the bus clock
22− - Oscillator Clock
7+ An implementation should also claim any of the following compatibles
8+ that it is fully backwards compatible with:
239
24− Peripheral Clock (PLL)
25− --------------
26− |
27− --------- -------------
28− | |CPI Clock | Prescaler | Sclock
29− | |---------------->| (1.. 256) |------------>
30− --------- -------------
31− | |
32− -------------- ---------------------CLK_SRC
33− Oscillator Clock
10+ - fsl,p1010-flexcan
3411
35−- fsl,flexcan-clock-source : CAN Engine Clock Source.This property selects
36− the peripheral clock. PLL clock is fed to the
37− prescaler to generate the Serial Clock (Sclock).
38− Valid values are "oscillator" and "platform"
39− "oscillator": CAN engine clock source is oscillator clock.
40− "platform" The CAN engine clock source is the bus clock
41− (platform clock).
12+- reg : Offset and length of the register set for this device
13+- interrupts : Interrupt tuple for this device
14+- clock-frequency : The oscillator frequency driving the flexcan device
4215
43−- fsl,flexcan-clock-divider : for the reference and system clock, an additional
44− clock divider can be specified.
45−- clock-frequency: frequency required to calculate the bitrate for FlexCAN.
16+Example:
4617
47−Note:
48− - v1.0 of flexcan-v1.0 represent the IP block version for P1010 SOC.
49− - P1010 does not have oscillator as the Clock Source.So the default
50− Clock Source is platform clock.
51−Examples:
52−
53− can0@1c000 {
54− compatible = "fsl,flexcan-v1.0";
18+ can@1c000 {
19+ compatible = "fsl,p1010-flexcan";
5520 reg = <0x1c000 0x1000>;
5621 interrupts = <48 0x2>;
5722 interrupt-parent = <&mpic>;
58− fsl,flexcan-clock-source = "platform";
59− fsl,flexcan-clock-divider = <2>;
60− clock-frequency = <fixed by u-boot>;
23+ clock-frequency = <200000000>; // filled in by bootloader
6124 };
Documentation/devicetree/bindings/net/smsc911x.txt+38−0
@@ -0,0 +1,38 @@
1+* Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller
2+
3+Required properties:
4+- compatible : Should be "smsc,lan<model>", "smsc,lan9115"
5+- reg : Address and length of the io space for SMSC LAN
6+- interrupts : Should contain SMSC LAN interrupt line
7+- interrupt-parent : Should be the phandle for the interrupt controller
8+ that services interrupts for this device
9+- phy-mode : String, operation mode of the PHY interface.
10+ Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
11+ "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
12+
13+Optional properties:
14+- reg-shift : Specify the quantity to shift the register offsets by
15+- reg-io-width : Specify the size (in bytes) of the IO accesses that
16+ should be performed on the device. Valid value for SMSC LAN is
17+ 2 or 4. If it's omitted or invalid, the size would be 2.
18+- smsc,irq-active-high : Indicates the IRQ polarity is active-high
19+- smsc,irq-push-pull : Indicates the IRQ type is push-pull
20+- smsc,force-internal-phy : Forces SMSC LAN controller to use
21+ internal PHY
22+- smsc,force-external-phy : Forces SMSC LAN controller to use
23+ external PHY
24+- smsc,save-mac-address : Indicates that mac address needs to be saved
25+ before resetting the controller
26+- local-mac-address : 6 bytes, mac address
27+
28+Examples:
29+
30+lan9220@f4000000 {
31+ compatible = "smsc,lan9220", "smsc,lan9115";
32+ reg = <0xf4000000 0x2000000>;
33+ phy-mode = "mii";
34+ interrupt-parent = <&gpio1>;
35+ interrupts = <31>;
36+ reg-io-width = <4>;
37+ smsc,irq-push-pull;
38+};
Documentation/devicetree/bindings/pinmux/pinmux_nvidia.txt+5−0
@@ -0,0 +1,5 @@
1+NVIDIA Tegra 2 pinmux controller
2+
3+Required properties:
4+- compatible : "nvidia,tegra20-pinmux"
5+
Documentation/devicetree/bindings/powerpc/fsl/board.txt+18−12
@@ -1,3 +1,8 @@
1+Freescale Reference Board Bindings
2+
3+This document describes device tree bindings for various devices that
4+exist on some Freescale reference boards.
5+
16 * Board Control and Status (BCSR)
27
38 Required properties:
@@ -12,25 +17,26 @@ Example: · 8 unmodified lines
1217 reg = <f8000000 8000>;
1318 };
1419
15−* Freescale on board FPGA
20+* Freescale on-board FPGA
1621
1722 This is the memory-mapped registers for on board FPGA.
1823
1924 Required properities:
20−- compatible : should be "fsl,fpga-pixis".
21−- reg : should contain the address and the length of the FPPGA register
22− set.
25+- compatible: should be a board-specific string followed by a string
26+ indicating the type of FPGA. Example:
27+ "fsl,<board>-fpga", "fsl,fpga-pixis"
28+- reg: should contain the address and the length of the FPGA register set.
2329 - interrupt-parent: should specify phandle for the interrupt controller.
24−- interrupts : should specify event (wakeup) IRQ.
30+- interrupts: should specify event (wakeup) IRQ.
2531
26−Example (MPC8610HPCD):
32+Example (P1022DS):
2733
28− board-control@e8000000 {
29− compatible = "fsl,fpga-pixis";
30− reg = <0xe8000000 32>;
31− interrupt-parent = <&mpic>;
32− interrupts = <8 8>;
33− };
34+ board-control@3,0 {
35+ compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis";
36+ reg = <3 0 0x30>;
37+ interrupt-parent = <&mpic>;
38+ interrupts = <8 8 0 0>;
39+ };
3440
3541 * Freescale BCSR GPIO banks
3642
Documentation/devicetree/bindings/powerpc/fsl/dcsr.txt+395−0
@@ -0,0 +1,395 @@
1+===================================================================
2+Debug Control and Status Register (DCSR) Binding
3+Copyright 2011 Freescale Semiconductor Inc.
4+
5+NOTE: The bindings described in this document are preliminary and subject
6+to change. Some of the compatible strings that contain only generic names
7+may turn out to be inappropriate, or need additional properties to describe
8+the integration of the block with the rest of the chip.
9+
10+=====================================================================
11+Debug Control and Status Register Memory Map
12+
13+Description
14+
15+This node defines the base address and range for the
16+defined DCSR Memory Map. Child nodes will describe the individual
17+debug blocks defined within this memory space.
18+
19+PROPERTIES
20+
21+ - compatible
22+ Usage: required
23+ Value type: <string>
24+ Definition: Must include "fsl,dcsr" and "simple-bus".
25+ The DCSR space exists in the memory-mapped bus.
26+
27+ - #address-cells
28+ Usage: required
29+ Value type: <u32>
30+ Definition: A standard property. Defines the number of cells
31+ or representing physical addresses in child nodes.
32+
33+ - #size-cells
34+ Usage: required
35+ Value type: <u32>
36+ Definition: A standard property. Defines the number of cells
37+ or representing the size of physical addresses in
38+ child nodes.
39+
40+ - ranges
41+ Usage: required
42+ Value type: <prop-encoded-array>
43+ Definition: A standard property. Specifies the physical address
44+ range of the DCSR space.
45+
46+EXAMPLE
47+ dcsr: dcsr@f00000000 {
48+ #address-cells = <1>;
49+ #size-cells = <1>;
50+ compatible = "fsl,dcsr", "simple-bus";
51+ ranges = <0x00000000 0xf 0x00000000 0x01008000>;
52+ };
53+
54+=====================================================================
55+Event Processing Unit
56+
57+This node represents the region of DCSR space allocated to the EPU
58+
59+PROPERTIES
60+
61+ - compatible
62+ Usage: required
63+ Value type: <string>
64+ Definition: Must include "fsl,dcsr-epu"
65+
66+ - interrupts
67+ Usage: required
68+ Value type: <prop_encoded-array>
69+ Definition: Specifies the interrupts generated by the EPU.
70+ The value of the interrupts property consists of three
71+ interrupt specifiers. The format of the specifier is defined
72+ by the binding document describing the node's interrupt parent.
73+
74+ The EPU counters can be configured to assert the performance
75+ monitor interrupt signal based on either counter overflow or value
76+ match. Which counter asserted the interrupt is captured in an EPU
77+ Counter Interrupt Status Register (EPCPUISR).
78+
79+ The EPU unit can also be configured to assert either or both of
80+ two interrupt signals based on debug event sources within the SoC.
81+ The interrupt signals are epu_xt_int0 and epu_xt_int1.
82+ Which event source asserted the interrupt is captured in an EPU
83+ Interrupt Status Register (EPISR0,EPISR1).
84+
85+ Interrupt numbers are lised in order (perfmon, event0, event1).
86+
87+ - interrupt-parent
88+ Usage: required
89+ Value type: <phandle>
90+ Definition: A single <phandle> value that points
91+ to the interrupt parent to which the child domain
92+ is being mapped. Value must be "&mpic"
93+
94+ - reg
95+ Usage: required
96+ Value type: <prop-encoded-array>
97+ Definition: A standard property. Specifies the physical address
98+ offset and length of the DCSR space registers of the device
99+ configuration block.
100+
101+EXAMPLE
102+ dcsr-epu@0 {
103+ compatible = "fsl,dcsr-epu";
104+ interrupts = <52 2 0 0
105+ 84 2 0 0
106+ 85 2 0 0>;
107+ interrupt-parent = <&mpic>;
108+ reg = <0x0 0x1000>;
109+ };
110+
111+=======================================================================
112+Nexus Port Controller
113+
114+This node represents the region of DCSR space allocated to the NPC
115+
116+PROPERTIES
117+
118+ - compatible
119+ Usage: required
120+ Value type: <string>
121+ Definition: Must include "fsl,dcsr-npc"
122+
123+ - reg
124+ Usage: required
125+ Value type: <prop-encoded-array>
126+ Definition: A standard property. Specifies the physical address
127+ offset and length of the DCSR space registers of the device
128+ configuration block.
129+ The Nexus Port controller occupies two regions in the DCSR space
130+ with distinct functionality.
131+
132+ The first register range describes the Nexus Port Controller
133+ control and status registers.
134+
135+ The second register range describes the Nexus Port Controller
136+ internal trace buffer. The NPC trace buffer is a small memory buffer
137+ which stages the nexus trace data for transmission via the Aurora port
138+ or to a DDR based trace buffer. In some configurations the NPC trace
139+ buffer can be the only trace buffer used.
140+
141+
142+EXAMPLE
143+ dcsr-npc {
144+ compatible = "fsl,dcsr-npc";
145+ reg = <0x1000 0x1000 0x1000000 0x8000>;
146+ };
147+
148+=======================================================================
149+Nexus Concentrator
150+
151+This node represents the region of DCSR space allocated to the NXC
152+
153+PROPERTIES
154+
155+ - compatible
156+ Usage: required
157+ Value type: <string>
158+ Definition: Must include "fsl,dcsr-nxc"
159+
160+ - reg
161+ Usage: required
162+ Value type: <prop-encoded-array>
163+ Definition: A standard property. Specifies the physical address
164+ offset and length of the DCSR space registers of the device
165+ configuration block.
166+
167+EXAMPLE
168+ dcsr-nxc@2000 {
169+ compatible = "fsl,dcsr-nxc";
170+ reg = <0x2000 0x1000>;
171+ };
172+=======================================================================
173+CoreNet Debug Controller
174+
175+This node represents the region of DCSR space allocated to
176+the CoreNet Debug controller.
177+
178+PROPERTIES
179+
180+ - compatible
181+ Usage: required
182+ Value type: <string>
183+ Definition: Must include "fsl,dcsr-corenet"
184+
185+ - reg
186+ Usage: required
187+ Value type: <prop-encoded-array>
188+ Definition: A standard property. Specifies the physical address
189+ offset and length of the DCSR space registers of the device
190+ configuration block.
191+ The CoreNet Debug controller occupies two regions in the DCSR space
192+ with distinct functionality.
193+
194+ The first register range describes the CoreNet Debug Controller
195+ functionalty to perform transaction and transaction attribute matches.
196+
197+ The second register range describes the CoreNet Debug Controller
198+ functionalty to trigger event notifications and debug traces.
199+
200+EXAMPLE
201+ dcsr-corenet {
202+ compatible = "fsl,dcsr-corenet";
203+ reg = <0x8000 0x1000 0xB0000 0x1000>;
204+ };
205+
206+=======================================================================
207+Data Path Debug controller
208+
209+This node represents the region of DCSR space allocated to
210+the DPAA Debug Controller. This controller controls debug configuration
211+for the QMAN and FMAN blocks.
212+
213+PROPERTIES
214+
215+ - compatible
216+ Usage: required
217+ Value type: <string>
218+ Definition: Must include both an identifier specific to the SoC
219+ or Debug IP of the form "fsl,<soc>-dcsr-dpaa" in addition to the
220+ generic compatible string "fsl,dcsr-dpaa".
221+
222+ - reg
223+ Usage: required
224+ Value type: <prop-encoded-array>
225+ Definition: A standard property. Specifies the physical address
226+ offset and length of the DCSR space registers of the device
227+ configuration block.
228+
229+EXAMPLE
230+ dcsr-dpaa@9000 {
231+ compatible = "fsl,p4080-dcsr-dpaa", "fsl,dcsr-dpaa";
232+ reg = <0x9000 0x1000>;
233+ };
234+
235+=======================================================================
236+OCeaN Debug controller
237+
238+This node represents the region of DCSR space allocated to
239+the OCN Debug Controller.
240+
241+PROPERTIES
242+
243+ - compatible
244+ Usage: required
245+ Value type: <string>
246+ Definition: Must include both an identifier specific to the SoC
247+ or Debug IP of the form "fsl,<soc>-dcsr-ocn" in addition to the
248+ generic compatible string "fsl,dcsr-ocn".
249+
250+ - reg
251+ Usage: required
252+ Value type: <prop-encoded-array>
253+ Definition: A standard property. Specifies the physical address
254+ offset and length of the DCSR space registers of the device
255+ configuration block.
256+
257+EXAMPLE
258+ dcsr-ocn@11000 {
259+ compatible = "fsl,p4080-dcsr-ocn", "fsl,dcsr-ocn";
260+ reg = <0x11000 0x1000>;
261+ };
262+
263+=======================================================================
264+DDR Controller Debug controller
265+
266+This node represents the region of DCSR space allocated to
267+the OCN Debug Controller.
268+
269+PROPERTIES
270+
271+ - compatible
272+ Usage: required
273+ Value type: <string>
274+ Definition: Must include "fsl,dcsr-ddr"
275+
276+ - dev-handle
277+ Usage: required
278+ Definition: A phandle to associate this debug node with its
279+ component controller.
280+
281+ - reg
282+ Usage: required
283+ Value type: <prop-encoded-array>
284+ Definition: A standard property. Specifies the physical address
285+ offset and length of the DCSR space registers of the device
286+ configuration block.
287+
288+EXAMPLE
289+ dcsr-ddr@12000 {
290+ compatible = "fsl,dcsr-ddr";
291+ dev-handle = <&ddr1>;
292+ reg = <0x12000 0x1000>;
293+ };
294+
295+=======================================================================
296+Nexus Aurora Link Controller
297+
298+This node represents the region of DCSR space allocated to
299+the NAL Controller.
300+
301+PROPERTIES
302+
303+ - compatible
304+ Usage: required
305+ Value type: <string>
306+ Definition: Must include both an identifier specific to the SoC
307+ or Debug IP of the form "fsl,<soc>-dcsr-nal" in addition to the
308+ generic compatible string "fsl,dcsr-nal".
309+
310+ - reg
311+ Usage: required
312+ Value type: <prop-encoded-array>
313+ Definition: A standard property. Specifies the physical address
314+ offset and length of the DCSR space registers of the device
315+ configuration block.
316+
317+EXAMPLE
318+ dcsr-nal@18000 {
319+ compatible = "fsl,p4080-dcsr-nal", "fsl,dcsr-nal";
320+ reg = <0x18000 0x1000>;
321+ };
322+
323+
324+=======================================================================
325+Run Control and Power Management
326+
327+This node represents the region of DCSR space allocated to
328+the RCPM Debug Controller. This functionlity is limited to the
329+control the debug operations of the SoC and cores.
330+
331+PROPERTIES
332+
333+ - compatible
334+ Usage: required
335+ Value type: <string>
336+ Definition: Must include both an identifier specific to the SoC
337+ or Debug IP of the form "fsl,<soc>-dcsr-rcpm" in addition to the
338+ generic compatible string "fsl,dcsr-rcpm".
339+
340+ - reg
341+ Usage: required
342+ Value type: <prop-encoded-array>
343+ Definition: A standard property. Specifies the physical address
344+ offset and length of the DCSR space registers of the device
345+ configuration block.
346+
347+EXAMPLE
348+ dcsr-rcpm@22000 {
349+ compatible = "fsl,p4080-dcsr-rcpm", "fsl,dcsr-rcpm";
350+ reg = <0x22000 0x1000>;
351+ };
352+
353+=======================================================================
354+Core Service Bridge Proxy
355+
356+This node represents the region of DCSR space allocated to
357+the Core Service Bridge Proxies.
358+There is one Core Service Bridge Proxy device for each CPU in the system.
359+This functionlity provides access to the debug operations of the CPU.
360+
361+PROPERTIES
362+
363+ - compatible
364+ Usage: required
365+ Value type: <string>
366+ Definition: Must include both an identifier specific to the cpu
367+ of the form "fsl,dcsr-<cpu>-sb-proxy" in addition to the
368+ generic compatible string "fsl,dcsr-cpu-sb-proxy".
369+
370+ - cpu-handle
371+ Usage: required
372+ Definition: A phandle to associate this debug node with its cpu.
373+
374+ - reg
375+ Usage: required
376+ Value type: <prop-encoded-array>
377+ Definition: A standard property. Specifies the physical address
378+ offset and length of the DCSR space registers of the device
379+ configuration block.
380+
381+EXAMPLE
382+ dcsr-cpu-sb-proxy@40000 {
383+ compatible = "fsl,dcsr-e500mc-sb-proxy",
384+ "fsl,dcsr-cpu-sb-proxy";
385+ cpu-handle = <&cpu0>;
386+ reg = <0x40000 0x1000>;
387+ };
388+ dcsr-cpu-sb-proxy@41000 {
389+ compatible = "fsl,dcsr-e500mc-sb-proxy",
390+ "fsl,dcsr-cpu-sb-proxy";
391+ cpu-handle = <&cpu1>;
392+ reg = <0x41000 0x1000>;
393+ };
394+
395+=======================================================================
Documentation/devicetree/bindings/powerpc/fsl/msi-pic.txt+42−0
@@ -25,6 +25,16 @@ Required properties: · 24 unmodified lines
2525 are routed to IPIC, and for 85xx/86xx cpu the interrupts are routed
2626 to MPIC.
2727
28+Optional properties:
29+- msi-address-64: 64-bit PCI address of the MSIIR register. The MSIIR register
30+ is used for MSI messaging. The address of MSIIR in PCI address space is
31+ the MSI message address.
32+
33+ This property may be used in virtualized environments where the hypervisor
34+ has created an alternate mapping for the MSIR block. See below for an
35+ explanation.
36+
37+
2838 Example:
2939 msi@41600 {
3040 compatible = "fsl,mpc8610-msi", "fsl,mpic-msi";
@@ -41,3 +51,35 @@ Example: · 10 unmodified lines
4151 0xe7 0>;
4252 interrupt-parent = <&mpic>;
4353 };
54+
55+The Freescale hypervisor and msi-address-64
56+-------------------------------------------
57+Normally, PCI devices have access to all of CCSR via an ATMU mapping. The
58+Freescale MSI driver calculates the address of MSIIR (in the MSI register
59+block) and sets that address as the MSI message address.
60+
61+In a virtualized environment, the hypervisor may need to create an IOMMU
62+mapping for MSIIR. The Freescale ePAPR hypervisor has this requirement
63+because of hardware limitations of the Peripheral Access Management Unit
64+(PAMU), which is currently the only IOMMU that the hypervisor supports.
65+The ATMU is programmed with the guest physical address, and the PAMU
66+intercepts transactions and reroutes them to the true physical address.
67+
68+In the PAMU, each PCI controller is given only one primary window. The
69+PAMU restricts DMA operations so that they can only occur within a window.
70+Because PCI devices must be able to DMA to memory, the primary window must
71+be used to cover all of the guest's memory space.
72+
73+PAMU primary windows can be divided into 256 subwindows, and each
74+subwindow can have its own address mapping ("guest physical" to "true
75+physical"). However, each subwindow has to have the same alignment, which
76+means they cannot be located at just any address. Because of these
77+restrictions, it is usually impossible to create a 4KB subwindow that
78+covers MSIIR where it's normally located.
79+
80+Therefore, the hypervisor has to create a subwindow inside the same
81+primary window used for memory, but mapped to the MSIR block (where MSIIR
82+lives). The first subwindow after the end of guest memory is used for
83+this. The address specified in the msi-address-64 property is the PCI
84+address of MSIIR. The hypervisor configures the PAMU to map that address to
85+the true physical address of MSIIR.
Documentation/devicetree/bindings/serial/rs485.txt+31−0
@@ -0,0 +1,31 @@
1+* RS485 serial communications
2+
3+The RTS signal is capable of automatically controlling line direction for
4+the built-in half-duplex mode.
5+The properties described hereafter shall be given to a half-duplex capable
6+UART node.
7+
8+Required properties:
9+- rs485-rts-delay: prop-encoded-array <a b> where:
10+ * a is the delay beteween rts signal and beginning of data sent in milliseconds.
11+ it corresponds to the delay before sending data.
12+ * b is the delay between end of data sent and rts signal in milliseconds
13+ it corresponds to the delay after sending data and actual release of the line.
14+
15+Optional properties:
16+- linux,rs485-enabled-at-boot-time: empty property telling to enable the rs485
17+ feature at boot time. It can be disabled later with proper ioctl.
18+- rs485-rx-during-tx: empty property that enables the receiving of data even
19+ whilst sending data.
20+
21+RS485 example for Atmel USART:
22+ usart0: serial@fff8c000 {
23+ compatible = "atmel,at91sam9260-usart";
24+ reg = <0xfff8c000 0x4000>;
25+ interrupts = <7>;
26+ atmel,use-dma-rx;
27+ atmel,use-dma-tx;
28+ linux,rs485-enabled-at-boot-time;
29+ rs485-rts-delay = <0 200>; // in milliseconds
30+ };
31+
Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt+11−0
@@ -0,0 +1,11 @@
1+* Freescale SGTL5000 Stereo Codec
2+
3+Required properties:
4+- compatible : "fsl,sgtl5000".
5+
6+Example:
7+
8+codec: sgtl5000@0a {
9+ compatible = "fsl,sgtl5000";
10+ reg = <0x0a>;
11+};
Documentation/devicetree/bindings/sound/wm8510.txt+18−0
@@ -0,0 +1,18 @@
1+WM8510 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8510"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8510@1a {
16+ compatible = "wlf,wm8510";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8523.txt+16−0
@@ -0,0 +1,16 @@
1+WM8523 audio CODEC
2+
3+This device supports I2C only.
4+
5+Required properties:
6+
7+ - compatible : "wlf,wm8523"
8+
9+ - reg : the I2C address of the device.
10+
11+Example:
12+
13+codec: wm8523@1a {
14+ compatible = "wlf,wm8523";
15+ reg = <0x1a>;
16+};
Documentation/devicetree/bindings/sound/wm8580.txt+16−0
@@ -0,0 +1,16 @@
1+WM8580 audio CODEC
2+
3+This device supports I2C only.
4+
5+Required properties:
6+
7+ - compatible : "wlf,wm8580"
8+
9+ - reg : the I2C address of the device.
10+
11+Example:
12+
13+codec: wm8580@1a {
14+ compatible = "wlf,wm8580";
15+ reg = <0x1a>;
16+};
Documentation/devicetree/bindings/sound/wm8711.txt+18−0
@@ -0,0 +1,18 @@
1+WM8711 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8711"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8711@1a {
16+ compatible = "wlf,wm8711";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8728.txt+18−0
@@ -0,0 +1,18 @@
1+WM8728 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8728"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8728@1a {
16+ compatible = "wlf,wm8728";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8731.txt+18−0
@@ -0,0 +1,18 @@
1+WM8731 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8731"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8731@1a {
16+ compatible = "wlf,wm8731";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8737.txt+18−0
@@ -0,0 +1,18 @@
1+WM8737 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8737"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8737@1a {
16+ compatible = "wlf,wm8737";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8741.txt+18−0
@@ -0,0 +1,18 @@
1+WM8741 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8741"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8741@1a {
16+ compatible = "wlf,wm8741";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8750.txt+18−0
@@ -0,0 +1,18 @@
1+WM8750 and WM8987 audio CODECs
2+
3+These devices support both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8750" or "wlf,wm8987"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8750@1a {
16+ compatible = "wlf,wm8750";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8753.txt+18−0
@@ -0,0 +1,18 @@
1+WM8753 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8753"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8737@1a {
16+ compatible = "wlf,wm8753";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8770.txt+16−0
@@ -0,0 +1,16 @@
1+WM8770 audio CODEC
2+
3+This device supports SPI.
4+
5+Required properties:
6+
7+ - compatible : "wlf,wm8770"
8+
9+ - reg : the chip select number.
10+
11+Example:
12+
13+codec: wm8770@1 {
14+ compatible = "wlf,wm8770";
15+ reg = <1>;
16+};
Documentation/devicetree/bindings/sound/wm8776.txt+18−0
@@ -0,0 +1,18 @@
1+WM8776 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8776"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8776@1a {
16+ compatible = "wlf,wm8776";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/sound/wm8804.txt+18−0
@@ -0,0 +1,18 @@
1+WM8804 audio CODEC
2+
3+This device supports both I2C and SPI (configured with pin strapping
4+on the board).
5+
6+Required properties:
7+
8+ - compatible : "wlf,wm8804"
9+
10+ - reg : the I2C address of the device for I2C, the chip select
11+ number for SPI.
12+
13+Example:
14+
15+codec: wm8804@1a {
16+ compatible = "wlf,wm8804";
17+ reg = <0x1a>;
18+};
Documentation/devicetree/bindings/spi/spi_pl022.txt+12−0
@@ -0,0 +1,12 @@
1+ARM PL022 SPI controller
2+
3+Required properties:
4+- compatible : "arm,pl022", "arm,primecell"
5+- reg : Offset and length of the register set for the device
6+- interrupts : Should contain SPI controller interrupt
7+
8+Optional properties:
9+- cs-gpios : should specify GPIOs used for chipselects.
10+ The gpios will be referred to as reg = <index> in the SPI child nodes.
11+ If unspecified, a single SPI device without a chip select can be used.
12+
Documentation/devicetree/bindings/tty/serial/atmel-usart.txt+27−0
@@ -0,0 +1,27 @@
1+* Atmel Universal Synchronous Asynchronous Receiver/Transmitter (USART)
2+
3+Required properties:
4+- compatible: Should be "atmel,<chip>-usart"
5+ The compatible <chip> indicated will be the first SoC to support an
6+ additional mode or an USART new feature.
7+- reg: Should contain registers location and length
8+- interrupts: Should contain interrupt
9+
10+Optional properties:
11+- atmel,use-dma-rx: use of PDC or DMA for receiving data
12+- atmel,use-dma-tx: use of PDC or DMA for transmitting data
13+
14+<chip> compatible description:
15+- at91rm9200: legacy USART support
16+- at91sam9260: generic USART implementation for SAM9 SoCs
17+
18+Example:
19+
20+ usart0: serial@fff8c000 {
21+ compatible = "atmel,at91sam9260-usart";
22+ reg = <0xfff8c000 0x4000>;
23+ interrupts = <7>;
24+ atmel,use-dma-rx;
25+ atmel,use-dma-tx;
26+ };
27+
Documentation/devicetree/bindings/tty/serial/msm_serial.txt+27−0
@@ -0,0 +1,27 @@
1+* Qualcomm MSM UART
2+
3+Required properties:
4+- compatible :
5+ - "qcom,msm-uart", and one of "qcom,msm-hsuart" or
6+ "qcom,msm-lsuart".
7+- reg : offset and length of the register set for the device
8+ for the hsuart operating in compatible mode, there should be a
9+ second pair describing the gsbi registers.
10+- interrupts : should contain the uart interrupt.
11+
12+There are two different UART blocks used in MSM devices,
13+"qcom,msm-hsuart" and "qcom,msm-lsuart". The msm-serial driver is
14+able to handle both of these, and matches against the "qcom,msm-uart"
15+as the compatibility.
16+
17+The registers for the "qcom,msm-hsuart" device need to specify both
18+register blocks, even for the common driver.
19+
20+Example:
21+
22+ uart@19c400000 {
23+ compatible = "qcom,msm-hsuart", "qcom,msm-uart";
24+ reg = <0x19c40000 0x1000>,
25+ <0x19c00000 0x1000>;
26+ interrupts = <195>;
27+ };
Documentation/devicetree/bindings/tty/serial/snps-dw-apb-uart.txt+25−0
@@ -0,0 +1,25 @@
1+* Synopsys DesignWare ABP UART
2+
3+Required properties:
4+- compatible : "snps,dw-apb-uart"
5+- reg : offset and length of the register set for the device.
6+- interrupts : should contain uart interrupt.
7+- clock-frequency : the input clock frequency for the UART.
8+
9+Optional properties:
10+- reg-shift : quantity to shift the register offsets by. If this property is
11+ not present then the register offsets are not shifted.
12+- reg-io-width : the size (in bytes) of the IO accesses that should be
13+ performed on the device. If this property is not present then single byte
14+ accesses are used.
15+
16+Example:
17+
18+ uart@80230000 {
19+ compatible = "snps,dw-apb-uart";
20+ reg = <0x80230000 0x100>;
21+ clock-frequency = <3686400>;
22+ interrupts = <10>;
23+ reg-shift = <2>;
24+ reg-io-width = <4>;
25+ };
Documentation/devicetree/bindings/vendor-prefixes.txt+40−0
@@ -0,0 +1,40 @@
1+Device tree binding vendor prefix registry. Keep list in alphabetical order.
2+
3+This isn't an exhaustive list, but you should add new prefixes to it before
4+using them to avoid name-space collisions.
5+
6+adi Analog Devices, Inc.
7+amcc Applied Micro Circuits Corporation (APM, formally AMCC)
8+apm Applied Micro Circuits Corporation (APM)
9+arm ARM Ltd.
10+atmel Atmel Corporation
11+chrp Common Hardware Reference Platform
12+dallas Maxim Integrated Products (formerly Dallas Semiconductor)
13+denx Denx Software Engineering
14+epson Seiko Epson Corp.
15+est ESTeem Wireless Modems
16+fsl Freescale Semiconductor
17+GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
18+gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
19+hp Hewlett Packard
20+ibm International Business Machines (IBM)
21+idt Integrated Device Technologies, Inc.
22+intercontrol Inter Control Group
23+linux Linux-specific binding
24+marvell Marvell Technology Group Ltd.
25+maxim Maxim Integrated Products
26+mosaixtech Mosaix Technologies, Inc.
27+national National Semiconductor
28+nintendo Nintendo
29+nvidia NVIDIA
30+nxp NXP Semiconductors
31+powervr Imagination Technologies
32+qcom Qualcomm, Inc.
33+ramtron Ramtron International
34+samsung Samsung Semiconductor
35+schindler Schindler
36+simtek
37+sirf SiRF Technology, Inc.
38+stericsson ST-Ericsson
39+ti Texas Instruments
40+xlnx Xilinx
Documentation/devicetree/bindings/virtio/mmio.txt+17−0
@@ -0,0 +1,17 @@
1+* virtio memory mapped device
2+
3+See http://ozlabs.org/~rusty/virtio-spec/ for more details.
4+
5+Required properties:
6+
7+- compatible: "virtio,mmio" compatibility string
8+- reg: control registers base address and size including configuration space
9+- interrupts: interrupt generated by the device
10+
11+Example:
12+
13+ virtio_block@3000 {
14+ compatible = "virtio,mmio";
15+ reg = <0x3000 0x100>;
16+ interrupts = <41>;
17+ }
Documentation/driver-model/binding.txt+0−4
@@ -48,10 +48,6 @@ devclass_add_device is called to enumerate the device within the class · 47 unmodified lines
4848 and actually register it with the class, which happens with the
4949 class's register_dev callback.
5050
51−NOTE: The device class structures and core routines to manipulate them
52−are not in the mainline kernel, so the discussion is still a bit
53−speculative.
54−
5551
5652 Driver
5753 ~~~~~~
Documentation/driver-model/device.txt+32−33
@@ -45,33 +45,52 @@ struct device_attribute { · 44 unmodified lines
4545 const char *buf, size_t count);
4646 };
4747
48−Attributes of devices can be exported via drivers using a simple
49−procfs-like interface.
48+Attributes of devices can be exported by a device driver through sysfs.
5049
5150 Please see Documentation/filesystems/sysfs.txt for more information
5251 on how sysfs works.
5352
53+As explained in Documentation/kobject.txt, device attributes must be be
54+created before the KOBJ_ADD uevent is generated. The only way to realize
55+that is by defining an attribute group.
56+
5457 Attributes are declared using a macro called DEVICE_ATTR:
5558
5659 #define DEVICE_ATTR(name,mode,show,store)
5760
5861 Example:
5962
60−DEVICE_ATTR(power,0644,show_power,store_power);
63+static DEVICE_ATTR(type, 0444, show_type, NULL);
64+static DEVICE_ATTR(power, 0644, show_power, store_power);
6165
62−This declares a structure of type struct device_attribute named
63−'dev_attr_power'. This can then be added and removed to the device's
64−directory using:
66+This declares two structures of type struct device_attribute with respective
67+names 'dev_attr_type' and 'dev_attr_power'. These two attributes can be
68+organized as follows into a group:
6569
66−int device_create_file(struct device *device, struct device_attribute * entry);
67−void device_remove_file(struct device * dev, struct device_attribute * attr);
70+static struct attribute *dev_attrs[] = {
71+ &dev_attr_type.attr,
72+ &dev_attr_power.attr,
73+ NULL,
74+};
6875
69−Example:
76+static struct attribute_group dev_attr_group = {
77+ .attrs = dev_attrs,
78+};
79+
80+static const struct attribute_group *dev_attr_groups[] = {
81+ &dev_attr_group,
82+ NULL,
83+};
84+
85+This array of groups can then be associated with a device by setting the
86+group pointer in struct device before device_register() is invoked:
7087
71−device_create_file(dev,&dev_attr_power);
72−device_remove_file(dev,&dev_attr_power);
88+ dev->groups = dev_attr_groups;
89+ device_register(dev);
7390
74−The file name will be 'power' with a mode of 0644 (-rw-r--r--).
91+The device_register() function will use the 'groups' pointer to create the
92+device attributes and the device_unregister() function will use this pointer
93+to remove the device attributes.
7594
7695 Word of warning: While the kernel allows device_create_file() and
7796 device_remove_file() to be called on a device at any time, userspace has
@@ -84,24 +103,4 @@ not know about the new attributes. · 6 unmodified lines
84103 This is important for device driver that need to publish additional
85104 attributes for a device at driver probe time. If the device driver simply
86105 calls device_create_file() on the device structure passed to it, then
87−userspace will never be notified of the new attributes. Instead, it should
88−probably use class_create() and class->dev_attrs to set up a list of
89−desired attributes in the modules_init function, and then in the .probe()
90−hook, and then use device_create() to create a new device as a child
91−of the probed device. The new device will generate a new uevent and
92−properly advertise the new attributes to userspace.
93−
94−For example, if a driver wanted to add the following attributes:
95−struct device_attribute mydriver_attribs[] = {
96− __ATTR(port_count, 0444, port_count_show),
97− __ATTR(serial_number, 0444, serial_number_show),
98− NULL
99−};
100−
101−Then in the module init function is would do:
102− mydriver_class = class_create(THIS_MODULE, "my_attrs");
103− mydriver_class.dev_attr = mydriver_attribs;
104−
105−And assuming 'dev' is the struct device passed into the probe hook, the driver
106−probe function would do something like:
107− device_create(&mydriver_class, dev, chrdev, &private_data, "my_name");
106+userspace will never be notified of the new attributes.
Documentation/dvb/get_dvb_firmware+39−12
@@ -27,7 +27,8 @@ use IO::Handle; · 26 unmodified lines
2727 "or51211", "or51132_qam", "or51132_vsb", "bluebird",
2828 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",
2929 "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395",
30− "lme2510c_s7395_old", "drxk", "drxk_terratec_h5");
30+ "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "tda10071",
31+ "it9135" );
3132
3233 # Check args
3334 syntax() if (scalar(@ARGV) != 1);
@@ -575,19 +576,10 @@ sub ngene { · 541 unmodified lines
575576 }
576577
577578 sub az6027{
578− my $file = "AZ6027_Linux_Driver.tar.gz";
579− my $url = "http://linux.terratec.de/files/$file";
580579 my $firmware = "dvb-usb-az6027-03.fw";
580+ my $url = "http://linux.terratec.de/files/TERRATEC_S7/$firmware";
581581
582− wgetfile($file, $url);
583−
584− #untar
585− if( system("tar xzvf $file $firmware")){
586− die "failed to untar firmware";
587− }
588− if( system("rm $file")){
589− die ("unable to remove unnecessary files");
590− }
582+ wgetfile($firmware, $url);
591583
592584 $firmware;
593585 }
@@ -665,6 +657,41 @@ sub drxk_terratec_h5 { · 71 unmodified lines
665657 "$fwfile"
666658 }
667659
660+sub it9135 {
661+ my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/";
662+ my $zipfile = "Driver_V10.323.1.0412.100412.zip";
663+ my $hash = "79b597dc648698ed6820845c0c9d0d37";
664+ my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0);
665+ my $drvfile = "Driver_V10.323.1.0412.100412/Data/x86/IT9135BDA.sys";
666+ my $fwfile = "dvb-usb-it9137-01.fw";
667+
668+ checkstandard();
669+
670+ wgetfile($zipfile, $url . $zipfile);
671+ verify($zipfile, $hash);
672+ unzip($zipfile, $tmpdir);
673+ extract("$tmpdir/$drvfile", 69632, 5731, "$fwfile");
674+
675+ "$fwfile"
676+}
677+
678+sub tda10071 {
679+ my $sourcefile = "PCTV_460e_reference.zip";
680+ my $url = "ftp://ftp.pctvsystems.com/TV/driver/PCTV%2070e%2080e%20100e%20320e%20330e%20800e/";
681+ my $hash = "4403de903bf2593464c8d74bbc200a57";
682+ my $fwfile = "dvb-fe-tda10071.fw";
683+ my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
684+
685+ checkstandard();
686+
687+ wgetfile($sourcefile, $url . $sourcefile);
688+ verify($sourcefile, $hash);
689+ unzip($sourcefile, $tmpdir);
690+ extract("$tmpdir/PCTV\ 70e\ 80e\ 100e\ 320e\ 330e\ 800e/32\ bit/emOEM.sys", 0x67d38, 40504, $fwfile);
691+
692+ "$fwfile";
693+}
694+
668695 # ---------------------------------------------------------------
669696 # Utilities
670697
Documentation/dvb/it9137.txt+9−0
@@ -0,0 +1,9 @@
1+To extract firmware for Kworld UB499-2T (id 1b80:e409) you need to copy the
2+following file(s) to this directory.
3+
4+IT9135BDA.sys Dated Mon 22 Mar 2010 02:20:08 GMT
5+
6+extract using dd
7+dd if=IT9135BDA.sys ibs=1 skip=69632 count=5731 of=dvb-usb-it9137-01.fw
8+
9+copy to default firmware location.
Documentation/fault-injection/fault-injection.txt+7−1
@@ -21,6 +21,11 @@ o fail_make_request · 20 unmodified lines
2121 /sys/block/<device>/make-it-fail or
2222 /sys/block/<device>/<partition>/make-it-fail. (generic_make_request())
2323
24+o fail_mmc_request
25+
26+ injects MMC data errors on devices permitted by setting
27+ debugfs entries under /sys/kernel/debug/mmc0/fail_mmc_request
28+
2429 Configure fault-injection capabilities behavior
2530 -----------------------------------------------
2631
@@ -115,7 +120,8 @@ use the boot option: · 88 unmodified lines
115120
116121 failslab=
117122 fail_page_alloc=
118− fail_make_request=<interval>,<probability>,<space>,<times>
123+ fail_make_request=
124+ mmc_core.fail_request=<interval>,<probability>,<space>,<times>
119125
120126 How to add new fault injection capability
121127 -----------------------------------------
Documentation/fb/udlfb.txt+27−12
@@ -87,23 +87,38 @@ Special configuration for udlfb is usually unnecessary. There are a few · 86 unmodified lines
8787 options, however.
8888
8989 From the command line, pass options to modprobe
90−modprobe udlfb defio=1 console=1
90+modprobe udlfb fb_defio=0 console=1 shadow=1
9191
92−Or for permanent option, create file like /etc/modprobe.d/options with text
93−options udlfb defio=1 console=1
92+Or modify options on the fly at /sys/module/udlfb/parameters directory via
93+sudo nano fb_defio
94+change the parameter in place, and save the file.
9495
95−Accepted options:
96+Unplug/replug USB device to apply with new settings
97+
98+Or for permanent option, create file like /etc/modprobe.d/udlfb.conf with text
99+options udlfb fb_defio=0 console=1 shadow=1
100+
101+Accepted boolean options:
96102
97103 fb_defio Make use of the fb_defio (CONFIG_FB_DEFERRED_IO) kernel
98104 module to track changed areas of the framebuffer by page faults.
99− Standard fbdev applications that use mmap but that do not
100− report damage, may be able to work with this enabled.
101− Disabled by default because of overhead and other issues.
102−
103−console Allow fbcon to attach to udlfb provided framebuffers. This
104− is disabled by default because fbcon will aggressively consume
105− the first framebuffer it finds, which isn't usually what the
106− user wants in the case of USB displays.
105+ Standard fbdev applications that use mmap but that do not
106+ report damage, should be able to work with this enabled.
107+ Disable when running with X server that supports reporting
108+ changed regions via ioctl, as this method is simpler,
109+ more stable, and higher performance.
110+ default: fb_defio=1
111+
112+console Allow fbcon to attach to udlfb provided framebuffers.
113+ Can be disabled if fbcon and other clients
114+ (e.g. X with --shared-vt) are in conflict.
115+ default: console=1
116+
117+shadow Allocate a 2nd framebuffer to shadow what's currently across
118+ the USB bus in device memory. If any pixels are unchanged,
119+ do not transmit. Spends host memory to save USB transfers.
120+ Enabled by default. Only disable on very low memory systems.
121+ default: shadow=1
107122
108123 Sysfs Attributes
109124 ================
Documentation/feature-removal-schedule.txt+9−58
@@ -133,41 +133,6 @@ Who: Pavel Machek <pavel@ucw.cz> · 132 unmodified lines
133133
134134 ---------------------------
135135
136−What: sys_sysctl
137−When: September 2010
138−Option: CONFIG_SYSCTL_SYSCALL
139−Why: The same information is available in a more convenient from
140− /proc/sys, and none of the sysctl variables appear to be
141− important performance wise.
142−
143− Binary sysctls are a long standing source of subtle kernel
144− bugs and security issues.
145−
146− When I looked several months ago all I could find after
147− searching several distributions were 5 user space programs and
148− glibc (which falls back to /proc/sys) using this syscall.
149−
150− The man page for sysctl(2) documents it as unusable for user
151− space programs.
152−
153− sysctl(2) is not generally ABI compatible to a 32bit user
154− space application on a 64bit and a 32bit kernel.
155−
156− For the last several months the policy has been no new binary
157− sysctls and no one has put forward an argument to use them.
158−
159− Binary sysctls issues seem to keep happening appearing so
160− properly deprecating them (with a warning to user space) and a
161− 2 year grace warning period will mean eventually we can kill
162− them and end the pain.
163−
164− In the mean time individual binary sysctls can be dealt with
165− in a piecewise fashion.
166−
167−Who: Eric Biederman <ebiederm@xmission.com>
168−
169−---------------------------
170−
171136 What: /proc/<pid>/oom_adj
172137 When: August 2012
173138 Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
@@ -495,29 +460,6 @@ Who: Jean Delvare <khali@linux-fr.org> · 321 unmodified lines
495460
496461 ----------------------------
497462
498−What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
499−When: 3.2
500−Why: The information passed to the driver by this ioctl is now queried
501− dynamically from the device.
502−Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
503−
504−----------------------------
505−
506−What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
507−When: 3.2
508−Why: Used only by applications compiled against older driver versions.
509− Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
510−Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
511−
512−----------------------------
513−
514−What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
515−When: 3.2
516−Why: Superseded by the UVCIOC_CTRL_QUERY ioctl.
517−Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
518−
519−----------------------------
520−
521463 What: Support for driver specific ioctls in the pwc driver (everything
522464 defined in media/pwc-ioctl.h)
523465 When: 3.3
@@ -594,9 +536,18 @@ Why: In 3.0, we can now autodetect internal 3G device and already have · 70 unmodified lines
594536 Who: Lee, Chun-Yi <jlee@novell.com>
595537
596538 ----------------------------
539+
597540 What: The XFS nodelaylog mount option
598541 When: 3.3
599542 Why: The delaylog mode that has been the default since 2.6.39 has proven
600543 stable, and the old code is in the way of additional improvements in
601544 the log code.
602545 Who: Christoph Hellwig <hch@lst.de>
546+
547+----------------------------
548+
549+What: iwlagn alias support
550+When: 3.5
551+Why: The iwlagn module has been renamed iwlwifi. The alias will be around
552+ for backward compatibility for several cycles and then dropped.
553+Who: Don Fry <donald.h.fry@intel.com>
Documentation/filesystems/9p.txt+1−1
@@ -92,7 +92,7 @@ OPTIONS · 91 unmodified lines
9292
9393 wfdno=n the file descriptor for writing with trans=fd
9494
95− maxdata=n the number of bytes to use for 9p packet payload (msize)
95+ msize=n the number of bytes to use for 9p packet payload
9696
9797 port=n port to connect to on the remote server
9898
Documentation/filesystems/Locking+1−0
@@ -29,6 +29,7 @@ d_hash no no no maybe · 28 unmodified lines
2929 d_compare: yes no no maybe
3030 d_delete: no yes no no
3131 d_release: no no yes no
32+d_prune: no yes no no
3233 d_iput: no no yes no
3334 d_dname: no no no no
3435 d_automount: no no yes no
Documentation/filesystems/ext3.txt+0−8
@@ -73,14 +73,6 @@ nobarrier (*) This also requires an IO stack which can support · 72 unmodified lines
7373 also be used to enable or disable barriers, for
7474 consistency with other ext3 mount options.
7575
76−orlov (*) This enables the new Orlov block allocator. It is
77− enabled by default.
78−
79−oldalloc This disables the Orlov block allocator and enables
80− the old block allocator. Orlov should have better
81− performance - we'd like to get some feedback if it's
82− the contrary for you.
83−
8476 user_xattr Enables Extended User Attributes. Additionally, you
8577 need to have extended attribute support enabled in the
8678 kernel configuration (CONFIG_EXT3_FS_XATTR). See the
Documentation/filesystems/ext4.txt+16−25
@@ -160,7 +160,9 @@ noload if the filesystem was not unmounted cleanly, · 159 unmodified lines
160160 lead to any number of problems.
161161
162162 data=journal All data are committed into the journal prior to being
163− written into the main file system.
163+ written into the main file system. Enabling
164+ this mode will disable delayed allocation and
165+ O_DIRECT support.
164166
165167 data=ordered (*) All data are forced directly out to the main file
166168 system prior to its metadata being committed to the
@@ -201,30 +203,19 @@ inode_readahead_blks=n This tuning parameter controls the maximum · 34 unmodified lines
201203 table readahead algorithm will pre-read into
202204 the buffer cache. The default value is 32 blocks.
203205
204−orlov (*) This enables the new Orlov block allocator. It is
205− enabled by default.
206−
207−oldalloc This disables the Orlov block allocator and enables
208− the old block allocator. Orlov should have better
209− performance - we'd like to get some feedback if it's
210− the contrary for you.
211−
212−user_xattr Enables Extended User Attributes. Additionally, you
213− need to have extended attribute support enabled in the
214− kernel configuration (CONFIG_EXT4_FS_XATTR). See the
215− attr(5) manual page and http://acl.bestbits.at/ to
216− learn more about extended attributes.
217−
218−nouser_xattr Disables Extended User Attributes.
219−
220−acl Enables POSIX Access Control Lists support.
221− Additionally, you need to have ACL support enabled in
222− the kernel configuration (CONFIG_EXT4_FS_POSIX_ACL).
223− See the acl(5) manual page and http://acl.bestbits.at/
224− for more information.
206+nouser_xattr Disables Extended User Attributes. If you have extended
207+ attribute support enabled in the kernel configuration
208+ (CONFIG_EXT4_FS_XATTR), extended attribute support
209+ is enabled by default on mount. See the attr(5) manual
210+ page and http://acl.bestbits.at/ for more information
211+ about extended attributes.
225212
226213 noacl This option disables POSIX Access Control List
227− support.
214+ support. If ACL support is enabled in the kernel
215+ configuration (CONFIG_EXT4_FS_POSIX_ACL), ACL is
216+ enabled by default on mount. See the acl(5) manual
217+ page and http://acl.bestbits.at/ for more information
218+ about acl.
228219
229220 bsddf (*) Make 'df' act like BSD.
230221 minixdf Make 'df' act like Minix.
@@ -419,8 +410,8 @@ written to the journal first, and then to its final location. · 188 unmodified lines
419410 In the event of a crash, the journal can be replayed, bringing both data and
420411 metadata into a consistent state. This mode is the slowest except when data
421412 needs to be read from and written to disk at the same time where it
422−outperforms all others modes. Currently ext4 does not have delayed
423−allocation support if this data journalling mode is selected.
413+outperforms all others modes. Enabling this mode will disable delayed
414+allocation and O_DIRECT support.
424415
425416 /proc entries
426417 =============
Documentation/filesystems/hfs.txt+4−5
@@ -1,3 +1,4 @@
1+Note: This filesystem doesn't have a maintainer.
12
23 Macintosh HFS Filesystem for Linux
34 ==================================
@@ -76,8 +77,6 @@ hformat that can be used to create HFS filesystem. See · 72 unmodified lines
7677 Credits
7778 =======
7879
79−The HFS drivers was written by Paul H. Hargrovea (hargrove@sccm.Stanford.EDU)
80−and is now maintained by Roman Zippel (roman@ardistech.com) at Ardis
81−Technologies.
82−Roman rewrote large parts of the code and brought in btree routines derived
83−from Brad Boyer's hfsplus driver (also maintained by Roman now).
80+The HFS drivers was written by Paul H. Hargrovea (hargrove@sccm.Stanford.EDU).
81+Roman Zippel (roman@ardistech.com) rewrote large parts of the code and brought
82+in btree routines derived from Brad Boyer's hfsplus driver.
Documentation/filesystems/inotify.txt+2−1
@@ -194,7 +194,8 @@ associated with the inotify_handle, and on which events are queued. · 193 unmodified lines
194194 Each watch is associated with an inotify_watch structure. Watches are chained
195195 off of each associated inotify_handle and each associated inode.
196196
197−See fs/inotify.c and fs/inotify_user.c for the locking and lifetime rules.
197+See fs/notify/inotify/inotify_fsnotify.c and fs/notify/inotify/inotify_user.c
198+for the locking and lifetime rules.
198199
199200
200201 (vi) Rationale
Documentation/filesystems/sysfs.txt+9−1
@@ -4,7 +4,7 @@ sysfs - _The_ filesystem for exporting kernel objects. · 3 unmodified lines
44 Patrick Mochel <mochel@osdl.org>
55 Mike Murphy <mamurph@cs.clemson.edu>
66
7−Revised: 15 July 2010
7+Revised: 16 August 2011
88 Original: 10 January 2003
99
1010
@@ -370,3 +370,11 @@ int driver_create_file(struct device_driver *, const struct driver_attribute *); · 359 unmodified lines
370370 void driver_remove_file(struct device_driver *, const struct driver_attribute *);
371371
372372
373+Documentation
374+~~~~~~~~~~~~~
375+
376+The sysfs directory structure and the attributes in each directory define an
377+ABI between the kernel and user space. As for any ABI, it is important that
378+this ABI is stable and properly documented. All new sysfs attributes must be
379+documented in Documentation/ABI. See also Documentation/ABI/README for more
380+information.
Documentation/hwmon/ad7314+25−0
@@ -0,0 +1,25 @@
1+Kernel driver ad7314
2+====================
3+
4+Supported chips:
5+ * Analog Devices AD7314
6+ Prefix: 'ad7314'
7+ Datasheet: Publicly available at Analog Devices website.
8+ * Analog Devices ADT7301
9+ Prefix: 'adt7301'
10+ Datasheet: Publicly available at Analog Devices website.
11+ * Analog Devices ADT7302
12+ Prefix: 'adt7302'
13+ Datasheet: Publicly available at Analog Devices website.
14+
15+Description
16+-----------
17+
18+Driver supports the above parts. The ad7314 has a 10 bit
19+sensor with 1lsb = 0.25 degrees centigrade. The adt7301 and
20+adt7302 have 14 bit sensors with 1lsb = 0.03125 degrees centigrade.
21+
22+Notes
23+-----
24+
25+Currently power down mode is not supported.
Documentation/hwmon/adm1275+26−14
@@ -6,6 +6,10 @@ Supported chips: · 5 unmodified lines
66 Prefix: 'adm1275'
77 Addresses scanned: -
88 Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
9+ * Analog Devices ADM1276
10+ Prefix: 'adm1276'
11+ Addresses scanned: -
12+ Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1276.pdf
913
1014 Author: Guenter Roeck <guenter.roeck@ericsson.com>
1115
@@ -13,13 +17,13 @@ Author: Guenter Roeck <guenter.roeck@ericsson.com> · 1 unmodified line
1317 Description
1418 -----------
1519
16−This driver supports hardware montoring for Analog Devices ADM1275 Hot-Swap
17−Controller and Digital Power Monitor.
20+This driver supports hardware montoring for Analog Devices ADM1275 and ADM1276
21+Hot-Swap Controller and Digital Power Monitor.
1822
19−The ADM1275 is a hot-swap controller that allows a circuit board to be removed
20−from or inserted into a live backplane. It also features current and voltage
21−readback via an integrated 12-bit analog-to-digital converter (ADC), accessed
22−using a PMBus. interface.
23+ADM1275 and ADM1276 are hot-swap controllers that allow a circuit board to be
24+removed from or inserted into a live backplane. They also feature current and
25+voltage readback via an integrated 12-bit analog-to-digital converter (ADC),
26+accessed using a PMBus interface.
2327
2428 The driver is a client driver to the core PMBus driver. Please see
2529 Documentation/hwmon/pmbus for details on PMBus client drivers.
@@ -48,17 +52,25 @@ attributes are write-only, all other attributes are read-only. · 22 unmodified lines
4852
4953 in1_label "vin1" or "vout1" depending on chip variant and
5054 configuration.
51−in1_input Measured voltage. From READ_VOUT register.
52−in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
53−in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
54−in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
55−in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
55+in1_input Measured voltage.
56+in1_min Minumum Voltage.
57+in1_max Maximum voltage.
58+in1_min_alarm Voltage low alarm.
59+in1_max_alarm Voltage high alarm.
5660 in1_highest Historical maximum voltage.
5761 in1_reset_history Write any value to reset history.
5862
5963 curr1_label "iout1"
60−curr1_input Measured current. From READ_IOUT register.
61−curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
62−curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
64+curr1_input Measured current.
65+curr1_max Maximum current.
66+curr1_max_alarm Current high alarm.
67+curr1_lcrit Critical minimum current. Depending on the chip
68+ configuration, either curr1_lcrit or curr1_crit is
69+ supported, but not both.
70+curr1_lcrit_alarm Critical current low alarm.
71+curr1_crit Critical maximum current. Depending on the chip
72+ configuration, either curr1_lcrit or curr1_crit is
73+ supported, but not both.
74+curr1_crit_alarm Critical current high alarm.
6375 curr1_highest Historical maximum current.
6476 curr1_reset_history Write any value to reset history.
Documentation/hwmon/exynos4_tmu+81−0
@@ -0,0 +1,81 @@
1+Kernel driver exynos4_tmu
2+=================
3+
4+Supported chips:
5+* ARM SAMSUNG EXYNOS4 series of SoC
6+ Prefix: 'exynos4-tmu'
7+ Datasheet: Not publicly available
8+
9+Authors: Donggeun Kim <dg77.kim@samsung.com>
10+
11+Description
12+-----------
13+
14+This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
15+
16+The chip only exposes the measured 8-bit temperature code value
17+through a register.
18+Temperature can be taken from the temperature code.
19+There are three equations converting from temperature to temperature code.
20+
21+The three equations are:
22+ 1. Two point trimming
23+ Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
24+
25+ 2. One point trimming
26+ Tc = T + TI1 - 25
27+
28+ 3. No trimming
29+ Tc = T + 50
30+
31+ Tc: Temperature code, T: Temperature,
32+ TI1: Trimming info for 25 degree Celsius (stored at TRIMINFO register)
33+ Temperature code measured at 25 degree Celsius which is unchanged
34+ TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
35+ Temperature code measured at 85 degree Celsius which is unchanged
36+
37+TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
38+when temperature exceeds pre-defined levels.
39+The maximum number of configurable threshold is four.
40+The threshold levels are defined as follows:
41+ Level_0: current temperature > trigger_level_0 + threshold
42+ Level_1: current temperature > trigger_level_1 + threshold
43+ Level_2: current temperature > trigger_level_2 + threshold
44+ Level_3: current temperature > trigger_level_3 + threshold
45+
46+ The threshold and each trigger_level are set
47+ through the corresponding registers.
48+
49+When an interrupt occurs, this driver notify user space of
50+one of four threshold levels for the interrupt
51+through kobject_uevent_env and sysfs_notify functions.
52+Although an interrupt condition for level_0 can be set,
53+it is not notified to user space through sysfs_notify function.
54+
55+Sysfs Interface
56+---------------
57+name name of the temperature sensor
58+ RO
59+
60+temp1_input temperature
61+ RO
62+
63+temp1_max temperature for level_1 interrupt
64+ RO
65+
66+temp1_crit temperature for level_2 interrupt
67+ RO
68+
69+temp1_emergency temperature for level_3 interrupt
70+ RO
71+
72+temp1_max_alarm alarm for level_1 interrupt
73+ RO
74+
75+temp1_crit_alarm
76+ alarm for level_2 interrupt
77+ RO
78+
79+temp1_emergency_alarm
80+ alarm for level_3 interrupt
81+ RO
Documentation/hwmon/lm75+38−23
@@ -12,26 +12,46 @@ Supported chips: · 11 unmodified lines
1212 Addresses scanned: I2C 0x48 - 0x4f
1313 Datasheet: Publicly available at the National Semiconductor website
1414 http://www.national.com/
15− * Dallas Semiconductor DS75
16− Prefix: 'lm75'
17− Addresses scanned: I2C 0x48 - 0x4f
18− Datasheet: Publicly available at the Dallas Semiconductor website
19− http://www.maxim-ic.com/
20− * Dallas Semiconductor DS1775
21− Prefix: 'lm75'
22− Addresses scanned: I2C 0x48 - 0x4f
15+ * Dallas Semiconductor DS75, DS1775
16+ Prefixes: 'ds75', 'ds1775'
17+ Addresses scanned: none
2318 Datasheet: Publicly available at the Dallas Semiconductor website
2419 http://www.maxim-ic.com/
2520 * Maxim MAX6625, MAX6626
26− Prefix: 'lm75'
27− Addresses scanned: I2C 0x48 - 0x4b
21+ Prefixes: 'max6625', 'max6626'
22+ Addresses scanned: none
2823 Datasheet: Publicly available at the Maxim website
2924 http://www.maxim-ic.com/
3025 * Microchip (TelCom) TCN75
3126 Prefix: 'lm75'
32− Addresses scanned: I2C 0x48 - 0x4f
27+ Addresses scanned: none
28+ Datasheet: Publicly available at the Microchip website
29+ http://www.microchip.com/
30+ * Microchip MCP9800, MCP9801, MCP9802, MCP9803
31+ Prefix: 'mcp980x'
32+ Addresses scanned: none
3333 Datasheet: Publicly available at the Microchip website
3434 http://www.microchip.com/
35+ * Analog Devices ADT75
36+ Prefix: 'adt75'
37+ Addresses scanned: none
38+ Datasheet: Publicly available at the Analog Devices website
39+ http://www.analog.com/adt75
40+ * ST Microelectronics STDS75
41+ Prefix: 'stds75'
42+ Addresses scanned: none
43+ Datasheet: Publicly available at the ST website
44+ http://www.st.com/internet/analog/product/121769.jsp
45+ * Texas Instruments TMP100, TMP101, TMP105, TMP75, TMP175, TMP275
46+ Prefixes: 'tmp100', 'tmp101', 'tmp105', 'tmp175', 'tmp75', 'tmp275'
47+ Addresses scanned: none
48+ Datasheet: Publicly available at the Texas Instruments website
49+ http://www.ti.com/product/tmp100
50+ http://www.ti.com/product/tmp101
51+ http://www.ti.com/product/tmp105
52+ http://www.ti.com/product/tmp75
53+ http://www.ti.com/product/tmp175
54+ http://www.ti.com/product/tmp275
3555
3656 Author: Frodo Looijaard <frodol@dds.nl>
3757
@@ -50,21 +70,16 @@ range of -55 to +125 degrees. · 12 unmodified lines
5070 The LM75 only updates its values each 1.5 seconds; reading it more often
5171 will do no harm, but will return 'old' values.
5272
53−The LM75 is usually used in combination with LM78-like chips, to measure
54−the temperature of the processor(s).
55−
56−The DS75, DS1775, MAX6625, and MAX6626 are supported as well.
57−They are not distinguished from an LM75. While most of these chips
58−have three additional bits of accuracy (12 vs. 9 for the LM75),
59−the additional bits are not supported. Not only that, but these chips will
60−not be detected if not in 9-bit precision mode (use the force parameter if
61−needed).
62−
63−The TCN75 is supported as well, and is not distinguished from an LM75.
73+The original LM75 was typically used in combination with LM78-like chips
74+on PC motherboards, to measure the temperature of the processor(s). Clones
75+are now used in various embedded designs.
6476
6577 The LM75 is essentially an industry standard; there may be other
6678 LM75 clones not listed here, with or without various enhancements,
67−that are supported.
79+that are supported. The clones are not detected by the driver, unless
80+they reproduce the exact register tricks of the original LM75, and must
81+therefore be instantiated explicitly. The specific enhancements (such as
82+higher resolution) are not currently supported by the driver.
6883
6984 The LM77 is not supported, contrary to what we pretended for a long time.
7085 Both chips are simply not compatible, value encoding differs.
Documentation/hwmon/ltc2978+103−0
@@ -0,0 +1,103 @@
1+Kernel driver ltc2978
2+=====================
3+
4+Supported chips:
5+ * Linear Technology LTC2978
6+ Prefix: 'ltc2978'
7+ Addresses scanned: -
8+ Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf
9+ * Linear Technology LTC3880
10+ Prefix: 'ltc3880'
11+ Addresses scanned: -
12+ Datasheet: http://cds.linear.com/docs/Datasheet/3880f.pdf
13+
14+Author: Guenter Roeck <guenter.roeck@ericsson.com>
15+
16+
17+Description
18+-----------
19+
20+The LTC2978 is an octal power supply monitor, supervisor, sequencer and
21+margin controller. The LTC3880 is a dual, PolyPhase DC/DC synchronous
22+step-down switching regulator controller.
23+
24+
25+Usage Notes
26+-----------
27+
28+This driver does not probe for PMBus devices. You will have to instantiate
29+devices explicitly.
30+
31+Example: the following commands will load the driver for an LTC2978 at address
32+0x60 on I2C bus #1:
33+
34+# modprobe ltc2978
35+# echo ltc2978 0x60 > /sys/bus/i2c/devices/i2c-1/new_device
36+
37+
38+Sysfs attributes
39+----------------
40+
41+in1_label "vin"
42+in1_input Measured input voltage.
43+in1_min Minimum input voltage.
44+in1_max Maximum input voltage.
45+in1_lcrit Critical minimum input voltage.
46+in1_crit Critical maximum input voltage.
47+in1_min_alarm Input voltage low alarm.
48+in1_max_alarm Input voltage high alarm.
49+in1_lcrit_alarm Input voltage critical low alarm.
50+in1_crit_alarm Input voltage critical high alarm.
51+in1_lowest Lowest input voltage. LTC2978 only.
52+in1_highest Highest input voltage.
53+in1_reset_history Reset history. Writing into this attribute will reset
54+ history for all attributes.
55+
56+in[2-9]_label "vout[1-8]". Channels 3 to 9 on LTC2978 only.
57+in[2-9]_input Measured output voltage.
58+in[2-9]_min Minimum output voltage.
59+in[2-9]_max Maximum output voltage.
60+in[2-9]_lcrit Critical minimum output voltage.
61+in[2-9]_crit Critical maximum output voltage.
62+in[2-9]_min_alarm Output voltage low alarm.
63+in[2-9]_max_alarm Output voltage high alarm.
64+in[2-9]_lcrit_alarm Output voltage critical low alarm.
65+in[2-9]_crit_alarm Output voltage critical high alarm.
66+in[2-9]_lowest Lowest output voltage. LTC2978 only.
67+in[2-9]_highest Lowest output voltage.
68+in[2-9]_reset_history Reset history. Writing into this attribute will reset
69+ history for all attributes.
70+
71+temp[1-3]_input Measured temperature.
72+ On LTC2978, only one temperature measurement is
73+ supported and reflects the internal temperature.
74+ On LTC3880, temp1 and temp2 report external
75+ temperatures, and temp3 reports the internal
76+ temperature.
77+temp[1-3]_min Mimimum temperature.
78+temp[1-3]_max Maximum temperature.
79+temp[1-3]_lcrit Critical low temperature.
80+temp[1-3]_crit Critical high temperature.
81+temp[1-3]_min_alarm Chip temperature low alarm.
82+temp[1-3]_max_alarm Chip temperature high alarm.
83+temp[1-3]_lcrit_alarm Chip temperature critical low alarm.
84+temp[1-3]_crit_alarm Chip temperature critical high alarm.
85+temp[1-3]_lowest Lowest measured temperature. LTC2978 only.
86+temp[1-3]_highest Highest measured temperature.
87+temp[1-3]_reset_history Reset history. Writing into this attribute will reset
88+ history for all attributes.
89+
90+power[1-2]_label "pout[1-2]". LTC3880 only.
91+power[1-2]_input Measured power.
92+
93+curr1_label "iin". LTC3880 only.
94+curr1_input Measured input current.
95+curr1_max Maximum input current.
96+curr1_max_alarm Input current high alarm.
97+
98+curr[2-3]_label "iout[1-2]". LTC3880 only.
99+curr[2-3]_input Measured input current.
100+curr[2-3]_max Maximum input current.
101+curr[2-3]_crit Critical input current.
102+curr[2-3]_max_alarm Input current high alarm.
103+curr[2-3]_crit_alarm Input current critical high alarm.
Documentation/hwmon/pmbus+8−5
@@ -8,11 +8,6 @@ Supported chips: · 7 unmodified lines
88 Addresses scanned: -
99 Datasheet:
1010 http://archive.ericsson.net/service/internet/picov/get?DocNo=28701-EN/LZT146395
11− * Linear Technology LTC2978
12− Octal PMBus Power Supply Monitor and Controller
13− Prefix: 'ltc2978'
14− Addresses scanned: -
15− Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf
1611 * ON Semiconductor ADP4000, NCP4200, NCP4208
1712 Prefixes: 'adp4000', 'ncp4200', 'ncp4208'
1813 Addresses scanned: -
@@ -20,6 +15,14 @@ Supported chips: · 1 unmodified line
2015 http://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF
2116 http://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF
2217 http://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF
18+ * Lineage Power
19+ Prefixes: 'pdt003', 'pdt006', 'pdt012', 'udt020'
20+ Addresses scanned: -
21+ Datasheets:
22+ http://www.lineagepower.com/oem/pdf/PDT003A0X.pdf
23+ http://www.lineagepower.com/oem/pdf/PDT006A0X.pdf
24+ http://www.lineagepower.com/oem/pdf/PDT012A0X.pdf
25+ http://www.lineagepower.com/oem/pdf/UDT020A0X.pdf
2326 * Generic PMBus devices
2427 Prefix: 'pmbus'
2528 Addresses scanned: -
Documentation/hwmon/pmbus-core+283−0
@@ -0,0 +1,283 @@
1+PMBus core driver and internal API
2+==================================
3+
4+Introduction
5+============
6+
7+[from pmbus.org] The Power Management Bus (PMBus) is an open standard
8+power-management protocol with a fully defined command language that facilitates
9+communication with power converters and other devices in a power system. The
10+protocol is implemented over the industry-standard SMBus serial interface and
11+enables programming, control, and real-time monitoring of compliant power
12+conversion products. This flexible and highly versatile standard allows for
13+communication between devices based on both analog and digital technologies, and
14+provides true interoperability which will reduce design complexity and shorten
15+time to market for power system designers. Pioneered by leading power supply and
16+semiconductor companies, this open power system standard is maintained and
17+promoted by the PMBus Implementers Forum (PMBus-IF), comprising 30+ adopters
18+with the objective to provide support to, and facilitate adoption among, users.
19+
20+Unfortunately, while PMBus commands are standardized, there are no mandatory
21+commands, and manufacturers can add as many non-standard commands as they like.
22+Also, different PMBUs devices act differently if non-supported commands are
23+executed. Some devices return an error, some devices return 0xff or 0xffff and
24+set a status error flag, and some devices may simply hang up.
25+
26+Despite all those difficulties, a generic PMBus device driver is still useful
27+and supported since kernel version 2.6.39. However, it was necessary to support
28+device specific extensions in addition to the core PMBus driver, since it is
29+simply unknown what new device specific functionality PMBus device developers
30+come up with next.
31+
32+To make device specific extensions as scalable as possible, and to avoid having
33+to modify the core PMBus driver repeatedly for new devices, the PMBus driver was
34+split into core, generic, and device specific code. The core code (in
35+pmbus_core.c) provides generic functionality. The generic code (in pmbus.c)
36+provides support for generic PMBus devices. Device specific code is responsible
37+for device specific initialization and, if needed, maps device specific
38+functionality into generic functionality. This is to some degree comparable
39+to PCI code, where generic code is augmented as needed with quirks for all kinds
40+of devices.
41+
42+PMBus device capabilities auto-detection
43+========================================
44+
45+For generic PMBus devices, code in pmbus.c attempts to auto-detect all supported
46+PMBus commands. Auto-detection is somewhat limited, since there are simply too
47+many variables to consider. For example, it is almost impossible to autodetect
48+which PMBus commands are paged and which commands are replicated across all
49+pages (see the PMBus specification for details on multi-page PMBus devices).
50+
51+For this reason, it often makes sense to provide a device specific driver if not
52+all commands can be auto-detected. The data structures in this driver can be
53+used to inform the core driver about functionality supported by individual
54+chips.
55+
56+Some commands are always auto-detected. This applies to all limit commands
57+(lcrit, min, max, and crit attributes) as well as associated alarm attributes.
58+Limits and alarm attributes are auto-detected because there are simply too many
59+possible combinations to provide a manual configuration interface.
60+
61+PMBus internal API
62+==================
63+
64+The API between core and device specific PMBus code is defined in
65+drivers/hwmon/pmbus/pmbus.h. In addition to the internal API, pmbus.h defines
66+standard PMBus commands and virtual PMBus commands.
67+
68+Standard PMBus commands
69+-----------------------
70+
71+Standard PMBus commands (commands values 0x00 to 0xff) are defined in the PMBUs
72+specification.
73+
74+Virtual PMBus commands
75+----------------------
76+
77+Virtual PMBus commands are provided to enable support for non-standard
78+functionality which has been implemented by several chip vendors and is thus
79+desirable to support.
80+
81+Virtual PMBus commands start with command value 0x100 and can thus easily be
82+distinguished from standard PMBus commands (which can not have values larger
83+than 0xff). Support for virtual PMBus commands is device specific and thus has
84+to be implemented in device specific code.
85+
86+Virtual commands are named PMBUS_VIRT_xxx and start with PMBUS_VIRT_BASE. All
87+virtual commands are word sized.
88+
89+There are currently two types of virtual commands.
90+
91+- READ commands are read-only; writes are either ignored or return an error.
92+- RESET commands are read/write. Reading reset registers returns zero
93+ (used for detection), writing any value causes the associated history to be
94+ reset.
95+
96+Virtual commands have to be handled in device specific driver code. Chip driver
97+code returns non-negative values if a virtual command is supported, or a
98+negative error code if not. The chip driver may return -ENODATA or any other
99+Linux error code in this case, though an error code other than -ENODATA is
100+handled more efficiently and thus preferred. Either case, the calling PMBus
101+core code will abort if the chip driver returns an error code when reading
102+or writing virtual registers (in other words, the PMBus core code will never
103+send a virtual command to a chip).
104+
105+PMBus driver information
106+------------------------
107+
108+PMBus driver information, defined in struct pmbus_driver_info, is the main means
109+for device specific drivers to pass information to the core PMBus driver.
110+Specifically, it provides the following information.
111+
112+- For devices supporting its data in Direct Data Format, it provides coefficients
113+ for converting register values into normalized data. This data is usually
114+ provided by chip manufacturers in device datasheets.
115+- Supported chip functionality can be provided to the core driver. This may be
116+ necessary for chips which react badly if non-supported commands are executed,
117+ and/or to speed up device detection and initialization.
118+- Several function entry points are provided to support overriding and/or
119+ augmenting generic command execution. This functionality can be used to map
120+ non-standard PMBus commands to standard commands, or to augment standard
121+ command return values with device specific information.
122+
123+ API functions
124+ -------------
125+
126+ Functions provided by chip driver
127+ ---------------------------------
128+
129+ All functions return the command return value (read) or zero (write) if
130+ successful. A return value of -ENODATA indicates that there is no manufacturer
131+ specific command, but that a standard PMBus command may exist. Any other
132+ negative return value indicates that the commands does not exist for this
133+ chip, and that no attempt should be made to read or write the standard
134+ command.
135+
136+ As mentioned above, an exception to this rule applies to virtual commands,
137+ which _must_ be handled in driver specific code. See "Virtual PMBus Commands"
138+ above for more details.
139+
140+ Command execution in the core PMBus driver code is as follows.
141+
142+ if (chip_access_function) {
143+ status = chip_access_function();
144+ if (status != -ENODATA)
145+ return status;
146+ }
147+ if (command >= PMBUS_VIRT_BASE) /* For word commands/registers only */
148+ return -EINVAL;
149+ return generic_access();
150+
151+ Chip drivers may provide pointers to the following functions in struct
152+ pmbus_driver_info. All functions are optional.
153+
154+ int (*read_byte_data)(struct i2c_client *client, int page, int reg);
155+
156+ Read byte from page <page>, register <reg>.
157+ <page> may be -1, which means "current page".
158+
159+ int (*read_word_data)(struct i2c_client *client, int page, int reg);
160+
161+ Read word from page <page>, register <reg>.
162+
163+ int (*write_word_data)(struct i2c_client *client, int page, int reg,
164+ u16 word);
165+
166+ Write word to page <page>, register <reg>.
167+
168+ int (*write_byte)(struct i2c_client *client, int page, u8 value);
169+
170+ Write byte to page <page>, register <reg>.
171+ <page> may be -1, which means "current page".
172+
173+ int (*identify)(struct i2c_client *client, struct pmbus_driver_info *info);
174+
175+ Determine supported PMBus functionality. This function is only necessary
176+ if a chip driver supports multiple chips, and the chip functionality is not
177+ pre-determined. It is currently only used by the generic pmbus driver
178+ (pmbus.c).
179+
180+ Functions exported by core driver
181+ ---------------------------------
182+
183+ Chip drivers are expected to use the following functions to read or write
184+ PMBus registers. Chip drivers may also use direct I2C commands. If direct I2C
185+ commands are used, the chip driver code must not directly modify the current
186+ page, since the selected page is cached in the core driver and the core driver
187+ will assume that it is selected. Using pmbus_set_page() to select a new page
188+ is mandatory.
189+
190+ int pmbus_set_page(struct i2c_client *client, u8 page);
191+
192+ Set PMBus page register to <page> for subsequent commands.
193+
194+ int pmbus_read_word_data(struct i2c_client *client, u8 page, u8 reg);
195+
196+ Read word data from <page>, <reg>. Similar to i2c_smbus_read_word_data(), but
197+ selects page first.
198+
199+ int pmbus_write_word_data(struct i2c_client *client, u8 page, u8 reg,
200+ u16 word);
201+
202+ Write word data to <page>, <reg>. Similar to i2c_smbus_write_word_data(), but
203+ selects page first.
204+
205+ int pmbus_read_byte_data(struct i2c_client *client, int page, u8 reg);
206+
207+ Read byte data from <page>, <reg>. Similar to i2c_smbus_read_byte_data(), but
208+ selects page first. <page> may be -1, which means "current page".
209+
210+ int pmbus_write_byte(struct i2c_client *client, int page, u8 value);
211+
212+ Write byte data to <page>, <reg>. Similar to i2c_smbus_write_byte(), but
213+ selects page first. <page> may be -1, which means "current page".
214+
215+ void pmbus_clear_faults(struct i2c_client *client);
216+
217+ Execute PMBus "Clear Fault" command on all chip pages.
218+ This function calls the device specific write_byte function if defined.
219+ Therefore, it must _not_ be called from that function.
220+
221+ bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg);
222+
223+ Check if byte register exists. Return true if the register exists, false
224+ otherwise.
225+ This function calls the device specific write_byte function if defined to
226+ obtain the chip status. Therefore, it must _not_ be called from that function.
227+
228+ bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
229+
230+ Check if word register exists. Return true if the register exists, false
231+ otherwise.
232+ This function calls the device specific write_byte function if defined to
233+ obtain the chip status. Therefore, it must _not_ be called from that function.
234+
235+ int pmbus_do_probe(struct i2c_client *client, const struct i2c_device_id *id,
236+ struct pmbus_driver_info *info);
237+
238+ Execute probe function. Similar to standard probe function for other drivers,
239+ with the pointer to struct pmbus_driver_info as additional argument. Calls
240+ identify function if supported. Must only be called from device probe
241+ function.
242+
243+ void pmbus_do_remove(struct i2c_client *client);
244+
245+ Execute driver remove function. Similar to standard driver remove function.
246+
247+ const struct pmbus_driver_info
248+ *pmbus_get_driver_info(struct i2c_client *client);
249+
250+ Return pointer to struct pmbus_driver_info as passed to pmbus_do_probe().
251+
252+
253+PMBus driver platform data
254+==========================
255+
256+PMBus platform data is defined in include/linux/i2c/pmbus.h. Platform data
257+currently only provides a flag field with a single bit used.
258+
259+#define PMBUS_SKIP_STATUS_CHECK (1 << 0)
260+
261+struct pmbus_platform_data {
262+ u32 flags; /* Device specific flags */
263+};
264+
265+
266+Flags
267+-----
268+
269+PMBUS_SKIP_STATUS_CHECK
270+
271+During register detection, skip checking the status register for
272+communication or command errors.
273+
274+Some PMBus chips respond with valid data when trying to read an unsupported
275+register. For such chips, checking the status register is mandatory when
276+trying to determine if a chip register exists or not.
277+Other PMBus chips don't support the STATUS_CML register, or report
278+communication errors for no explicable reason. For such chips, checking the
279+status register must be disabled.
280+
281+Some i2c controllers do not support single-byte commands (write commands with
282+no data, i2c_smbus_write_byte()). With such controllers, clearing the status
283+register is impossible, and the PMBUS_SKIP_STATUS_CHECK flag must be set.
Documentation/hwmon/w83627ehf+15−13
@@ -14,6 +14,10 @@ Supported chips: · 13 unmodified lines
1414 Prefix: 'w83627dhg'
1515 Addresses scanned: ISA address retrieved from Super I/O registers
1616 Datasheet: not available
17+ * Winbond W83627UHG
18+ Prefix: 'w83627uhg'
19+ Addresses scanned: ISA address retrieved from Super I/O registers
20+ Datasheet: available from www.nuvoton.com
1721 * Winbond W83667HG
1822 Prefix: 'w83667hg'
1923 Addresses scanned: ISA address retrieved from Super I/O registers
@@ -42,14 +46,13 @@ Description · 22 unmodified lines
4246 -----------
4347
4448 This driver implements support for the Winbond W83627EHF, W83627EHG,
45−W83627DHG, W83627DHG-P, W83667HG, W83667HG-B, W83667HG-I (NCT6775F),
46−and NCT6776F super I/O chips. We will refer to them collectively as
47−Winbond chips.
48−
49−The chips implement three temperature sensors (up to four for 667HG-B, and nine
50−for NCT6775F and NCT6776F), five fan rotation speed sensors, ten analog voltage
51−sensors (only nine for the 627DHG), one VID (6 pins for the 627EHF/EHG, 8 pins
52−for the 627DHG and 667HG), alarms with beep warnings (control unimplemented),
49+W83627DHG, W83627DHG-P, W83627UHG, W83667HG, W83667HG-B, W83667HG-I
50+(NCT6775F), and NCT6776F super I/O chips. We will refer to them collectively
51+as Winbond chips.
52+
53+The chips implement 2 to 4 temperature sensors (9 for NCT6775F and NCT6776F),
54+2 to 5 fan rotation speed sensors, 8 to 10 analog voltage sensors, one VID
55+(except for 627UHG), alarms with beep warnings (control unimplemented),
5356 and some automatic fan regulation strategies (plus manual fan control mode).
5457
5558 The temperature sensor sources on W82677HG-B, NCT6775F, and NCT6776F are
@@ -86,17 +89,16 @@ follows: · 30 unmodified lines
8689
8790 temp1 -> pwm1
8891 temp2 -> pwm2
89−temp3 -> pwm3
92+temp3 -> pwm3 (not on 627UHG)
9093 prog -> pwm4 (not on 667HG and 667HG-B; the programmable setting is not
9194 supported by the driver)
9295
9396 /sys files
9497 ----------
9598
96−name - this is a standard hwmon device entry. For the W83627EHF and W83627EHG,
97− it is set to "w83627ehf", for the W83627DHG it is set to "w83627dhg",
98− for the W83667HG and W83667HG-B it is set to "w83667hg", for NCT6775F it
99− is set to "nct6775", and for NCT6776F it is set to "nct6776".
99+name - this is a standard hwmon device entry, it contains the name of
100+ the device (see the prefix in the list of supported devices at
101+ the top of this file)
100102
101103 pwm[1-4] - this file stores PWM duty cycle or DC value (fan speed) in range:
102104 0 (stop) to 255 (full)
Documentation/hwmon/zl6100+125−0
@@ -0,0 +1,125 @@
1+Kernel driver zl6100
2+====================
3+
4+Supported chips:
5+ * Intersil / Zilker Labs ZL2004
6+ Prefix: 'zl2004'
7+ Addresses scanned: -
8+ Datasheet: http://www.intersil.com/data/fn/fn6847.pdf
9+ * Intersil / Zilker Labs ZL2006
10+ Prefix: 'zl2006'
11+ Addresses scanned: -
12+ Datasheet: http://www.intersil.com/data/fn/fn6850.pdf
13+ * Intersil / Zilker Labs ZL2008
14+ Prefix: 'zl2008'
15+ Addresses scanned: -
16+ Datasheet: http://www.intersil.com/data/fn/fn6859.pdf
17+ * Intersil / Zilker Labs ZL2105
18+ Prefix: 'zl2105'
19+ Addresses scanned: -
20+ Datasheet: http://www.intersil.com/data/fn/fn6851.pdf
21+ * Intersil / Zilker Labs ZL2106
22+ Prefix: 'zl2106'
23+ Addresses scanned: -
24+ Datasheet: http://www.intersil.com/data/fn/fn6852.pdf
25+ * Intersil / Zilker Labs ZL6100
26+ Prefix: 'zl6100'
27+ Addresses scanned: -
28+ Datasheet: http://www.intersil.com/data/fn/fn6876.pdf
29+ * Intersil / Zilker Labs ZL6105
30+ Prefix: 'zl6105'
31+ Addresses scanned: -
32+ Datasheet: http://www.intersil.com/data/fn/fn6906.pdf
33+
34+Author: Guenter Roeck <guenter.roeck@ericsson.com>
35+
36+
37+Description
38+-----------
39+
40+This driver supports hardware montoring for Intersil / Zilker Labs ZL6100 and
41+compatible digital DC-DC controllers.
42+
43+The driver is a client driver to the core PMBus driver. Please see
44+Documentation/hwmon/pmbus and Documentation.hwmon/pmbus-core for details
45+on PMBus client drivers.
46+
47+
48+Usage Notes
49+-----------
50+
51+This driver does not auto-detect devices. You will have to instantiate the
52+devices explicitly. Please see Documentation/i2c/instantiating-devices for
53+details.
54+
55+WARNING: Do not access chip registers using the i2cdump command, and do not use
56+any of the i2ctools commands on a command register used to save and restore
57+configuration data (0x11, 0x12, 0x15, 0x16, and 0xf4). The chips supported by
58+this driver interpret any access to those command registers (including read
59+commands) as request to execute the command in question. Unless write accesses
60+to those registers are protected, this may result in power loss, board resets,
61+and/or Flash corruption. Worst case, your board may turn into a brick.
62+
63+
64+Platform data support
65+---------------------
66+
67+The driver supports standard PMBus driver platform data.
68+
69+
70+Module parameters
71+-----------------
72+
73+delay
74+-----
75+
76+Some Intersil/Zilker Labs DC-DC controllers require a minimum interval between
77+I2C bus accesses. According to Intersil, the minimum interval is 2 ms, though
78+1 ms appears to be sufficient and has not caused any problems in testing.
79+The problem is known to affect ZL6100, ZL2105, and ZL2008. It is known not to
80+affect ZL2004 and ZL6105. The driver automatically sets the interval to 1 ms
81+except for ZL2004 and ZL6105. To enable manual override, the driver provides a
82+writeable module parameter, 'delay', which can be used to set the interval to
83+a value between 0 and 65,535 microseconds.
84+
85+
86+Sysfs entries
87+-------------
88+
89+The following attributes are supported. Limits are read-write; all other
90+attributes are read-only.
91+
92+in1_label "vin"
93+in1_input Measured input voltage.
94+in1_min Minimum input voltage.
95+in1_max Maximum input voltage.
96+in1_lcrit Critical minumum input voltage.
97+in1_crit Critical maximum input voltage.
98+in1_min_alarm Input voltage low alarm.
99+in1_max_alarm Input voltage high alarm.
100+in1_lcrit_alarm Input voltage critical low alarm.
101+in1_crit_alarm Input voltage critical high alarm.
102+
103+in2_label "vout1"
104+in2_input Measured output voltage.
105+in2_lcrit Critical minumum output Voltage.
106+in2_crit Critical maximum output voltage.
107+in2_lcrit_alarm Critical output voltage critical low alarm.
108+in2_crit_alarm Critical output voltage critical high alarm.
109+
110+curr1_label "iout1"
111+curr1_input Measured output current.
112+curr1_lcrit Critical minimum output current.
113+curr1_crit Critical maximum output current.
114+curr1_lcrit_alarm Output current critical low alarm.
115+curr1_crit_alarm Output current critical high alarm.
116+
117+temp[12]_input Measured temperature.
118+temp[12]_min Minimum temperature.
119+temp[12]_max Maximum temperature.
120+temp[12]_lcrit Critical low temperature.
121+temp[12]_crit Critical high temperature.
122+temp[12]_min_alarm Chip temperature low alarm.
123+temp[12]_max_alarm Chip temperature high alarm.
124+temp[12]_lcrit_alarm Chip temperature critical low alarm.
125+temp[12]_crit_alarm Chip temperature critical high alarm.
Documentation/hwspinlock.txt+44−30
@@ -39,23 +39,20 @@ independent, drivers. · 38 unmodified lines
3939 in case an unused hwspinlock isn't available. Users of this
4040 API will usually want to communicate the lock's id to the remote core
4141 before it can be used to achieve synchronization.
42− Can be called from an atomic context (this function will not sleep) but
43− not from within interrupt context.
42+ Should be called from a process context (might sleep).
4443
4544 struct hwspinlock *hwspin_lock_request_specific(unsigned int id);
4645 - assign a specific hwspinlock id and return its address, or NULL
4746 if that hwspinlock is already in use. Usually board code will
4847 be calling this function in order to reserve specific hwspinlock
4948 ids for predefined purposes.
50− Can be called from an atomic context (this function will not sleep) but
51− not from within interrupt context.
49+ Should be called from a process context (might sleep).
5250
5351 int hwspin_lock_free(struct hwspinlock *hwlock);
5452 - free a previously-assigned hwspinlock; returns 0 on success, or an
5553 appropriate error code on failure (e.g. -EINVAL if the hwspinlock
5654 is already free).
57− Can be called from an atomic context (this function will not sleep) but
58− not from within interrupt context.
55+ Should be called from a process context (might sleep).
5956
6057 int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout);
6158 - lock a previously-assigned hwspinlock with a timeout limit (specified in
@@ -230,45 +227,62 @@ int hwspinlock_example2(void) · 168 unmodified lines
230227
231228 4. API for implementors
232229
233− int hwspin_lock_register(struct hwspinlock *hwlock);
230+ int hwspin_lock_register(struct hwspinlock_device *bank, struct device *dev,
231+ const struct hwspinlock_ops *ops, int base_id, int num_locks);
234232 - to be called from the underlying platform-specific implementation, in
235− order to register a new hwspinlock instance. Can be called from an atomic
236− context (this function will not sleep) but not from within interrupt
237− context. Returns 0 on success, or appropriate error code on failure.
233+ order to register a new hwspinlock device (which is usually a bank of
234+ numerous locks). Should be called from a process context (this function
235+ might sleep).
236+ Returns 0 on success, or appropriate error code on failure.
238237
239− struct hwspinlock *hwspin_lock_unregister(unsigned int id);
238+ int hwspin_lock_unregister(struct hwspinlock_device *bank);
240239 - to be called from the underlying vendor-specific implementation, in order
241− to unregister an existing (and unused) hwspinlock instance.
242− Can be called from an atomic context (will not sleep) but not from
243− within interrupt context.
240+ to unregister an hwspinlock device (which is usually a bank of numerous
241+ locks).
242+ Should be called from a process context (this function might sleep).
244243 Returns the address of hwspinlock on success, or NULL on error (e.g.
245244 if the hwspinlock is sill in use).
246245
247−5. struct hwspinlock
246+5. Important structs
248247
249−This struct represents an hwspinlock instance. It is registered by the
250−underlying hwspinlock implementation using the hwspin_lock_register() API.
248+struct hwspinlock_device is a device which usually contains a bank
249+of hardware locks. It is registered by the underlying hwspinlock
250+implementation using the hwspin_lock_register() API.
251251
252252 /**
253− * struct hwspinlock - vendor-specific hwspinlock implementation
254− *
255− * @dev: underlying device, will be used with runtime PM api
256− * @ops: vendor-specific hwspinlock handlers
257− * @id: a global, unique, system-wide, index of the lock.
258− * @lock: initialized and used by hwspinlock core
259− * @owner: underlying implementation module, used to maintain module ref count
253+ * struct hwspinlock_device - a device which usually spans numerous hwspinlocks
254+ * @dev: underlying device, will be used to invoke runtime PM api
255+ * @ops: platform-specific hwspinlock handlers
256+ * @base_id: id index of the first lock in this device
257+ * @num_locks: number of locks in this device
258+ * @lock: dynamically allocated array of 'struct hwspinlock'
260259 */
261−struct hwspinlock {
260+struct hwspinlock_device {
262261 struct device *dev;
263262 const struct hwspinlock_ops *ops;
264− int id;
263+ int base_id;
264+ int num_locks;
265+ struct hwspinlock lock[0];
266+};
267+
268+struct hwspinlock_device contains an array of hwspinlock structs, each
269+of which represents a single hardware lock:
270+
271+/**
272+ * struct hwspinlock - this struct represents a single hwspinlock instance
273+ * @bank: the hwspinlock_device structure which owns this lock
274+ * @lock: initialized and used by hwspinlock core
275+ * @priv: private data, owned by the underlying platform-specific hwspinlock drv
276+ */
277+struct hwspinlock {
278+ struct hwspinlock_device *bank;
265279 spinlock_t lock;
266− struct module *owner;
280+ void *priv;
267281 };
268282
269−The underlying implementation is responsible to assign the dev, ops, id and
270−owner members. The lock member, OTOH, is initialized and used by the hwspinlock
271−core.
283+When registering a bank of locks, the hwspinlock driver only needs to
284+set the priv members of the locks. The rest of the members are set and
285+initialized by the hwspinlock core itself.
272286
273287 6. Implementation callbacks
274288
Documentation/i2c/smbus-protocol+8−0
@@ -88,6 +88,10 @@ byte. But this time, the data is a complete word (16 bits). · 87 unmodified lines
8888
8989 S Addr Wr [A] Comm [A] S Addr Rd [A] [DataLow] A [DataHigh] NA P
9090
91+Note the convenience function i2c_smbus_read_word_swapped is
92+available for reads where the two data bytes are the other way
93+around (not SMBus compliant, but very popular.)
94+
9195
9296 SMBus Write Byte: i2c_smbus_write_byte_data()
9397 ==============================================
@@ -108,6 +112,10 @@ specified through the Comm byte. · 14 unmodified lines
108112
109113 S Addr Wr [A] Comm [A] DataLow [A] DataHigh [A] P
110114
115+Note the convenience function i2c_smbus_write_word_swapped is
116+available for writes where the two data bytes are the other way
117+around (not SMBus compliant, but very popular.)
118+
111119
112120 SMBus Process Call: i2c_smbus_process_call()
113121 =============================================
Documentation/input/elantech.txt+279−16
@@ -16,15 +16,28 @@ Contents · 15 unmodified lines
1616
1717 1. Introduction
1818 2. Extra knobs
19− 3. Hardware version 1
20− 3.1 Registers
21− 3.2 Native relative mode 4 byte packet format
22− 3.3 Native absolute mode 4 byte packet format
23− 4. Hardware version 2
19+ 3. Differentiating hardware versions
20+ 4. Hardware version 1
2421 4.1 Registers
25− 4.2 Native absolute mode 6 byte packet format
26− 4.2.1 One finger touch
27− 4.2.2 Two finger touch
22+ 4.2 Native relative mode 4 byte packet format
23+ 4.3 Native absolute mode 4 byte packet format
24+ 5. Hardware version 2
25+ 5.1 Registers
26+ 5.2 Native absolute mode 6 byte packet format
27+ 5.2.1 Parity checking and packet re-synchronization
28+ 5.2.2 One/Three finger touch
29+ 5.2.3 Two finger touch
30+ 6. Hardware version 3
31+ 6.1 Registers
32+ 6.2 Native absolute mode 6 byte packet format
33+ 6.2.1 One/Three finger touch
34+ 6.2.2 Two finger touch
35+ 7. Hardware version 4
36+ 7.1 Registers
37+ 7.2 Native absolute mode 6 byte packet format
38+ 7.2.1 Status packet
39+ 7.2.2 Head packet
40+ 7.2.3 Motion packet
2841
2942
3043
@@ -375,7 +388,7 @@ For all the other ones, there are just a few constant bits: · 344 unmodified lines
375388
376389 In case an error is detected, all the packets are shifted by one (and packet[0] is discarded).
377390
378−5.2.1 One/Three finger touch
391+5.2.2 One/Three finger touch
379392 ~~~~~~~~~~~~~~~~
380393
381394 byte 0:
@@ -384,19 +397,19 @@ byte 0: · 2 unmodified lines
384397 n1 n0 w3 w2 . . R L
385398
386399 L, R = 1 when Left, Right mouse button pressed
387− n1..n0 = numbers of fingers on touchpad
400+ n1..n0 = number of fingers on touchpad
388401
389402 byte 1:
390403
391404 bit 7 6 5 4 3 2 1 0
392− p7 p6 p5 p4 . x10 x9 x8
405+ p7 p6 p5 p4 x11 x10 x9 x8
393406
394407 byte 2:
395408
396409 bit 7 6 5 4 3 2 1 0
397410 x7 x6 x5 x4 x3 x2 x1 x0
398411
399− x10..x0 = absolute x value (horizontal)
412+ x11..x0 = absolute x value (horizontal)
400413
401414 byte 3:
402415
@@ -420,7 +433,7 @@ byte 3: · 17 unmodified lines
420433 byte 4:
421434
422435 bit 7 6 5 4 3 2 1 0
423− p3 p1 p2 p0 . . y9 y8
436+ p3 p1 p2 p0 y11 y10 y9 y8
424437
425438 p7..p0 = pressure (not EF113)
426439
@@ -429,10 +442,10 @@ byte 5: · 2 unmodified lines
429442 bit 7 6 5 4 3 2 1 0
430443 y7 y6 y5 y4 y3 y2 y1 y0
431444
432− y9..y0 = absolute y value (vertical)
445+ y11..y0 = absolute y value (vertical)
433446
434447
435−4.2.2 Two finger touch
448+5.2.3 Two finger touch
436449 ~~~~~~~~~~~~~~~~
437450
438451 Note that the two pairs of coordinates are not exactly the coordinates of the
@@ -446,7 +459,7 @@ byte 0: · 7 unmodified lines
446459 n1 n0 ay8 ax8 . . R L
447460
448461 L, R = 1 when Left, Right mouse button pressed
449− n1..n0 = numbers of fingers on touchpad
462+ n1..n0 = number of fingers on touchpad
450463
451464 byte 1:
452465
@@ -480,3 +493,253 @@ byte 5: · 27 unmodified lines
480493 by7 by8 by5 by4 by3 by2 by1 by0
481494
482495 by8..by0 = upper-right finger absolute y value
496+
497+/////////////////////////////////////////////////////////////////////////////
498+
499+6. Hardware version 3
500+ ==================
501+
502+6.1 Registers
503+ ~~~~~~~~~
504+* reg_10
505+
506+ bit 7 6 5 4 3 2 1 0
507+ 0 0 0 0 0 0 0 A
508+
509+ A: 1 = enable absolute tracking
510+
511+6.2 Native absolute mode 6 byte packet format
512+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
513+1 and 3 finger touch shares the same 6-byte packet format, except that
514+3 finger touch only reports the position of the center of all three fingers.
515+
516+Firmware would send 12 bytes of data for 2 finger touch.
517+
518+Note on debounce:
519+In case the box has unstable power supply or other electricity issues, or
520+when number of finger changes, F/W would send "debounce packet" to inform
521+driver that the hardware is in debounce status.
522+The debouce packet has the following signature:
523+ byte 0: 0xc4
524+ byte 1: 0xff
525+ byte 2: 0xff
526+ byte 3: 0x02
527+ byte 4: 0xff
528+ byte 5: 0xff
529+When we encounter this kind of packet, we just ignore it.
530+
531+6.2.1 One/Three finger touch
532+ ~~~~~~~~~~~~~~~~~~~~~~
533+
534+byte 0:
535+
536+ bit 7 6 5 4 3 2 1 0
537+ n1 n0 w3 w2 0 1 R L
538+
539+ L, R = 1 when Left, Right mouse button pressed
540+ n1..n0 = number of fingers on touchpad
541+
542+byte 1:
543+
544+ bit 7 6 5 4 3 2 1 0
545+ p7 p6 p5 p4 x11 x10 x9 x8
546+
547+byte 2:
548+
549+ bit 7 6 5 4 3 2 1 0
550+ x7 x6 x5 x4 x3 x2 x1 x0
551+
552+ x11..x0 = absolute x value (horizontal)
553+
554+byte 3:
555+
556+ bit 7 6 5 4 3 2 1 0
557+ 0 0 w1 w0 0 0 1 0
558+
559+ w3..w0 = width of the finger touch
560+
561+byte 4:
562+
563+ bit 7 6 5 4 3 2 1 0
564+ p3 p1 p2 p0 y11 y10 y9 y8
565+
566+ p7..p0 = pressure
567+
568+byte 5:
569+
570+ bit 7 6 5 4 3 2 1 0
571+ y7 y6 y5 y4 y3 y2 y1 y0
572+
573+ y11..y0 = absolute y value (vertical)
574+
575+6.2.2 Two finger touch
576+ ~~~~~~~~~~~~~~~~
577+
578+The packet format is exactly the same for two finger touch, except the hardware
579+sends two 6 byte packets. The first packet contains data for the first finger,
580+the second packet has data for the second finger. So for two finger touch a
581+total of 12 bytes are sent.
582+
583+/////////////////////////////////////////////////////////////////////////////
584+
585+7. Hardware version 4
586+ ==================
587+
588+7.1 Registers
589+ ~~~~~~~~~
590+* reg_07
591+
592+ bit 7 6 5 4 3 2 1 0
593+ 0 0 0 0 0 0 0 A
594+
595+ A: 1 = enable absolute tracking
596+
597+7.2 Native absolute mode 6 byte packet format
598+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
599+v4 hardware is a true multitouch touchpad, capable of tracking up to 5 fingers.
600+Unfortunately, due to PS/2's limited bandwidth, its packet format is rather
601+complex.
602+
603+Whenever the numbers or identities of the fingers changes, the hardware sends a
604+status packet to indicate how many and which fingers is on touchpad, followed by
605+head packets or motion packets. A head packet contains data of finger id, finger
606+position (absolute x, y values), width, and pressure. A motion packet contains
607+two fingers' position delta.
608+
609+For example, when status packet tells there are 2 fingers on touchpad, then we
610+can expect two following head packets. If the finger status doesn't change,
611+the following packets would be motion packets, only sending delta of finger
612+position, until we receive a status packet.
613+
614+One exception is one finger touch. when a status packet tells us there is only
615+one finger, the hardware would just send head packets afterwards.
616+
617+7.2.1 Status packet
618+ ~~~~~~~~~~~~~
619+
620+byte 0:
621+
622+ bit 7 6 5 4 3 2 1 0
623+ . . . . 0 1 R L
624+
625+ L, R = 1 when Left, Right mouse button pressed
626+
627+byte 1:
628+
629+ bit 7 6 5 4 3 2 1 0
630+ . . . ft4 ft3 ft2 ft1 ft0
631+
632+ ft4 ft3 ft2 ft1 ft0 ftn = 1 when finger n is on touchpad
633+
634+byte 2: not used
635+
636+byte 3:
637+
638+ bit 7 6 5 4 3 2 1 0
639+ . . . 1 0 0 0 0
640+
641+ constant bits
642+
643+byte 4:
644+
645+ bit 7 6 5 4 3 2 1 0
646+ p . . . . . . .
647+
648+ p = 1 for palm
649+
650+byte 5: not used
651+
652+7.2.2 Head packet
653+ ~~~~~~~~~~~
654+
655+byte 0:
656+
657+ bit 7 6 5 4 3 2 1 0
658+ w3 w2 w1 w0 0 1 R L
659+
660+ L, R = 1 when Left, Right mouse button pressed
661+ w3..w0 = finger width (spans how many trace lines)
662+
663+byte 1:
664+
665+ bit 7 6 5 4 3 2 1 0
666+ p7 p6 p5 p4 x11 x10 x9 x8
667+
668+byte 2:
669+
670+ bit 7 6 5 4 3 2 1 0
671+ x7 x6 x5 x4 x3 x2 x1 x0
672+
673+ x11..x0 = absolute x value (horizontal)
674+
675+byte 3:
676+
677+ bit 7 6 5 4 3 2 1 0
678+ id2 id1 id0 1 0 0 0 1
679+
680+ id2..id0 = finger id
681+
682+byte 4:
683+
684+ bit 7 6 5 4 3 2 1 0
685+ p3 p1 p2 p0 y11 y10 y9 y8
686+
687+ p7..p0 = pressure
688+
689+byte 5:
690+
691+ bit 7 6 5 4 3 2 1 0
692+ y7 y6 y5 y4 y3 y2 y1 y0
693+
694+ y11..y0 = absolute y value (vertical)
695+
696+7.2.3 Motion packet
697+ ~~~~~~~~~~~~~
698+
699+byte 0:
700+
701+ bit 7 6 5 4 3 2 1 0
702+ id2 id1 id0 w 0 1 R L
703+
704+ L, R = 1 when Left, Right mouse button pressed
705+ id2..id0 = finger id
706+ w = 1 when delta overflows (> 127 or < -128), in this case
707+ firmware sends us (delta x / 5) and (delta y / 5)
708+
709+byte 1:
710+
711+ bit 7 6 5 4 3 2 1 0
712+ x7 x6 x5 x4 x3 x2 x1 x0
713+
714+ x7..x0 = delta x (two's complement)
715+
716+byte 2:
717+
718+ bit 7 6 5 4 3 2 1 0
719+ y7 y6 y5 y4 y3 y2 y1 y0
720+
721+ y7..y0 = delta y (two's complement)
722+
723+byte 3:
724+
725+ bit 7 6 5 4 3 2 1 0
726+ id2 id1 id0 1 0 0 1 0
727+
728+ id2..id0 = finger id
729+
730+byte 4:
731+
732+ bit 7 6 5 4 3 2 1 0
733+ x7 x6 x5 x4 x3 x2 x1 x0
734+
735+ x7..x0 = delta x (two's complement)
736+
737+byte 5:
738+
739+ bit 7 6 5 4 3 2 1 0
740+ y7 y6 y5 y4 y3 y2 y1 y0
741+
742+ y7..y0 = delta y (two's complement)
743+
744+ byte 0 ~ 2 for one finger
745+ byte 3 ~ 5 for another
Documentation/input/multi-touch-protocol.txt+14−0
@@ -65,6 +65,20 @@ the full state of each initiated contact has to reside in the receiving · 64 unmodified lines
6565 end. Upon receiving an MT event, one simply updates the appropriate
6666 attribute of the current slot.
6767
68+Some devices identify and/or track more contacts than they can report to the
69+driver. A driver for such a device should associate one type B slot with each
70+contact that is reported by the hardware. Whenever the identity of the
71+contact associated with a slot changes, the driver should invalidate that
72+slot by changing its ABS_MT_TRACKING_ID. If the hardware signals that it is
73+tracking more contacts than it is currently reporting, the driver should use
74+a BTN_TOOL_*TAP event to inform userspace of the total number of contacts
75+being tracked by the hardware at that moment. The driver should do this by
76+explicitly sending the corresponding BTN_TOOL_*TAP event and setting
77+use_count to false when calling input_mt_report_pointer_emulation().
78+The driver should only advertise as many slots as the hardware can report.
79+Userspace can detect that a driver can report more total contacts than slots
80+by noting that the largest supported BTN_TOOL_*TAP event is larger than the
81+total number of type B slots reported in the absinfo for the ABS_MT_SLOT axis.
6882
6983 Protocol Example A
7084 ------------------
Documentation/kernel-parameters.txt+42−4
@@ -307,6 +307,19 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 306 unmodified lines
307307 behaviour to be specified. Bit 0 enables warnings,
308308 bit 1 enables fixups, and bit 2 sends a segfault.
309309
310+ align_va_addr= [X86-64]
311+ Align virtual addresses by clearing slice [14:12] when
312+ allocating a VMA at process creation time. This option
313+ gives you up to 3% performance improvement on AMD F15h
314+ machines (where it is enabled by default) for a
315+ CPU-intensive style benchmark, and it can vary highly in
316+ a microbenchmark depending on workload and compiler.
317+
318+ 1: only for 32-bit processes
319+ 2: only for 64-bit processes
320+ on: enable for both 32- and 64-bit processes
321+ off: disable for both 32- and 64-bit processes
322+
310323 amd_iommu= [HW,X86-84]
311324 Pass parameters to the AMD IOMMU driver in the system.
312325 Possible values are:
@@ -728,10 +741,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 415 unmodified lines
728741 See Documentation/block/cfq-iosched.txt and
729742 Documentation/block/deadline-iosched.txt for details.
730743
731− elfcorehdr= [IA-64,PPC,SH,X86]
744+ elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
732745 Specifies physical address of start of kernel core
733− image elf header. Generally kexec loader will
734− pass this option to capture kernel.
746+ image elf header and optionally the size. Generally
747+ kexec loader will pass this option to capture kernel.
735748 See Documentation/kdump/kdump.txt for details.
736749
737750 enable_mtrr_cleanup [X86]
@@ -960,6 +973,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 222 unmodified lines
960973 ignore_loglevel [KNL]
961974 Ignore loglevel setting - this will print /all/
962975 kernel messages to the console. Useful for debugging.
976+ We also add it as printk module parameter, so users
977+ could change it dynamically, usually by
978+ /sys/module/printk/parameters/ignore_loglevel.
963979
964980 ihash_entries= [KNL]
965981 Set number of hash buckets for inode cache.
@@ -1020,10 +1036,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 54 unmodified lines
10201036 has the capability. With this option, super page will
10211037 not be supported.
10221038 intremap= [X86-64, Intel-IOMMU]
1023− Format: { on (default) | off | nosid }
10241039 on enable Interrupt Remapping (default)
10251040 off disable Interrupt Remapping
10261041 nosid disable Source ID checking
1042+ no_x2apic_optout
1043+ BIOS x2APIC opt-out request will be ignored
10271044
10281045 inttest= [IA-64]
10291046
@@ -1187,6 +1204,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 157 unmodified lines
11871204 [KVM,Intel] Disable FlexPriority feature (TPR shadow).
11881205 Default is 1 (enabled)
11891206
1207+ kvm-intel.nested=
1208+ [KVM,Intel] Enable VMX nesting (nVMX).
1209+ Default is 0 (disabled)
1210+
11901211 kvm-intel.unrestricted_guest=
11911212 [KVM,Intel] Disable unrestricted guest feature
11921213 (virtualized real and unpaged mode) on capable
@@ -1648,6 +1669,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 455 unmodified lines
16481669 debugging driver suspend/resume hooks). This may
16491670 not work reliably with all consoles, but is known
16501671 to work with serial and VGA consoles.
1672+ To facilitate more flexible debugging, we also add
1673+ console_suspend, a printk module parameter to control
1674+ it. Users could use console_suspend (usually
1675+ /sys/module/printk/parameters/console_suspend) to
1676+ turn on/off it dynamically.
16511677
16521678 noaliencache [MM, NUMA, SLAB] Disables the allocation of alien
16531679 caches in the slab allocator. Saves per-node memory,
@@ -1783,6 +1809,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 129 unmodified lines
17831809
17841810 noresidual [PPC] Don't use residual data on PReP machines.
17851811
1812+ nordrand [X86] Disable the direct use of the RDRAND
1813+ instruction even if it is supported by the
1814+ processor. RDRAND is still available to user
1815+ space applications.
1816+
17861817 noresume [SWSUSP] Disables resume and restores original swap
17871818 space.
17881819
@@ -2246,6 +2277,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 457 unmodified lines
22462277 in <PAGE_SIZE> units (needed only for swap files).
22472278 See Documentation/power/swsusp-and-swap-files.txt
22482279
2280+ resumedelay= [HIBERNATION] Delay (in seconds) to pause before attempting to
2281+ read the resume files
2282+
2283+ resumewait [HIBERNATION] Wait (indefinitely) for resume device to show up.
2284+ Useful for devices that are detected asynchronously
2285+ (e.g. USB and MMC devices).
2286+
22492287 hibernate= [HIBERNATION]
22502288 noresume Don't check if there's a hibernation image
22512289 present during boot.
Documentation/laptops/thinkpad-acpi.txt+2−2
@@ -411,9 +411,9 @@ event code Key Notes · 410 unmodified lines
411411
412412 0x1004 0x03 FN+F4 Sleep button (ACPI sleep button
413413 semantics, i.e. sleep-to-RAM).
414− It is always generate some kind
414+ It always generates some kind
415415 of event, either the hot key
416− event or a ACPI sleep button
416+ event or an ACPI sleep button
417417 event. The firmware may
418418 refuse to generate further FN+F4
419419 key presses until a S3 or S4 ACPI
Documentation/leds/leds-class.txt+2−2
@@ -61,8 +61,8 @@ Hardware accelerated blink of LEDs · 60 unmodified lines
6161 Some LEDs can be programmed to blink without any CPU interaction. To
6262 support this feature, a LED driver can optionally implement the
6363 blink_set() function (see <linux/leds.h>). To set an LED to blinking,
64−however, it is better to use use the API function led_blink_set(),
65−as it will check and implement software fallback if necessary.
64+however, it is better to use the API function led_blink_set(), as it
65+will check and implement software fallback if necessary.
6666
6767 To turn off blinking again, use the API function led_brightness_set()
6868 as that will not just set the LED brightness but also stop any software
Documentation/networking/LICENSE.qlcnic+6−45
@@ -1,61 +1,22 @@
1−Copyright (c) 2009-2010 QLogic Corporation
1+Copyright (c) 2009-2011 QLogic Corporation
22 QLogic Linux qlcnic NIC Driver
33
4−This program includes a device driver for Linux 2.6 that may be
5−distributed with QLogic hardware specific firmware binary file.
64 You may modify and redistribute the device driver code under the
75 GNU General Public License (a copy of which is attached hereto as
86 Exhibit A) published by the Free Software Foundation (version 2).
97
10−You may redistribute the hardware specific firmware binary file
11−under the following terms:
12−
13− 1. Redistribution of source code (only if applicable),
14− must retain the above copyright notice, this list of
15− conditions and the following disclaimer.
16−
17− 2. Redistribution in binary form must reproduce the above
18− copyright notice, this list of conditions and the
19− following disclaimer in the documentation and/or other
20− materials provided with the distribution.
21−
22− 3. The name of QLogic Corporation may not be used to
23− endorse or promote products derived from this software
24− without specific prior written permission
25−
26−REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,
27−THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY
28−EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29−IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
30−PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
31−BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32−EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
33−TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34−DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35−ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
36−OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37−OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
38−POSSIBILITY OF SUCH DAMAGE.
39−
40−USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT
41−CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR
42−OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT,
43−TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
44−ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
45−COMBINATION WITH THIS PROGRAM.
46−
478
489 EXHIBIT A
4910
50− GNU GENERAL PUBLIC LICENSE
51− Version 2, June 1991
11+ GNU GENERAL PUBLIC LICENSE
12+ Version 2, June 1991
5213
5314 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5415 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
5516 Everyone is permitted to copy and distribute verbatim copies
5617 of this license document, but changing it is not allowed.
5718
58− Preamble
19+ Preamble
5920
6021 The licenses for most software are designed to take away your
6122 freedom to share and change it. By contrast, the GNU General Public
@@ -105,7 +66,7 @@ patent must be licensed for everyone's free use or not licensed at all. · 43 unmodified lines
10566 The precise terms and conditions for copying, distribution and
10667 modification follow.
10768
108− GNU GENERAL PUBLIC LICENSE
69+ GNU GENERAL PUBLIC LICENSE
10970 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
11071
11172 0. This License applies to any program or other work which contains
@@ -304,7 +265,7 @@ make exceptions for this. Our decision will be guided by the two goals · 192 unmodified lines
304265 of preserving the free status of all derivatives of our free software and
305266 of promoting the sharing and reuse of software generally.
306267
307− NO WARRANTY
268+ NO WARRANTY
308269
309270 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
310271 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
Documentation/networking/batman-adv.txt+4−4
@@ -1,4 +1,4 @@
1−[state: 17-04-2011]
1+[state: 21-08-2011]
22
33 BATMAN-ADV
44 ----------
@@ -68,9 +68,9 @@ All mesh wide settings can be found in batman's own interface · 63 unmodified lines
6868 folder:
6969
7070 # ls /sys/class/net/bat0/mesh/
71−# aggregated_ogms gw_bandwidth hop_penalty
72−# bonding gw_mode orig_interval
73−# fragmentation gw_sel_class vis_mode
71+# aggregated_ogms fragmentation gw_sel_class vis_mode
72+# ap_isolation gw_bandwidth hop_penalty
73+# bonding gw_mode orig_interval
7474
7575
7676 There is a special folder for debugging information:
Documentation/networking/ip-sysctl.txt+8−9
@@ -1045,6 +1045,11 @@ conf/interface/*: · 1044 unmodified lines
10451045 accept_ra - INTEGER
10461046 Accept Router Advertisements; autoconfigure using them.
10471047
1048+ It also determines whether or not to transmit Router
1049+ Solicitations. If and only if the functional setting is to
1050+ accept Router Advertisements, Router Solicitations will be
1051+ transmitted.
1052+
10481053 Possible values are:
10491054 0 Do not accept Router Advertisements.
10501055 1 Accept Router Advertisements if forwarding is disabled.
@@ -1115,14 +1120,14 @@ forwarding - INTEGER · 64 unmodified lines
11151120 Possible values are:
11161121 0 Forwarding disabled
11171122 1 Forwarding enabled
1118− 2 Forwarding enabled (Hybrid Mode)
11191123
11201124 FALSE (0):
11211125
11221126 By default, Host behaviour is assumed. This means:
11231127
11241128 1. IsRouter flag is not set in Neighbour Advertisements.
1125− 2. Router Solicitations are being sent when necessary.
1129+ 2. If accept_ra is TRUE (default), transmit Router
1130+ Solicitations.
11261131 3. If accept_ra is TRUE (default), accept Router
11271132 Advertisements (and do autoconfiguration).
11281133 4. If accept_redirects is TRUE (default), accept Redirects.
@@ -1133,16 +1138,10 @@ forwarding - INTEGER · 4 unmodified lines
11331138 This means exactly the reverse from the above:
11341139
11351140 1. IsRouter flag is set in Neighbour Advertisements.
1136− 2. Router Solicitations are not sent.
1141+ 2. Router Solicitations are not sent unless accept_ra is 2.
11371142 3. Router Advertisements are ignored unless accept_ra is 2.
11381143 4. Redirects are ignored.
11391144
1140− TRUE (2):
1141−
1142− Hybrid mode. Same behaviour as TRUE, except for:
1143−
1144− 2. Router Solicitations are being sent when necessary.
1145−
11461145 Default: 0 (disabled) if global forwarding is disabled (default),
11471146 otherwise 1 (enabled).
11481147
Documentation/networking/ipvs-sysctl.txt+55−7
@@ -15,6 +15,23 @@ amemthresh - INTEGER · 14 unmodified lines
1515 enabled and the variable is automatically set to 2, otherwise
1616 the strategy is disabled and the variable is set to 1.
1717
18+conntrack - BOOLEAN
19+ 0 - disabled (default)
20+ not 0 - enabled
21+
22+ If set, maintain connection tracking entries for
23+ connections handled by IPVS.
24+
25+ This should be enabled if connections handled by IPVS are to be
26+ also handled by stateful firewall rules. That is, iptables rules
27+ that make use of connection tracking. It is a performance
28+ optimisation to disable this setting otherwise.
29+
30+ Connections handled by the IPVS FTP application module
31+ will have connection tracking entries regardless of this setting.
32+
33+ Only available when IPVS is compiled with CONFIG_IP_VS_NFCT enabled.
34+
1835 cache_bypass - BOOLEAN
1936 0 - disabled (default)
2037 not 0 - enabled
@@ -39,7 +56,7 @@ debug_level - INTEGER · 18 unmodified lines
3956 11 - IPVS packet handling (ip_vs_in/ip_vs_out)
4057 12 or more - packet traversal
4158
42− Only available when IPVS is compiled with the CONFIG_IPVS_DEBUG
59+ Only available when IPVS is compiled with CONFIG_IP_VS_DEBUG enabled.
4360
4461 Higher debugging levels include the messages for lower debugging
4562 levels, so setting debug level 2, includes level 0, 1 and 2
@@ -123,13 +140,11 @@ nat_icmp_send - BOOLEAN · 77 unmodified lines
123140 secure_tcp - INTEGER
124141 0 - disabled (default)
125142
126− The secure_tcp defense is to use a more complicated state
127− transition table and some possible short timeouts of each
128− state. In the VS/NAT, it delays the entering the ESTABLISHED
129− until the real server starts to send data and ACK packet
130− (after 3-way handshake).
143+ The secure_tcp defense is to use a more complicated TCP state
144+ transition table. For VS/NAT, it also delays entering the
145+ TCP ESTABLISHED state until the three way handshake is completed.
131146
132− The value definition is the same as that of drop_entry or
147+ The value definition is the same as that of drop_entry and
133148 drop_packet.
134149
135150 sync_threshold - INTEGER
@@ -141,3 +156,36 @@ sync_threshold - INTEGER · 5 unmodified lines
141156 synchronized, every time the number of its incoming packets
142157 modulus 50 equals the threshold. The range of the threshold is
143158 from 0 to 49.
159+
160+snat_reroute - BOOLEAN
161+ 0 - disabled
162+ not 0 - enabled (default)
163+
164+ If enabled, recalculate the route of SNATed packets from
165+ realservers so that they are routed as if they originate from the
166+ director. Otherwise they are routed as if they are forwarded by the
167+ director.
168+
169+ If policy routing is in effect then it is possible that the route
170+ of a packet originating from a director is routed differently to a
171+ packet being forwarded by the director.
172+
173+ If policy routing is not in effect then the recalculated route will
174+ always be the same as the original route so it is an optimisation
175+ to disable snat_reroute and avoid the recalculation.
176+
177+sync_version - INTEGER
178+ default 1
179+
180+ The version of the synchronisation protocol used when sending
181+ synchronisation messages.
182+
183+ 0 selects the original synchronisation protocol (version 0). This
184+ should be used when sending synchronisation messages to a legacy
185+ system that only understands the original synchronisation protocol.
186+
187+ 1 selects the current synchronisation protocol (version 1). This
188+ should be used where possible.
189+
190+ Kernels with this sync_version entry are able to receive messages
191+ of both version 1 and version 2 of the synchronisation protocol.
Documentation/networking/mac80211-injection.txt+4−0
@@ -23,6 +23,10 @@ radiotap headers and used to control injection: · 22 unmodified lines
2323 IEEE80211_RADIOTAP_F_FRAG: frame will be fragmented if longer than the
2424 current fragmentation threshold.
2525
26+ * IEEE80211_RADIOTAP_TX_FLAGS
27+
28+ IEEE80211_RADIOTAP_F_TX_NOACK: frame should be sent without waiting for
29+ an ACK even if it is a unicast frame
2630
2731 The injection code can also skip all other currently defined radiotap fields
2832 facilitating replay of captured radiotap headers directly.
Documentation/networking/netdevices.txt+2−2
@@ -73,7 +73,7 @@ dev->hard_start_xmit: · 72 unmodified lines
7373 has to lock by itself when needed. It is recommended to use a try lock
7474 for this and return NETDEV_TX_LOCKED when the spin lock fails.
7575 The locking there should also properly protect against
76− set_multicast_list. Note that the use of NETIF_F_LLTX is deprecated.
76+ set_rx_mode. Note that the use of NETIF_F_LLTX is deprecated.
7777 Don't use it for new drivers.
7878
7979 Context: Process with BHs disabled or BH (timer),
@@ -92,7 +92,7 @@ dev->tx_timeout: · 12 unmodified lines
9292 Context: BHs disabled
9393 Notes: netif_queue_stopped() is guaranteed true
9494
95−dev->set_multicast_list:
95+dev->set_rx_mode:
9696 Synchronization: netif_tx_lock spinlock.
9797 Context: BHs disabled
9898
Documentation/networking/stmmac.txt+42−2
@@ -76,7 +76,16 @@ core. · 75 unmodified lines
7676
7777 4.5) DMA descriptors
7878 Driver handles both normal and enhanced descriptors. The latter has been only
79−tested on DWC Ether MAC 10/100/1000 Universal version 3.41a.
79+tested on DWC Ether MAC 10/100/1000 Universal version 3.41a and later.
80+
81+STMMAC supports DMA descriptor to operate both in dual buffer (RING)
82+and linked-list(CHAINED) mode. In RING each descriptor points to two
83+data buffer pointers whereas in CHAINED mode they point to only one data
84+buffer pointer. RING mode is the default.
85+
86+In CHAINED mode each descriptor will have pointer to next descriptor in
87+the list, hence creating the explicit chaining in the descriptor itself,
88+whereas such explicit chaining is not possible in RING mode.
8089
8190 4.6) Ethtool support
8291 Ethtool is supported. Driver statistics and internal errors can be taken using:
@@ -235,7 +244,38 @@ reset procedure etc). · 152 unmodified lines
235244 o enh_desc.c: functions for handling enhanced descriptors
236245 o norm_desc.c: functions for handling normal descriptors
237246
238−5) TODO:
247+5) Debug Information
248+
249+The driver exports many information i.e. internal statistics,
250+debug information, MAC and DMA registers etc.
251+
252+These can be read in several ways depending on the
253+type of the information actually needed.
254+
255+For example a user can be use the ethtool support
256+to get statistics: e.g. using: ethtool -S ethX
257+(that shows the Management counters (MMC) if supported)
258+or sees the MAC/DMA registers: e.g. using: ethtool -d ethX
259+
260+Compiling the Kernel with CONFIG_DEBUG_FS and enabling the
261+STMMAC_DEBUG_FS option the driver will export the following
262+debugfs entries:
263+
264+/sys/kernel/debug/stmmaceth/descriptors_status
265+ To show the DMA TX/RX descriptor rings
266+
267+Developer can also use the "debug" module parameter to get
268+further debug information.
269+
270+In the end, there are other macros (that cannot be enabled
271+via menuconfig) to turn-on the RX/TX DMA debugging,
272+specific MAC core debug printk etc. Others to enable the
273+debug in the TX and RX processes.
274+All these are only useful during the developing stage
275+and should never enabled inside the code for general usage.
276+In fact, these can generate an huge amount of debug messages.
277+
278+6) TODO:
239279 o XGMAC is not supported.
240280 o Review the timer optimisation code to use an embedded device that will be
241281 available in new chip generations.
Documentation/oops-tracing.txt+2−0
@@ -263,6 +263,8 @@ characters, each representing a particular tainted value. · 262 unmodified lines
263263 12: 'I' if the kernel is working around a severe bug in the platform
264264 firmware (BIOS or similar).
265265
266+ 13: 'O' if an externally-built ("out-of-tree") module has been loaded.
267+
266268 The primary reason for the 'Tainted: ' string is to tell kernel
267269 debuggers if this is a clean kernel or if anything unusual has
268270 occurred. Tainting is permanent: even if an offending module is
Documentation/pinctrl.txt+950−0
@@ -0,0 +1,950 @@
1+PINCTRL (PIN CONTROL) subsystem
2+This document outlines the pin control subsystem in Linux
3+
4+This subsystem deals with:
5+
6+- Enumerating and naming controllable pins
7+
8+- Multiplexing of pins, pads, fingers (etc) see below for details
9+
10+The intention is to also deal with:
11+
12+- Software-controlled biasing and driving mode specific pins, such as
13+ pull-up/down, open drain etc, load capacitance configuration when controlled
14+ by software, etc.
15+
16+
17+Top-level interface
18+===================
19+
20+Definition of PIN CONTROLLER:
21+
22+- A pin controller is a piece of hardware, usually a set of registers, that
23+ can control PINs. It may be able to multiplex, bias, set load capacitance,
24+ set drive strength etc for individual pins or groups of pins.
25+
26+Definition of PIN:
27+
28+- PINS are equal to pads, fingers, balls or whatever packaging input or
29+ output line you want to control and these are denoted by unsigned integers
30+ in the range 0..maxpin. This numberspace is local to each PIN CONTROLLER, so
31+ there may be several such number spaces in a system. This pin space may
32+ be sparse - i.e. there may be gaps in the space with numbers where no
33+ pin exists.
34+
35+When a PIN CONTROLLER is instatiated, it will register a descriptor to the
36+pin control framework, and this descriptor contains an array of pin descriptors
37+describing the pins handled by this specific pin controller.
38+
39+Here is an example of a PGA (Pin Grid Array) chip seen from underneath:
40+
41+ A B C D E F G H
42+
43+ 8 o o o o o o o o
44+
45+ 7 o o o o o o o o
46+
47+ 6 o o o o o o o o
48+
49+ 5 o o o o o o o o
50+
51+ 4 o o o o o o o o
52+
53+ 3 o o o o o o o o
54+
55+ 2 o o o o o o o o
56+
57+ 1 o o o o o o o o
58+
59+To register a pin controller and name all the pins on this package we can do
60+this in our driver:
61+
62+#include <linux/pinctrl/pinctrl.h>
63+
64+const struct pinctrl_pin_desc __refdata foo_pins[] = {
65+ PINCTRL_PIN(0, "A1"),
66+ PINCTRL_PIN(1, "A2"),
67+ PINCTRL_PIN(2, "A3"),
68+ ...
69+ PINCTRL_PIN(61, "H6"),
70+ PINCTRL_PIN(62, "H7"),
71+ PINCTRL_PIN(63, "H8"),
72+};
73+
74+static struct pinctrl_desc foo_desc = {
75+ .name = "foo",
76+ .pins = foo_pins,
77+ .npins = ARRAY_SIZE(foo_pins),
78+ .maxpin = 63,
79+ .owner = THIS_MODULE,
80+};
81+
82+int __init foo_probe(void)
83+{
84+ struct pinctrl_dev *pctl;
85+
86+ pctl = pinctrl_register(&foo_desc, <PARENT>, NULL);
87+ if (IS_ERR(pctl))
88+ pr_err("could not register foo pin driver\n");
89+}
90+
91+Pins usually have fancier names than this. You can find these in the dataheet
92+for your chip. Notice that the core pinctrl.h file provides a fancy macro
93+called PINCTRL_PIN() to create the struct entries. As you can see I enumerated
94+the pins from 0 in the upper left corner to 63 in the lower right corner,
95+this enumeration was arbitrarily chosen, in practice you need to think
96+through your numbering system so that it matches the layout of registers
97+and such things in your driver, or the code may become complicated. You must
98+also consider matching of offsets to the GPIO ranges that may be handled by
99+the pin controller.
100+
101+For a padring with 467 pads, as opposed to actual pins, I used an enumeration
102+like this, walking around the edge of the chip, which seems to be industry
103+standard too (all these pads had names, too):
104+
105+
106+ 0 ..... 104
107+ 466 105
108+ . .
109+ . .
110+ 358 224
111+ 357 .... 225
112+
113+
114+Pin groups
115+==========
116+
117+Many controllers need to deal with groups of pins, so the pin controller
118+subsystem has a mechanism for enumerating groups of pins and retrieving the
119+actual enumerated pins that are part of a certain group.
120+
121+For example, say that we have a group of pins dealing with an SPI interface
122+on { 0, 8, 16, 24 }, and a group of pins dealing with an I2C interface on pins
123+on { 24, 25 }.
124+
125+These two groups are presented to the pin control subsystem by implementing
126+some generic pinctrl_ops like this:
127+
128+#include <linux/pinctrl/pinctrl.h>
129+
130+struct foo_group {
131+ const char *name;
132+ const unsigned int *pins;
133+ const unsigned num_pins;
134+};
135+
136+static unsigned int spi0_pins[] = { 0, 8, 16, 24 };
137+static unsigned int i2c0_pins[] = { 24, 25 };
138+
139+static const struct foo_group foo_groups[] = {
140+ {
141+ .name = "spi0_grp",
142+ .pins = spi0_pins,
143+ .num_pins = ARRAY_SIZE(spi0_pins),
144+ },
145+ {
146+ .name = "i2c0_grp",
147+ .pins = i2c0_pins,
148+ .num_pins = ARRAY_SIZE(i2c0_pins),
149+ },
150+};
151+
152+
153+static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector)
154+{
155+ if (selector >= ARRAY_SIZE(foo_groups))
156+ return -EINVAL;
157+ return 0;
158+}
159+
160+static const char *foo_get_group_name(struct pinctrl_dev *pctldev,
161+ unsigned selector)
162+{
163+ return foo_groups[selector].name;
164+}
165+
166+static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector,
167+ unsigned ** const pins,
168+ unsigned * const num_pins)
169+{
170+ *pins = (unsigned *) foo_groups[selector].pins;
171+ *num_pins = foo_groups[selector].num_pins;
172+ return 0;
173+}
174+
175+static struct pinctrl_ops foo_pctrl_ops = {
176+ .list_groups = foo_list_groups,
177+ .get_group_name = foo_get_group_name,
178+ .get_group_pins = foo_get_group_pins,
179+};
180+
181+
182+static struct pinctrl_desc foo_desc = {
183+ ...
184+ .pctlops = &foo_pctrl_ops,
185+};
186+
187+The pin control subsystem will call the .list_groups() function repeatedly
188+beginning on 0 until it returns non-zero to determine legal selectors, then
189+it will call the other functions to retrieve the name and pins of the group.
190+Maintaining the data structure of the groups is up to the driver, this is
191+just a simple example - in practice you may need more entries in your group
192+structure, for example specific register ranges associated with each group
193+and so on.
194+
195+
196+Interaction with the GPIO subsystem
197+===================================
198+
199+The GPIO drivers may want to perform operations of various types on the same
200+physical pins that are also registered as pin controller pins.
201+
202+Since the pin controller subsystem have its pinspace local to the pin
203+controller we need a mapping so that the pin control subsystem can figure out
204+which pin controller handles control of a certain GPIO pin. Since a single
205+pin controller may be muxing several GPIO ranges (typically SoCs that have
206+one set of pins but internally several GPIO silicon blocks, each modeled as
207+a struct gpio_chip) any number of GPIO ranges can be added to a pin controller
208+instance like this:
209+
210+struct gpio_chip chip_a;
211+struct gpio_chip chip_b;
212+
213+static struct pinctrl_gpio_range gpio_range_a = {
214+ .name = "chip a",
215+ .id = 0,
216+ .base = 32,
217+ .npins = 16,
218+ .gc = &chip_a;
219+};
220+
221+static struct pinctrl_gpio_range gpio_range_a = {
222+ .name = "chip b",
223+ .id = 0,
224+ .base = 48,
225+ .npins = 8,
226+ .gc = &chip_b;
227+};
228+
229+
230+{
231+ struct pinctrl_dev *pctl;
232+ ...
233+ pinctrl_add_gpio_range(pctl, &gpio_range_a);
234+ pinctrl_add_gpio_range(pctl, &gpio_range_b);
235+}
236+
237+So this complex system has one pin controller handling two different
238+GPIO chips. Chip a has 16 pins and chip b has 8 pins. They are mapped in
239+the global GPIO pin space at:
240+
241+chip a: [32 .. 47]
242+chip b: [48 .. 55]
243+
244+When GPIO-specific functions in the pin control subsystem are called, these
245+ranges will be used to look up the apropriate pin controller by inspecting
246+and matching the pin to the pin ranges across all controllers. When a
247+pin controller handling the matching range is found, GPIO-specific functions
248+will be called on that specific pin controller.
249+
250+For all functionalities dealing with pin biasing, pin muxing etc, the pin
251+controller subsystem will subtract the range's .base offset from the passed
252+in gpio pin number, and pass that on to the pin control driver, so the driver
253+will get an offset into its handled number range. Further it is also passed
254+the range ID value, so that the pin controller knows which range it should
255+deal with.
256+
257+For example: if a user issues pinctrl_gpio_set_foo(50), the pin control
258+subsystem will find that the second range on this pin controller matches,
259+subtract the base 48 and call the
260+pinctrl_driver_gpio_set_foo(pinctrl, range, 2) where the latter function has
261+this signature:
262+
263+int pinctrl_driver_gpio_set_foo(struct pinctrl_dev *pctldev,
264+ struct pinctrl_gpio_range *rangeid,
265+ unsigned offset);
266+
267+Now the driver knows that we want to do some GPIO-specific operation on the
268+second GPIO range handled by "chip b", at offset 2 in that specific range.
269+
270+(If the GPIO subsystem is ever refactored to use a local per-GPIO controller
271+pin space, this mapping will need to be augmented accordingly.)
272+
273+
274+PINMUX interfaces
275+=================
276+
277+These calls use the pinmux_* naming prefix. No other calls should use that
278+prefix.
279+
280+
281+What is pinmuxing?
282+==================
283+
284+PINMUX, also known as padmux, ballmux, alternate functions or mission modes
285+is a way for chip vendors producing some kind of electrical packages to use
286+a certain physical pin (ball, pad, finger, etc) for multiple mutually exclusive
287+functions, depending on the application. By "application" in this context
288+we usually mean a way of soldering or wiring the package into an electronic
289+system, even though the framework makes it possible to also change the function
290+at runtime.
291+
292+Here is an example of a PGA (Pin Grid Array) chip seen from underneath:
293+
294+ A B C D E F G H
295+ +---+
296+ 8 | o | o o o o o o o
297+ | |
298+ 7 | o | o o o o o o o
299+ | |
300+ 6 | o | o o o o o o o
301+ +---+---+
302+ 5 | o | o | o o o o o o
303+ +---+---+ +---+
304+ 4 o o o o o o | o | o
305+ | |
306+ 3 o o o o o o | o | o
307+ | |
308+ 2 o o o o o o | o | o
309+ +-------+-------+-------+---+---+
310+ 1 | o o | o o | o o | o | o |
311+ +-------+-------+-------+---+---+
312+
313+This is not tetris. The game to think of is chess. Not all PGA/BGA packages
314+are chessboard-like, big ones have "holes" in some arrangement according to
315+different design patterns, but we're using this as a simple example. Of the
316+pins you see some will be taken by things like a few VCC and GND to feed power
317+to the chip, and quite a few will be taken by large ports like an external
318+memory interface. The remaining pins will often be subject to pin multiplexing.
319+
320+The example 8x8 PGA package above will have pin numbers 0 thru 63 assigned to
321+its physical pins. It will name the pins { A1, A2, A3 ... H6, H7, H8 } using
322+pinctrl_register_pins() and a suitable data set as shown earlier.
323+
324+In this 8x8 BGA package the pins { A8, A7, A6, A5 } can be used as an SPI port
325+(these are four pins: CLK, RXD, TXD, FRM). In that case, pin B5 can be used as
326+some general-purpose GPIO pin. However, in another setting, pins { A5, B5 } can
327+be used as an I2C port (these are just two pins: SCL, SDA). Needless to say,
328+we cannot use the SPI port and I2C port at the same time. However in the inside
329+of the package the silicon performing the SPI logic can alternatively be routed
330+out on pins { G4, G3, G2, G1 }.
331+
332+On the botton row at { A1, B1, C1, D1, E1, F1, G1, H1 } we have something
333+special - it's an external MMC bus that can be 2, 4 or 8 bits wide, and it will
334+consume 2, 4 or 8 pins respectively, so either { A1, B1 } are taken or
335+{ A1, B1, C1, D1 } or all of them. If we use all 8 bits, we cannot use the SPI
336+port on pins { G4, G3, G2, G1 } of course.
337+
338+This way the silicon blocks present inside the chip can be multiplexed "muxed"
339+out on different pin ranges. Often contemporary SoC (systems on chip) will
340+contain several I2C, SPI, SDIO/MMC, etc silicon blocks that can be routed to
341+different pins by pinmux settings.
342+
343+Since general-purpose I/O pins (GPIO) are typically always in shortage, it is
344+common to be able to use almost any pin as a GPIO pin if it is not currently
345+in use by some other I/O port.
346+
347+
348+Pinmux conventions
349+==================
350+
351+The purpose of the pinmux functionality in the pin controller subsystem is to
352+abstract and provide pinmux settings to the devices you choose to instantiate
353+in your machine configuration. It is inspired by the clk, GPIO and regulator
354+subsystems, so devices will request their mux setting, but it's also possible
355+to request a single pin for e.g. GPIO.
356+
357+Definitions:
358+
359+- FUNCTIONS can be switched in and out by a driver residing with the pin
360+ control subsystem in the drivers/pinctrl/* directory of the kernel. The
361+ pin control driver knows the possible functions. In the example above you can
362+ identify three pinmux functions, one for spi, one for i2c and one for mmc.
363+
364+- FUNCTIONS are assumed to be enumerable from zero in a one-dimensional array.
365+ In this case the array could be something like: { spi0, i2c0, mmc0 }
366+ for the three available functions.
367+
368+- FUNCTIONS have PIN GROUPS as defined on the generic level - so a certain
369+ function is *always* associated with a certain set of pin groups, could
370+ be just a single one, but could also be many. In the example above the
371+ function i2c is associated with the pins { A5, B5 }, enumerated as
372+ { 24, 25 } in the controller pin space.
373+
374+ The Function spi is associated with pin groups { A8, A7, A6, A5 }
375+ and { G4, G3, G2, G1 }, which are enumerated as { 0, 8, 16, 24 } and
376+ { 38, 46, 54, 62 } respectively.
377+
378+ Group names must be unique per pin controller, no two groups on the same
379+ controller may have the same name.
380+
381+- The combination of a FUNCTION and a PIN GROUP determine a certain function
382+ for a certain set of pins. The knowledge of the functions and pin groups
383+ and their machine-specific particulars are kept inside the pinmux driver,
384+ from the outside only the enumerators are known, and the driver core can:
385+
386+ - Request the name of a function with a certain selector (>= 0)
387+ - A list of groups associated with a certain function
388+ - Request that a certain group in that list to be activated for a certain
389+ function
390+
391+ As already described above, pin groups are in turn self-descriptive, so
392+ the core will retrieve the actual pin range in a certain group from the
393+ driver.
394+
395+- FUNCTIONS and GROUPS on a certain PIN CONTROLLER are MAPPED to a certain
396+ device by the board file, device tree or similar machine setup configuration
397+ mechanism, similar to how regulators are connected to devices, usually by
398+ name. Defining a pin controller, function and group thus uniquely identify
399+ the set of pins to be used by a certain device. (If only one possible group
400+ of pins is available for the function, no group name need to be supplied -
401+ the core will simply select the first and only group available.)
402+
403+ In the example case we can define that this particular machine shall
404+ use device spi0 with pinmux function fspi0 group gspi0 and i2c0 on function
405+ fi2c0 group gi2c0, on the primary pin controller, we get mappings
406+ like these:
407+
408+ {
409+ {"map-spi0", spi0, pinctrl0, fspi0, gspi0},
410+ {"map-i2c0", i2c0, pinctrl0, fi2c0, gi2c0}
411+ }
412+
413+ Every map must be assigned a symbolic name, pin controller and function.
414+ The group is not compulsory - if it is omitted the first group presented by
415+ the driver as applicable for the function will be selected, which is
416+ useful for simple cases.
417+
418+ The device name is present in map entries tied to specific devices. Maps
419+ without device names are referred to as SYSTEM pinmuxes, such as can be taken
420+ by the machine implementation on boot and not tied to any specific device.
421+
422+ It is possible to map several groups to the same combination of device,
423+ pin controller and function. This is for cases where a certain function on
424+ a certain pin controller may use different sets of pins in different
425+ configurations.
426+
427+- PINS for a certain FUNCTION using a certain PIN GROUP on a certain
428+ PIN CONTROLLER are provided on a first-come first-serve basis, so if some
429+ other device mux setting or GPIO pin request has already taken your physical
430+ pin, you will be denied the use of it. To get (activate) a new setting, the
431+ old one has to be put (deactivated) first.
432+
433+Sometimes the documentation and hardware registers will be oriented around
434+pads (or "fingers") rather than pins - these are the soldering surfaces on the
435+silicon inside the package, and may or may not match the actual number of
436+pins/balls underneath the capsule. Pick some enumeration that makes sense to
437+you. Define enumerators only for the pins you can control if that makes sense.
438+
439+Assumptions:
440+
441+We assume that the number possible function maps to pin groups is limited by
442+the hardware. I.e. we assume that there is no system where any function can be
443+mapped to any pin, like in a phone exchange. So the available pins groups for
444+a certain function will be limited to a few choices (say up to eight or so),
445+not hundreds or any amount of choices. This is the characteristic we have found
446+by inspecting available pinmux hardware, and a necessary assumption since we
447+expect pinmux drivers to present *all* possible function vs pin group mappings
448+to the subsystem.
449+
450+
451+Pinmux drivers
452+==============
453+
454+The pinmux core takes care of preventing conflicts on pins and calling
455+the pin controller driver to execute different settings.
456+
457+It is the responsibility of the pinmux driver to impose further restrictions
458+(say for example infer electronic limitations due to load etc) to determine
459+whether or not the requested function can actually be allowed, and in case it
460+is possible to perform the requested mux setting, poke the hardware so that
461+this happens.
462+
463+Pinmux drivers are required to supply a few callback functions, some are
464+optional. Usually the enable() and disable() functions are implemented,
465+writing values into some certain registers to activate a certain mux setting
466+for a certain pin.
467+
468+A simple driver for the above example will work by setting bits 0, 1, 2, 3 or 4
469+into some register named MUX to select a certain function with a certain
470+group of pins would work something like this:
471+
472+#include <linux/pinctrl/pinctrl.h>
473+#include <linux/pinctrl/pinmux.h>
474+
475+struct foo_group {
476+ const char *name;
477+ const unsigned int *pins;
478+ const unsigned num_pins;
479+};
480+
481+static const unsigned spi0_0_pins[] = { 0, 8, 16, 24 };
482+static const unsigned spi0_1_pins[] = { 38, 46, 54, 62 };
483+static const unsigned i2c0_pins[] = { 24, 25 };
484+static const unsigned mmc0_1_pins[] = { 56, 57 };
485+static const unsigned mmc0_2_pins[] = { 58, 59 };
486+static const unsigned mmc0_3_pins[] = { 60, 61, 62, 63 };
487+
488+static const struct foo_group foo_groups[] = {
489+ {
490+ .name = "spi0_0_grp",
491+ .pins = spi0_0_pins,
492+ .num_pins = ARRAY_SIZE(spi0_0_pins),
493+ },
494+ {
495+ .name = "spi0_1_grp",
496+ .pins = spi0_1_pins,
497+ .num_pins = ARRAY_SIZE(spi0_1_pins),
498+ },
499+ {
500+ .name = "i2c0_grp",
501+ .pins = i2c0_pins,
502+ .num_pins = ARRAY_SIZE(i2c0_pins),
503+ },
504+ {
505+ .name = "mmc0_1_grp",
506+ .pins = mmc0_1_pins,
507+ .num_pins = ARRAY_SIZE(mmc0_1_pins),
508+ },
509+ {
510+ .name = "mmc0_2_grp",
511+ .pins = mmc0_2_pins,
512+ .num_pins = ARRAY_SIZE(mmc0_2_pins),
513+ },
514+ {
515+ .name = "mmc0_3_grp",
516+ .pins = mmc0_3_pins,
517+ .num_pins = ARRAY_SIZE(mmc0_3_pins),
518+ },
519+};
520+
521+
522+static int foo_list_groups(struct pinctrl_dev *pctldev, unsigned selector)
523+{
524+ if (selector >= ARRAY_SIZE(foo_groups))
525+ return -EINVAL;
526+ return 0;
527+}
528+
529+static const char *foo_get_group_name(struct pinctrl_dev *pctldev,
530+ unsigned selector)
531+{
532+ return foo_groups[selector].name;
533+}
534+
535+static int foo_get_group_pins(struct pinctrl_dev *pctldev, unsigned selector,
536+ unsigned ** const pins,
537+ unsigned * const num_pins)
538+{
539+ *pins = (unsigned *) foo_groups[selector].pins;
540+ *num_pins = foo_groups[selector].num_pins;
541+ return 0;
542+}
543+
544+static struct pinctrl_ops foo_pctrl_ops = {
545+ .list_groups = foo_list_groups,
546+ .get_group_name = foo_get_group_name,
547+ .get_group_pins = foo_get_group_pins,
548+};
549+
550+struct foo_pmx_func {
551+ const char *name;
552+ const char * const *groups;
553+ const unsigned num_groups;
554+};
555+
556+static const char * const spi0_groups[] = { "spi0_1_grp" };
557+static const char * const i2c0_groups[] = { "i2c0_grp" };
558+static const char * const mmc0_groups[] = { "mmc0_1_grp", "mmc0_2_grp",
559+ "mmc0_3_grp" };
560+
561+static const struct foo_pmx_func foo_functions[] = {
562+ {
563+ .name = "spi0",
564+ .groups = spi0_groups,
565+ .num_groups = ARRAY_SIZE(spi0_groups),
566+ },
567+ {
568+ .name = "i2c0",
569+ .groups = i2c0_groups,
570+ .num_groups = ARRAY_SIZE(i2c0_groups),
571+ },
572+ {
573+ .name = "mmc0",
574+ .groups = mmc0_groups,
575+ .num_groups = ARRAY_SIZE(mmc0_groups),
576+ },
577+};
578+
579+int foo_list_funcs(struct pinctrl_dev *pctldev, unsigned selector)
580+{
581+ if (selector >= ARRAY_SIZE(foo_functions))
582+ return -EINVAL;
583+ return 0;
584+}
585+
586+const char *foo_get_fname(struct pinctrl_dev *pctldev, unsigned selector)
587+{
588+ return myfuncs[selector].name;
589+}
590+
591+static int foo_get_groups(struct pinctrl_dev *pctldev, unsigned selector,
592+ const char * const **groups,
593+ unsigned * const num_groups)
594+{
595+ *groups = foo_functions[selector].groups;
596+ *num_groups = foo_functions[selector].num_groups;
597+ return 0;
598+}
599+
600+int foo_enable(struct pinctrl_dev *pctldev, unsigned selector,
601+ unsigned group)
602+{
603+ u8 regbit = (1 << group);
604+
605+ writeb((readb(MUX)|regbit), MUX)
606+ return 0;
607+}
608+
609+int foo_disable(struct pinctrl_dev *pctldev, unsigned selector,
610+ unsigned group)
611+{
612+ u8 regbit = (1 << group);
613+
614+ writeb((readb(MUX) & ~(regbit)), MUX)
615+ return 0;
616+}
617+
618+struct pinmux_ops foo_pmxops = {
619+ .list_functions = foo_list_funcs,
620+ .get_function_name = foo_get_fname,
621+ .get_function_groups = foo_get_groups,
622+ .enable = foo_enable,
623+ .disable = foo_disable,
624+};
625+
626+/* Pinmux operations are handled by some pin controller */
627+static struct pinctrl_desc foo_desc = {
628+ ...
629+ .pctlops = &foo_pctrl_ops,
630+ .pmxops = &foo_pmxops,
631+};
632+
633+In the example activating muxing 0 and 1 at the same time setting bits
634+0 and 1, uses one pin in common so they would collide.
635+
636+The beauty of the pinmux subsystem is that since it keeps track of all
637+pins and who is using them, it will already have denied an impossible
638+request like that, so the driver does not need to worry about such
639+things - when it gets a selector passed in, the pinmux subsystem makes
640+sure no other device or GPIO assignment is already using the selected
641+pins. Thus bits 0 and 1 in the control register will never be set at the
642+same time.
643+
644+All the above functions are mandatory to implement for a pinmux driver.
645+
646+
647+Pinmux interaction with the GPIO subsystem
648+==========================================
649+
650+The function list could become long, especially if you can convert every
651+individual pin into a GPIO pin independent of any other pins, and then try
652+the approach to define every pin as a function.
653+
654+In this case, the function array would become 64 entries for each GPIO
655+setting and then the device functions.
656+
657+For this reason there is an additional function a pinmux driver can implement
658+to enable only GPIO on an individual pin: .gpio_request_enable(). The same
659+.free() function as for other functions is assumed to be usable also for
660+GPIO pins.
661+
662+This function will pass in the affected GPIO range identified by the pin
663+controller core, so you know which GPIO pins are being affected by the request
664+operation.
665+
666+Alternatively it is fully allowed to use named functions for each GPIO
667+pin, the pinmux_request_gpio() will attempt to obtain the function "gpioN"
668+where "N" is the global GPIO pin number if no special GPIO-handler is
669+registered.
670+
671+
672+Pinmux board/machine configuration
673+==================================
674+
675+Boards and machines define how a certain complete running system is put
676+together, including how GPIOs and devices are muxed, how regulators are
677+constrained and how the clock tree looks. Of course pinmux settings are also
678+part of this.
679+
680+A pinmux config for a machine looks pretty much like a simple regulator
681+configuration, so for the example array above we want to enable i2c and
682+spi on the second function mapping:
683+
684+#include <linux/pinctrl/machine.h>
685+
686+static struct pinmux_map pmx_mapping[] = {
687+ {
688+ .ctrl_dev_name = "pinctrl.0",
689+ .function = "spi0",
690+ .dev_name = "foo-spi.0",
691+ },
692+ {
693+ .ctrl_dev_name = "pinctrl.0",
694+ .function = "i2c0",
695+ .dev_name = "foo-i2c.0",
696+ },
697+ {
698+ .ctrl_dev_name = "pinctrl.0",
699+ .function = "mmc0",
700+ .dev_name = "foo-mmc.0",
701+ },
702+};
703+
704+The dev_name here matches to the unique device name that can be used to look
705+up the device struct (just like with clockdev or regulators). The function name
706+must match a function provided by the pinmux driver handling this pin range.
707+
708+As you can see we may have several pin controllers on the system and thus
709+we need to specify which one of them that contain the functions we wish
710+to map. The map can also use struct device * directly, so there is no
711+inherent need to use strings to specify .dev_name or .ctrl_dev_name, these
712+are for the situation where you do not have a handle to the struct device *,
713+for example if they are not yet instantiated or cumbersome to obtain.
714+
715+You register this pinmux mapping to the pinmux subsystem by simply:
716+
717+ ret = pinmux_register_mappings(&pmx_mapping, ARRAY_SIZE(pmx_mapping));
718+
719+Since the above construct is pretty common there is a helper macro to make
720+it even more compact which assumes you want to use pinctrl.0 and position
721+0 for mapping, for example:
722+
723+static struct pinmux_map pmx_mapping[] = {
724+ PINMUX_MAP_PRIMARY("I2CMAP", "i2c0", "foo-i2c.0"),
725+};
726+
727+
728+Complex mappings
729+================
730+
731+As it is possible to map a function to different groups of pins an optional
732+.group can be specified like this:
733+
734+...
735+{
736+ .name = "spi0-pos-A",
737+ .ctrl_dev_name = "pinctrl.0",
738+ .function = "spi0",
739+ .group = "spi0_0_grp",
740+ .dev_name = "foo-spi.0",
741+},
742+{
743+ .name = "spi0-pos-B",
744+ .ctrl_dev_name = "pinctrl.0",
745+ .function = "spi0",
746+ .group = "spi0_1_grp",
747+ .dev_name = "foo-spi.0",
748+},
749+...
750+
751+This example mapping is used to switch between two positions for spi0 at
752+runtime, as described further below under the heading "Runtime pinmuxing".
753+
754+Further it is possible to match several groups of pins to the same function
755+for a single device, say for example in the mmc0 example above, where you can
756+additively expand the mmc0 bus from 2 to 4 to 8 pins. If we want to use all
757+three groups for a total of 2+2+4 = 8 pins (for an 8-bit MMC bus as is the
758+case), we define a mapping like this:
759+
760+...
761+{
762+ .name "2bit"
763+ .ctrl_dev_name = "pinctrl.0",
764+ .function = "mmc0",
765+ .group = "mmc0_0_grp",
766+ .dev_name = "foo-mmc.0",
767+},
768+{
769+ .name "4bit"
770+ .ctrl_dev_name = "pinctrl.0",
771+ .function = "mmc0",
772+ .group = "mmc0_0_grp",
773+ .dev_name = "foo-mmc.0",
774+},
775+{
776+ .name "4bit"
777+ .ctrl_dev_name = "pinctrl.0",
778+ .function = "mmc0",
779+ .group = "mmc0_1_grp",
780+ .dev_name = "foo-mmc.0",
781+},
782+{
783+ .name "8bit"
784+ .ctrl_dev_name = "pinctrl.0",
785+ .function = "mmc0",
786+ .group = "mmc0_0_grp",
787+ .dev_name = "foo-mmc.0",
788+},
789+{
790+ .name "8bit"
791+ .ctrl_dev_name = "pinctrl.0",
792+ .function = "mmc0",
793+ .group = "mmc0_1_grp",
794+ .dev_name = "foo-mmc.0",
795+},
796+{
797+ .name "8bit"
798+ .ctrl_dev_name = "pinctrl.0",
799+ .function = "mmc0",
800+ .group = "mmc0_2_grp",
801+ .dev_name = "foo-mmc.0",
802+},
803+...
804+
805+The result of grabbing this mapping from the device with something like
806+this (see next paragraph):
807+
808+ pmx = pinmux_get(&device, "8bit");
809+
810+Will be that you activate all the three bottom records in the mapping at
811+once. Since they share the same name, pin controller device, funcion and
812+device, and since we allow multiple groups to match to a single device, they
813+all get selected, and they all get enabled and disable simultaneously by the
814+pinmux core.
815+
816+
817+Pinmux requests from drivers
818+============================
819+
820+Generally it is discouraged to let individual drivers get and enable pinmuxes.
821+So if possible, handle the pinmuxes in platform code or some other place where
822+you have access to all the affected struct device * pointers. In some cases
823+where a driver needs to switch between different mux mappings at runtime
824+this is not possible.
825+
826+A driver may request a certain mux to be activated, usually just the default
827+mux like this:
828+
829+#include <linux/pinctrl/pinmux.h>
830+
831+struct foo_state {
832+ struct pinmux *pmx;
833+ ...
834+};
835+
836+foo_probe()
837+{
838+ /* Allocate a state holder named "state" etc */
839+ struct pinmux pmx;
840+
841+ pmx = pinmux_get(&device, NULL);
842+ if IS_ERR(pmx)
843+ return PTR_ERR(pmx);
844+ pinmux_enable(pmx);
845+
846+ state->pmx = pmx;
847+}
848+
849+foo_remove()
850+{
851+ pinmux_disable(state->pmx);
852+ pinmux_put(state->pmx);
853+}
854+
855+If you want to grab a specific mux mapping and not just the first one found for
856+this device you can specify a specific mapping name, for example in the above
857+example the second i2c0 setting: pinmux_get(&device, "spi0-pos-B");
858+
859+This get/enable/disable/put sequence can just as well be handled by bus drivers
860+if you don't want each and every driver to handle it and you know the
861+arrangement on your bus.
862+
863+The semantics of the get/enable respective disable/put is as follows:
864+
865+- pinmux_get() is called in process context to reserve the pins affected with
866+ a certain mapping and set up the pinmux core and the driver. It will allocate
867+ a struct from the kernel memory to hold the pinmux state.
868+
869+- pinmux_enable()/pinmux_disable() is quick and can be called from fastpath
870+ (irq context) when you quickly want to set up/tear down the hardware muxing
871+ when running a device driver. Usually it will just poke some values into a
872+ register.
873+
874+- pinmux_disable() is called in process context to tear down the pin requests
875+ and release the state holder struct for the mux setting.
876+
877+Usually the pinmux core handled the get/put pair and call out to the device
878+drivers bookkeeping operations, like checking available functions and the
879+associated pins, whereas the enable/disable pass on to the pin controller
880+driver which takes care of activating and/or deactivating the mux setting by
881+quickly poking some registers.
882+
883+The pins are allocated for your device when you issue the pinmux_get() call,
884+after this you should be able to see this in the debugfs listing of all pins.
885+
886+
887+System pinmux hogging
888+=====================
889+
890+A system pinmux map entry, i.e. a pinmux setting that does not have a device
891+associated with it, can be hogged by the core when the pin controller is
892+registered. This means that the core will attempt to call pinmux_get() and
893+pinmux_enable() on it immediately after the pin control device has been
894+registered.
895+
896+This is enabled by simply setting the .hog_on_boot field in the map to true,
897+like this:
898+
899+{
900+ .name "POWERMAP"
901+ .ctrl_dev_name = "pinctrl.0",
902+ .function = "power_func",
903+ .hog_on_boot = true,
904+},
905+
906+Since it may be common to request the core to hog a few always-applicable
907+mux settings on the primary pin controller, there is a convenience macro for
908+this:
909+
910+PINMUX_MAP_PRIMARY_SYS_HOG("POWERMAP", "power_func")
911+
912+This gives the exact same result as the above construction.
913+
914+
915+Runtime pinmuxing
916+=================
917+
918+It is possible to mux a certain function in and out at runtime, say to move
919+an SPI port from one set of pins to another set of pins. Say for example for
920+spi0 in the example above, we expose two different groups of pins for the same
921+function, but with different named in the mapping as described under
922+"Advanced mapping" above. So we have two mappings named "spi0-pos-A" and
923+"spi0-pos-B".
924+
925+This snippet first muxes the function in the pins defined by group A, enables
926+it, disables and releases it, and muxes it in on the pins defined by group B:
927+
928+foo_switch()
929+{
930+ struct pinmux pmx;
931+
932+ /* Enable on position A */
933+ pmx = pinmux_get(&device, "spi0-pos-A");
934+ if IS_ERR(pmx)
935+ return PTR_ERR(pmx);
936+ pinmux_enable(pmx);
937+
938+ /* This releases the pins again */
939+ pinmux_disable(pmx);
940+ pinmux_put(pmx);
941+
942+ /* Enable on position B */
943+ pmx = pinmux_get(&device, "spi0-pos-B");
944+ if IS_ERR(pmx)
945+ return PTR_ERR(pmx);
946+ pinmux_enable(pmx);
947+ ...
948+}
949+
950+The above has to be done from process context.
Documentation/power/00-INDEX+2−0
@@ -26,6 +26,8 @@ s2ram.txt · 25 unmodified lines
2626 - How to get suspend to ram working (and debug it when it isn't)
2727 states.txt
2828 - System power management states
29+suspend-and-cpuhotplug.txt
30+ - Explains the interaction between Suspend-to-RAM (S3) and CPU hotplug
2931 swsusp-and-swap-files.txt
3032 - Using swap files with software suspend (to disk)
3133 swsusp-dmcrypt.txt
Documentation/power/basic-pm-debugging.txt+24−0
@@ -201,3 +201,27 @@ case, you may be able to search for failing drivers by following the procedure · 200 unmodified lines
201201 analogous to the one described in section 1. If you find some failing drivers,
202202 you will have to unload them every time before an STR transition (ie. before
203203 you run s2ram), and please report the problems with them.
204+
205+There is a debugfs entry which shows the suspend to RAM statistics. Here is an
206+example of its output.
207+ # mount -t debugfs none /sys/kernel/debug
208+ # cat /sys/kernel/debug/suspend_stats
209+ success: 20
210+ fail: 5
211+ failed_freeze: 0
212+ failed_prepare: 0
213+ failed_suspend: 5
214+ failed_suspend_noirq: 0
215+ failed_resume: 0
216+ failed_resume_noirq: 0
217+ failures:
218+ last_failed_dev: alarm
219+ adc
220+ last_failed_errno: -16
221+ -16
222+ last_failed_step: suspend
223+ suspend
224+Field success means the success number of suspend to RAM, and field fail means
225+the failure number. Others are the failure number of different steps of suspend
226+to RAM. suspend_stats just lists the last 2 failed devices, error number and
227+failed step of suspend.
Documentation/power/devices.txt+3−5
@@ -152,7 +152,9 @@ try to use its wakeup mechanism. device_set_wakeup_enable() affects this flag; · 151 unmodified lines
152152 for the most part drivers should not change its value. The initial value of
153153 should_wakeup is supposed to be false for the majority of devices; the major
154154 exceptions are power buttons, keyboards, and Ethernet adapters whose WoL
155−(wake-on-LAN) feature has been set up with ethtool.
155+(wake-on-LAN) feature has been set up with ethtool. It should also default
156+to true for devices that don't generate wakeup requests on their own but merely
157+forward wakeup requests from one bus to another (like PCI bridges).
156158
157159 Whether or not a device is capable of issuing wakeup events is a hardware
158160 matter, and the kernel is responsible for keeping track of it. By contrast,
@@ -279,10 +281,6 @@ When the system goes into the standby or memory sleep state, the phases are: · 120 unmodified lines
279281 time.) Unlike the other suspend-related phases, during the prepare
280282 phase the device tree is traversed top-down.
281283
282− In addition to that, if device drivers need to allocate additional
283− memory to be able to hadle device suspend correctly, that should be
284− done in the prepare phase.
285−
286284 After the prepare callback method returns, no new children may be
287285 registered below the device. The method may also prepare the device or
288286 driver in some way for the upcoming system power transition (for
Documentation/power/freezing-of-tasks.txt+4−4
@@ -22,12 +22,12 @@ try_to_freeze_tasks() that sets TIF_FREEZE for all of the freezable tasks and · 21 unmodified lines
2222 either wakes them up, if they are kernel threads, or sends fake signals to them,
2323 if they are user space processes. A task that has TIF_FREEZE set, should react
2424 to it by calling the function called refrigerator() (defined in
25−kernel/power/process.c), which sets the task's PF_FROZEN flag, changes its state
25+kernel/freezer.c), which sets the task's PF_FROZEN flag, changes its state
2626 to TASK_UNINTERRUPTIBLE and makes it loop until PF_FROZEN is cleared for it.
2727 Then, we say that the task is 'frozen' and therefore the set of functions
2828 handling this mechanism is referred to as 'the freezer' (these functions are
29−defined in kernel/power/process.c and include/linux/freezer.h). User space
30−processes are generally frozen before kernel threads.
29+defined in kernel/power/process.c, kernel/freezer.c & include/linux/freezer.h).
30+User space processes are generally frozen before kernel threads.
3131
3232 It is not recommended to call refrigerator() directly. Instead, it is
3333 recommended to use the try_to_freeze() function (defined in
@@ -95,7 +95,7 @@ after the memory for the image has been freed, we don't want tasks to allocate · 61 unmodified lines
9595 additional memory and we prevent them from doing that by freezing them earlier.
9696 [Of course, this also means that device drivers should not allocate substantial
9797 amounts of memory from their .suspend() callbacks before hibernation, but this
98−is e separate issue.]
98+is a separate issue.]
9999
100100 3. The third reason is to prevent user space processes and some kernel threads
101101 from interfering with the suspending and resuming of devices. A user space
Documentation/power/pm_qos_interface.txt+87−5
@@ -4,14 +4,19 @@ This interface provides a kernel and user mode interface for registering · 3 unmodified lines
44 performance expectations by drivers, subsystems and user space applications on
55 one of the parameters.
66
7−Currently we have {cpu_dma_latency, network_latency, network_throughput} as the
8−initial set of pm_qos parameters.
7+Two different PM QoS frameworks are available:
8+1. PM QoS classes for cpu_dma_latency, network_latency, network_throughput.
9+2. the per-device PM QoS framework provides the API to manage the per-device latency
10+constraints.
911
1012 Each parameters have defined units:
1113 * latency: usec
1214 * timeout: usec
1315 * throughput: kbs (kilo bit / sec)
1416
17+
18+1. PM QoS framework
19+
1520 The infrastructure exposes multiple misc device nodes one per implemented
1621 parameter. The set of parameters implement is defined by pm_qos_power_init()
1722 and pm_qos_params.h. This is done because having the available parameters
@@ -23,14 +28,18 @@ an aggregated target value. The aggregated target value is updated with · 5 unmodified lines
2328 changes to the request list or elements of the list. Typically the
2429 aggregated target value is simply the max or min of the request values held
2530 in the parameter list elements.
31+Note: the aggregated target value is implemented as an atomic variable so that
32+reading the aggregated value does not require any locking mechanism.
33+
2634
2735 From kernel mode the use of this interface is simple:
2836
29−handle = pm_qos_add_request(param_class, target_value):
30−Will insert an element into the list for that identified PM_QOS class with the
37+void pm_qos_add_request(handle, param_class, target_value):
38+Will insert an element into the list for that identified PM QoS class with the
3139 target value. Upon change to this list the new target is recomputed and any
3240 registered notifiers are called only if the target value is now different.
33−Clients of pm_qos need to save the returned handle.
41+Clients of pm_qos need to save the returned handle for future use in other
42+pm_qos API functions.
3443
3544 void pm_qos_update_request(handle, new_target_value):
3645 Will update the list element pointed to by the handle with the new target value
@@ -42,6 +51,20 @@ Will remove the element. After removal it will update the aggregate target and · 5 unmodified lines
4251 call the notification tree if the target was changed as a result of removing
4352 the request.
4453
54+int pm_qos_request(param_class):
55+Returns the aggregated value for a given PM QoS class.
56+
57+int pm_qos_request_active(handle):
58+Returns if the request is still active, i.e. it has not been removed from a
59+PM QoS class constraints list.
60+
61+int pm_qos_add_notifier(param_class, notifier):
62+Adds a notification callback function to the PM QoS class. The callback is
63+called when the aggregated value for the PM QoS class is changed.
64+
65+int pm_qos_remove_notifier(int param_class, notifier):
66+Removes the notification callback function for the PM QoS class.
67+
4568
4669 From user mode:
4770 Only processes can register a pm_qos request. To provide for automatic
@@ -63,4 +86,63 @@ To remove the user mode request for a target value simply close the device · 15 unmodified lines
6386 node.
6487
6588
89+2. PM QoS per-device latency framework
90+
91+For each device a list of performance requests is maintained along with
92+an aggregated target value. The aggregated target value is updated with
93+changes to the request list or elements of the list. Typically the
94+aggregated target value is simply the max or min of the request values held
95+in the parameter list elements.
96+Note: the aggregated target value is implemented as an atomic variable so that
97+reading the aggregated value does not require any locking mechanism.
98+
99+
100+From kernel mode the use of this interface is the following:
101+
102+int dev_pm_qos_add_request(device, handle, value):
103+Will insert an element into the list for that identified device with the
104+target value. Upon change to this list the new target is recomputed and any
105+registered notifiers are called only if the target value is now different.
106+Clients of dev_pm_qos need to save the handle for future use in other
107+dev_pm_qos API functions.
108+
109+int dev_pm_qos_update_request(handle, new_value):
110+Will update the list element pointed to by the handle with the new target value
111+and recompute the new aggregated target, calling the notification trees if the
112+target is changed.
113+
114+int dev_pm_qos_remove_request(handle):
115+Will remove the element. After removal it will update the aggregate target and
116+call the notification trees if the target was changed as a result of removing
117+the request.
118+
119+s32 dev_pm_qos_read_value(device):
120+Returns the aggregated value for a given device's constraints list.
121+
122+
123+Notification mechanisms:
124+The per-device PM QoS framework has 2 different and distinct notification trees:
125+a per-device notification tree and a global notification tree.
126+
127+int dev_pm_qos_add_notifier(device, notifier):
128+Adds a notification callback function for the device.
129+The callback is called when the aggregated value of the device constraints list
130+is changed.
131+
132+int dev_pm_qos_remove_notifier(device, notifier):
133+Removes the notification callback function for the device.
134+
135+int dev_pm_qos_add_global_notifier(notifier):
136+Adds a notification callback function in the global notification tree of the
137+framework.
138+The callback is called when the aggregated value for any device is changed.
139+
140+int dev_pm_qos_remove_global_notifier(notifier):
141+Removes the notification callback function from the global notification tree
142+of the framework.
143+
144+
145+From user mode:
146+No API for user space access to the per-device latency constraints is provided
147+yet - still under discussion.
66148
Documentation/power/regulator/machine.txt+13−6
@@ -16,7 +16,7 @@ initialisation code by creating a struct regulator_consumer_supply for · 15 unmodified lines
1616 each regulator.
1717
1818 struct regulator_consumer_supply {
19− struct device *dev; /* consumer */
19+ const char *dev_name; /* consumer dev_name() */
2020 const char *supply; /* consumer supply - e.g. "vcc" */
2121 };
2222
@@ -24,13 +24,13 @@ e.g. for the machine above · 1 unmodified line
2424
2525 static struct regulator_consumer_supply regulator1_consumers[] = {
2626 {
27− .dev = &platform_consumerB_device.dev,
28− .supply = "Vcc",
27+ .dev_name = "dev_name(consumer B)",
28+ .supply = "Vcc",
2929 },};
3030
3131 static struct regulator_consumer_supply regulator2_consumers[] = {
3232 {
33− .dev = &platform_consumerA_device.dev,
33+ .dev = "dev_name(consumer A"),
3434 .supply = "Vcc",
3535 },};
3636
@@ -43,6 +43,7 @@ to their supply regulator :- · 6 unmodified lines
4343
4444 static struct regulator_init_data regulator1_data = {
4545 .constraints = {
46+ .name = "Regulator-1",
4647 .min_uV = 3300000,
4748 .max_uV = 3300000,
4849 .valid_modes_mask = REGULATOR_MODE_NORMAL,
@@ -51,13 +52,19 @@ static struct regulator_init_data regulator1_data = { · 2 unmodified lines
5152 .consumer_supplies = regulator1_consumers,
5253 };
5354
55+The name field should be set to something that is usefully descriptive
56+for the board for configuration of supplies for other regulators and
57+for use in logging and other diagnostic output. Normally the name
58+used for the supply rail in the schematic is a good choice. If no
59+name is provided then the subsystem will choose one.
60+
5461 Regulator-1 supplies power to Regulator-2. This relationship must be registered
5562 with the core so that Regulator-1 is also enabled when Consumer A enables its
5663 supply (Regulator-2). The supply regulator is set by the supply_regulator
57−field below:-
64+field below and co:-
5865
5966 static struct regulator_init_data regulator2_data = {
60− .supply_regulator = "regulator_name",
67+ .supply_regulator = "Regulator-1",
6168 .constraints = {
6269 .min_uV = 1800000,
6370 .max_uV = 2000000,
Documentation/power/runtime_pm.txt+24−7
@@ -43,13 +43,18 @@ struct dev_pm_ops { · 42 unmodified lines
4343 ...
4444 };
4545
46−The ->runtime_suspend(), ->runtime_resume() and ->runtime_idle() callbacks are
47−executed by the PM core for either the device type, or the class (if the device
48−type's struct dev_pm_ops object does not exist), or the bus type (if the
49−device type's and class' struct dev_pm_ops objects do not exist) of the given
50−device (this allows device types to override callbacks provided by bus types or
51−classes if necessary). The bus type, device type and class callbacks are
52−referred to as subsystem-level callbacks in what follows.
46+The ->runtime_suspend(), ->runtime_resume() and ->runtime_idle() callbacks
47+are executed by the PM core for either the power domain, or the device type
48+(if the device power domain's struct dev_pm_ops does not exist), or the class
49+(if the device power domain's and type's struct dev_pm_ops object does not
50+exist), or the bus type (if the device power domain's, type's and class'
51+struct dev_pm_ops objects do not exist) of the given device, so the priority
52+order of callbacks from high to low is that power domain callbacks, device
53+type callbacks, class callbacks and bus type callbacks, and the high priority
54+one will take precedence over low priority one. The bus type, device type and
55+class callbacks are referred to as subsystem-level callbacks in what follows,
56+and generally speaking, the power domain callbacks are used for representing
57+power domains within a SoC.
5358
5459 By default, the callbacks are always invoked in process context with interrupts
5560 enabled. However, subsystems can use the pm_runtime_irq_safe() helper function
@@ -477,12 +482,14 @@ pm_runtime_autosuspend_expiration() · 421 unmodified lines
477482 If pm_runtime_irq_safe() has been called for a device then the following helper
478483 functions may also be used in interrupt context:
479484
485+pm_runtime_idle()
480486 pm_runtime_suspend()
481487 pm_runtime_autosuspend()
482488 pm_runtime_resume()
483489 pm_runtime_get_sync()
484490 pm_runtime_put_sync()
485491 pm_runtime_put_sync_suspend()
492+pm_runtime_put_sync_autosuspend()
486493
487494 5. Runtime PM Initialization, Device Probing and Removal
488495
@@ -782,6 +789,16 @@ will behave normally, not taking the autosuspend delay into account. · 293 unmodified lines
782789 Similarly, if the power.use_autosuspend field isn't set then the autosuspend
783790 helper functions will behave just like the non-autosuspend counterparts.
784791
792+Under some circumstances a driver or subsystem may want to prevent a device
793+from autosuspending immediately, even though the usage counter is zero and the
794+autosuspend delay time has expired. If the ->runtime_suspend() callback
795+returns -EAGAIN or -EBUSY, and if the next autosuspend delay expiration time is
796+in the future (as it normally would be if the callback invoked
797+pm_runtime_mark_last_busy()), the PM core will automatically reschedule the
798+autosuspend. The ->runtime_suspend() callback can't do this rescheduling
799+itself because no suspend requests of any kind are accepted while the device is
800+suspending (i.e., while the callback is running).
801+
785802 The implementation is well suited for asynchronous use in interrupt contexts.
786803 However such use inevitably involves races, because the PM core can't
787804 synchronize ->runtime_suspend() callbacks with the arrival of I/O requests.
Documentation/power/suspend-and-cpuhotplug.txt+275−0
@@ -0,0 +1,275 @@
1+Interaction of Suspend code (S3) with the CPU hotplug infrastructure
2+
3+ (C) 2011 Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
4+
5+
6+I. How does the regular CPU hotplug code differ from how the Suspend-to-RAM
7+ infrastructure uses it internally? And where do they share common code?
8+
9+Well, a picture is worth a thousand words... So ASCII art follows :-)
10+
11+[This depicts the current design in the kernel, and focusses only on the
12+interactions involving the freezer and CPU hotplug and also tries to explain
13+the locking involved. It outlines the notifications involved as well.
14+But please note that here, only the call paths are illustrated, with the aim
15+of describing where they take different paths and where they share code.
16+What happens when regular CPU hotplug and Suspend-to-RAM race with each other
17+is not depicted here.]
18+
19+On a high level, the suspend-resume cycle goes like this:
20+
21+|Freeze| -> |Disable nonboot| -> |Do suspend| -> |Enable nonboot| -> |Thaw |
22+|tasks | | cpus | | | | cpus | |tasks|
23+
24+
25+More details follow:
26+
27+ Suspend call path
28+ -----------------
29+
30+ Write 'mem' to
31+ /sys/power/state
32+ syfs file
33+ |
34+ v
35+ Acquire pm_mutex lock
36+ |
37+ v
38+ Send PM_SUSPEND_PREPARE
39+ notifications
40+ |
41+ v
42+ Freeze tasks
43+ |
44+ |
45+ v
46+ disable_nonboot_cpus()
47+ /* start */
48+ |
49+ v
50+ Acquire cpu_add_remove_lock
51+ |
52+ v
53+ Iterate over CURRENTLY
54+ online CPUs
55+ |
56+ |
57+ | ----------
58+ v | L
59+ ======> _cpu_down() |
60+ | [This takes cpuhotplug.lock |
61+ Common | before taking down the CPU |
62+ code | and releases it when done] | O
63+ | While it is at it, notifications |
64+ | are sent when notable events occur, |
65+ ======> by running all registered callbacks. |
66+ | | O
67+ | |
68+ | |
69+ v |
70+ Note down these cpus in | P
71+ frozen_cpus mask ----------
72+ |
73+ v
74+ Disable regular cpu hotplug
75+ by setting cpu_hotplug_disabled=1
76+ |
77+ v
78+ Release cpu_add_remove_lock
79+ |
80+ v
81+ /* disable_nonboot_cpus() complete */
82+ |
83+ v
84+ Do suspend
85+
86+
87+
88+Resuming back is likewise, with the counterparts being (in the order of
89+execution during resume):
90+* enable_nonboot_cpus() which involves:
91+ | Acquire cpu_add_remove_lock
92+ | Reset cpu_hotplug_disabled to 0, thereby enabling regular cpu hotplug
93+ | Call _cpu_up() [for all those cpus in the frozen_cpus mask, in a loop]
94+ | Release cpu_add_remove_lock
95+ v
96+
97+* thaw tasks
98+* send PM_POST_SUSPEND notifications
99+* Release pm_mutex lock.
100+
101+
102+It is to be noted here that the pm_mutex lock is acquired at the very
103+beginning, when we are just starting out to suspend, and then released only
104+after the entire cycle is complete (i.e., suspend + resume).
105+
106+
107+
108+ Regular CPU hotplug call path
109+ -----------------------------
110+
111+ Write 0 (or 1) to
112+ /sys/devices/system/cpu/cpu*/online
113+ sysfs file
114+ |
115+ |
116+ v
117+ cpu_down()
118+ |
119+ v
120+ Acquire cpu_add_remove_lock
121+ |
122+ v
123+ If cpu_hotplug_disabled is 1
124+ return gracefully
125+ |
126+ |
127+ v
128+ ======> _cpu_down()
129+ | [This takes cpuhotplug.lock
130+ Common | before taking down the CPU
131+ code | and releases it when done]
132+ | While it is at it, notifications
133+ | are sent when notable events occur,
134+ ======> by running all registered callbacks.
135+ |
136+ |
137+ v
138+ Release cpu_add_remove_lock
139+ [That's it!, for
140+ regular CPU hotplug]
141+
142+
143+
144+So, as can be seen from the two diagrams (the parts marked as "Common code"),
145+regular CPU hotplug and the suspend code path converge at the _cpu_down() and
146+_cpu_up() functions. They differ in the arguments passed to these functions,
147+in that during regular CPU hotplug, 0 is passed for the 'tasks_frozen'
148+argument. But during suspend, since the tasks are already frozen by the time
149+the non-boot CPUs are offlined or onlined, the _cpu_*() functions are called
150+with the 'tasks_frozen' argument set to 1.
151+[See below for some known issues regarding this.]
152+
153+
154+Important files and functions/entry points:
155+------------------------------------------
156+
157+kernel/power/process.c : freeze_processes(), thaw_processes()
158+kernel/power/suspend.c : suspend_prepare(), suspend_enter(), suspend_finish()
159+kernel/cpu.c: cpu_[up|down](), _cpu_[up|down](), [disable|enable]_nonboot_cpus()
160+
161+
162+
163+II. What are the issues involved in CPU hotplug?
164+ -------------------------------------------
165+
166+There are some interesting situations involving CPU hotplug and microcode
167+update on the CPUs, as discussed below:
168+
169+[Please bear in mind that the kernel requests the microcode images from
170+userspace, using the request_firmware() function defined in
171+drivers/base/firmware_class.c]
172+
173+
174+a. When all the CPUs are identical:
175+
176+ This is the most common situation and it is quite straightforward: we want
177+ to apply the same microcode revision to each of the CPUs.
178+ To give an example of x86, the collect_cpu_info() function defined in
179+ arch/x86/kernel/microcode_core.c helps in discovering the type of the CPU
180+ and thereby in applying the correct microcode revision to it.
181+ But note that the kernel does not maintain a common microcode image for the
182+ all CPUs, in order to handle case 'b' described below.
183+
184+
185+b. When some of the CPUs are different than the rest:
186+
187+ In this case since we probably need to apply different microcode revisions
188+ to different CPUs, the kernel maintains a copy of the correct microcode
189+ image for each CPU (after appropriate CPU type/model discovery using
190+ functions such as collect_cpu_info()).
191+
192+
193+c. When a CPU is physically hot-unplugged and a new (and possibly different
194+ type of) CPU is hot-plugged into the system:
195+
196+ In the current design of the kernel, whenever a CPU is taken offline during
197+ a regular CPU hotplug operation, upon receiving the CPU_DEAD notification
198+ (which is sent by the CPU hotplug code), the microcode update driver's
199+ callback for that event reacts by freeing the kernel's copy of the
200+ microcode image for that CPU.
201+
202+ Hence, when a new CPU is brought online, since the kernel finds that it
203+ doesn't have the microcode image, it does the CPU type/model discovery
204+ afresh and then requests the userspace for the appropriate microcode image
205+ for that CPU, which is subsequently applied.
206+
207+ For example, in x86, the mc_cpu_callback() function (which is the microcode
208+ update driver's callback registered for CPU hotplug events) calls
209+ microcode_update_cpu() which would call microcode_init_cpu() in this case,
210+ instead of microcode_resume_cpu() when it finds that the kernel doesn't
211+ have a valid microcode image. This ensures that the CPU type/model
212+ discovery is performed and the right microcode is applied to the CPU after
213+ getting it from userspace.
214+
215+
216+d. Handling microcode update during suspend/hibernate:
217+
218+ Strictly speaking, during a CPU hotplug operation which does not involve
219+ physically removing or inserting CPUs, the CPUs are not actually powered
220+ off during a CPU offline. They are just put to the lowest C-states possible.
221+ Hence, in such a case, it is not really necessary to re-apply microcode
222+ when the CPUs are brought back online, since they wouldn't have lost the
223+ image during the CPU offline operation.
224+
225+ This is the usual scenario encountered during a resume after a suspend.
226+ However, in the case of hibernation, since all the CPUs are completely
227+ powered off, during restore it becomes necessary to apply the microcode
228+ images to all the CPUs.
229+
230+ [Note that we don't expect someone to physically pull out nodes and insert
231+ nodes with a different type of CPUs in-between a suspend-resume or a
232+ hibernate/restore cycle.]
233+
234+ In the current design of the kernel however, during a CPU offline operation
235+ as part of the suspend/hibernate cycle (the CPU_DEAD_FROZEN notification),
236+ the existing copy of microcode image in the kernel is not freed up.
237+ And during the CPU online operations (during resume/restore), since the
238+ kernel finds that it already has copies of the microcode images for all the
239+ CPUs, it just applies them to the CPUs, avoiding any re-discovery of CPU
240+ type/model and the need for validating whether the microcode revisions are
241+ right for the CPUs or not (due to the above assumption that physical CPU
242+ hotplug will not be done in-between suspend/resume or hibernate/restore
243+ cycles).
244+
245+
246+III. Are there any known problems when regular CPU hotplug and suspend race
247+ with each other?
248+
249+Yes, they are listed below:
250+
251+1. When invoking regular CPU hotplug, the 'tasks_frozen' argument passed to
252+ the _cpu_down() and _cpu_up() functions is *always* 0.
253+ This might not reflect the true current state of the system, since the
254+ tasks could have been frozen by an out-of-band event such as a suspend
255+ operation in progress. Hence, it will lead to wrong notifications being
256+ sent during the cpu online/offline events (eg, CPU_ONLINE notification
257+ instead of CPU_ONLINE_FROZEN) which in turn will lead to execution of
258+ inappropriate code by the callbacks registered for such CPU hotplug events.
259+
260+2. If a regular CPU hotplug stress test happens to race with the freezer due
261+ to a suspend operation in progress at the same time, then we could hit the
262+ situation described below:
263+
264+ * A regular cpu online operation continues its journey from userspace
265+ into the kernel, since the freezing has not yet begun.
266+ * Then freezer gets to work and freezes userspace.
267+ * If cpu online has not yet completed the microcode update stuff by now,
268+ it will now start waiting on the frozen userspace in the
269+ TASK_UNINTERRUPTIBLE state, in order to get the microcode image.
270+ * Now the freezer continues and tries to freeze the remaining tasks. But
271+ due to this wait mentioned above, the freezer won't be able to freeze
272+ the cpu online hotplug task and hence freezing of tasks fails.
273+
274+ As a result of this task freezing failure, the suspend operation gets
275+ aborted.
Documentation/rapidio/rapidio.txt+1−1
@@ -144,7 +144,7 @@ and the default device ID in order to access the device on the active port. · 143 unmodified lines
144144
145145 After the host has completed enumeration of the entire network it releases
146146 devices by clearing device ID locks (calls rio_clear_locks()). For each endpoint
147−in the system, it sets the Master Enable bit in the Port General Control CSR
147+in the system, it sets the Discovered bit in the Port General Control CSR
148148 to indicate that enumeration is completed and agents are allowed to execute
149149 passive discovery of the network.
150150
Documentation/rapidio/tsi721.txt+49−0
@@ -0,0 +1,49 @@
1+RapidIO subsystem mport driver for IDT Tsi721 PCI Express-to-SRIO bridge.
2+=========================================================================
3+
4+I. Overview
5+
6+This driver implements all currently defined RapidIO mport callback functions.
7+It supports maintenance read and write operations, inbound and outbound RapidIO
8+doorbells, inbound maintenance port-writes and RapidIO messaging.
9+
10+To generate SRIO maintenance transactions this driver uses one of Tsi721 DMA
11+channels. This mechanism provides access to larger range of hop counts and
12+destination IDs without need for changes in outbound window translation.
13+
14+RapidIO messaging support uses dedicated messaging channels for each mailbox.
15+For inbound messages this driver uses destination ID matching to forward messages
16+into the corresponding message queue. Messaging callbacks are implemented to be
17+fully compatible with RIONET driver (Ethernet over RapidIO messaging services).
18+
19+II. Known problems
20+
21+ None.
22+
23+III. To do
24+
25+ Add DMA data transfers (non-messaging).
26+ Add inbound region (SRIO-to-PCIe) mapping.
27+
28+IV. Version History
29+
30+ 1.0.0 - Initial driver release.
31+
32+V. License
33+-----------------------------------------------
34+
35+ Copyright(c) 2011 Integrated Device Technology, Inc. All rights reserved.
36+
37+ This program is free software; you can redistribute it and/or modify it
38+ under the terms of the GNU General Public License as published by the Free
39+ Software Foundation; either version 2 of the License, or (at your option)
40+ any later version.
41+
42+ This program is distributed in the hope that it will be useful, but WITHOUT
43+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
44+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
45+ more details.
46+
47+ You should have received a copy of the GNU General Public License along with
48+ this program; if not, write to the Free Software Foundation, Inc.,
49+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Documentation/scheduler/sched-bwc.txt+122−0
@@ -0,0 +1,122 @@
1+CFS Bandwidth Control
2+=====================
3+
4+[ This document only discusses CPU bandwidth control for SCHED_NORMAL.
5+ The SCHED_RT case is covered in Documentation/scheduler/sched-rt-group.txt ]
6+
7+CFS bandwidth control is a CONFIG_FAIR_GROUP_SCHED extension which allows the
8+specification of the maximum CPU bandwidth available to a group or hierarchy.
9+
10+The bandwidth allowed for a group is specified using a quota and period. Within
11+each given "period" (microseconds), a group is allowed to consume only up to
12+"quota" microseconds of CPU time. When the CPU bandwidth consumption of a
13+group exceeds this limit (for that period), the tasks belonging to its
14+hierarchy will be throttled and are not allowed to run again until the next
15+period.
16+
17+A group's unused runtime is globally tracked, being refreshed with quota units
18+above at each period boundary. As threads consume this bandwidth it is
19+transferred to cpu-local "silos" on a demand basis. The amount transferred
20+within each of these updates is tunable and described as the "slice".
21+
22+Management
23+----------
24+Quota and period are managed within the cpu subsystem via cgroupfs.
25+
26+cpu.cfs_quota_us: the total available run-time within a period (in microseconds)
27+cpu.cfs_period_us: the length of a period (in microseconds)
28+cpu.stat: exports throttling statistics [explained further below]
29+
30+The default values are:
31+ cpu.cfs_period_us=100ms
32+ cpu.cfs_quota=-1
33+
34+A value of -1 for cpu.cfs_quota_us indicates that the group does not have any
35+bandwidth restriction in place, such a group is described as an unconstrained
36+bandwidth group. This represents the traditional work-conserving behavior for
37+CFS.
38+
39+Writing any (valid) positive value(s) will enact the specified bandwidth limit.
40+The minimum quota allowed for the quota or period is 1ms. There is also an
41+upper bound on the period length of 1s. Additional restrictions exist when
42+bandwidth limits are used in a hierarchical fashion, these are explained in
43+more detail below.
44+
45+Writing any negative value to cpu.cfs_quota_us will remove the bandwidth limit
46+and return the group to an unconstrained state once more.
47+
48+Any updates to a group's bandwidth specification will result in it becoming
49+unthrottled if it is in a constrained state.
50+
51+System wide settings
52+--------------------
53+For efficiency run-time is transferred between the global pool and CPU local
54+"silos" in a batch fashion. This greatly reduces global accounting pressure
55+on large systems. The amount transferred each time such an update is required
56+is described as the "slice".
57+
58+This is tunable via procfs:
59+ /proc/sys/kernel/sched_cfs_bandwidth_slice_us (default=5ms)
60+
61+Larger slice values will reduce transfer overheads, while smaller values allow
62+for more fine-grained consumption.
63+
64+Statistics
65+----------
66+A group's bandwidth statistics are exported via 3 fields in cpu.stat.
67+
68+cpu.stat:
69+- nr_periods: Number of enforcement intervals that have elapsed.
70+- nr_throttled: Number of times the group has been throttled/limited.
71+- throttled_time: The total time duration (in nanoseconds) for which entities
72+ of the group have been throttled.
73+
74+This interface is read-only.
75+
76+Hierarchical considerations
77+---------------------------
78+The interface enforces that an individual entity's bandwidth is always
79+attainable, that is: max(c_i) <= C. However, over-subscription in the
80+aggregate case is explicitly allowed to enable work-conserving semantics
81+within a hierarchy.
82+ e.g. \Sum (c_i) may exceed C
83+[ Where C is the parent's bandwidth, and c_i its children ]
84+
85+
86+There are two ways in which a group may become throttled:
87+ a. it fully consumes its own quota within a period
88+ b. a parent's quota is fully consumed within its period
89+
90+In case b) above, even though the child may have runtime remaining it will not
91+be allowed to until the parent's runtime is refreshed.
92+
93+Examples
94+--------
95+1. Limit a group to 1 CPU worth of runtime.
96+
97+ If period is 250ms and quota is also 250ms, the group will get
98+ 1 CPU worth of runtime every 250ms.
99+
100+ # echo 250000 > cpu.cfs_quota_us /* quota = 250ms */
101+ # echo 250000 > cpu.cfs_period_us /* period = 250ms */
102+
103+2. Limit a group to 2 CPUs worth of runtime on a multi-CPU machine.
104+
105+ With 500ms period and 1000ms quota, the group can get 2 CPUs worth of
106+ runtime every 500ms.
107+
108+ # echo 1000000 > cpu.cfs_quota_us /* quota = 1000ms */
109+ # echo 500000 > cpu.cfs_period_us /* period = 500ms */
110+
111+ The larger period here allows for increased burst capacity.
112+
113+3. Limit a group to 20% of 1 CPU.
114+
115+ With 50ms period, 10ms quota will be equivalent to 20% of 1 CPU.
116+
117+ # echo 10000 > cpu.cfs_quota_us /* quota = 10ms */
118+ # echo 50000 > cpu.cfs_period_us /* period = 50ms */
119+
120+ By using a small period here we are ensuring a consistent latency
121+ response at the expense of burst capacity.
122+
Documentation/scsi/00-INDEX+2−0
@@ -28,6 +28,8 @@ LICENSE.FlashPoint · 27 unmodified lines
2828 - Licence of the Flashpoint driver
2929 LICENSE.qla2xxx
3030 - License for QLogic Linux Fibre Channel HBA Driver firmware.
31+LICENSE.qla4xxx
32+ - License for QLogic Linux iSCSI HBA Driver.
3133 Mylex.txt
3234 - info on driver for Mylex adapters
3335 NinjaSCSI.txt
Documentation/scsi/ChangeLog.megaraid_sas+15−0
@@ -1,3 +1,18 @@
1+Release Date : Wed. Oct 5, 2011 17:00:00 PST 2010 -
2+ (emaild-id:megaraidlinux@lsi.com)
3+ Adam Radford
4+Current Version : 00.00.06.12-rc1
5+Old Version : 00.00.05.40-rc1
6+ 1. Continue booting immediately if FW in FAULT at driver load time.
7+ 2. Increase default cmds per lun to 256.
8+ 3. Fix mismatch in megasas_reset_fusion() mutex lock-unlock.
9+ 4. Remove some un-necessary code.
10+ 5. Clear state change interrupts for Fusion/Invader.
11+ 6. Clear FUSION_IN_RESET before enabling interrupts.
12+ 7. Add support for MegaRAID 9360/9380 12GB/s controllers.
13+ 8. Add multiple MSI-X vector/multiple reply queue support.
14+ 9. Add driver workaround for PERC5/1068 kdump kernel panic.
15+-------------------------------------------------------------------------------
116 Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 -
217 (emaild-id:megaraidlinux@lsi.com)
318 Adam Radford
Documentation/scsi/LICENSE.qla4xxx+310−0
@@ -0,0 +1,310 @@
1+Copyright (c) 2003-2011 QLogic Corporation
2+QLogic Linux iSCSI HBA Driver
3+
4+This program includes a device driver for Linux 3.x.
5+You may modify and redistribute the device driver code under the
6+GNU General Public License (a copy of which is attached hereto as
7+Exhibit A) published by the Free Software Foundation (version 2).
8+
9+REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE,
10+THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY
11+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
12+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
13+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
14+BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
15+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
16+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
17+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
18+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
20+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
21+POSSIBILITY OF SUCH DAMAGE.
22+
23+USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT
24+CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR
25+OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT,
26+TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
27+ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
28+COMBINATION WITH THIS PROGRAM.
29+
30+
31+EXHIBIT A
32+
33+ GNU GENERAL PUBLIC LICENSE
34+ Version 2, June 1991
35+
36+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
37+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
38+ Everyone is permitted to copy and distribute verbatim copies
39+ of this license document, but changing it is not allowed.
40+
41+ Preamble
42+
43+ The licenses for most software are designed to take away your
44+freedom to share and change it. By contrast, the GNU General Public
45+License is intended to guarantee your freedom to share and change free
46+software--to make sure the software is free for all its users. This
47+General Public License applies to most of the Free Software
48+Foundation's software and to any other program whose authors commit to
49+using it. (Some other Free Software Foundation software is covered by
50+the GNU Lesser General Public License instead.) You can apply it to
51+your programs, too.
52+
53+ When we speak of free software, we are referring to freedom, not
54+price. Our General Public Licenses are designed to make sure that you
55+have the freedom to distribute copies of free software (and charge for
56+this service if you wish), that you receive source code or can get it
57+if you want it, that you can change the software or use pieces of it
58+in new free programs; and that you know you can do these things.
59+
60+ To protect your rights, we need to make restrictions that forbid
61+anyone to deny you these rights or to ask you to surrender the rights.
62+These restrictions translate to certain responsibilities for you if you
63+distribute copies of the software, or if you modify it.
64+
65+ For example, if you distribute copies of such a program, whether
66+gratis or for a fee, you must give the recipients all the rights that
67+you have. You must make sure that they, too, receive or can get the
68+source code. And you must show them these terms so they know their
69+rights.
70+
71+ We protect your rights with two steps: (1) copyright the software, and
72+(2) offer you this license which gives you legal permission to copy,
73+distribute and/or modify the software.
74+
75+ Also, for each author's protection and ours, we want to make certain
76+that everyone understands that there is no warranty for this free
77+software. If the software is modified by someone else and passed on, we
78+want its recipients to know that what they have is not the original, so
79+that any problems introduced by others will not reflect on the original
80+authors' reputations.
81+
82+ Finally, any free program is threatened constantly by software
83+patents. We wish to avoid the danger that redistributors of a free
84+program will individually obtain patent licenses, in effect making the
85+program proprietary. To prevent this, we have made it clear that any
86+patent must be licensed for everyone's free use or not licensed at all.
87+
88+ The precise terms and conditions for copying, distribution and
89+modification follow.
90+
91+ GNU GENERAL PUBLIC LICENSE
92+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
93+
94+ 0. This License applies to any program or other work which contains
95+a notice placed by the copyright holder saying it may be distributed
96+under the terms of this General Public License. The "Program", below,
97+refers to any such program or work, and a "work based on the Program"
98+means either the Program or any derivative work under copyright law:
99+that is to say, a work containing the Program or a portion of it,
100+either verbatim or with modifications and/or translated into another
101+language. (Hereinafter, translation is included without limitation in
102+the term "modification".) Each licensee is addressed as "you".
103+
104+Activities other than copying, distribution and modification are not
105+covered by this License; they are outside its scope. The act of
106+running the Program is not restricted, and the output from the Program
107+is covered only if its contents constitute a work based on the
108+Program (independent of having been made by running the Program).
109+Whether that is true depends on what the Program does.
110+
111+ 1. You may copy and distribute verbatim copies of the Program's
112+source code as you receive it, in any medium, provided that you
113+conspicuously and appropriately publish on each copy an appropriate
114+copyright notice and disclaimer of warranty; keep intact all the
115+notices that refer to this License and to the absence of any warranty;
116+and give any other recipients of the Program a copy of this License
117+along with the Program.
118+
119+You may charge a fee for the physical act of transferring a copy, and
120+you may at your option offer warranty protection in exchange for a fee.
121+
122+ 2. You may modify your copy or copies of the Program or any portion
123+of it, thus forming a work based on the Program, and copy and
124+distribute such modifications or work under the terms of Section 1
125+above, provided that you also meet all of these conditions:
126+
127+ a) You must cause the modified files to carry prominent notices
128+ stating that you changed the files and the date of any change.
129+
130+ b) You must cause any work that you distribute or publish, that in
131+ whole or in part contains or is derived from the Program or any
132+ part thereof, to be licensed as a whole at no charge to all third
133+ parties under the terms of this License.
134+
135+ c) If the modified program normally reads commands interactively
136+ when run, you must cause it, when started running for such
137+ interactive use in the most ordinary way, to print or display an
138+ announcement including an appropriate copyright notice and a
139+ notice that there is no warranty (or else, saying that you provide
140+ a warranty) and that users may redistribute the program under
141+ these conditions, and telling the user how to view a copy of this
142+ License. (Exception: if the Program itself is interactive but
143+ does not normally print such an announcement, your work based on
144+ the Program is not required to print an announcement.)
145+
146+These requirements apply to the modified work as a whole. If
147+identifiable sections of that work are not derived from the Program,
148+and can be reasonably considered independent and separate works in
149+themselves, then this License, and its terms, do not apply to those
150+sections when you distribute them as separate works. But when you
151+distribute the same sections as part of a whole which is a work based
152+on the Program, the distribution of the whole must be on the terms of
153+this License, whose permissions for other licensees extend to the
154+entire whole, and thus to each and every part regardless of who wrote it.
155+
156+Thus, it is not the intent of this section to claim rights or contest
157+your rights to work written entirely by you; rather, the intent is to
158+exercise the right to control the distribution of derivative or
159+collective works based on the Program.
160+
161+In addition, mere aggregation of another work not based on the Program
162+with the Program (or with a work based on the Program) on a volume of
163+a storage or distribution medium does not bring the other work under
164+the scope of this License.
165+
166+ 3. You may copy and distribute the Program (or a work based on it,
167+under Section 2) in object code or executable form under the terms of
168+Sections 1 and 2 above provided that you also do one of the following:
169+
170+ a) Accompany it with the complete corresponding machine-readable
171+ source code, which must be distributed under the terms of Sections
172+ 1 and 2 above on a medium customarily used for software interchange; or,
173+
174+ b) Accompany it with a written offer, valid for at least three
175+ years, to give any third party, for a charge no more than your
176+ cost of physically performing source distribution, a complete
177+ machine-readable copy of the corresponding source code, to be
178+ distributed under the terms of Sections 1 and 2 above on a medium
179+ customarily used for software interchange; or,
180+
181+ c) Accompany it with the information you received as to the offer
182+ to distribute corresponding source code. (This alternative is
183+ allowed only for noncommercial distribution and only if you
184+ received the program in object code or executable form with such
185+ an offer, in accord with Subsection b above.)
186+
187+The source code for a work means the preferred form of the work for
188+making modifications to it. For an executable work, complete source
189+code means all the source code for all modules it contains, plus any
190+associated interface definition files, plus the scripts used to
191+control compilation and installation of the executable. However, as a
192+special exception, the source code distributed need not include
193+anything that is normally distributed (in either source or binary
194+form) with the major components (compiler, kernel, and so on) of the
195+operating system on which the executable runs, unless that component
196+itself accompanies the executable.
197+
198+If distribution of executable or object code is made by offering
199+access to copy from a designated place, then offering equivalent
200+access to copy the source code from the same place counts as
201+distribution of the source code, even though third parties are not
202+compelled to copy the source along with the object code.
203+
204+ 4. You may not copy, modify, sublicense, or distribute the Program
205+except as expressly provided under this License. Any attempt
206+otherwise to copy, modify, sublicense or distribute the Program is
207+void, and will automatically terminate your rights under this License.
208+However, parties who have received copies, or rights, from you under
209+this License will not have their licenses terminated so long as such
210+parties remain in full compliance.
211+
212+ 5. You are not required to accept this License, since you have not
213+signed it. However, nothing else grants you permission to modify or
214+distribute the Program or its derivative works. These actions are
215+prohibited by law if you do not accept this License. Therefore, by
216+modifying or distributing the Program (or any work based on the
217+Program), you indicate your acceptance of this License to do so, and
218+all its terms and conditions for copying, distributing or modifying
219+the Program or works based on it.
220+
221+ 6. Each time you redistribute the Program (or any work based on the
222+Program), the recipient automatically receives a license from the
223+original licensor to copy, distribute or modify the Program subject to
224+these terms and conditions. You may not impose any further
225+restrictions on the recipients' exercise of the rights granted herein.
226+You are not responsible for enforcing compliance by third parties to
227+this License.
228+
229+ 7. If, as a consequence of a court judgment or allegation of patent
230+infringement or for any other reason (not limited to patent issues),
231+conditions are imposed on you (whether by court order, agreement or
232+otherwise) that contradict the conditions of this License, they do not
233+excuse you from the conditions of this License. If you cannot
234+distribute so as to satisfy simultaneously your obligations under this
235+License and any other pertinent obligations, then as a consequence you
236+may not distribute the Program at all. For example, if a patent
237+license would not permit royalty-free redistribution of the Program by
238+all those who receive copies directly or indirectly through you, then
239+the only way you could satisfy both it and this License would be to
240+refrain entirely from distribution of the Program.
241+
242+If any portion of this section is held invalid or unenforceable under
243+any particular circumstance, the balance of the section is intended to
244+apply and the section as a whole is intended to apply in other
245+circumstances.
246+
247+It is not the purpose of this section to induce you to infringe any
248+patents or other property right claims or to contest validity of any
249+such claims; this section has the sole purpose of protecting the
250+integrity of the free software distribution system, which is
251+implemented by public license practices. Many people have made
252+generous contributions to the wide range of software distributed
253+through that system in reliance on consistent application of that
254+system; it is up to the author/donor to decide if he or she is willing
255+to distribute software through any other system and a licensee cannot
256+impose that choice.
257+
258+This section is intended to make thoroughly clear what is believed to
259+be a consequence of the rest of this License.
260+
261+ 8. If the distribution and/or use of the Program is restricted in
262+certain countries either by patents or by copyrighted interfaces, the
263+original copyright holder who places the Program under this License
264+may add an explicit geographical distribution limitation excluding
265+those countries, so that distribution is permitted only in or among
266+countries not thus excluded. In such case, this License incorporates
267+the limitation as if written in the body of this License.
268+
269+ 9. The Free Software Foundation may publish revised and/or new versions
270+of the General Public License from time to time. Such new versions will
271+be similar in spirit to the present version, but may differ in detail to
272+address new problems or concerns.
273+
274+Each version is given a distinguishing version number. If the Program
275+specifies a version number of this License which applies to it and "any
276+later version", you have the option of following the terms and conditions
277+either of that version or of any later version published by the Free
278+Software Foundation. If the Program does not specify a version number of
279+this License, you may choose any version ever published by the Free Software
280+Foundation.
281+
282+ 10. If you wish to incorporate parts of the Program into other free
283+programs whose distribution conditions are different, write to the author
284+to ask for permission. For software which is copyrighted by the Free
285+Software Foundation, write to the Free Software Foundation; we sometimes
286+make exceptions for this. Our decision will be guided by the two goals
287+of preserving the free status of all derivatives of our free software and
288+of promoting the sharing and reuse of software generally.
289+
290+ NO WARRANTY
291+
292+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
293+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
294+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
295+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
296+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
297+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
298+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
299+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
300+REPAIR OR CORRECTION.
301+
302+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
303+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
304+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
305+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
306+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
307+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
308+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
309+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
310+POSSIBILITY OF SUCH DAMAGES.
Documentation/scsi/bnx2fc.txt+75−0
@@ -0,0 +1,75 @@
1+Operating FCoE using bnx2fc
2+===========================
3+Broadcom FCoE offload through bnx2fc is full stateful hardware offload that
4+cooperates with all interfaces provided by the Linux ecosystem for FC/FCoE and
5+SCSI controllers. As such, FCoE functionality, once enabled is largely
6+transparent. Devices discovered on the SAN will be registered and unregistered
7+automatically with the upper storage layers.
8+
9+Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does
10+depend on the state of the network interfaces to operate. As such, the network
11+interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'.
12+It is recommended that the network interfaces be configured to be brought up
13+automatically at boot time.
14+
15+Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to
16+support the VLANs that have been discovered for FCoE operation (e.g.
17+eth0.1001-fcoe). Do not delete or disable these interfaces or FCoE operation
18+will be disrupted.
19+
20+Driver Usage Model:
21+===================
22+
23+1. Ensure that fcoe-utils package is installed.
24+
25+2. Configure the interfaces on which bnx2fc driver has to operate on.
26+Here are the steps to configure:
27+ a. cd /etc/fcoe
28+ b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5.
29+ c. Repeat this for all the interfaces where FCoE has to be enabled.
30+ d. Edit all the cfg-eth files to set "no" for DCB_REQUIRED** field, and
31+ "yes" for AUTO_VLAN.
32+ e. Other configuration parameters should be left as default
33+
34+3. Ensure that "bnx2fc" is in SUPPORTED_DRIVERS list in /etc/fcoe/config.
35+
36+4. Start fcoe service. (service fcoe start). If Broadcom devices are present in
37+the system, bnx2fc driver would automatically claim the interfaces, starts vlan
38+discovery and log into the targets.
39+
40+5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed
41+the interface.
42+Eg:
43+[root@bh2 ~]# fcoeadm -i
44+ Description: NetXtreme II BCM57712 10 Gigabit Ethernet
45+ Revision: 01
46+ Manufacturer: Broadcom Corporation
47+ Serial Number: 0010186FD558
48+ Driver: bnx2x 1.70.00-0
49+ Number of Ports: 2
50+
51+ Symbolic Name: bnx2fc v1.0.5 over eth5.4
52+ OS Device Name: host11
53+ Node Name: 0x10000010186FD559
54+ Port Name: 0x20000010186FD559
55+ FabricName: 0x2001000DECB3B681
56+ Speed: 10 Gbit
57+ Supported Speed: 10 Gbit
58+ MaxFrameSize: 2048
59+ FC-ID (Port ID): 0x0F0377
60+ State: Online
61+
62+6. Verify the vlan discovery is performed by running ifconfig and notice
63+<INTERFACE>.<VLAN>-fcoe interfaces are automatically created.
64+
65+Refer to fcoeadm manpage for more information on fcoeadm operations to
66+create/destroy interfaces or to display lun/target information.
67+
68+NOTE:
69+====
70+** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one
71+LLDP client is allowed per interface. For proper operation all host software
72+based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a
73+given interface, run the following command:
74+
75+lldptool set-lldp -i <interface_name> adminStatus=disabled
Documentation/serial/computone.txt+0−2
@@ -20,8 +20,6 @@ Version: 1.2.14 · 19 unmodified lines
2020 Date: 11/01/2001
2121 Historical Author: Andrew Manison <amanison@america.net>
2222 Primary Author: Doug McNash
23−Support: support@computone.com
24−Fixes and Updates: Mike Warfield <mhw@wittsend.com>
2523
2624 This file assumes that you are using the Computone drivers which are
2725 integrated into the kernel sources. For updating the drivers or installing
Documentation/serial/serial-rs485.txt+8−0
@@ -28,6 +28,10 @@ · 27 unmodified lines
2828 RS485 communications. This data structure is used to set and configure RS485
2929 parameters in the platform data and in ioctls.
3030
31+ The device tree can also provide RS485 boot time parameters (see [2]
32+ for bindings). The driver is in charge of filling this data structure from
33+ the values given by the device tree.
34+
3135 Any driver for devices capable of working both as RS232 and RS485 should
3236 provide at least the following ioctls:
3337
@@ -104,6 +108,9 @@ · 70 unmodified lines
104108 rs485conf.flags |= SER_RS485_RTS_AFTER_SEND;
105109 rs485conf.delay_rts_after_send = ...;
106110
111+ /* Set this flag if you want to receive data even whilst sending data */
112+ rs485conf.flags |= SER_RS485_RX_DURING_TX;
113+
107114 if (ioctl (fd, TIOCSRS485, &rs485conf) < 0) {
108115 /* Error handling. See errno. */
109116 }
@@ -118,3 +125,4 @@ · 8 unmodified lines
118125 5. REFERENCES
119126
120127 [1] include/linux/serial.h
128+ [2] Documentation/devicetree/bindings/serial/rs485.txt
Documentation/sound/alsa/ALSA-Configuration.txt+6−0
@@ -886,6 +886,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 885 unmodified lines
886886 disable)
887887 power_save_controller - Reset HD-audio controller in power-saving mode
888888 (default = on)
889+ align_buffer_size - Force rounding of buffer/period sizes to multiples
890+ of 128 bytes. This is more efficient in terms of memory
891+ access but isn't required by the HDA spec and prevents
892+ users from specifying exact period/buffer sizes.
893+ (default = on)
894+ snoop - Enable/disable snooping (default = on)
889895
890896 This module supports multiple cards and autoprobe.
891897
Documentation/sound/alsa/HD-Audio-Controls.txt+16−0
@@ -98,3 +98,19 @@ Conexant codecs · 97 unmodified lines
9898
9999 * Auto-Mute Mode
100100 See Reatek codecs.
101+
102+
103+Analog codecs
104+--------------
105+
106+* Channel Mode
107+ This is an enum control to change the surround-channel setup,
108+ appears only when the surround channels are available.
109+ It gives the number of channels to be used, "2ch", "4ch" and "6ch".
110+ According to the configuration, this also controls the
111+ jack-retasking of multi-I/O jacks.
112+
113+* Independent HP
114+ When this enum control is enabled, the headphone output is routed
115+ from an individual stream (the third PCM such as hw:0,2) instead of
116+ the primary stream.
Documentation/sound/alsa/HD-Audio-Models.txt+5−63
@@ -29,9 +29,6 @@ ALC880 · 28 unmodified lines
2929
3030 ALC260
3131 ======
32− hp HP machines
33− hp-3013 HP machines (3013-variant)
34− hp-dc7600 HP DC7600
3532 fujitsu Fujitsu S7020
3633 acer Acer TravelMate
3734 will Will laptops (PB V7900)
@@ -46,15 +43,10 @@ ALC260 · 8 unmodified lines
4643 ALC262
4744 ======
4845 fujitsu Fujitsu Laptop
49− hp-bpc HP xw4400/6400/8400/9400 laptops
50− hp-bpc-d7000 HP BPC D7000
51− hp-tc-t5735 HP Thin Client T5735
52− hp-rp5700 HP RP5700
5346 benq Benq ED8
5447 benq-t31 Benq T31
5548 hippo Hippo (ATI) with jack detection, Sony UX-90s
5649 hippo_1 Hippo (Benq) with jack detection
57− sony-assamd Sony ASSAMD
5850 toshiba-s06 Toshiba S06
5951 toshiba-rx1 Toshiba RX1
6052 tyan Tyan Thunder n6650W (S2915-E)
@@ -66,43 +58,15 @@ ALC262 · 5 unmodified lines
6658
6759 ALC267/268
6860 ==========
69− quanta-il1 Quanta IL1 mini-notebook
70− 3stack 3-stack model
71− toshiba Toshiba A205
72− acer Acer laptops
73− acer-dmic Acer laptops with digital-mic
74− acer-aspire Acer Aspire One
75− dell Dell OEM laptops (Vostro 1200)
76− zepto Zepto laptops
77− test for testing/debugging purpose, almost all controls can
78− adjusted. Appearing only when compiled with
79− $CONFIG_SND_DEBUG=y
80− auto auto-config reading BIOS (default)
61+ N/A
8162
8263 ALC269
8364 ======
84− basic Basic preset
85− quanta Quanta FL1
8665 laptop-amic Laptops with analog-mic input
8766 laptop-dmic Laptops with digital-mic input
88− fujitsu FSC Amilo
89− lifebook Fujitsu Lifebook S6420
90− auto auto-config reading BIOS (default)
9167
9268 ALC662/663/272
9369 ==============
94− 3stack-dig 3-stack (2-channel) with SPDIF
95− 3stack-6ch 3-stack (6-channel)
96− 3stack-6ch-dig 3-stack (6-channel) with SPDIF
97− 5stack-dig 5-stack with SPDIF
98− lenovo-101e Lenovo laptop
99− eeepc-p701 ASUS Eeepc P701
100− eeepc-ep20 ASUS Eeepc EP20
101− ecs ECS/Foxconn mobo
102− m51va ASUS M51VA
103− g71v ASUS G71V
104− h13 ASUS H13
105− g50v ASUS G50V
10670 asus-mode1 ASUS
10771 asus-mode2 ASUS
10872 asus-mode3 ASUS
@@ -111,15 +75,10 @@ ALC662/663/272 · 2 unmodified lines
11175 asus-mode6 ASUS
11276 asus-mode7 ASUS
11377 asus-mode8 ASUS
114− dell Dell with ALC272
115− dell-zm1 Dell ZM1 with ALC272
116− samsung-nc10 Samsung NC10 mini notebook
117− auto auto-config reading BIOS (default)
11878
11979 ALC680
12080 ======
121− base Base model (ASUS NX90)
122− auto auto-config reading BIOS (default)
81+ N/A
12382
12483 ALC882/883/885/888/889
12584 ======================
@@ -175,28 +134,11 @@ ALC882/883/885/888/889 · 49 unmodified lines
175134
176135 ALC861/660
177136 ==========
178− 3stack 3-jack
179− 3stack-dig 3-jack with SPDIF I/O
180− 6stack-dig 6-jack with SPDIF I/O
181− 3stack-660 3-jack (for ALC660)
182− uniwill-m31 Uniwill M31 laptop
183− toshiba Toshiba laptop support
184− asus Asus laptop support
185− asus-laptop ASUS F2/F3 laptops
186− auto auto-config reading BIOS (default)
137+ N/A
187138
188139 ALC861VD/660VD
189140 ==============
190− 3stack 3-jack
191− 3stack-dig 3-jack with SPDIF OUT
192− 6stack-dig 6-jack with SPDIF OUT
193− 3stack-660 3-jack (for ALC660VD)
194− 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD)
195− lenovo Lenovo 3000 C200
196− dallas Dallas laptops
197− hp HP TX1000
198− asus-v1s ASUS V1Sn
199− auto auto-config reading BIOS (default)
141+ N/A
200142
201143 CMI9880
202144 =======
@@ -289,7 +231,6 @@ Conexant 5051 · 86 unmodified lines
289231 hp-dv6736 HP dv6736
290232 hp-f700 HP Compaq Presario F700
291233 ideapad Lenovo IdeaPad laptop
292− lenovo-x200 Lenovo X200 laptop
293234 toshiba Toshiba Satellite M300
294235
295236 Conexant 5066
@@ -408,6 +349,7 @@ STAC92HD83* · 112 unmodified lines
408349 ref Reference board
409350 mic-ref Reference board with power management for ports
410351 dell-s14 Dell laptop
352+ dell-vostro-3500 Dell Vostro 3500 laptop
411353 hp HP laptops with (inverted) mute-LED
412354 hp-dv7-4000 HP dv-7 4000
413355 auto BIOS setup (default)
Documentation/sound/alsa/HD-Audio.txt+53−2
@@ -447,7 +447,10 @@ The file needs to have a line `[codec]`. The next line should contain · 446 unmodified lines
447447 three numbers indicating the codec vendor-id (0x12345678 in the
448448 example), the codec subsystem-id (0xabcd1234) and the address (2) of
449449 the codec. The rest patch entries are applied to this specified codec
450−until another codec entry is given.
450+until another codec entry is given. Passing 0 or a negative number to
451+the first or the second value will make the check of the corresponding
452+field be skipped. It'll be useful for really broken devices that don't
453+initialize SSID properly.
451454
452455 The `[model]` line allows to change the model name of the each codec.
453456 In the example above, it will be changed to model=auto.
@@ -491,7 +494,7 @@ Also, the codec chip name can be rewritten via `[chip_name]` line. · 37 unmodified lines
491494 The hd-audio driver reads the file via request_firmware(). Thus,
492495 a patch file has to be located on the appropriate firmware path,
493496 typically, /lib/firmware. For example, when you pass the option
494−`patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be
497+`patch=hda-init.fw`, the file /lib/firmware/hda-init.fw must be
495498 present.
496499
497500 The patch module option is specific to each card instance, and you
@@ -524,6 +527,54 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to · 26 unmodified lines
524527 check the current value. If it's non-zero, the feature is turned on.
525528
526529
530+Tracepoints
531+~~~~~~~~~~~
532+The hd-audio driver gives a few basic tracepoints.
533+`hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response`
534+traces the response from RIRB (only when read from the codec driver).
535+`hda:hda_bus_reset` traces the bus-reset due to fatal error, etc,
536+`hda:hda_unsol_event` traces the unsolicited events, and
537+`hda:hda_power_down` and `hda:hda_power_up` trace the power down/up
538+via power-saving behavior.
539+
540+Enabling all tracepoints can be done like
541+------------------------------------------------------------------------
542+ # echo 1 > /sys/kernel/debug/tracing/events/hda/enable
543+------------------------------------------------------------------------
544+then after some commands, you can traces from
545+/sys/kernel/debug/tracing/trace file. For example, when you want to
546+trace what codec command is sent, enable the tracepoint like:
547+------------------------------------------------------------------------
548+ # cat /sys/kernel/debug/tracing/trace
549+ # tracer: nop
550+ #
551+ # TASK-PID CPU# TIMESTAMP FUNCTION
552+ # | | | | |
553+ <...>-7807 [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019
554+ <...>-7807 [002] 105147.774893: hda_send_cmd: [0:0] val=e39019
555+ <...>-7807 [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a
556+ <...>-7807 [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a
557+ <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019
558+ <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019
559+ <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a
560+ <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a
561+------------------------------------------------------------------------
562+Here `[0:0]` indicates the card number and the codec address, and
563+`val` shows the value sent to the codec, respectively. The value is
564+a packed value, and you can decode it via hda-decode-verb program
565+included in hda-emu package below. For example, the value e3a019 is
566+to set the left output-amp value to 25.
567+------------------------------------------------------------------------
568+ % hda-decode-verb 0xe3a019
569+ raw value = 0x00e3a019
570+ cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19
571+ raw value: verb = 0x3a0, parm = 0x19
572+ verbname = set_amp_gain_mute
573+ amp raw val = 0xa019
574+ output, left, idx=0, mute=0, val=25
575+------------------------------------------------------------------------
576+
577+
527578 Development Tree
528579 ~~~~~~~~~~~~~~~~
529580 The latest development codes for HD-audio are found on sound git tree:
Documentation/stable_kernel_rules.txt+7−7
@@ -24,10 +24,10 @@ Rules on what kind of patches are accepted, and which ones are not, into the · 23 unmodified lines
2424 Procedure for submitting patches to the -stable tree:
2525
2626 - Send the patch, after verifying that it follows the above rules, to
27− stable@kernel.org. You must note the upstream commit ID in the changelog
28− of your submission.
27+ stable@vger.kernel.org. You must note the upstream commit ID in the
28+ changelog of your submission.
2929 - To have the patch automatically included in the stable tree, add the tag
30− Cc: stable@kernel.org
30+ Cc: stable@vger.kernel.org
3131 in the sign-off area. Once the patch is merged it will be applied to
3232 the stable tree without anything else needing to be done by the author
3333 or subsystem maintainer.
@@ -35,10 +35,10 @@ Procedure for submitting patches to the -stable tree: · 1 unmodified line
3535 cherry-picked than this can be specified in the following format in
3636 the sign-off area:
3737
38− Cc: <stable@kernel.org> # .32.x: a1f84a3: sched: Check for idle
39− Cc: <stable@kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle
40− Cc: <stable@kernel.org> # .32.x: fd21073: sched: Fix affinity logic
41− Cc: <stable@kernel.org> # .32.x
38+ Cc: <stable@vger.kernel.org> # .32.x: a1f84a3: sched: Check for idle
39+ Cc: <stable@vger.kernel.org> # .32.x: 1b9508f: sched: Rate-limit newidle
40+ Cc: <stable@vger.kernel.org> # .32.x: fd21073: sched: Fix affinity logic
41+ Cc: <stable@vger.kernel.org> # .32.x
4242 Signed-off-by: Ingo Molnar <mingo@elte.hu>
4343
4444 The tag sequence has the meaning of:
Documentation/sysctl/kernel.txt+8−0
@@ -24,6 +24,7 @@ show up in /proc/sys/kernel: · 23 unmodified lines
2424 - bootloader_type [ X86 only ]
2525 - bootloader_version [ X86 only ]
2626 - callhome [ S390 only ]
27+- cap_last_cap
2728 - core_pattern
2829 - core_pipe_limit
2930 - core_uses_pid
@@ -155,6 +156,13 @@ on has a service contract with IBM. · 125 unmodified lines
155156
156157 ==============================================================
157158
159+cap_last_cap
160+
161+Highest valid capability of the running kernel. Exports
162+CAP_LAST_CAP from the kernel.
163+
164+==============================================================
165+
158166 core_pattern:
159167
160168 core_pattern is used to specify a core dumpfile pattern name.
Documentation/trace/postprocess/trace-vmscan-postprocess.pl+4−4
@@ -379,10 +379,10 @@ EVENT_PROCESS: · 378 unmodified lines
379379
380380 # To closer match vmstat scanning statistics, only count isolate_both
381381 # and isolate_inactive as scanning. isolate_active is rotation
382− # isolate_inactive == 0
383− # isolate_active == 1
384− # isolate_both == 2
385− if ($isolate_mode != 1) {
382+ # isolate_inactive == 1
383+ # isolate_active == 2
384+ # isolate_both == 3
385+ if ($isolate_mode != 2) {
386386 $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned;
387387 }
388388 $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty;
Documentation/usb/dwc3.txt+45−0
@@ -0,0 +1,45 @@
1+
2+ TODO
3+~~~~~~
4+Please pick something while reading :)
5+
6+- Convert interrupt handler to per-ep-thread-irq
7+
8+ As it turns out some DWC3-commands ~1ms to complete. Currently we spin
9+ until the command completes which is bad.
10+
11+ Implementation idea:
12+ - dwc core implements a demultiplexing irq chip for interrupts per
13+ endpoint. The interrupt numbers are allocated during probe and belong
14+ to the device. If MSI provides per-endpoint interrupt this dummy
15+ interrupt chip can be replaced with "real" interrupts.
16+ - interrupts are requested / allocated on usb_ep_enable() and removed on
17+ usb_ep_disable(). Worst case are 32 interrupts, the lower limit is two
18+ for ep0/1.
19+ - dwc3_send_gadget_ep_cmd() will sleep in wait_for_completion_timeout()
20+ until the command completes.
21+ - the interrupt handler is split into the following pieces:
22+ - primary handler of the device
23+ goes through every event and calls generic_handle_irq() for event
24+ it. On return from generic_handle_irq() in acknowledges the event
25+ counter so interrupt goes away (eventually).
26+
27+ - threaded handler of the device
28+ none
29+
30+ - primary handler of the EP-interrupt
31+ reads the event and tries to process it. Everything that requries
32+ sleeping is handed over to the Thread. The event is saved in an
33+ per-endpoint data-structure.
34+ We probably have to pay attention not to process events once we
35+ handed something to thread so we don't process event X prio Y
36+ where X > Y.
37+
38+ - threaded handler of the EP-interrupt
39+ handles the remaining EP work which might sleep such as waiting
40+ for command completion.
41+
42+ Latency:
43+ There should be no increase in latency since the interrupt-thread has a
44+ high priority and will be run before an average task in user land
45+ (except the user changed priorities).
Documentation/usb/power-management.txt+30−4
@@ -439,10 +439,10 @@ cause autosuspends to fail with -EBUSY if the driver needs to use the · 438 unmodified lines
439439 device.
440440
441441 External suspend calls should never be allowed to fail in this way,
442−only autosuspend calls. The driver can tell them apart by checking
443−the PM_EVENT_AUTO bit in the message.event argument to the suspend
444−method; this bit will be set for internal PM events (autosuspend) and
445−clear for external PM events.
442+only autosuspend calls. The driver can tell them apart by applying
443+the PMSG_IS_AUTO() macro to the message argument to the suspend
444+method; it will return True for internal PM events (autosuspend) and
445+False for external PM events.
446446
447447
448448 Mutual exclusion
@@ -487,3 +487,29 @@ succeed, it may still remain active and thus cause the system to · 38 unmodified lines
487487 resume as soon as the system suspend is complete. Or the remote
488488 wakeup may fail and get lost. Which outcome occurs depends on timing
489489 and on the hardware and firmware design.
490+
491+
492+ xHCI hardware link PM
493+ ---------------------
494+
495+xHCI host controller provides hardware link power management to usb2.0
496+(xHCI 1.0 feature) and usb3.0 devices which support link PM. By
497+enabling hardware LPM, the host can automatically put the device into
498+lower power state(L1 for usb2.0 devices, or U1/U2 for usb3.0 devices),
499+which state device can enter and resume very quickly.
500+
501+The user interface for controlling USB2 hardware LPM is located in the
502+power/ subdirectory of each USB device's sysfs directory, that is, in
503+/sys/bus/usb/devices/.../power/ where "..." is the device's ID. The
504+relevant attribute files is usb2_hardware_lpm.
505+
506+ power/usb2_hardware_lpm
507+
508+ When a USB2 device which support LPM is plugged to a
509+ xHCI host root hub which support software LPM, the
510+ host will run a software LPM test for it; if the device
511+ enters L1 state and resume successfully and the host
512+ supports USB2 hardware LPM, this file will show up and
513+ driver will enable hardware LPM for the device. You
514+ can write y/Y/1 or n/N/0 to the file to enable/disable
515+ USB2 hardware LPM manually. This is for test purpose mainly.
Documentation/video4linux/CARDLIST.tm6000renamed from drivers/staging/tm6000/CARDLIST+0−0

File renamed without changes.

Documentation/video4linux/gspca.txt+4−0
@@ -8,6 +8,7 @@ xxxx vend:prod · 7 unmodified lines
88 ----
99 spca501 0000:0000 MystFromOri Unknown Camera
1010 spca508 0130:0130 Clone Digital Webcam 11043
11+zc3xx 03f0:1b07 HP Premium Starter Cam
1112 m5602 0402:5602 ALi Video Camera Controller
1213 spca501 040a:0002 Kodak DVC-325
1314 spca500 040a:0300 Kodak EZ200
@@ -190,6 +191,7 @@ ov519 05a9:0519 OV519 Microphone · 176 unmodified lines
190191 ov519 05a9:0530 OmniVision
191192 ov519 05a9:2800 OmniVision SuperCAM
192193 ov519 05a9:4519 Webcam Classic
194+ov534_9 05a9:8065 OmniVision test kit ov538+ov9712
193195 ov519 05a9:8519 OmniVision
194196 ov519 05a9:a511 D-Link USB Digital Video Camera
195197 ov519 05a9:a518 D-Link DSB-C310 Webcam
@@ -199,6 +201,8 @@ gl860 05e3:0503 Genesys Logic PC Camera · 3 unmodified lines
199201 gl860 05e3:f191 Genesys Logic PC Camera
200202 spca561 060b:a001 Maxell Compact Pc PM3
201203 zc3xx 0698:2003 CTX M730V built in
204+topro 06a2:0003 TP6800 PC Camera, CmoX CX0342 webcam
205+topro 06a2:6810 Creative Qmax
202206 nw80x 06a5:0000 Typhoon Webcam 100 USB
203207 nw80x 06a5:d001 Divio based webcams
204208 nw80x 06a5:d800 Divio Chicony TwinkleCam, Trust SpaceCam
Documentation/video4linux/omap3isp.txt+5−4
@@ -70,10 +70,11 @@ Events · 69 unmodified lines
7070 The OMAP 3 ISP driver does support the V4L2 event interface on CCDC and
7171 statistics (AEWB, AF and histogram) subdevs.
7272
73−The CCDC subdev produces V4L2_EVENT_OMAP3ISP_HS_VS type event on HS_VS
74−interrupt which is used to signal frame start. The event is triggered exactly
75−when the reception of the first line of the frame starts in the CCDC module.
76−The event can be subscribed on the CCDC subdev.
73+The CCDC subdev produces V4L2_EVENT_FRAME_SYNC type event on HS_VS
74+interrupt which is used to signal frame start. Earlier version of this
75+driver used V4L2_EVENT_OMAP3ISP_HS_VS for this purpose. The event is
76+triggered exactly when the reception of the first line of the frame starts
77+in the CCDC module. The event can be subscribed on the CCDC subdev.
7778
7879 (When using parallel interface one must pay account to correct configuration
7980 of the VS signal polarity. This is automatically correct when using the serial
Documentation/video4linux/v4l2-controls.txt+16−27
@@ -285,11 +285,11 @@ implement g_volatile_ctrl like this: · 284 unmodified lines
285285 Note that you use the 'new value' union as well in g_volatile_ctrl. In general
286286 controls that need to implement g_volatile_ctrl are read-only controls.
287287
288−To mark a control as volatile you have to set the is_volatile flag:
288+To mark a control as volatile you have to set V4L2_CTRL_FLAG_VOLATILE:
289289
290290 ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...);
291291 if (ctrl)
292− ctrl->is_volatile = 1;
292+ ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE;
293293
294294 For try/s_ctrl the new values (i.e. as passed by the user) are filled in and
295295 you can modify them in try_ctrl or set them in s_ctrl. The 'cur' union
@@ -367,8 +367,7 @@ Driver specific controls can be created using v4l2_ctrl_new_custom(): · 71 unmodified lines
367367 The last argument is the priv pointer which can be set to driver-specific
368368 private data.
369369
370−The v4l2_ctrl_config struct also has fields to set the is_private and is_volatile
371−flags.
370+The v4l2_ctrl_config struct also has a field to set the is_private flag.
372371
373372 If the name field is not set, then the framework will assume this is a standard
374373 control and will fill in the name, type and flags fields accordingly.
@@ -496,18 +495,20 @@ Handling autogain/gain-type Controls with Auto Clusters · 121 unmodified lines
496495
497496 A common type of control cluster is one that handles 'auto-foo/foo'-type
498497 controls. Typical examples are autogain/gain, autoexposure/exposure,
499−autowhitebalance/red balance/blue balance. In all cases you have one controls
498+autowhitebalance/red balance/blue balance. In all cases you have one control
500499 that determines whether another control is handled automatically by the hardware,
501500 or whether it is under manual control from the user.
502501
503502 If the cluster is in automatic mode, then the manual controls should be
504−marked inactive. When the volatile controls are read the g_volatile_ctrl
505−operation should return the value that the hardware's automatic mode set up
506−automatically.
503+marked inactive and volatile. When the volatile controls are read the
504+g_volatile_ctrl operation should return the value that the hardware's automatic
505+mode set up automatically.
507506
508507 If the cluster is put in manual mode, then the manual controls should become
509−active again and the is_volatile flag should be ignored (so g_volatile_ctrl is
510−no longer called while in manual mode).
508+active again and the volatile flag is cleared (so g_volatile_ctrl is no longer
509+called while in manual mode). In addition just before switching to manual mode
510+the current values as determined by the auto mode are copied as the new manual
511+values.
511512
512513 Finally the V4L2_CTRL_FLAG_UPDATE should be set for the auto control since
513514 changing that control affects the control flags of the manual controls.
@@ -520,7 +521,11 @@ void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls, · 6 unmodified lines
520521
521522 The first two arguments are identical to v4l2_ctrl_cluster. The third argument
522523 tells the framework which value switches the cluster into manual mode. The
523−last argument will optionally set the is_volatile flag for the non-auto controls.
524+last argument will optionally set V4L2_CTRL_FLAG_VOLATILE for the non-auto controls.
525+If it is false, then the manual controls are never volatile. You would typically
526+use that if the hardware does not give you the option to read back to values as
527+determined by the auto mode (e.g. if autogain is on, the hardware doesn't allow
528+you to obtain the current gain value).
524529
525530 The first control of the cluster is assumed to be the 'auto' control.
526531
@@ -681,16 +686,6 @@ if there are no controls at all. · 154 unmodified lines
681686 count if nothing was done yet. If it is less than count then only the controls
682687 up to error_idx-1 were successfully applied.
683688
684−3) When attempting to read a button control the framework will return -EACCES
685−instead of -EINVAL as stated in the spec. It seems to make more sense since
686−button controls are write-only controls.
687−
688−4) Attempting to write to a read-only control will return -EACCES instead of
689−-EINVAL as the spec says.
690−
691−5) The spec does not mention what should happen when you try to set/get a
692−control class controls. The framework will return -EACCES.
693−
694689
695690 Proposals for Extensions
696691 ========================
@@ -703,9 +698,3 @@ decimal. Useful for e.g. video_mute_yuv. · 6 unmodified lines
703698 2) It is possible to mark in the controls array which controls have been
704699 successfully written and which failed by for example adding a bit to the
705700 control ID. Not sure if it is worth the effort, though.
706−
707−3) Trying to set volatile inactive controls should result in -EACCESS.
708−
709−4) Add a new flag to mark volatile controls. Any application that wants
710−to store the state of the controls can then skip volatile inactive controls.
711−Currently it is not possible to detect such controls.
Documentation/virtual/kvm/api.txt+69−2
@@ -175,10 +175,30 @@ Parameters: vcpu id (apic id on x86) · 174 unmodified lines
175175 Returns: vcpu fd on success, -1 on error
176176
177177 This API adds a vcpu to a virtual machine. The vcpu id is a small integer
178−in the range [0, max_vcpus). You can use KVM_CAP_NR_VCPUS of the
179−KVM_CHECK_EXTENSION ioctl() to determine the value for max_vcpus at run-time.
178+in the range [0, max_vcpus).
179+
180+The recommended max_vcpus value can be retrieved using the KVM_CAP_NR_VCPUS of
181+the KVM_CHECK_EXTENSION ioctl() at run-time.
182+The maximum possible value for max_vcpus can be retrieved using the
183+KVM_CAP_MAX_VCPUS of the KVM_CHECK_EXTENSION ioctl() at run-time.
184+
180185 If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4
181186 cpus max.
187+If the KVM_CAP_MAX_VCPUS does not exist, you should assume that max_vcpus is
188+same as the value returned from KVM_CAP_NR_VCPUS.
189+
190+On powerpc using book3s_hv mode, the vcpus are mapped onto virtual
191+threads in one or more virtual CPU cores. (This is because the
192+hardware requires all the hardware threads in a CPU core to be in the
193+same partition.) The KVM_CAP_PPC_SMT capability indicates the number
194+of vcpus per virtual core (vcore). The vcore id is obtained by
195+dividing the vcpu id by the number of vcpus per vcore. The vcpus in a
196+given vcore will always be in the same physical core as each other
197+(though that might be a different physical core from time to time).
198+Userspace can control the threading (SMT) mode of the guest by its
199+allocation of vcpu ids. For example, if userspace wants
200+single-threaded guest vcpus, it should make all vcpu ids be a multiple
201+of the number of vcpus per vcore.
182202
183203 On powerpc using book3s_hv mode, the vcpus are mapped onto virtual
184204 threads in one or more virtual CPU cores. (This is because the
@@ -1633,3 +1653,50 @@ developer registration required to access it). · 1448 unmodified lines
16331653 char padding[256];
16341654 };
16351655 };
1656+
1657+6. Capabilities that can be enabled
1658+
1659+There are certain capabilities that change the behavior of the virtual CPU when
1660+enabled. To enable them, please see section 4.37. Below you can find a list of
1661+capabilities and what their effect on the vCPU is when enabling them.
1662+
1663+The following information is provided along with the description:
1664+
1665+ Architectures: which instruction set architectures provide this ioctl.
1666+ x86 includes both i386 and x86_64.
1667+
1668+ Parameters: what parameters are accepted by the capability.
1669+
1670+ Returns: the return value. General error numbers (EBADF, ENOMEM, EINVAL)
1671+ are not detailed, but errors with specific meanings are.
1672+
1673+6.1 KVM_CAP_PPC_OSI
1674+
1675+Architectures: ppc
1676+Parameters: none
1677+Returns: 0 on success; -1 on error
1678+
1679+This capability enables interception of OSI hypercalls that otherwise would
1680+be treated as normal system calls to be injected into the guest. OSI hypercalls
1681+were invented by Mac-on-Linux to have a standardized communication mechanism
1682+between the guest and the host.
1683+
1684+When this capability is enabled, KVM_EXIT_OSI can occur.
1685+
1686+6.2 KVM_CAP_PPC_PAPR
1687+
1688+Architectures: ppc
1689+Parameters: none
1690+Returns: 0 on success; -1 on error
1691+
1692+This capability enables interception of PAPR hypercalls. PAPR hypercalls are
1693+done using the hypercall instruction "sc 1".
1694+
1695+It also sets the guest privilege level to "supervisor" mode. Usually the guest
1696+runs in "hypervisor" privilege mode with a few missing features.
1697+
1698+In addition to the above, it changes the semantics of SDR1. In this mode, the
1699+HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the
1700+HTAB invisible to the guest.
1701+
1702+When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur.
Documentation/virtual/uml/UserModeLinux-HOWTO.txt+266−266
@@ -134,13 +134,13 @@ · 133 unmodified lines
134134
135135 ______________________________________________________________________
136136
137− 11.. IInnttrroodduuccttiioonn
137+ 1. Introduction
138138
139139 Welcome to User Mode Linux. It's going to be fun.
140140
141141
142142
143− 11..11.. HHooww iiss UUsseerr MMooddee LLiinnuuxx DDiiffffeerreenntt??
143+ 1.1. How is User Mode Linux Different?
144144
145145 Normally, the Linux Kernel talks straight to your hardware (video
146146 card, keyboard, hard drives, etc), and any programs which run ask the
@@ -181,7 +181,7 @@ · 34 unmodified lines
181181
182182
183183
184− 11..22.. WWhhyy WWoouulldd II WWaanntt UUsseerr MMooddee LLiinnuuxx??
184+ 1.2. Why Would I Want User Mode Linux?
185185
186186
187187 1. If User Mode Linux crashes, your host kernel is still fine.
@@ -206,12 +206,12 @@ · 18 unmodified lines
206206
207207
208208
209− 22.. CCoommppiilliinngg tthhee kkeerrnneell aanndd mmoodduulleess
209+ 2. Compiling the kernel and modules
210210
211211
212212
213213
214− 22..11.. CCoommppiilliinngg tthhee kkeerrnneell
214+ 2.1. Compiling the kernel
215215
216216
217217 Compiling the user mode kernel is just like compiling any other
@@ -322,7 +322,7 @@ · 104 unmodified lines
322322 bug fixes and enhancements that have gone into subsequent releases.
323323
324324
325− 22..22.. CCoommppiilliinngg aanndd iinnssttaalllliinngg kkeerrnneell mmoodduulleess
325+ 2.2. Compiling and installing kernel modules
326326
327327 UML modules are built in the same way as the native kernel (with the
328328 exception of the 'ARCH=um' that you always need for UML):
@@ -386,19 +386,19 @@ · 57 unmodified lines
386386
387387
388388
389− 22..33.. CCoommppiilliinngg aanndd iinnssttaalllliinngg uummll__uuttiilliittiieess
389+ 2.3. Compiling and installing uml_utilities
390390
391391 Many features of the UML kernel require a user-space helper program,
392392 so a uml_utilities package is distributed separately from the kernel
393393 patch which provides these helpers. Included within this is:
394394
395− +o port-helper - Used by consoles which connect to xterms or ports
395+ o port-helper - Used by consoles which connect to xterms or ports
396396
397− +o tunctl - Configuration tool to create and delete tap devices
397+ o tunctl - Configuration tool to create and delete tap devices
398398
399− +o uml_net - Setuid binary for automatic tap device configuration
399+ o uml_net - Setuid binary for automatic tap device configuration
400400
401− +o uml_switch - User-space virtual switch required for daemon
401+ o uml_switch - User-space virtual switch required for daemon
402402 transport
403403
404404 The uml_utilities tree is compiled with:
@@ -423,11 +423,11 @@ · 18 unmodified lines
423423
424424
425425
426− 33.. RRuunnnniinngg UUMMLL aanndd llooggggiinngg iinn
426+ 3. Running UML and logging in
427427
428428
429429
430− 33..11.. RRuunnnniinngg UUMMLL
430+ 3.1. Running UML
431431
432432 It runs on 2.2.15 or later, and all 2.4 kernels.
433433
@@ -454,7 +454,7 @@ · 20 unmodified lines
454454
455455
456456
457− 33..22.. LLooggggiinngg iinn
457+ 3.2. Logging in
458458
459459
460460
@@ -468,7 +468,7 @@ · 7 unmodified lines
468468
469469 There are a couple of other ways to log in:
470470
471− +o On a virtual console
471+ o On a virtual console
472472
473473
474474
@@ -480,7 +480,7 @@ · 5 unmodified lines
480480
481481
482482
483− +o Over the serial line
483+ o Over the serial line
484484
485485
486486 In the boot output, find a line that looks like:
@@ -503,7 +503,7 @@ · 16 unmodified lines
503503
504504
505505
506− +o Over the net
506+ o Over the net
507507
508508
509509 If the network is running, then you can telnet to the virtual
@@ -514,13 +514,13 @@ · 4 unmodified lines
514514 down and the process will exit.
515515
516516
517− 33..33.. EExxaammpplleess
517+ 3.3. Examples
518518
519519 Here are some examples of UML in action:
520520
521− +o A login session <http://user-mode-linux.sourceforge.net/login.html>
521+ o A login session <http://user-mode-linux.sourceforge.net/login.html>
522522
523− +o A virtual network <http://user-mode-linux.sourceforge.net/net.html>
523+ o A virtual network <http://user-mode-linux.sourceforge.net/net.html>
524524
525525
526526
@@ -528,12 +528,12 @@ · 1 unmodified line
528528
529529
530530
531− 44.. UUMMLL oonn 22GG//22GG hhoossttss
531+ 4. UML on 2G/2G hosts
532532
533533
534534
535535
536− 44..11.. IInnttrroodduuccttiioonn
536+ 4.1. Introduction
537537
538538
539539 Most Linux machines are configured so that the kernel occupies the
@@ -546,7 +546,7 @@ · 6 unmodified lines
546546
547547
548548
549− 44..22.. TThhee pprroobblleemm
549+ 4.2. The problem
550550
551551
552552 The prebuilt UML binaries on this site will not run on 2G/2G hosts
@@ -558,7 +558,7 @@ · 5 unmodified lines
558558
559559
560560
561− 44..33.. TThhee ssoolluuttiioonn
561+ 4.3. The solution
562562
563563
564564 The fix for this is to rebuild UML from source after enabling
@@ -576,7 +576,7 @@ · 11 unmodified lines
576576
577577
578578
579− 55.. SSeettttiinngg uupp sseerriiaall lliinneess aanndd ccoonnssoolleess
579+ 5. Setting up serial lines and consoles
580580
581581
582582 It is possible to attach UML serial lines and consoles to many types
@@ -586,12 +586,12 @@ · 3 unmodified lines
586586 You can attach them to host ptys, ttys, file descriptors, and ports.
587587 This allows you to do things like
588588
589− +o have a UML console appear on an unused host console,
589+ o have a UML console appear on an unused host console,
590590
591− +o hook two virtual machines together by having one attach to a pty
591+ o hook two virtual machines together by having one attach to a pty
592592 and having the other attach to the corresponding tty
593593
594− +o make a virtual machine accessible from the net by attaching a
594+ o make a virtual machine accessible from the net by attaching a
595595 console to a port on the host.
596596
597597
@@ -599,7 +599,7 @@ · 1 unmodified line
599599
600600
601601
602− 55..11.. SSppeecciiffyyiinngg tthhee ddeevviiccee
602+ 5.1. Specifying the device
603603
604604 Devices are specified with "con" or "ssl" (console or serial line,
605605 respectively), optionally with a device number if you are talking
@@ -626,13 +626,13 @@ · 20 unmodified lines
626626
627627
628628
629− 55..22.. SSppeecciiffyyiinngg tthhee cchhaannnneell
629+ 5.2. Specifying the channel
630630
631631 There are a number of different types of channels to attach a UML
632632 device to, each with a different way of specifying exactly what to
633633 attach to.
634634
635− +o pseudo-terminals - device=pty pts terminals - device=pts
635+ o pseudo-terminals - device=pty pts terminals - device=pts
636636
637637
638638 This will cause UML to allocate a free host pseudo-terminal for the
@@ -640,20 +640,20 @@ · 1 unmodified line
640640 log. You access it by attaching a terminal program to the
641641 corresponding tty:
642642
643− +o screen /dev/pts/n
643+ o screen /dev/pts/n
644644
645− +o screen /dev/ttyxx
645+ o screen /dev/ttyxx
646646
647− +o minicom -o -p /dev/ttyxx - minicom seems not able to handle pts
647+ o minicom -o -p /dev/ttyxx - minicom seems not able to handle pts
648648 devices
649649
650− +o kermit - start it up, 'open' the device, then 'connect'
650+ o kermit - start it up, 'open' the device, then 'connect'
651651
652652
653653
654654
655655
656− +o terminals - device=tty:tty device file
656+ o terminals - device=tty:tty device file
657657
658658
659659 This will make UML attach the device to the specified tty (i.e
@@ -672,7 +672,7 @@ · 12 unmodified lines
672672
673673
674674
675− +o xterms - device=xterm
675+ o xterms - device=xterm
676676
677677
678678 UML will run an xterm and the device will be attached to it.
@@ -681,7 +681,7 @@ · 2 unmodified lines
681681
682682
683683
684− +o Port - device=port:port number
684+ o Port - device=port:port number
685685
686686
687687 This will attach the UML devices to the specified host port.
@@ -725,7 +725,7 @@ · 37 unmodified lines
725725
726726
727727
728− +o already-existing file descriptors - device=file descriptor
728+ o already-existing file descriptors - device=file descriptor
729729
730730
731731 If you set up a file descriptor on the UML command line, you can
@@ -743,7 +743,7 @@ · 11 unmodified lines
743743
744744
745745
746− +o Nothing - device=null
746+ o Nothing - device=null
747747
748748
749749 This allows the device to be opened, in contrast to 'none', but
@@ -754,7 +754,7 @@ · 4 unmodified lines
754754
755755
756756
757− +o None - device=none
757+ o None - device=none
758758
759759
760760 This causes the device to disappear.
@@ -770,7 +770,7 @@ · 9 unmodified lines
770770
771771
772772
773− will cause serial line 3 to accept input on the host's /dev/tty3 and
773+ will cause serial line 3 to accept input on the host's /dev/tty2 and
774774 display output on an xterm. That's a silly example - the most common
775775 use of this syntax is to reattach the main console to stdin and stdout
776776 as shown above.
@@ -785,7 +785,7 @@ · 8 unmodified lines
785785
786786
787787
788− 55..33.. EExxaammpplleess
788+ 5.3. Examples
789789
790790 There are a number of interesting things you can do with this
791791 capability.
@@ -838,7 +838,7 @@ · 46 unmodified lines
838838 prompt of the other virtual machine.
839839
840840
841− 66.. SSeettttiinngg uupp tthhee nneettwwoorrkk
841+ 6. Setting up the network
842842
843843
844844
@@ -858,19 +858,19 @@ · 13 unmodified lines
858858 There are currently five transport types available for a UML virtual
859859 machine to exchange packets with other hosts:
860860
861− +o ethertap
861+ o ethertap
862862
863− +o TUN/TAP
863+ o TUN/TAP
864864
865− +o Multicast
865+ o Multicast
866866
867− +o a switch daemon
867+ o a switch daemon
868868
869− +o slip
869+ o slip
870870
871− +o slirp
871+ o slirp
872872
873− +o pcap
873+ o pcap
874874
875875 The TUN/TAP, ethertap, slip, and slirp transports allow a UML
876876 instance to exchange packets with the host. They may be directed
@@ -893,28 +893,28 @@ · 16 unmodified lines
893893 With so many host transports, which one should you use? Here's when
894894 you should use each one:
895895
896− +o ethertap - if you want access to the host networking and it is
896+ o ethertap - if you want access to the host networking and it is
897897 running 2.2
898898
899− +o TUN/TAP - if you want access to the host networking and it is
899+ o TUN/TAP - if you want access to the host networking and it is
900900 running 2.4. Also, the TUN/TAP transport is able to use a
901901 preconfigured device, allowing it to avoid using the setuid uml_net
902902 helper, which is a security advantage.
903903
904− +o Multicast - if you want a purely virtual network and you don't want
904+ o Multicast - if you want a purely virtual network and you don't want
905905 to set up anything but the UML
906906
907− +o a switch daemon - if you want a purely virtual network and you
907+ o a switch daemon - if you want a purely virtual network and you
908908 don't mind running the daemon in order to get somewhat better
909909 performance
910910
911− +o slip - there is no particular reason to run the slip backend unless
911+ o slip - there is no particular reason to run the slip backend unless
912912 ethertap and TUN/TAP are just not available for some reason
913913
914− +o slirp - if you don't have root access on the host to setup
914+ o slirp - if you don't have root access on the host to setup
915915 networking, or if you don't want to allocate an IP to your UML
916916
917− +o pcap - not much use for actual network connectivity, but great for
917+ o pcap - not much use for actual network connectivity, but great for
918918 monitoring traffic on the host
919919
920920 Ethertap is available on 2.4 and works fine. TUN/TAP is preferred
@@ -926,7 +926,7 @@ · 5 unmodified lines
926926 exploit the helper's root privileges.
927927
928928
929− 66..11.. GGeenneerraall sseettuupp
929+ 6.1. General setup
930930
931931 First, you must have the virtual network enabled in your UML. If are
932932 running a prebuilt kernel from this site, everything is already
@@ -995,7 +995,7 @@ · 62 unmodified lines
995995
996996
997997
998− 66..22.. UUsseerrssppaaccee ddaaeemmoonnss
998+ 6.2. Userspace daemons
999999
10001000 You will likely need the setuid helper, or the switch daemon, or both.
10011001 They are both installed with the RPM and deb, so if you've installed
@@ -1011,7 +1011,7 @@ · 9 unmodified lines
10111011
10121012
10131013
1014− 66..33.. SSppeecciiffyyiinngg eetthheerrnneett aaddddrreesssseess
1014+ 6.3. Specifying ethernet addresses
10151015
10161016 Below, you will see that the TUN/TAP, ethertap, and daemon interfaces
10171017 allow you to specify hardware addresses for the virtual ethernet
@@ -1023,11 +1023,11 @@ · 5 unmodified lines
10231023 sufficient to guarantee a unique hardware address for the device. A
10241024 couple of exceptions are:
10251025
1026− +o Another set of virtual ethernet devices are on the same network and
1026+ o Another set of virtual ethernet devices are on the same network and
10271027 they are assigned hardware addresses using a different scheme which
10281028 may conflict with the UML IP address-based scheme
10291029
1030− +o You aren't going to use the device for IP networking, so you don't
1030+ o You aren't going to use the device for IP networking, so you don't
10311031 assign the device an IP address
10321032
10331033 If you let the driver provide the hardware address, you should make
@@ -1049,7 +1049,7 @@ · 15 unmodified lines
10491049
10501050
10511051
1052− 66..44.. UUMMLL iinntteerrffaaccee sseettuupp
1052+ 6.4. UML interface setup
10531053
10541054 Once the network devices have been described on the command line, you
10551055 should boot UML and log in.
@@ -1131,7 +1131,7 @@ · 75 unmodified lines
11311131
11321132
11331133
1134− 66..55.. MMuullttiiccaasstt
1134+ 6.5. Multicast
11351135
11361136 The simplest way to set up a virtual network between multiple UMLs is
11371137 to use the mcast transport. This was written by Harald Welte and is
@@ -1194,7 +1194,7 @@ · 56 unmodified lines
11941194
11951195
11961196
1197− 66..66.. TTUUNN//TTAAPP wwiitthh tthhee uummll__nneett hheellppeerr
1197+ 6.6. TUN/TAP with the uml_net helper
11981198
11991199 TUN/TAP is the preferred mechanism on 2.4 to exchange packets with the
12001200 host. The TUN/TAP backend has been in UML since 2.4.9-3um.
@@ -1247,10 +1247,10 @@ · 46 unmodified lines
12471247 There are a couple potential problems with running the TUN/TAP
12481248 transport on a 2.4 host kernel
12491249
1250− +o TUN/TAP seems not to work on 2.4.3 and earlier. Upgrade the host
1250+ o TUN/TAP seems not to work on 2.4.3 and earlier. Upgrade the host
12511251 kernel or use the ethertap transport.
12521252
1253− +o With an upgraded kernel, TUN/TAP may fail with
1253+ o With an upgraded kernel, TUN/TAP may fail with
12541254
12551255
12561256 File descriptor in bad state
@@ -1269,7 +1269,7 @@ · 12 unmodified lines
12691269
12701270
12711271
1272− 66..77.. TTUUNN//TTAAPP wwiitthh aa pprreeccoonnffiigguurreedd ttaapp ddeevviiccee
1272+ 6.7. TUN/TAP with a preconfigured tap device
12731273
12741274 If you prefer not to have UML use uml_net (which is somewhat
12751275 insecure), with UML 2.4.17-11, you can set up a TUN/TAP device
@@ -1277,7 +1277,7 @@ · 1 unmodified line
12771277 there is no need for root assistance. Setting up the device is done
12781278 as follows:
12791279
1280− +o Create the device with tunctl (available from the UML utilities
1280+ o Create the device with tunctl (available from the UML utilities
12811281 tarball)
12821282
12831283
@@ -1291,7 +1291,7 @@ · 7 unmodified lines
12911291 where uid is the user id or username that UML will be run as. This
12921292 will tell you what device was created.
12931293
1294− +o Configure the device IP (change IP addresses and device name to
1294+ o Configure the device IP (change IP addresses and device name to
12951295 suit)
12961296
12971297
@@ -1303,7 +1303,7 @@ · 5 unmodified lines
13031303
13041304
13051305
1306− +o Set up routing and arping if desired - this is my recipe, there are
1306+ o Set up routing and arping if desired - this is my recipe, there are
13071307 other ways of doing the same thing
13081308
13091309
@@ -1338,7 +1338,7 @@ · 28 unmodified lines
13381338 utility which reads the information from a config file and sets up
13391339 devices at boot time.
13401340
1341− +o Rather than using up two IPs and ARPing for one of them, you can
1341+ o Rather than using up two IPs and ARPing for one of them, you can
13421342 also provide direct access to your LAN by the UML by using a
13431343 bridge.
13441344
@@ -1417,7 +1417,7 @@ · 72 unmodified lines
14171417 Note that 'br0' should be setup using ifconfig with the existing IP
14181418 address of eth0, as eth0 no longer has its own IP.
14191419
1420− +o
1420+ o
14211421
14221422
14231423 Also, the /dev/net/tun device must be writable by the user running
@@ -1438,11 +1438,11 @@ · 14 unmodified lines
14381438 devices and chgrp /dev/net/tun to that group with mode 664 or 660.
14391439
14401440
1441− +o Once the device is set up, run UML with 'eth0=tuntap,device name'
1441+ o Once the device is set up, run UML with 'eth0=tuntap,device name'
14421442 (i.e. 'eth0=tuntap,tap0') on the command line (or do it with the
14431443 mconsole config command).
14441444
1445− +o Bring the eth device up in UML and you're in business.
1445+ o Bring the eth device up in UML and you're in business.
14461446
14471447 If you don't want that tap device any more, you can make it non-
14481448 persistent with
@@ -1465,7 +1465,7 @@ · 16 unmodified lines
14651465
14661466
14671467
1468− 66..88.. EEtthheerrttaapp
1468+ 6.8. Ethertap
14691469
14701470 Ethertap is the general mechanism on 2.2 for userspace processes to
14711471 exchange packets with the kernel.
@@ -1561,9 +1561,9 @@ · 89 unmodified lines
15611561
15621562
15631563
1564− 66..99.. TThhee sswwiittcchh ddaaeemmoonn
1564+ 6.9. The switch daemon
15651565
1566− NNoottee: This is the daemon formerly known as uml_router, but which was
1566+ Note: This is the daemon formerly known as uml_router, but which was
15671567 renamed so the network weenies of the world would stop growling at me.
15681568
15691569
@@ -1649,7 +1649,7 @@ · 79 unmodified lines
16491649
16501650
16511651
1652− 66..1100.. SSlliipp
1652+ 6.10. Slip
16531653
16541654 Slip is another, less general, mechanism for a process to communicate
16551655 with the host networking. In contrast to the ethertap interface,
@@ -1681,7 +1681,7 @@ · 25 unmodified lines
16811681
16821682
16831683
1684− 66..1111.. SSlliirrpp
1684+ 6.11. Slirp
16851685
16861686 slirp uses an external program, usually /usr/bin/slirp, to provide IP
16871687 only networking connectivity through the host. This is similar to IP
@@ -1737,7 +1737,7 @@ · 49 unmodified lines
17371737
17381738
17391739
1740− 66..1122.. ppccaapp
1740+ 6.12. pcap
17411741
17421742 The pcap transport is attached to a UML ethernet device on the command
17431743 line or with uml_mconsole with the following syntax:
@@ -1777,7 +1777,7 @@ · 33 unmodified lines
17771777
17781778
17791779
1780− 66..1133.. SSeettttiinngg uupp tthhee hhoosstt yyoouurrsseellff
1780+ 6.13. Setting up the host yourself
17811781
17821782 If you don't specify an address for the host side of the ethertap or
17831783 slip device, UML won't do any setup on the host. So this is what is
@@ -1785,7 +1785,7 @@ · 1 unmodified line
17851785 192.168.0.251 and a UML-side IP of 192.168.0.250 - adjust to suit your
17861786 own network):
17871787
1788− +o The device needs to be configured with its IP address. Tap devices
1788+ o The device needs to be configured with its IP address. Tap devices
17891789 are also configured with an mtu of 1484. Slip devices are
17901790 configured with a point-to-point address pointing at the UML ip
17911791 address.
@@ -1805,7 +1805,7 @@ · 13 unmodified lines
18051805
18061806
18071807
1808− +o If a tap device is being set up, a route is set to the UML IP.
1808+ o If a tap device is being set up, a route is set to the UML IP.
18091809
18101810
18111811 UML# route add -host 192.168.0.250 gw 192.168.0.251
@@ -1814,7 +1814,7 @@ · 2 unmodified lines
18141814
18151815
18161816
1817− +o To allow other hosts on your network to see the virtual machine,
1817+ o To allow other hosts on your network to see the virtual machine,
18181818 proxy arp is set up for it.
18191819
18201820
@@ -1824,7 +1824,7 @@ · 3 unmodified lines
18241824
18251825
18261826
1827− +o Finally, the host is set up to route packets.
1827+ o Finally, the host is set up to route packets.
18281828
18291829
18301830 host# echo 1 > /proc/sys/net/ipv4/ip_forward
@@ -1838,12 +1838,12 @@ · 7 unmodified lines
18381838
18391839
18401840
1841− 77.. SShhaarriinngg FFiilleessyysstteemmss bbeettwweeeenn VViirrttuuaall MMaacchhiinneess
1841+ 7. Sharing Filesystems between Virtual Machines
18421842
18431843
18441844
18451845
1846− 77..11.. AA wwaarrnniinngg
1846+ 7.1. A warning
18471847
18481848 Don't attempt to share filesystems simply by booting two UMLs from the
18491849 same file. That's the same thing as booting two physical machines
@@ -1851,7 +1851,7 @@ · 1 unmodified line
18511851
18521852
18531853
1854− 77..22.. UUssiinngg llaayyeerreedd bblloocckk ddeevviicceess
1854+ 7.2. Using layered block devices
18551855
18561856 The way to share a filesystem between two virtual machines is to use
18571857 the copy-on-write (COW) layering capability of the ubd block driver.
@@ -1896,7 +1896,7 @@ · 38 unmodified lines
18961896
18971897
18981898
1899− 77..33.. NNoottee!!
1899+ 7.3. Note!
19001900
19011901 When checking the size of the COW file in order to see the gobs of
19021902 space that you're saving, make sure you use 'ls -ls' to see the actual
@@ -1926,7 +1926,7 @@ · 23 unmodified lines
19261926
19271927
19281928
1929− 77..44.. AAnnootthheerr wwaarrnniinngg
1929+ 7.4. Another warning
19301930
19311931 Once a filesystem is being used as a readonly backing file for a COW
19321932 file, do not boot directly from it or modify it in any way. Doing so
@@ -1952,7 +1952,7 @@ · 19 unmodified lines
19521952
19531953
19541954
1955− 77..55.. uummll__mmoooo :: MMeerrggiinngg aa CCOOWW ffiillee wwiitthh iittss bbaacckkiinngg ffiillee
1955+ 7.5. uml_moo : Merging a COW file with its backing file
19561956
19571957 Depending on how you use UML and COW devices, it may be advisable to
19581958 merge the changes in the COW file into the backing file every once in
@@ -2001,7 +2001,7 @@ · 42 unmodified lines
20012001
20022002
20032003
2004− 88.. CCrreeaattiinngg ffiilleessyysstteemmss
2004+ 8. Creating filesystems
20052005
20062006
20072007 You may want to create and mount new UML filesystems, either because
@@ -2015,7 +2015,7 @@ · 7 unmodified lines
20152015 should be easy to translate to the filesystem of your choice.
20162016
20172017
2018− 88..11.. CCrreeaattee tthhee ffiilleessyysstteemm ffiillee
2018+ 8.1. Create the filesystem file
20192019
20202020 dd is your friend. All you need to do is tell dd to create an empty
20212021 file of the appropriate size. I usually make it sparse to save time
@@ -2032,7 +2032,7 @@ · 10 unmodified lines
20322032
20332033
20342034
2035− 88..22.. AAssssiiggnn tthhee ffiillee ttoo aa UUMMLL ddeevviiccee
2035+ 8.2. Assign the file to a UML device
20362036
20372037 Add an argument like the following to the UML command line:
20382038
@@ -2045,7 +2045,7 @@ · 6 unmodified lines
20452045
20462046
20472047
2048− 88..33.. CCrreeaattiinngg aanndd mmoouunnttiinngg tthhee ffiilleessyysstteemm
2048+ 8.3. Creating and mounting the filesystem
20492049
20502050 Make sure that the filesystem is available, either by being built into
20512051 the kernel, or available as a module, then boot up UML and log in. If
@@ -2096,7 +2096,7 @@ · 44 unmodified lines
20962096
20972097
20982098
2099− 99.. HHoosstt ffiillee aacccceessss
2099+ 9. Host file access
21002100
21012101
21022102 If you want to access files on the host machine from inside UML, you
@@ -2112,7 +2112,7 @@ · 9 unmodified lines
21122112 files contained in it just as you would on the host.
21132113
21142114
2115− 99..11.. UUssiinngg hhoossttffss
2115+ 9.1. Using hostfs
21162116
21172117 To begin with, make sure that hostfs is available inside the virtual
21182118 machine with
@@ -2151,7 +2151,7 @@ · 32 unmodified lines
21512151
21522152
21532153
2154− 99..22.. hhoossttffss aass tthhee rroooott ffiilleessyysstteemm
2154+ 9.2. hostfs as the root filesystem
21552155
21562156 It's possible to boot from a directory hierarchy on the host using
21572157 hostfs rather than using the standard filesystem in a file.
@@ -2194,20 +2194,20 @@ · 36 unmodified lines
21942194 UML should then boot as it does normally.
21952195
21962196
2197− 99..33.. BBuuiillddiinngg hhoossttffss
2197+ 9.3. Building hostfs
21982198
21992199 If you need to build hostfs because it's not in your kernel, you have
22002200 two choices:
22012201
22022202
22032203
2204− +o Compiling hostfs into the kernel:
2204+ o Compiling hostfs into the kernel:
22052205
22062206
22072207 Reconfigure the kernel and set the 'Host filesystem' option under
22082208
22092209
2210− +o Compiling hostfs as a module:
2210+ o Compiling hostfs as a module:
22112211
22122212
22132213 Reconfigure the kernel and set the 'Host filesystem' option under
@@ -2228,7 +2228,7 @@ · 14 unmodified lines
22282228
22292229
22302230
2231− 1100.. TThhee MMaannaaggeemmeenntt CCoonnssoollee
2231+ 10. The Management Console
22322232
22332233
22342234
@@ -2240,15 +2240,15 @@ · 5 unmodified lines
22402240
22412241 There are a number of things you can do with the mconsole interface:
22422242
2243− +o get the kernel version
2243+ o get the kernel version
22442244
2245− +o add and remove devices
2245+ o add and remove devices
22462246
2247− +o halt or reboot the machine
2247+ o halt or reboot the machine
22482248
2249− +o Send SysRq commands
2249+ o Send SysRq commands
22502250
2251− +o Pause and resume the UML
2251+ o Pause and resume the UML
22522252
22532253
22542254 You need the mconsole client (uml_mconsole) which is present in CVS
@@ -2300,28 +2300,28 @@ · 45 unmodified lines
23002300
23012301 You'll get a prompt, at which you can run one of these commands:
23022302
2303− +o version
2303+ o version
23042304
2305− +o halt
2305+ o halt
23062306
2307− +o reboot
2307+ o reboot
23082308
2309− +o config
2309+ o config
23102310
2311− +o remove
2311+ o remove
23122312
2313− +o sysrq
2313+ o sysrq
23142314
2315− +o help
2315+ o help
23162316
2317− +o cad
2317+ o cad
23182318
2319− +o stop
2319+ o stop
23202320
2321− +o go
2321+ o go
23222322
23232323
2324− 1100..11.. vveerrssiioonn
2324+ 10.1. version
23252325
23262326 This takes no arguments. It prints the UML version.
23272327
@@ -2342,7 +2342,7 @@ · 14 unmodified lines
23422342
23432343
23442344
2345− 1100..22.. hhaalltt aanndd rreebboooott
2345+ 10.2. halt and reboot
23462346
23472347 These take no arguments. They shut the machine down immediately, with
23482348 no syncing of disks and no clean shutdown of userspace. So, they are
@@ -2357,7 +2357,7 @@ · 8 unmodified lines
23572357
23582358
23592359
2360− 1100..33.. ccoonnffiigg
2360+ 10.3. config
23612361
23622362 "config" adds a new device to the virtual machine. Currently the ubd
23632363 and network drivers support this. It takes one argument, which is the
@@ -2378,7 +2378,7 @@ · 14 unmodified lines
23782378
23792379
23802380
2381− 1100..44.. rreemmoovvee
2381+ 10.4. remove
23822382
23832383 "remove" deletes a device from the system. Its argument is just the
23842384 name of the device to be removed. The device must be idle in whatever
@@ -2397,7 +2397,7 @@ · 12 unmodified lines
23972397
23982398
23992399
2400− 1100..55.. ssyyssrrqq
2400+ 10.5. sysrq
24012401
24022402 This takes one argument, which is a single letter. It calls the
24032403 generic kernel's SysRq driver, which does whatever is called for by
@@ -2407,14 +2407,14 @@ · 3 unmodified lines
24072407
24082408
24092409
2410− 1100..66.. hheellpp
2410+ 10.6. help
24112411
24122412 "help" returns a string listing the valid commands and what each one
24132413 does.
24142414
24152415
24162416
2417− 1100..77.. ccaadd
2417+ 10.7. cad
24182418
24192419 This invokes the Ctl-Alt-Del action on init. What exactly this ends
24202420 up doing is up to /etc/inittab. Normally, it reboots the machine.
@@ -2432,7 +2432,7 @@ · 11 unmodified lines
24322432
24332433
24342434
2435− 1100..88.. ssttoopp
2435+ 10.8. stop
24362436
24372437 This puts the UML in a loop reading mconsole requests until a 'go'
24382438 mconsole command is received. This is very useful for making backups
@@ -2448,7 +2448,7 @@ · 9 unmodified lines
24482448
24492449
24502450
2451− 1100..99.. ggoo
2451+ 10.9. go
24522452
24532453 This resumes a UML after being paused by a 'stop' command. Note that
24542454 when the UML has resumed, TCP connections may have timed out and if
@@ -2462,10 +2462,10 @@ · 7 unmodified lines
24622462
24632463
24642464
2465− 1111.. KKeerrnneell ddeebbuuggggiinngg
2465+ 11. Kernel debugging
24662466
24672467
2468− NNoottee:: The interface that makes debugging, as described here, possible
2468+ Note: The interface that makes debugging, as described here, possible
24692469 is present in 2.4.0-test6 kernels and later.
24702470
24712471
@@ -2485,7 +2485,7 @@ · 13 unmodified lines
24852485
24862486
24872487
2488− 1111..11.. SSttaarrttiinngg tthhee kkeerrnneell uunnddeerr ggddbb
2488+ 11.1. Starting the kernel under gdb
24892489
24902490 You can have the kernel running under the control of gdb from the
24912491 beginning by putting 'debug' on the command line. You will get an
@@ -2498,7 +2498,7 @@ · 6 unmodified lines
24982498 There is a transcript of a debugging session here <debug-
24992499 session.html> , with breakpoints being set in the scheduler and in an
25002500 interrupt handler.
2501− 1111..22.. EExxaammiinniinngg sslleeeeppiinngg pprroocceesssseess
2501+ 11.2. Examining sleeping processes
25022502
25032503 Not every bug is evident in the currently running process. Sometimes,
25042504 processes hang in the kernel when they shouldn't because they've
@@ -2516,7 +2516,7 @@ · 11 unmodified lines
25162516
25172517 Now what you do is this:
25182518
2519− +o detach from the current thread
2519+ o detach from the current thread
25202520
25212521
25222522 (UML gdb) det
@@ -2525,7 +2525,7 @@ · 2 unmodified lines
25252525
25262526
25272527
2528− +o attach to the thread you are interested in
2528+ o attach to the thread you are interested in
25292529
25302530
25312531 (UML gdb) att <host pid>
@@ -2534,7 +2534,7 @@ · 2 unmodified lines
25342534
25352535
25362536
2537− +o look at its stack and anything else of interest
2537+ o look at its stack and anything else of interest
25382538
25392539
25402540 (UML gdb) bt
@@ -2545,7 +2545,7 @@ · 4 unmodified lines
25452545 Note that you can't do anything at this point that requires that a
25462546 process execute, e.g. calling a function
25472547
2548− +o when you're done looking at that process, reattach to the current
2548+ o when you're done looking at that process, reattach to the current
25492549 thread and continue it
25502550
25512551
@@ -2569,12 +2569,12 @@ · 17 unmodified lines
25692569
25702570
25712571
2572− 1111..33.. RRuunnnniinngg dddddd oonn UUMMLL
2572+ 11.3. Running ddd on UML
25732573
25742574 ddd works on UML, but requires a special kludge. The process goes
25752575 like this:
25762576
2577− +o Start ddd
2577+ o Start ddd
25782578
25792579
25802580 host% ddd linux
@@ -2583,14 +2583,14 @@ · 2 unmodified lines
25832583
25842584
25852585
2586− +o With ps, get the pid of the gdb that ddd started. You can ask the
2586+ o With ps, get the pid of the gdb that ddd started. You can ask the
25872587 gdb to tell you, but for some reason that confuses things and
25882588 causes a hang.
25892589
2590− +o run UML with 'debug=parent gdb-pid=<pid>' added to the command line
2590+ o run UML with 'debug=parent gdb-pid=<pid>' added to the command line
25912591 - it will just sit there after you hit return
25922592
2593− +o type 'att 1' to the ddd gdb and you will see something like
2593+ o type 'att 1' to the ddd gdb and you will see something like
25942594
25952595
25962596 0xa013dc51 in __kill ()
@@ -2602,12 +2602,12 @@ · 5 unmodified lines
26022602
26032603
26042604
2605− +o At this point, type 'c', UML will boot up, and you can use ddd just
2605+ o At this point, type 'c', UML will boot up, and you can use ddd just
26062606 as you do on any other process.
26072607
26082608
26092609
2610− 1111..44.. DDeebbuuggggiinngg mmoodduulleess
2610+ 11.4. Debugging modules
26112611
26122612 gdb has support for debugging code which is dynamically loaded into
26132613 the process. This support is what is needed to debug kernel modules
@@ -2823,7 +2823,7 @@ · 209 unmodified lines
28232823
28242824
28252825
2826− 1111..55.. AAttttaacchhiinngg ggddbb ttoo tthhee kkeerrnneell
2826+ 11.5. Attaching gdb to the kernel
28272827
28282828 If you don't have the kernel running under gdb, you can attach gdb to
28292829 it later by sending the tracing thread a SIGUSR1. The first line of
@@ -2857,7 +2857,7 @@ · 27 unmodified lines
28572857
28582858
28592859
2860− 1111..66.. UUssiinngg aalltteerrnnaattee ddeebbuuggggeerrss
2860+ 11.6. Using alternate debuggers
28612861
28622862 UML has support for attaching to an already running debugger rather
28632863 than starting gdb itself. This is present in CVS as of 17 Apr 2001.
@@ -2886,7 +2886,7 @@ · 22 unmodified lines
28862886 An example of an alternate debugger is strace. You can strace the
28872887 actual kernel as follows:
28882888
2889− +o Run the following in a shell
2889+ o Run the following in a shell
28902890
28912891
28922892 host%
@@ -2894,10 +2894,10 @@ · 1 unmodified line
28942894
28952895
28962896
2897− +o Run UML with 'debug' and 'gdb-pid=<pid>' with the pid printed out
2897+ o Run UML with 'debug' and 'gdb-pid=<pid>' with the pid printed out
28982898 by the previous command
28992899
2900− +o Hit return in the shell, and UML will start running, and strace
2900+ o Hit return in the shell, and UML will start running, and strace
29012901 output will start accumulating in the output file.
29022902
29032903 Note that this is different from running
@@ -2917,9 +2917,9 @@ · 13 unmodified lines
29172917
29182918
29192919
2920− 1122.. KKeerrnneell ddeebbuuggggiinngg eexxaammpplleess
2920+ 12. Kernel debugging examples
29212921
2922− 1122..11.. TThhee ccaassee ooff tthhee hhuunngg ffsscckk
2922+ 12.1. The case of the hung fsck
29232923
29242924 When booting up the kernel, fsck failed, and dropped me into a shell
29252925 to fix things up. I ran fsck -y, which hung:
@@ -3154,9 +3154,9 @@ · 228 unmodified lines
31543154
31553155 The interesting things here are :
31563156
3157− +o There are two segfaults on this stack (frames 9 and 14)
3157+ o There are two segfaults on this stack (frames 9 and 14)
31583158
3159− +o The first faulting address (frame 11) is 0x50000800
3159+ o The first faulting address (frame 11) is 0x50000800
31603160
31613161 (gdb) p (void *)1342179328
31623162 $16 = (void *) 0x50000800
@@ -3399,7 +3399,7 @@ · 236 unmodified lines
33993399 on will be somewhat clearer.
34003400
34013401
3402− 1122..22.. EEppiissooddee 22:: TThhee ccaassee ooff tthhee hhuunngg ffsscckk
3402+ 12.2. Episode 2: The case of the hung fsck
34033403
34043404 After setting a trap in the SEGV handler for accesses to the signal
34053405 thread's stack, I reran the kernel.
@@ -3788,12 +3788,12 @@ · 382 unmodified lines
37883788
37893789
37903790
3791− 1133.. WWhhaatt ttoo ddoo wwhheenn UUMMLL ddooeessnn''tt wwoorrkk
3791+ 13. What to do when UML doesn't work
37923792
37933793
37943794
37953795
3796− 1133..11.. SSttrraannggee ccoommppiillaattiioonn eerrrroorrss wwhheenn yyoouu bbuuiilldd ffrroomm ssoouurrccee
3796+ 13.1. Strange compilation errors when you build from source
37973797
37983798 As of test11, it is necessary to have "ARCH=um" in the environment or
37993799 on the make command line for all steps in building UML, including
@@ -3824,8 +3824,8 @@ · 24 unmodified lines
38243824
38253825
38263826
3827− 1133..33.. AA vvaarriieettyy ooff ppaanniiccss aanndd hhaannggss wwiitthh //ttmmpp oonn aa rreeiisseerrffss ffiilleessyyss--
3828− tteemm
3827+ 13.3. A variety of panics and hangs with /tmp on a reiserfs filesys-
3828+ tem
38293829
38303830 I saw this on reiserfs 3.5.21 and it seems to be fixed in 3.5.27.
38313831 Panics preceded by
@@ -3842,8 +3842,8 @@ · 10 unmodified lines
38423842
38433843
38443844
3845− 1133..44.. TThhee ccoommppiillee ffaaiillss wwiitthh eerrrroorrss aabboouutt ccoonnfflliiccttiinngg ttyyppeess ffoorr
3846− ''ooppeenn'',, ''dduupp'',, aanndd ''wwaaiittppiidd''
3845+ 13.4. The compile fails with errors about conflicting types for
3846+ 'open', 'dup', and 'waitpid'
38473847
38483848 This happens when you build in /usr/src/linux. The UML build makes
38493849 the include/asm link point to include/asm-um. /usr/include/asm points
@@ -3854,14 +3854,14 @@ · 4 unmodified lines
38543854
38553855
38563856
3857− 1133..55.. UUMMLL ddooeessnn''tt wwoorrkk wwhheenn //ttmmpp iiss aann NNFFSS ffiilleessyysstteemm
3857+ 13.5. UML doesn't work when /tmp is an NFS filesystem
38583858
38593859 This seems to be a similar situation with the ReiserFS problem above.
38603860 Some versions of NFS seems not to handle mmap correctly, which UML
38613861 depends on. The workaround is have /tmp be a non-NFS directory.
38623862
38633863
3864− 1133..66.. UUMMLL hhaannggss oonn bboooott wwhheenn ccoommppiilleedd wwiitthh ggpprrooff ssuuppppoorrtt
3864+ 13.6. UML hangs on boot when compiled with gprof support
38653865
38663866 If you build UML with gprof support and, early in the boot, it does
38673867 this
@@ -3878,7 +3878,7 @@ · 10 unmodified lines
38783878
38793879
38803880
3881− 1133..77.. ssyyssllooggdd ddiieess wwiitthh aa SSIIGGTTEERRMM oonn ssttaarrttuupp
3881+ 13.7. syslogd dies with a SIGTERM on startup
38823882
38833883 The exact boot error depends on the distribution that you're booting,
38843884 but Debian produces this:
@@ -3897,17 +3897,17 @@ · 12 unmodified lines
38973897
38983898
38993899
3900− 1133..88.. TTUUNN//TTAAPP nneettwwoorrkkiinngg ddooeessnn''tt wwoorrkk oonn aa 22..44 hhoosstt
3900+ 13.8. TUN/TAP networking doesn't work on a 2.4 host
39013901
39023902 There are a couple of problems which were
39033903 <http://www.geocrawler.com/lists/3/SourceForge/597/0/> name="pointed
39043904 out"> by Tim Robinson <timro at trkr dot net>
39053905
3906− +o It doesn't work on hosts running 2.4.7 (or thereabouts) or earlier.
3906+ o It doesn't work on hosts running 2.4.7 (or thereabouts) or earlier.
39073907 The fix is to upgrade to something more recent and then read the
39083908 next item.
39093909
3910− +o If you see
3910+ o If you see
39113911
39123912
39133913 File descriptor in bad state
@@ -3921,8 +3921,8 @@ · 7 unmodified lines
39213921
39223922
39233923
3924− 1133..99.. YYoouu ccaann nneettwwoorrkk ttoo tthhee hhoosstt bbuutt nnoott ttoo ootthheerr mmaacchhiinneess oonn tthhee
3925− nneett
3924+ 13.9. You can network to the host but not to other machines on the
3925+ net
39263926
39273927 If you can connect to the host, and the host can connect to UML, but
39283928 you cannot connect to any other machines, then you may need to enable
@@ -3972,7 +3972,7 @@ · 43 unmodified lines
39723972
39733973
39743974
3975− 1133..1100.. II hhaavvee nnoo rroooott aanndd II wwaanntt ttoo ssccrreeaamm
3975+ 13.10. I have no root and I want to scream
39763976
39773977 Thanks to Birgit Wahlich for telling me about this strange one. It
39783978 turns out that there's a limit of six environment variables on the
@@ -3987,7 +3987,7 @@ · 8 unmodified lines
39873987
39883988
39893989
3990− 1133..1111.. UUMMLL bbuuiilldd ccoonnfflliicctt bbeettwweeeenn ppttrraaccee..hh aanndd uuccoonntteexxtt..hh
3990+ 13.11. UML build conflict between ptrace.h and ucontext.h
39913991
39923992 On some older systems, /usr/include/asm/ptrace.h and
39933993 /usr/include/sys/ucontext.h define the same names. So, when they're
@@ -4007,7 +4007,7 @@ · 13 unmodified lines
40074007
40084008
40094009
4010− 1133..1122.. TThhee UUMMLL BBooggooMMiippss iiss eexxaaccttllyy hhaallff tthhee hhoosstt''ss BBooggooMMiippss
4010+ 13.12. The UML BogoMips is exactly half the host's BogoMips
40114011
40124012 On i386 kernels, there are two ways of running the loop that is used
40134013 to calculate the BogoMips rating, using the TSC if it's there or using
@@ -4019,7 +4019,7 @@ · 5 unmodified lines
40194019
40204020
40214021
4022− 1133..1133.. WWhheenn yyoouu rruunn UUMMLL,, iitt iimmmmeeddiiaatteellyy sseeggffaauullttss
4022+ 13.13. When you run UML, it immediately segfaults
40234023
40244024 If the host is configured with the 2G/2G address space split, that's
40254025 why. See ``UML on 2G/2G hosts'' for the details on getting UML to
@@ -4027,7 +4027,7 @@ · 1 unmodified line
40274027
40284028
40294029
4030− 1133..1144.. xxtteerrmmss aappppeeaarr,, tthheenn iimmmmeeddiiaatteellyy ddiissaappppeeaarr
4030+ 13.14. xterms appear, then immediately disappear
40314031
40324032 If you're running an up to date kernel with an old release of
40334033 uml_utilities, the port-helper program will not work properly, so
@@ -4039,7 +4039,7 @@ · 5 unmodified lines
40394039
40404040
40414041
4042− 1133..1155.. AAnnyy ootthheerr ppaanniicc,, hhaanngg,, oorr ssttrraannggee bbeehhaavviioorr
4042+ 13.15. Any other panic, hang, or strange behavior
40434043
40444044 If you're seeing truly strange behavior, such as hangs or panics that
40454045 happen in random places, or you try running the debugger to see what's
@@ -4059,7 +4059,7 @@ · 13 unmodified lines
40594059
40604060 If you want to be super-helpful, read ``Diagnosing Problems'' and
40614061 follow the instructions contained therein.
4062− 1144.. DDiiaaggnnoossiinngg PPrroobblleemmss
4062+ 14. Diagnosing Problems
40634063
40644064
40654065 If you get UML to crash, hang, or otherwise misbehave, you should
@@ -4078,7 +4078,7 @@ · 12 unmodified lines
40784078 ``Kernel debugging'' UML first.
40794079
40804080
4081− 1144..11.. CCaassee 11 :: NNoorrmmaall kkeerrnneell ppaanniiccss
4081+ 14.1. Case 1 : Normal kernel panics
40824082
40834083 The most common case is for a normal thread to panic. To debug this,
40844084 you will need to run it under the debugger (add 'debug' to the command
@@ -4128,7 +4128,7 @@ · 43 unmodified lines
41284128 to get that information from the faulting ip.
41294129
41304130
4131− 1144..22.. CCaassee 22 :: TTrraacciinngg tthhrreeaadd ppaanniiccss
4131+ 14.2. Case 2 : Tracing thread panics
41324132
41334133 The less common and more painful case is when the tracing thread
41344134 panics. In this case, the kernel debugger will be useless because it
@@ -4161,7 +4161,7 @@ · 26 unmodified lines
41614161 backtrace in and wait for our crack debugging team to fix the problem.
41624162
41634163
4164− 1144..33.. CCaassee 33 :: TTrraacciinngg tthhrreeaadd ppaanniiccss ccaauusseedd bbyy ootthheerr tthhrreeaaddss
4164+ 14.3. Case 3 : Tracing thread panics caused by other threads
41654165
41664166 However, there are cases where the misbehavior of another thread
41674167 caused the problem. The most common panic of this type is:
@@ -4227,7 +4227,7 @@ · 59 unmodified lines
42274227
42284228
42294229
4230− 1144..44.. CCaassee 44 :: HHaannggss
4230+ 14.4. Case 4 : Hangs
42314231
42324232 Hangs seem to be fairly rare, but they sometimes happen. When a hang
42334233 happens, we need a backtrace from the offending process. Run the
@@ -4257,7 +4257,7 @@ · 23 unmodified lines
42574257
42584258
42594259
4260− 1155.. TThhaannkkss
4260+ 15. Thanks
42614261
42624262
42634263 A number of people have helped this project in various ways, and this
@@ -4274,20 +4274,20 @@ · 10 unmodified lines
42744274 bookkeeping lapses and I forget about contributions.
42754275
42764276
4277− 1155..11.. CCooddee aanndd DDooccuummeennttaattiioonn
4277+ 15.1. Code and Documentation
42784278
42794279 Rusty Russell <rusty at linuxcare.com.au> -
42804280
4281− +o wrote the HOWTO <http://user-mode-
4281+ o wrote the HOWTO <http://user-mode-
42824282 linux.sourceforge.net/UserModeLinux-HOWTO.html>
42834283
4284− +o prodded me into making this project official and putting it on
4284+ o prodded me into making this project official and putting it on
42854285 SourceForge
42864286
4287− +o came up with the way cool UML logo <http://user-mode-
4287+ o came up with the way cool UML logo <http://user-mode-
42884288 linux.sourceforge.net/uml-small.png>
42894289
4290− +o redid the config process
4290+ o redid the config process
42914291
42924292
42934293 Peter Moulder <reiter at netspace.net.au> - Fixed my config and build
@@ -4296,18 +4296,18 @@ · 2 unmodified lines
42964296
42974297 Bill Stearns <wstearns at pobox.com> -
42984298
4299− +o HOWTO updates
4299+ o HOWTO updates
43004300
4301− +o lots of bug reports
4301+ o lots of bug reports
43024302
4303− +o lots of testing
4303+ o lots of testing
43044304
4305− +o dedicated a box (uml.ists.dartmouth.edu) to support UML development
4305+ o dedicated a box (uml.ists.dartmouth.edu) to support UML development
43064306
4307− +o wrote the mkrootfs script, which allows bootable filesystems of
4307+ o wrote the mkrootfs script, which allows bootable filesystems of
43084308 RPM-based distributions to be cranked out
43094309
4310− +o cranked out a large number of filesystems with said script
4310+ o cranked out a large number of filesystems with said script
43114311
43124312
43134313 Jim Leu <jleu at mindspring.com> - Wrote the virtual ethernet driver
@@ -4375,176 +4375,176 @@ · 61 unmodified lines
43754375
43764376 David Coulson <http://davidcoulson.net> -
43774377
4378− +o Set up the usermodelinux.org <http://usermodelinux.org> site,
4378+ o Set up the usermodelinux.org <http://usermodelinux.org> site,
43794379 which is a great way of keeping the UML user community on top of
43804380 UML goings-on.
43814381
4382− +o Site documentation and updates
4382+ o Site documentation and updates
43834383
4384− +o Nifty little UML management daemon UMLd
4384+ o Nifty little UML management daemon UMLd
43854385 <http://uml.openconsultancy.com/umld/>
43864386
4387− +o Lots of testing and bug reports
4387+ o Lots of testing and bug reports
43884388
43894389
43904390
43914391
4392− 1155..22.. FFlluusshhiinngg oouutt bbuuggss
4392+ 15.2. Flushing out bugs
43934393
43944394
43954395
4396− +o Yuri Pudgorodsky
4396+ o Yuri Pudgorodsky
43974397
4398− +o Gerald Britton
4398+ o Gerald Britton
43994399
4400− +o Ian Wehrman
4400+ o Ian Wehrman
44014401
4402− +o Gord Lamb
4402+ o Gord Lamb
44034403
4404− +o Eugene Koontz
4404+ o Eugene Koontz
44054405
4406− +o John H. Hartman
4406+ o John H. Hartman
44074407
4408− +o Anders Karlsson
4408+ o Anders Karlsson
44094409
4410− +o Daniel Phillips
4410+ o Daniel Phillips
44114411
4412− +o John Fremlin
4412+ o John Fremlin
44134413
4414− +o Rainer Burgstaller
4414+ o Rainer Burgstaller
44154415
4416− +o James Stevenson
4416+ o James Stevenson
44174417
4418− +o Matt Clay
4418+ o Matt Clay
44194419
4420− +o Cliff Jefferies
4420+ o Cliff Jefferies
44214421
4422− +o Geoff Hoff
4422+ o Geoff Hoff
44234423
4424− +o Lennert Buytenhek
4424+ o Lennert Buytenhek
44254425
4426− +o Al Viro
4426+ o Al Viro
44274427
4428− +o Frank Klingenhoefer
4428+ o Frank Klingenhoefer
44294429
4430− +o Livio Baldini Soares
4430+ o Livio Baldini Soares
44314431
4432− +o Jon Burgess
4432+ o Jon Burgess
44334433
4434− +o Petru Paler
4434+ o Petru Paler
44354435
4436− +o Paul
4436+ o Paul
44374437
4438− +o Chris Reahard
4438+ o Chris Reahard
44394439
4440− +o Sverker Nilsson
4440+ o Sverker Nilsson
44414441
4442− +o Gong Su
4442+ o Gong Su
44434443
4444− +o johan verrept
4444+ o johan verrept
44454445
4446− +o Bjorn Eriksson
4446+ o Bjorn Eriksson
44474447
4448− +o Lorenzo Allegrucci
4448+ o Lorenzo Allegrucci
44494449
4450− +o Muli Ben-Yehuda
4450+ o Muli Ben-Yehuda
44514451
4452− +o David Mansfield
4452+ o David Mansfield
44534453
4454− +o Howard Goff
4454+ o Howard Goff
44554455
4456− +o Mike Anderson
4456+ o Mike Anderson
44574457
4458− +o John Byrne
4458+ o John Byrne
44594459
4460− +o Sapan J. Batia
4460+ o Sapan J. Batia
44614461
4462− +o Iris Huang
4462+ o Iris Huang
44634463
4464− +o Jan Hudec
4464+ o Jan Hudec
44654465
4466− +o Voluspa
4466+ o Voluspa
44674467
44684468
44694469
44704470
4471− 1155..33.. BBuugglleettss aanndd cclleeaann--uuppss
4471+ 15.3. Buglets and clean-ups
44724472
44734473
44744474
4475− +o Dave Zarzycki
4475+ o Dave Zarzycki
44764476
4477− +o Adam Lazur
4477+ o Adam Lazur
44784478
4479− +o Boria Feigin
4479+ o Boria Feigin
44804480
4481− +o Brian J. Murrell
4481+ o Brian J. Murrell
44824482
4483− +o JS
4483+ o JS
44844484
4485− +o Roman Zippel
4485+ o Roman Zippel
44864486
4487− +o Wil Cooley
4487+ o Wil Cooley
44884488
4489− +o Ayelet Shemesh
4489+ o Ayelet Shemesh
44904490
4491− +o Will Dyson
4491+ o Will Dyson
44924492
4493− +o Sverker Nilsson
4493+ o Sverker Nilsson
44944494
4495− +o dvorak
4495+ o dvorak
44964496
4497− +o v.naga srinivas
4497+ o v.naga srinivas
44984498
4499− +o Shlomi Fish
4499+ o Shlomi Fish
45004500
4501− +o Roger Binns
4501+ o Roger Binns
45024502
4503− +o johan verrept
4503+ o johan verrept
45044504
4505− +o MrChuoi
4505+ o MrChuoi
45064506
4507− +o Peter Cleve
4507+ o Peter Cleve
45084508
4509− +o Vincent Guffens
4509+ o Vincent Guffens
45104510
4511− +o Nathan Scott
4511+ o Nathan Scott
45124512
4513− +o Patrick Caulfield
4513+ o Patrick Caulfield
45144514
4515− +o jbearce
4515+ o jbearce
45164516
4517− +o Catalin Marinas
4517+ o Catalin Marinas
45184518
4519− +o Shane Spencer
4519+ o Shane Spencer
45204520
4521− +o Zou Min
4521+ o Zou Min
45224522
45234523
4524− +o Ryan Boder
4524+ o Ryan Boder
45254525
4526− +o Lorenzo Colitti
4526+ o Lorenzo Colitti
45274527
4528− +o Gwendal Grignou
4528+ o Gwendal Grignou
45294529
4530− +o Andre' Breiler
4530+ o Andre' Breiler
45314531
4532− +o Tsutomu Yasuda
4532+ o Tsutomu Yasuda
45334533
45344534
45354535
4536− 1155..44.. CCaassee SSttuuddiieess
4536+ 15.4. Case Studies
45374537
45384538
4539− +o Jon Wright
4539+ o Jon Wright
45404540
4541− +o William McEwan
4541+ o William McEwan
45424542
4543− +o Michael Richardson
4543+ o Michael Richardson
45444544
45454545
45464546
4547− 1155..55.. OOtthheerr ccoonnttrriibbuuttiioonnss
4547+ 15.5. Other contributions
45484548
45494549
45504550 Bill Carr <Bill.Carr at compaq.com> made the Red Hat mkrootfs script
Documentation/vm/00-INDEX+0−2
@@ -30,8 +30,6 @@ page_migration · 29 unmodified lines
3030 - description of page migration in NUMA systems.
3131 pagemap.txt
3232 - pagemap, from the userspace perspective
33−slabinfo.c
34− - source code for a tool to get reports about slabs.
3533 slub.txt
3634 - a short users guide for SLUB.
3735 unevictable-lru.txt
Documentation/watchdog/convert_drivers_to_kernel_api.txt+195−0
@@ -0,0 +1,195 @@
1+Converting old watchdog drivers to the watchdog framework
2+by Wolfram Sang <w.sang@pengutronix.de>
3+=========================================================
4+
5+Before the watchdog framework came into the kernel, every driver had to
6+implement the API on its own. Now, as the framework factored out the common
7+components, those drivers can be lightened making it a user of the framework.
8+This document shall guide you for this task. The necessary steps are described
9+as well as things to look out for.
10+
11+
12+Remove the file_operations struct
13+---------------------------------
14+
15+Old drivers define their own file_operations for actions like open(), write(),
16+etc... These are now handled by the framework and just call the driver when
17+needed. So, in general, the 'file_operations' struct and assorted functions can
18+go. Only very few driver-specific details have to be moved to other functions.
19+Here is a overview of the functions and probably needed actions:
20+
21+- open: Everything dealing with resource management (file-open checks, magic
22+ close preparations) can simply go. Device specific stuff needs to go to the
23+ driver specific start-function. Note that for some drivers, the start-function
24+ also serves as the ping-function. If that is the case and you need start/stop
25+ to be balanced (clocks!), you are better off refactoring a separate start-function.
26+
27+- close: Same hints as for open apply.
28+
29+- write: Can simply go, all defined behaviour is taken care of by the framework,
30+ i.e. ping on write and magic char ('V') handling.
31+
32+- ioctl: While the driver is allowed to have extensions to the IOCTL interface,
33+ the most common ones are handled by the framework, supported by some assistance
34+ from the driver:
35+
36+ WDIOC_GETSUPPORT:
37+ Returns the mandatory watchdog_info struct from the driver
38+
39+ WDIOC_GETSTATUS:
40+ Needs the status-callback defined, otherwise returns 0
41+
42+ WDIOC_GETBOOTSTATUS:
43+ Needs the bootstatus member properly set. Make sure it is 0 if you
44+ don't have further support!
45+
46+ WDIOC_SETOPTIONS:
47+ No preparations needed
48+
49+ WDIOC_KEEPALIVE:
50+ If wanted, options in watchdog_info need to have WDIOF_KEEPALIVEPING
51+ set
52+
53+ WDIOC_SETTIMEOUT:
54+ Options in watchdog_info need to have WDIOF_SETTIMEOUT set
55+ and a set_timeout-callback has to be defined. The core will also
56+ do limit-checking, if min_timeout and max_timeout in the watchdog
57+ device are set. All is optional.
58+
59+ WDIOC_GETTIMEOUT:
60+ No preparations needed
61+
62+ Other IOCTLs can be served using the ioctl-callback. Note that this is mainly
63+ intended for porting old drivers; new drivers should not invent private IOCTLs.
64+ Private IOCTLs are processed first. When the callback returns with
65+ -ENOIOCTLCMD, the IOCTLs of the framework will be tried, too. Any other error
66+ is directly given to the user.
67+
68+Example conversion:
69+
70+-static const struct file_operations s3c2410wdt_fops = {
71+- .owner = THIS_MODULE,
72+- .llseek = no_llseek,
73+- .write = s3c2410wdt_write,
74+- .unlocked_ioctl = s3c2410wdt_ioctl,
75+- .open = s3c2410wdt_open,
76+- .release = s3c2410wdt_release,
77+-};
78+
79+Check the functions for device-specific stuff and keep it for later
80+refactoring. The rest can go.
81+
82+
83+Remove the miscdevice
84+---------------------
85+
86+Since the file_operations are gone now, you can also remove the 'struct
87+miscdevice'. The framework will create it on watchdog_dev_register() called by
88+watchdog_register_device().
89+
90+-static struct miscdevice s3c2410wdt_miscdev = {
91+- .minor = WATCHDOG_MINOR,
92+- .name = "watchdog",
93+- .fops = &s3c2410wdt_fops,
94+-};
95+
96+
97+Remove obsolete includes and defines
98+------------------------------------
99+
100+Because of the simplifications, a few defines are probably unused now. Remove
101+them. Includes can be removed, too. For example:
102+
103+- #include <linux/fs.h>
104+- #include <linux/miscdevice.h> (if MODULE_ALIAS_MISCDEV is not used)
105+- #include <linux/uaccess.h> (if no custom IOCTLs are used)
106+
107+
108+Add the watchdog operations
109+---------------------------
110+
111+All possible callbacks are defined in 'struct watchdog_ops'. You can find it
112+explained in 'watchdog-kernel-api.txt' in this directory. start(), stop() and
113+owner must be set, the rest are optional. You will easily find corresponding
114+functions in the old driver. Note that you will now get a pointer to the
115+watchdog_device as a parameter to these functions, so you probably have to
116+change the function header. Other changes are most likely not needed, because
117+here simply happens the direct hardware access. If you have device-specific
118+code left from the above steps, it should be refactored into these callbacks.
119+
120+Here is a simple example:
121+
122++static struct watchdog_ops s3c2410wdt_ops = {
123++ .owner = THIS_MODULE,
124++ .start = s3c2410wdt_start,
125++ .stop = s3c2410wdt_stop,
126++ .ping = s3c2410wdt_keepalive,
127++ .set_timeout = s3c2410wdt_set_heartbeat,
128++};
129+
130+A typical function-header change looks like:
131+
132+-static void s3c2410wdt_keepalive(void)
133++static int s3c2410wdt_keepalive(struct watchdog_device *wdd)
134+ {
135+...
136++
137++ return 0;
138+ }
139+
140+...
141+
142+- s3c2410wdt_keepalive();
143++ s3c2410wdt_keepalive(&s3c2410_wdd);
144+
145+
146+Add the watchdog device
147+-----------------------
148+
149+Now we need to create a 'struct watchdog_device' and populate it with the
150+necessary information for the framework. The struct is also explained in detail
151+in 'watchdog-kernel-api.txt' in this directory. We pass it the mandatory
152+watchdog_info struct and the newly created watchdog_ops. Often, old drivers
153+have their own record-keeping for things like bootstatus and timeout using
154+static variables. Those have to be converted to use the members in
155+watchdog_device. Note that the timeout values are unsigned int. Some drivers
156+use signed int, so this has to be converted, too.
157+
158+Here is a simple example for a watchdog device:
159+
160++static struct watchdog_device s3c2410_wdd = {
161++ .info = &s3c2410_wdt_ident,
162++ .ops = &s3c2410wdt_ops,
163++};
164+
165+
166+Register the watchdog device
167+----------------------------
168+
169+Replace misc_register(&miscdev) with watchdog_register_device(&watchdog_dev).
170+Make sure the return value gets checked and the error message, if present,
171+still fits. Also convert the unregister case.
172+
173+- ret = misc_register(&s3c2410wdt_miscdev);
174++ ret = watchdog_register_device(&s3c2410_wdd);
175+
176+...
177+
178+- misc_deregister(&s3c2410wdt_miscdev);
179++ watchdog_unregister_device(&s3c2410_wdd);
180+
181+
182+Update the Kconfig-entry
183+------------------------
184+
185+The entry for the driver now needs to select WATCHDOG_CORE:
186+
187++ select WATCHDOG_CORE
188+
189+
190+Create a patch and send it to upstream
191+--------------------------------------
192+
193+Make sure you understood Documentation/SubmittingPatches and send your patch to
194+linux-watchdog@vger.kernel.org. We are looking forward to it :)
195+
Documentation/x86/entry_64.txt+0−3
@@ -27,9 +27,6 @@ Some of these entries are: · 26 unmodified lines
2727 magically-generated functions that make their way to do_IRQ with
2828 the interrupt number as a parameter.
2929
30− - emulate_vsyscall: int 0xcc, a special non-ABI entry used by
31− vsyscall emulation.
32−
3330 - APIC interrupts: Various special-purpose interrupts for things
3431 like TLB shootdown.
3532
Documentation/zh_CN/SubmitChecklist+0−109
@@ -1,109 +0,0 @@
1−Chinese translated version of Documentation/SubmitChecklist
2−
3−If you have any comment or update to the content, please contact the
4−original document maintainer directly. However, if you have a problem
5−communicating in English you can also ask the Chinese maintainer for
6−help. Contact the Chinese maintainer if this translation is outdated
7−or if there is a problem with the translation.
8−
9−Chinese maintainer: Harry Wei <harryxiyou@gmail.com>
10−---------------------------------------------------------------------
11−Documentation/SubmitChecklist �����ķ���
12−
13−��������ۻ���±��ĵ����ݣ���ֱ����ϵԭ�ĵ���ά���ߡ������ʹ��Ӣ��
14−���������ѵĻ���Ҳ���������İ�ά���������������������²���ʱ���߷�
15−��������⣬����ϵ���İ�ά���ߡ�
16−
17−���İ�ά���ߣ� ������ Harry Wei <harryxiyou@gmail.com>
18−���İ淭���ߣ� ������ Harry Wei <harryxiyou@gmail.com>
19−���İ�У���ߣ� ������ Harry Wei <harryxiyou@gmail.com>
20−
21−
22−����Ϊ����
23−---------------------------------------------------------------------
24−Linux�ں��ύ�嵥
25−~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
26−
27−������һЩ�ں˿�����Ӧ�����Ļ������飬��������뿴���Լ����ں˲����ύ
28−�����ܵĸ��졣
29−
30−��Щ���dz���Documentation/SubmittingPatches�ĵ������ṩ���Լ�����
31−�����ύLinux�ں˲�����˵����
32−
33−1�������ʹ����һ��������ô��#include����/�����Ǹ����ܵ��Ǹ��ļ���
34− ��Ҫ��������������붨��/�����Ǹ����ܵ�ͷ�ļ���
35−
36−2������������û��߸���CONFIGѡ�� =y��=m������=n��
37− ��Ҫ�б��뾯��/���� ��Ҫ�����Ӿ���/����
38−
39−2b��ͨ�� allnoconfig, allmodconfig
40−
41−2c����ʹ�� 0=builddir �ɹ��ع���
42−
43−3��ͨ��ʹ�ñ��ؽ�����빤�߻�������һЩ�����������ڶ�CPU����Ϲ�����
44−
45−4��ppc64 ��һ���ܺõļ�齻�����Ŀ�ܣ���Ϊ�������ѡ�unsigned long��
46− ��64λֵ��ʹ�á�
47−
48−5������Documentation/CodingStyle�ļ������ϸ����������㲹����������
49− ʹ�ò�������������Υ��(scripts/checkpatch.pl)�����Ա�����ύ��
50− ��Ӧ�õ����������㲹���е�����Υ�档
51−
52−6���κθ��»��߸Ķ�CONFIGѡ����ܴ������ò˵���
53−
54−7�����е�Kconfigѡ����¶�Ҫ��˵�����֡�
55−
56−8���Ѿ�������ܽ�����ص�Kconfig��ϡ����Ǻ���ͨ���������õ�--�����������½���
57−
58−9�������м���ԡ�
59−
60−10��ʹ��'make checkstack'��'make namespacecheck'��飬Ȼ���޸����ҵ������⡣
61− ע�⣺��ջ��鲻����ȷ�س������⣬�����κε�һ�������ڶ�ջ��ʹ�ö���512�ֽ�
62− ��Ҫ׼���޸ġ�
63−
64−11������kernel-doc��ȫ���ں�APIs�ļ�������Ҫ��̬�ĺ��������ǰ���Ҳ����ν����
65− ʹ��'make htmldocs'����'make mandocs'�����kernel-doc��Ȼ���޸��κ�
66− ���ֵ����⡣
67−
68−12���Ѿ�ͨ��CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
69− CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
70− CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_ATOMIC_SLEEP���ԣ�����ͬʱ��
71− ʹ�ܡ�
72−
73−13���Ѿ�����������ʹ�û��߲�ʹ�� CONFIG_SMP �� CONFIG_PREEMPT����ִ��ʱ�䡣
74−
75−14���������Ӱ��IO/Disk���ȵȣ��Ѿ�ͨ��ʹ�û��߲�ʹ�� CONFIG_LBDAF ���ԡ�
76−
77−15�����е�codepaths�Ѿ���ʹ����lockdep���ù��ܡ�
78−
79−16�����е�/proc��¼���¶�Ҫ�����ļ�����Documentation/Ŀ¼�¡�
80−
81−17�����е��ں������������¶�����¼��Documentation/kernel-parameters.txt�ļ��С�
82−
83−18�����е�ģ��������¶���MODULE_PARM_DESC()��¼��
84−
85−19�����е��û��ռ�ӿڸ��¶�����¼��Documentation/ABI/���鿴Documentation/ABI/README
86− ���Ի�ø������Ϣ���ı��û��ռ�ӿڵIJ���Ӧ�ñ��ʼ����͸�linux-api@vger.kernel.org��
87−
88−20��������Dz��Ƕ�ͨ��`make headers_check'��
89−
90−21���Ѿ�ͨ����������slab��page-allocationʧ�ܼ�顣�鿴Documentation/fault-injection/��
91−
92−22���¼����Դ���Ѿ�ͨ��`gcc -W'��ʹ��"make EXTRA_CFLAGS=-W"�����롣�����������ܶෳ�գ�
93− ���Ƕ���Ѱ��©�������洦������:"warning: comparison between signed and unsigned"��
94−
95−23���������ϲ���-mm���������ٲ��ԣ�����ȷ�����Ƿ񻹺Ͳ��������е���������һ�����Լ���VM��VFS
96− ��������ϵͳ�и����仯��
97−
98−24�����е��ڴ�����{e.g., barrier(), rmb(), wmb()}��Ҫ��Դ�����е�һ��ע�����������Ƕ��Ǹ�ʲô��
99− �Լ�ԭ��
100−
101−25��������κ�����������ƵIJ��������ӣ�ҲҪ����Documentation/ioctl/ioctl-number.txt��
102−
103−26�������ĸ��Ĵ�����������ʹ���κε��ں�APIs�����������kconfig�����й�ϵ�Ĺ��ܣ����Ҫ
104− ʹ����ص�kconfig���Źرգ� and/or =m�����ѡ���ṩ��[��ͬһʱ�䲻�����õĶ����ã�����������������
105− �������]��
106−
107− CONFIG_SMP, CONFIG_SYSFS, CONFIG_PROC_FS, CONFIG_INPUT, CONFIG_PCI,
108− CONFIG_BLOCK, CONFIG_PM, CONFIG_HOTPLUG, CONFIG_MAGIC_SYSRQ,
109− CONFIG_NET, CONFIG_INET=n (��һ��ʹ�� CONFIG_NET=y)
Kbuild+5−3
@@ -88,11 +88,13 @@ $(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild · 87 unmodified lines
8888 # 3) Check for missing system calls
8989 #
9090
91+always += missing-syscalls
92+targets += missing-syscalls
93+
9194 quiet_cmd_syscalls = CALL $<
92− cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags)
95+ cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags) $(missing_syscalls_flags)
9396
94−PHONY += missing-syscalls
95−missing-syscalls: scripts/checksyscalls.sh FORCE
97+missing-syscalls: scripts/checksyscalls.sh $(offsets-file) FORCE
9698 $(call cmd,syscalls)
9799
98100 # Keep these two files during make clean
MAINTAINERS+249−126
@@ -117,20 +117,20 @@ Maintainers List (try to look for most precise areas first) · 116 unmodified lines
117117 M: Philip Blundell <philb@gnu.org>
118118 L: netdev@vger.kernel.org
119119 S: Maintained
120−F: drivers/net/3c505*
120+F: drivers/net/ethernet/i825xx/3c505*
121121
122122 3C59X NETWORK DRIVER
123123 M: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
124124 L: netdev@vger.kernel.org
125125 S: Maintained
126126 F: Documentation/networking/vortex.txt
127−F: drivers/net/3c59x.c
127+F: drivers/net/ethernet/3com/3c59x.c
128128
129129 3CR990 NETWORK DRIVER
130130 M: David Dillow <dave@thedillows.org>
131131 L: netdev@vger.kernel.org
132132 S: Maintained
133−F: drivers/net/typhoon*
133+F: drivers/net/ethernet/3com/typhoon*
134134
135135 3WARE SAS/SATA-RAID SCSI DRIVERS (3W-XXXX, 3W-9XXX, 3W-SAS)
136136 M: Adam Radford <linuxraid@lsi.com>
@@ -156,7 +156,7 @@ M: Realtek linux nic maintainers <nic_swsd@realtek.com> · 19 unmodified lines
156156 M: Francois Romieu <romieu@fr.zoreil.com>
157157 L: netdev@vger.kernel.org
158158 S: Maintained
159−F: drivers/net/r8169.c
159+F: drivers/net/ethernet/realtek/r8169.c
160160
161161 8250/16?50 (AND CLONE UARTS) SERIAL DRIVER
162162 M: Greg Kroah-Hartman <gregkh@suse.de>
@@ -170,8 +170,7 @@ F: include/linux/serial_8250.h · 7 unmodified lines
170170 8390 NETWORK DRIVERS [WD80x3/SMC-ELITE, SMC-ULTRA, NE2000, 3C503, etc.]
171171 L: netdev@vger.kernel.org
172172 S: Orphan / Obsolete
173−F: drivers/net/*8390*
174−F: drivers/net/ax88796.c
173+F: drivers/net/ethernet/8390/
175174
176175 9P FILE SYSTEM
177176 M: Eric Van Hensbergen <ericvh@gmail.com>
@@ -214,7 +213,7 @@ ACENIC DRIVER · 36 unmodified lines
214213 M: Jes Sorensen <jes@trained-monkey.org>
215214 L: linux-acenic@sunsite.dk
216215 S: Maintained
217−F: drivers/net/acenic*
216+F: drivers/net/ethernet/alteon/acenic*
218217
219218 ACER ASPIRE ONE TEMPERATURE AND FAN DRIVER
220219 M: Peter Feuerer <peter@piie.net>
@@ -317,6 +316,10 @@ W: http://wiki.analog.com/AD7879 · 96 unmodified lines
317316 S: Supported
318317 F: drivers/input/touchscreen/ad7879.c
319318
319+ADDRESS SPACE LAYOUT RANDOMIZATION (ASLR)
320+M: Jiri Kosina <jkosina@suse.cz>
321+S: Maintained
322+
320323 ADM1025 HARDWARE MONITOR DRIVER
321324 M: Jean Delvare <khali@linux-fr.org>
322325 L: lm-sensors@lm-sensors.org
@@ -530,6 +533,7 @@ S: Maintained · 207 unmodified lines
530533 F: drivers/infiniband/hw/amso1100/
531534
532535 ANALOG DEVICES INC ASOC CODEC DRIVERS
536+M: Lars-Peter Clausen <lars@metafoo.de>
533537 L: device-drivers-devel@blackfin.uclinux.org
534538 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
535539 W: http://wiki.analog.com/
@@ -688,6 +692,12 @@ F: drivers/mtd/nand/bcm_umi_nand.c · 152 unmodified lines
688692 F: drivers/mtd/nand/bcm_umi_bch.c
689693 F: drivers/mtd/nand/nand_bcm_umi.h
690694
695+ARM/CALXEDA HIGHBANK ARCHITECTURE
696+M: Rob Herring <rob.herring@calxeda.com>
697+L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
698+S: Maintained
699+F: arch/arm/mach-highbank/
700+
691701 ARM/CAVIUM NETWORKS CNS3XXX MACHINE SUPPORT
692702 M: Anton Vorontsov <avorontsov@mvista.com>
693703 S: Maintained
@@ -746,7 +756,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) · 52 unmodified lines
746756 W: http://www.arm.linux.org.uk/
747757 S: Maintained
748758 F: arch/arm/mach-ebsa110/
749−F: drivers/net/arm/am79c961a.*
759+F: drivers/net/ethernet/amd/am79c961a.*
750760
751761 ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6)
752762 M: Daniel Ribeiro <drwyrm@gmail.com>
@@ -787,6 +797,13 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) · 34 unmodified lines
787797 S: Maintained
788798 F: arch/arm/mach-mx5/
789799
800+ARM/FREESCALE IMX6
801+M: Shawn Guo <shawn.guo@linaro.org>
802+L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
803+S: Maintained
804+T: git git://git.linaro.org/people/shawnguo/linux-2.6.git
805+F: arch/arm/mach-imx/*imx6*
806+
790807 ARM/GLOMATION GESBC9312SX MACHINE SUPPORT
791808 M: Lennert Buytenhek <kernel@wantstofly.org>
792809 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -1015,7 +1032,9 @@ F: arch/arm/include/asm/hardware/ioc.h · 222 unmodified lines
10151032 F: arch/arm/include/asm/hardware/iomd.h
10161033 F: arch/arm/include/asm/hardware/memc.h
10171034 F: arch/arm/mach-rpc/
1018−F: drivers/net/arm/ether*
1035+F: drivers/net/ethernet/8390/etherh.c
1036+F: drivers/net/ethernet/i825xx/ether1*
1037+F: drivers/net/ethernet/seeq/ether3*
10191038 F: drivers/scsi/arm/
10201039
10211040 ARM/SHARK MACHINE SUPPORT
@@ -1084,6 +1103,25 @@ F: arch/arm/plat-s5p/dev-fimc* · 62 unmodified lines
10841103 F: arch/arm/plat-samsung/include/plat/*fimc*
10851104 F: drivers/media/video/s5p-fimc/
10861105
1106+ARM/SAMSUNG S5P SERIES Multi Format Codec (MFC) SUPPORT
1107+M: Kyungmin Park <kyungmin.park@samsung.com>
1108+M: Kamil Debski <k.debski@samsung.com>
1109+M: Jeongtae Park <jtp.park@samsung.com>
1110+L: linux-arm-kernel@lists.infradead.org
1111+L: linux-media@vger.kernel.org
1112+S: Maintained
1113+F: arch/arm/plat-s5p/dev-mfc.c
1114+F: drivers/media/video/s5p-mfc/
1115+
1116+ARM/SAMSUNG S5P SERIES TV SUBSYSTEM SUPPORT
1117+M: Kyungmin Park <kyungmin.park@samsung.com>
1118+M: Tomasz Stanislawski <t.stanislaws@samsung.com>
1119+L: linux-arm-kernel@lists.infradead.org
1120+L: linux-media@vger.kernel.org
1121+S: Maintained
1122+F: arch/arm/plat-s5p/dev-tv.c
1123+F: drivers/media/video/s5p-tv/
1124+
10871125 ARM/SHMOBILE ARM ARCHITECTURE
10881126 M: Paul Mundt <lethal@linux-sh.org>
10891127 M: Magnus Damm <magnus.damm@gmail.com>
@@ -1127,7 +1165,7 @@ F: arch/arm/mach-nuc93x/ · 37 unmodified lines
11271165 F: drivers/input/keyboard/w90p910_keypad.c
11281166 F: drivers/input/touchscreen/w90p910_ts.c
11291167 F: drivers/watchdog/nuc900_wdt.c
1130−F: drivers/net/arm/w90p910_ether.c
1168+F: drivers/net/ethernet/nuvoton/w90p910_ether.c
11311169 F: drivers/mtd/nand/nuc900_nand.c
11321170 F: drivers/rtc/rtc-nuc900.c
11331171 F: drivers/spi/spi_nuc900.c
@@ -1230,7 +1268,7 @@ F: Documentation/aoe/ · 96 unmodified lines
12301268 F: drivers/block/aoe/
12311269
12321270 ATHEROS ATH GENERIC UTILITIES
1233−M: "Luis R. Rodriguez" <lrodriguez@atheros.com>
1271+M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
12341272 L: linux-wireless@vger.kernel.org
12351273 S: Supported
12361274 F: drivers/net/wireless/ath/*
@@ -1238,7 +1276,7 @@ F: drivers/net/wireless/ath/* · 1 unmodified line
12381276 ATHEROS ATH5K WIRELESS DRIVER
12391277 M: Jiri Slaby <jirislaby@gmail.com>
12401278 M: Nick Kossifidis <mickflemm@gmail.com>
1241−M: "Luis R. Rodriguez" <lrodriguez@atheros.com>
1279+M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
12421280 M: Bob Copeland <me@bobcopeland.com>
12431281 L: linux-wireless@vger.kernel.org
12441282 L: ath5k-devel@lists.ath5k.org
@@ -1246,11 +1284,19 @@ W: http://wireless.kernel.org/en/users/Drivers/ath5k · 1 unmodified line
12461284 S: Maintained
12471285 F: drivers/net/wireless/ath/ath5k/
12481286
1287+ATHEROS ATH6KL WIRELESS DRIVER
1288+M: Kalle Valo <kvalo@qca.qualcomm.com>
1289+L: linux-wireless@vger.kernel.org
1290+W: http://wireless.kernel.org/en/users/Drivers/ath6kl
1291+T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath6kl.git
1292+S: Supported
1293+F: drivers/net/wireless/ath/ath6kl/
1294+
12491295 ATHEROS ATH9K WIRELESS DRIVER
1250−M: "Luis R. Rodriguez" <lrodriguez@atheros.com>
1251−M: Jouni Malinen <jmalinen@atheros.com>
1252−M: Vasanthakumar Thiagarajan <vasanth@atheros.com>
1253−M: Senthil Balasubramanian <senthilkumar@atheros.com>
1296+M: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
1297+M: Jouni Malinen <jouni@qca.qualcomm.com>
1298+M: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
1299+M: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
12541300 L: linux-wireless@vger.kernel.org
12551301 L: ath9k-devel@lists.ath9k.org
12561302 W: http://wireless.kernel.org/en/users/Drivers/ath9k
@@ -1282,7 +1328,7 @@ L: netdev@vger.kernel.org · 25 unmodified lines
12821328 W: http://sourceforge.net/projects/atl1
12831329 W: http://atl1.sourceforge.net
12841330 S: Maintained
1285−F: drivers/net/atlx/
1331+F: drivers/net/ethernet/atheros/
12861332
12871333 ATM
12881334 M: Chas Williams <chas@cmf.nrl.navy.mil>
@@ -1322,7 +1368,7 @@ F: include/video/atmel_lcdc.h · 33 unmodified lines
13221368 ATMEL MACB ETHERNET DRIVER
13231369 M: Nicolas Ferre <nicolas.ferre@atmel.com>
13241370 S: Supported
1325−F: drivers/net/macb.*
1371+F: drivers/net/ethernet/cadence/
13261372
13271373 ATMEL SPI DRIVER
13281374 M: Nicolas Ferre <nicolas.ferre@atmel.com>
@@ -1445,7 +1491,7 @@ BLACKFIN EMAC DRIVER · 116 unmodified lines
14451491 L: uclinux-dist-devel@blackfin.uclinux.org
14461492 W: http://blackfin.uclinux.org
14471493 S: Supported
1448−F: drivers/net/bfin_mac.*
1494+F: drivers/net/ethernet/adi/
14491495
14501496 BLACKFIN RTC DRIVER
14511497 M: Mike Frysinger <vapier.adi@gmail.com>
@@ -1526,27 +1572,27 @@ BROADCOM B44 10/100 ETHERNET DRIVER · 74 unmodified lines
15261572 M: Gary Zambrano <zambrano@broadcom.com>
15271573 L: netdev@vger.kernel.org
15281574 S: Supported
1529−F: drivers/net/b44.*
1575+F: drivers/net/ethernet/broadcom/b44.*
15301576
15311577 BROADCOM BNX2 GIGABIT ETHERNET DRIVER
15321578 M: Michael Chan <mchan@broadcom.com>
15331579 L: netdev@vger.kernel.org
15341580 S: Supported
1535−F: drivers/net/bnx2.*
1536−F: drivers/net/bnx2_*
1581+F: drivers/net/ethernet/broadcom/bnx2.*
1582+F: drivers/net/ethernet/broadcom/bnx2_*
15371583
15381584 BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
15391585 M: Eilon Greenstein <eilong@broadcom.com>
15401586 L: netdev@vger.kernel.org
15411587 S: Supported
1542−F: drivers/net/bnx2x/
1588+F: drivers/net/ethernet/broadcom/bnx2x/
15431589
15441590 BROADCOM TG3 GIGABIT ETHERNET DRIVER
15451591 M: Matt Carlson <mcarlson@broadcom.com>
15461592 M: Michael Chan <mchan@broadcom.com>
15471593 L: netdev@vger.kernel.org
15481594 S: Supported
1549−F: drivers/net/tg3.*
1595+F: drivers/net/ethernet/broadcom/tg3.*
15501596
15511597 BROADCOM BRCM80211 IEEE802.11n WIRELESS DRIVER
15521598 M: Brett Rudley <brudley@broadcom.com>
@@ -1575,7 +1621,7 @@ BROCADE BNA 10 GIGABIT ETHERNET DRIVER · 22 unmodified lines
15751621 M: Rasesh Mody <rmody@brocade.com>
15761622 L: netdev@vger.kernel.org
15771623 S: Supported
1578−F: drivers/net/bna/
1624+F: drivers/net/ethernet/brocade/bna/
15791625
15801626 BSG (block layer generic sg v4 driver)
15811627 M: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
@@ -1663,7 +1709,7 @@ CAN NETWORK LAYER · 81 unmodified lines
16631709 M: Oliver Hartkopp <socketcan@hartkopp.net>
16641710 M: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
16651711 M: Urs Thuermann <urs.thuermann@volkswagen.de>
1666−L: socketcan-core@lists.berlios.de (subscribers-only)
1712+L: linux-can@vger.kernel.org
16671713 L: netdev@vger.kernel.org
16681714 W: http://developer.berlios.de/projects/socketcan/
16691715 S: Maintained
@@ -1672,10 +1718,11 @@ F: include/linux/can.h · 2 unmodified lines
16721718 F: include/linux/can/core.h
16731719 F: include/linux/can/bcm.h
16741720 F: include/linux/can/raw.h
1721+F: include/linux/can/gw.h
16751722
16761723 CAN NETWORK DRIVERS
16771724 M: Wolfgang Grandegger <wg@grandegger.com>
1678−L: socketcan-core@lists.berlios.de (subscribers-only)
1725+L: linux-can@vger.kernel.org
16791726 L: netdev@vger.kernel.org
16801727 W: http://developer.berlios.de/projects/socketcan/
16811728 S: Maintained
@@ -1759,13 +1806,13 @@ M: Christian Benvenuti <benve@cisco.com> · 77 unmodified lines
17591806 M: Roopa Prabhu <roprabhu@cisco.com>
17601807 M: David Wang <dwang2@cisco.com>
17611808 S: Supported
1762−F: drivers/net/enic/
1809+F: drivers/net/ethernet/cisco/enic/
17631810
17641811 CIRRUS LOGIC EP93XX ETHERNET DRIVER
17651812 M: Hartley Sweeten <hsweeten@visionengravers.com>
17661813 L: netdev@vger.kernel.org
17671814 S: Maintained
1768−F: drivers/net/arm/ep93xx_eth.c
1815+F: drivers/net/ethernet/cirrus/ep93xx_eth.c
17691816
17701817 CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER
17711818 M: Lennert Buytenhek <kernel@wantstofly.org>
@@ -1905,7 +1952,7 @@ CPMAC ETHERNET DRIVER · 133 unmodified lines
19051952 M: Florian Fainelli <florian@openwrt.org>
19061953 L: netdev@vger.kernel.org
19071954 S: Maintained
1908−F: drivers/net/cpmac.c
1955+F: drivers/net/ethernet/ti/cpmac.c
19091956
19101957 CPU FREQUENCY DRIVERS
19111958 M: Dave Jones <davej@redhat.com>
@@ -1992,7 +2039,7 @@ M: Divy Le Ray <divy@chelsio.com> · 80 unmodified lines
19922039 L: netdev@vger.kernel.org
19932040 W: http://www.chelsio.com
19942041 S: Supported
1995−F: drivers/net/cxgb3/
2042+F: drivers/net/ethernet/chelsio/cxgb3/
19962043
19972044 CXGB3 IWARP RNIC DRIVER (IW_CXGB3)
19982045 M: Steve Wise <swise@chelsio.com>
@@ -2006,7 +2053,7 @@ M: Dimitris Michailidis <dm@chelsio.com> · 7 unmodified lines
20062053 L: netdev@vger.kernel.org
20072054 W: http://www.chelsio.com
20082055 S: Supported
2009−F: drivers/net/cxgb4/
2056+F: drivers/net/ethernet/chelsio/cxgb4/
20102057
20112058 CXGB4 IWARP RNIC DRIVER (IW_CXGB4)
20122059 M: Steve Wise <swise@chelsio.com>
@@ -2020,14 +2067,14 @@ M: Casey Leedom <leedom@chelsio.com> · 7 unmodified lines
20202067 L: netdev@vger.kernel.org
20212068 W: http://www.chelsio.com
20222069 S: Supported
2023−F: drivers/net/cxgb4vf/
2070+F: drivers/net/ethernet/chelsio/cxgb4vf/
20242071
20252072 STMMAC ETHERNET DRIVER
20262073 M: Giuseppe Cavallaro <peppe.cavallaro@st.com>
20272074 L: netdev@vger.kernel.org
20282075 W: http://www.stlinux.com
20292076 S: Supported
2030−F: drivers/net/stmmac/
2077+F: drivers/net/ethernet/stmicro/stmmac/
20312078
20322079 CYBERPRO FB DRIVER
20332080 M: Russell King <linux@arm.linux.org.uk>
@@ -2071,7 +2118,7 @@ DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER · 37 unmodified lines
20712118 L: netdev@vger.kernel.org
20722119 S: Orphan
20732120 F: Documentation/networking/dmfe.txt
2074−F: drivers/net/tulip/dmfe.c
2121+F: drivers/net/ethernet/tulip/dmfe.c
20752122
20762123 DC390/AM53C974 SCSI driver
20772124 M: Kurt Garloff <garloff@suse.de>
@@ -2110,7 +2157,7 @@ F: net/decnet/ · 32 unmodified lines
21102157 DEFXX FDDI NETWORK DRIVER
21112158 M: "Maciej W. Rozycki" <macro@linux-mips.org>
21122159 S: Maintained
2113−F: drivers/net/defxx.*
2160+F: drivers/net/fddi/defxx.*
21142161
21152162 DELL LAPTOP DRIVER
21162163 M: Matthew Garrett <mjg59@srcf.ucam.org>
@@ -2136,6 +2183,14 @@ M: Matthew Garrett <mjg59@srcf.ucam.org> · 19 unmodified lines
21362183 S: Maintained
21372184 F: drivers/platform/x86/dell-wmi.c
21382185
2186+DESIGNWARE USB3 DRD IP DRIVER
2187+M: Felipe Balbi <balbi@ti.com>
2188+L: linux-usb@vger.kernel.org
2189+L: linux-omap@vger.kernel.org
2190+T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
2191+S: Maintained
2192+F: drivers/usb/dwc3/
2193+
21392194 DEVICE NUMBER REGISTRY
21402195 M: Torben Mathiasen <device@lanana.org>
21412196 W: http://lanana.org/docs/device-list/index.html
@@ -2288,12 +2343,25 @@ S: Supported · 146 unmodified lines
22882343 F: drivers/gpu/drm/i915
22892344 F: include/drm/i915*
22902345
2346+DRM DRIVERS FOR EXYNOS
2347+M: Inki Dae <inki.dae@samsung.com>
2348+L: dri-devel@lists.freedesktop.org
2349+S: Supported
2350+F: drivers/gpu/drm/exynos
2351+F: include/drm/exynos*
2352+
22912353 DSCC4 DRIVER
22922354 M: Francois Romieu <romieu@fr.zoreil.com>
22932355 L: netdev@vger.kernel.org
22942356 S: Maintained
22952357 F: drivers/net/wan/dscc4.c
22962358
2359+DYNAMIC DEBUG
2360+M: Jason Baron <jbaron@redhat.com>
2361+S: Maintained
2362+F: lib/dynamic_debug.c
2363+F: include/linux/dynamic_debug.h
2364+
22972365 DZ DECSTATION DZ11 SERIAL DRIVER
22982366 M: "Maciej W. Rozycki" <macro@linux-mips.org>
22992367 S: Maintained
@@ -2328,7 +2396,7 @@ F: include/linux/netfilter_bridge/ebt_*.h · 28 unmodified lines
23282396 F: net/bridge/netfilter/ebt*.c
23292397
23302398 ECRYPT FILE SYSTEM
2331−M: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
2399+M: Tyler Hicks <tyhicks@canonical.com>
23322400 M: Dustin Kirkland <kirkland@canonical.com>
23332401 L: ecryptfs@vger.kernel.org
23342402 W: https://launchpad.net/ecryptfs
@@ -2409,8 +2477,6 @@ L: linux-edac@vger.kernel.org · 74 unmodified lines
24092477 W: bluesmoke.sourceforge.net
24102478 S: Maintained
24112479 F: drivers/edac/i7core_edac.c
2412−F: drivers/edac/edac_mce.c
2413−F: include/linux/edac_mce.h
24142480
24152481 EDAC-I82975X
24162482 M: Ranganathan Desikan <ravi@jetztechnologies.com>
@@ -2434,6 +2500,13 @@ W: bluesmoke.sourceforge.net · 17 unmodified lines
24342500 S: Maintained
24352501 F: drivers/edac/r82600_edac.c
24362502
2503+EDAC-SBRIDGE
2504+M: Mauro Carvalho Chehab <mchehab@redhat.com>
2505+L: linux-edac@vger.kernel.org
2506+W: bluesmoke.sourceforge.net
2507+S: Maintained
2508+F: drivers/edac/sb_edac.c
2509+
24372510 EDIROL UA-101/UA-1000 DRIVER
24382511 M: Clemens Ladisch <clemens@ladisch.de>
24392512 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
@@ -2463,7 +2536,7 @@ EHEA (IBM pSeries eHEA 10Gb ethernet adapter) DRIVER · 23 unmodified lines
24632536 M: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
24642537 L: netdev@vger.kernel.org
24652538 S: Maintained
2466−F: drivers/net/ehea/
2539+F: drivers/net/ethernet/ibm/ehea/
24672540
24682541 EMBEDDED LINUX
24692542 M: Paul Gortmaker <paul.gortmaker@windriver.com>
@@ -2508,7 +2581,7 @@ ETHEREXPRESS-16 NETWORK DRIVER · 38 unmodified lines
25082581 M: Philip Blundell <philb@gnu.org>
25092582 L: netdev@vger.kernel.org
25102583 S: Maintained
2511−F: drivers/net/eexpress.*
2584+F: drivers/net/ethernet/i825xx/eexpress.*
25122585
25132586 ETHERNET BRIDGE
25142587 M: Stephen Hemminger <shemminger@linux-foundation.org>
@@ -2522,7 +2595,7 @@ F: net/bridge/ · 7 unmodified lines
25222595 ETHERTEAM 16I DRIVER
25232596 M: Mika Kuoppala <miku@iki.fi>
25242597 S: Maintained
2525−F: drivers/net/eth16i.c
2598+F: drivers/net/ethernet/fujitsu/eth16i.c
25262599
25272600 EXT2 FILE SYSTEM
25282601 M: Jan Kara <jack@suse.cz>
@@ -2691,7 +2764,7 @@ M: Vitaly Bordug <vbordug@ru.mvista.com> · 162 unmodified lines
26912764 L: linuxppc-dev@lists.ozlabs.org
26922765 L: netdev@vger.kernel.org
26932766 S: Maintained
2694−F: drivers/net/fs_enet/
2767+F: drivers/net/ethernet/freescale/fs_enet/
26952768 F: include/linux/fs_enet_pd.h
26962769
26972770 FREESCALE QUICC ENGINE LIBRARY
@@ -2713,7 +2786,7 @@ M: Li Yang <leoli@freescale.com> · 15 unmodified lines
27132786 L: netdev@vger.kernel.org
27142787 L: linuxppc-dev@lists.ozlabs.org
27152788 S: Maintained
2716−F: drivers/net/ucc_geth*
2789+F: drivers/net/ethernet/freescale/ucc_geth*
27172790
27182791 FREESCALE QUICC ENGINE UCC UART DRIVER
27192792 M: Timur Tabi <timur@freescale.com>
@@ -2738,7 +2811,7 @@ F: fs/freevxfs/ · 18 unmodified lines
27382811 FREEZER
27392812 M: Pavel Machek <pavel@ucw.cz>
27402813 M: "Rafael J. Wysocki" <rjw@sisk.pl>
2741−L: linux-pm@lists.linux-foundation.org
2814+L: linux-pm@vger.kernel.org
27422815 S: Supported
27432816 F: Documentation/power/freezing-of-tasks.txt
27442817 F: include/linux/freezer.h
@@ -2955,6 +3028,13 @@ F: Documentation/hw_random.txt · 210 unmodified lines
29553028 F: drivers/char/hw_random/
29563029 F: include/linux/hw_random.h
29573030
3031+HARDWARE SPINLOCK CORE
3032+M: Ohad Ben-Cohen <ohad@wizery.com>
3033+S: Maintained
3034+F: Documentation/hwspinlock.txt
3035+F: drivers/hwspinlock/hwspinlock_*
3036+F: include/linux/hwspinlock.h
3037+
29583038 HARMONY SOUND DRIVER
29593039 M: Kyle McMartin <kyle@mcmartin.ca>
29603040 L: linux-parisc@vger.kernel.org
@@ -3000,7 +3080,7 @@ F: drivers/video/hgafb.c · 39 unmodified lines
30003080 HIBERNATION (aka Software Suspend, aka swsusp)
30013081 M: Pavel Machek <pavel@ucw.cz>
30023082 M: "Rafael J. Wysocki" <rjw@sisk.pl>
3003−L: linux-pm@lists.linux-foundation.org
3083+L: linux-pm@vger.kernel.org
30043084 S: Supported
30053085 F: arch/x86/power/
30063086 F: drivers/base/power/
@@ -3051,6 +3131,7 @@ S: Maintained · 44 unmodified lines
30513131 F: include/linux/hippidevice.h
30523132 F: include/linux/if_hippi.h
30533133 F: net/802/hippi.c
3134+F: drivers/net/hippi/
30543135
30553136 HOST AP DRIVER
30563137 M: Jouni Malinen <j@w1.fi>
@@ -3068,7 +3149,7 @@ F: drivers/platform/x86/tc1100-wmi.c · 11 unmodified lines
30683149 HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
30693150 M: Jaroslav Kysela <perex@perex.cz>
30703151 S: Maintained
3071−F: drivers/net/hp100.*
3152+F: drivers/net/ethernet/hp/hp100.*
30723153
30733154 HPET: High Precision Event Timers driver
30743155 M: Clemens Ladisch <clemens@ladisch.de>
@@ -3146,8 +3227,7 @@ IA64 (Itanium) PLATFORM · 71 unmodified lines
31463227 M: Tony Luck <tony.luck@intel.com>
31473228 M: Fenghua Yu <fenghua.yu@intel.com>
31483229 L: linux-ia64@vger.kernel.org
3149−W: http://www.ia64-linux.org/
3150−T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git
3230+T: git git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git
31513231 S: Maintained
31523232 F: arch/ia64/
31533233
@@ -3166,7 +3246,7 @@ IBM Power Virtual Ethernet Device Driver · 12 unmodified lines
31663246 M: Santiago Leon <santil@linux.vnet.ibm.com>
31673247 L: netdev@vger.kernel.org
31683248 S: Supported
3169−F: drivers/net/ibmveth.*
3249+F: drivers/net/ethernet/ibm/ibmveth.*
31703250
31713251 IBM ServeRAID RAID DRIVER
31723252 P: Jack Hammer
@@ -3185,6 +3265,13 @@ F: Documentation/ide/ · 12 unmodified lines
31853265 F: drivers/ide/
31863266 F: include/linux/ide.h
31873267
3268+IDEAPAD LAPTOP EXTRAS DRIVER
3269+M: Ike Panhc <ike.pan@canonical.com>
3270+L: platform-driver-x86@vger.kernel.org
3271+W: http://launchpad.net/ideapad-laptop
3272+S: Maintained
3273+F: drivers/platform/x86/ideapad-laptop.c
3274+
31883275 IDE/ATAPI DRIVERS
31893276 M: Borislav Petkov <petkovbb@gmail.com>
31903277 L: linux-ide@vger.kernel.org
@@ -3194,7 +3281,7 @@ F: drivers/ide/ide-cd* · 3 unmodified lines
31943281
31953282 IDLE-I7300
31963283 M: Andy Henroid <andrew.d.henroid@intel.com>
3197−L: linux-pm@lists.linux-foundation.org
3284+L: linux-pm@vger.kernel.org
31983285 S: Supported
31993286 F: drivers/idle/i7300_idle.c
32003287
@@ -3277,7 +3364,7 @@ F: firmware/isci/ · 76 unmodified lines
32773364
32783365 INTEL IDLE DRIVER
32793366 M: Len Brown <lenb@kernel.org>
3280−L: linux-pm@lists.linux-foundation.org
3367+L: linux-pm@vger.kernel.org
32813368 T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6.git
32823369 S: Supported
32833370 F: drivers/idle/intel_idle.c
@@ -3333,7 +3420,7 @@ F: arch/arm/mach-ixp4xx/include/mach/qmgr.h · 49 unmodified lines
33333420 F: arch/arm/mach-ixp4xx/include/mach/npe.h
33343421 F: arch/arm/mach-ixp4xx/ixp4xx_qmgr.c
33353422 F: arch/arm/mach-ixp4xx/ixp4xx_npe.c
3336−F: drivers/net/arm/ixp4xx_eth.c
3423+F: drivers/net/ethernet/xscale/ixp4xx_eth.c
33373424 F: drivers/net/wan/ixp4xx_hss.c
33383425
33393426 INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
@@ -3345,7 +3432,7 @@ INTEL IXP2000 ETHERNET DRIVER · 5 unmodified lines
33453432 M: Lennert Buytenhek <kernel@wantstofly.org>
33463433 L: netdev@vger.kernel.org
33473434 S: Maintained
3348−F: drivers/net/ixp2000/
3435+F: drivers/net/ethernet/xscale/ixp2000/
33493436
33503437 INTEL ETHERNET DRIVERS (e100/e1000/e1000e/igb/igbvf/ixgb/ixgbe/ixgbevf)
33513438 M: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
@@ -3354,13 +3441,13 @@ M: Bruce Allan <bruce.w.allan@intel.com> · 2 unmodified lines
33543441 M: Carolyn Wyborny <carolyn.wyborny@intel.com>
33553442 M: Don Skidmore <donald.c.skidmore@intel.com>
33563443 M: Greg Rose <gregory.v.rose@intel.com>
3357−M: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
3444+M: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
33583445 M: Alex Duyck <alexander.h.duyck@intel.com>
33593446 M: John Ronciak <john.ronciak@intel.com>
33603447 L: e1000-devel@lists.sourceforge.net
33613448 W: http://e1000.sourceforge.net/
3362−T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-2.6.git
3363−T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next-2.6.git
3449+T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net.git
3450+T: git git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next.git
33643451 S: Supported
33653452 F: Documentation/networking/e100.txt
33663453 F: Documentation/networking/e1000.txt
@@ -3370,18 +3457,11 @@ F: Documentation/networking/igbvf.txt · 3 unmodified lines
33703457 F: Documentation/networking/ixgb.txt
33713458 F: Documentation/networking/ixgbe.txt
33723459 F: Documentation/networking/ixgbevf.txt
3373−F: drivers/net/e100.c
3374−F: drivers/net/e1000/
3375−F: drivers/net/e1000e/
3376−F: drivers/net/igb/
3377−F: drivers/net/igbvf/
3378−F: drivers/net/ixgb/
3379−F: drivers/net/ixgbe/
3380−F: drivers/net/ixgbevf/
3460+F: drivers/net/ethernet/intel/
33813461
33823462 INTEL MRST PMU DRIVER
33833463 M: Len Brown <len.brown@intel.com>
3384−L: linux-pm@lists.linux-foundation.org
3464+L: linux-pm@vger.kernel.org
33853465 S: Supported
33863466 F: arch/x86/platform/mrst/pmu.*
33873467
@@ -3429,7 +3509,7 @@ M: Wey-Yi Guy <wey-yi.w.guy@intel.com> · 41 unmodified lines
34293509 M: Intel Linux Wireless <ilw@linux.intel.com>
34303510 L: linux-wireless@vger.kernel.org
34313511 W: http://intellinuxwireless.org
3432−T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6.git
3512+T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git
34333513 S: Supported
34343514 F: drivers/net/wireless/iwlwifi/
34353515
@@ -3445,7 +3525,7 @@ IOC3 ETHERNET DRIVER · 9 unmodified lines
34453525 M: Ralf Baechle <ralf@linux-mips.org>
34463526 L: linux-mips@linux-mips.org
34473527 S: Maintained
3448−F: drivers/net/ioc3-eth.c
3528+F: drivers/net/ethernet/sgi/ioc3-eth.c
34493529
34503530 IOC3 SERIAL DRIVER
34513531 M: Pat Gefre <pfg@sgi.com>
@@ -3463,7 +3543,7 @@ M: Francois Romieu <romieu@fr.zoreil.com> · 11 unmodified lines
34633543 M: Sorbica Shieh <sorbica@icplus.com.tw>
34643544 L: netdev@vger.kernel.org
34653545 S: Maintained
3466−F: drivers/net/ipg.*
3546+F: drivers/net/ethernet/icplus/ipg.*
34673547
34683548 IPATH DRIVER
34693549 M: Mike Marciniszyn <infinipath@qlogic.com>
@@ -3611,7 +3691,7 @@ JME NETWORK DRIVER · 141 unmodified lines
36113691 M: Guo-Fu Tseng <cooldavid@cooldavid.org>
36123692 L: netdev@vger.kernel.org
36133693 S: Maintained
3614−F: drivers/net/jme.*
3694+F: drivers/net/ethernet/jme.*
36153695
36163696 JOURNALLING FLASH FILE SYSTEM V2 (JFFS2)
36173697 M: David Woodhouse <dwmw2@infradead.org>
@@ -3978,6 +4058,7 @@ M: Eric Piel <eric.piel@tremplin-utc.net> · 360 unmodified lines
39784058 S: Maintained
39794059 F: Documentation/misc-devices/lis3lv02d
39804060 F: drivers/misc/lis3lv02d/
4061+F: drivers/platform/x86/hp_accel.c
39814062
39824063 LLC (802.2)
39834064 M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
@@ -4142,7 +4223,7 @@ MARVELL MV643XX ETHERNET DRIVER · 158 unmodified lines
41424223 M: Lennert Buytenhek <buytenh@wantstofly.org>
41434224 L: netdev@vger.kernel.org
41444225 S: Maintained
4145−F: drivers/net/mv643xx_eth.*
4226+F: drivers/net/ethernet/marvell/mv643xx_eth.*
41464227 F: include/linux/mv643xx.h
41474228
41484229 MARVELL MWIFIEX WIRELESS DRIVER
@@ -4356,12 +4437,12 @@ M: Andrew Gallatin <gallatin@myri.com> · 207 unmodified lines
43564437 L: netdev@vger.kernel.org
43574438 W: http://www.myri.com/scs/download-Myri10GE.html
43584439 S: Supported
4359−F: drivers/net/myri10ge/
4440+F: drivers/net/ethernet/myricom/myri10ge/
43604441
43614442 NATSEMI ETHERNET DRIVER (DP8381x)
43624443 M: Tim Hockin <thockin@hockin.org>
43634444 S: Maintained
4364−F: drivers/net/natsemi.c
4445+F: drivers/net/ethernet/natsemi/natsemi.c
43654446
43664447 NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
43674448 M: Daniel Mack <zonque@gmail.com>
@@ -4401,16 +4482,13 @@ W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous · 33 unmodified lines
44014482 W: http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
44024483 S: Supported
44034484 F: Documentation/networking/s2io.txt
4404−F: drivers/net/s2io*
44054485 F: Documentation/networking/vxge.txt
4406−F: drivers/net/vxge/
4486+F: drivers/net/ethernet/neterion/
44074487
44084488 NETFILTER/IPTABLES/IPCHAINS
4409−P: Rusty Russell
4410−P: Marc Boucher
4411−P: James Morris
44124489 P: Harald Welte
44134490 P: Jozsef Kadlecsik
4491+M: Pablo Neira Ayuso <pablo@netfilter.org>
44144492 M: Patrick McHardy <kaber@trash.net>
44154493 L: netfilter-devel@vger.kernel.org
44164494 L: netfilter@vger.kernel.org
@@ -4517,11 +4595,23 @@ F: include/linux/if_* · 100 unmodified lines
45174595 F: include/linux/*device.h
45184596
45194597 NETXEN (1/10) GbE SUPPORT
4520−M: Amit Kumar Salecha <amit.salecha@qlogic.com>
4598+M: Sony Chacko <sony.chacko@qlogic.com>
4599+M: Rajesh Borundia <rajesh.borundia@qlogic.com>
45214600 L: netdev@vger.kernel.org
45224601 W: http://www.qlogic.com
45234602 S: Supported
4524−F: drivers/net/netxen/
4603+F: drivers/net/ethernet/qlogic/netxen/
4604+
4605+NFC SUBSYSTEM
4606+M: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
4607+M: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
4608+M: Samuel Ortiz <sameo@linux.intel.com>
4609+L: linux-wireless@vger.kernel.org
4610+S: Maintained
4611+F: net/nfc/
4612+F: include/linux/nfc.h
4613+F: include/net/nfc/
4614+F: drivers/nfc/
45254615
45264616 NFS, SUNRPC, AND LOCKD CLIENTS
45274617 M: Trond Myklebust <Trond.Myklebust@netapp.com>
@@ -4542,7 +4632,7 @@ M: Jan-Pascal van Best <janpascal@vanbest.org> · 14 unmodified lines
45424632 M: Andreas Mohr <andi@lisas.de>
45434633 L: netdev@vger.kernel.org
45444634 S: Maintained
4545−F: drivers/net/ni5010.*
4635+F: drivers/net/ethernet/racal/ni5010.*
45464636
45474637 NILFS2 FILESYSTEM
45484638 M: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp>
@@ -4591,7 +4681,7 @@ L: linux-omap@vger.kernel.org · 42 unmodified lines
45914681 W: http://www.muru.com/linux/omap/
45924682 W: http://linux.omap.com/
45934683 Q: http://patchwork.kernel.org/project/linux-omap/list/
4594−T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
4684+T: git git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap.git
45954685 S: Maintained
45964686 F: arch/arm/*omap*/
45974687
@@ -4639,6 +4729,13 @@ S: Maintained · 41 unmodified lines
46394729 F: drivers/video/omap2/
46404730 F: Documentation/arm/OMAP/DSS
46414731
4732+OMAP HARDWARE SPINLOCK SUPPORT
4733+M: Ohad Ben-Cohen <ohad@wizery.com>
4734+L: linux-omap@vger.kernel.org
4735+S: Maintained
4736+F: drivers/hwspinlock/omap_hwspinlock.c
4737+F: arch/arm/mach-omap2/hwspinlock.c
4738+
46424739 OMAP MMC SUPPORT
46434740 M: Jarkko Lavinen <jarkko.lavinen@nokia.com>
46444741 L: linux-omap@vger.kernel.org
@@ -4733,10 +4830,12 @@ F: drivers/i2c/busses/i2c-ocores.c · 88 unmodified lines
47334830
47344831 OPEN FIRMWARE AND FLATTENED DEVICE TREE
47354832 M: Grant Likely <grant.likely@secretlab.ca>
4833+M: Rob Herring <rob.herring@calxeda.com>
47364834 L: devicetree-discuss@lists.ozlabs.org (moderated for non-subscribers)
47374835 W: http://fdt.secretlab.ca
47384836 T: git git://git.secretlab.ca/git/linux-2.6.git
47394837 S: Maintained
4838+F: Documentation/devicetree
47404839 F: drivers/of
47414840 F: include/linux/of*.h
47424841 K: of_get_property
@@ -4808,7 +4907,7 @@ PA SEMI ETHERNET DRIVER · 65 unmodified lines
48084907 M: Olof Johansson <olof@lixom.net>
48094908 L: netdev@vger.kernel.org
48104909 S: Maintained
4811−F: drivers/net/pasemi_mac.*
4910+F: drivers/net/ethernet/pasemi/*
48124911
48134912 PA SEMI SMBUS DRIVER
48144913 M: Olof Johansson <olof@lixom.net>
@@ -4919,7 +5018,7 @@ F: include/linux/i2c-algo-pca.h · 104 unmodified lines
49195018 F: include/linux/i2c-pca-platform.h
49205019
49215020 PCI ERROR RECOVERY
4922−M: Linas Vepstas <linas@austin.ibm.com>
5021+M: Linas Vepstas <linasvepstas@gmail.com>
49235022 L: linux-pci@vger.kernel.org
49245023 S: Supported
49255024 F: Documentation/PCI/pci-error-recovery.txt
@@ -4955,7 +5054,7 @@ PCNET32 NETWORK DRIVER · 29 unmodified lines
49555054 M: Don Fry <pcnet32@frontier.com>
49565055 L: netdev@vger.kernel.org
49575056 S: Maintained
4958−F: drivers/net/pcnet32.c
5057+F: drivers/net/ethernet/amd/pcnet32.c
49595058
49605059 PCRYPT PARALLEL CRYPTO ENGINE
49615060 M: Steffen Klassert <steffen.klassert@secunet.com>
@@ -5015,6 +5114,11 @@ L: linux-mtd@lists.infradead.org · 53 unmodified lines
50155114 S: Maintained
50165115 F: drivers/mtd/devices/phram.c
50175116
5117+PIN CONTROL SUBSYSTEM
5118+M: Linus Walleij <linus.walleij@linaro.org>
5119+S: Maintained
5120+F: drivers/pinmux/
5121+
50185122 PKTCDVD DRIVER
50195123 M: Peter Osterlund <petero2@telia.com>
50205124 S: Maintained
@@ -5087,7 +5191,7 @@ PPP PROTOCOL DRIVERS AND COMPRESSORS · 66 unmodified lines
50875191 M: Paul Mackerras <paulus@samba.org>
50885192 L: linux-ppp@vger.kernel.org
50895193 S: Maintained
5090−F: drivers/net/ppp_*
5194+F: drivers/net/ppp/ppp_*
50915195
50925196 PPP OVER ATM (RFC 2364)
50935197 M: Mitchell Blank Jr <mitch@sfgoth.com>
@@ -5098,8 +5202,8 @@ F: include/linux/atmppp.h · 4 unmodified lines
50985202 PPP OVER ETHERNET
50995203 M: Michal Ostrowski <mostrows@earthlink.net>
51005204 S: Maintained
5101−F: drivers/net/pppoe.c
5102−F: drivers/net/pppox.c
5205+F: drivers/net/ppp/pppoe.c
5206+F: drivers/net/ppp/pppox.c
51035207
51045208 PPP OVER L2TP
51055209 M: James Chapman <jchapman@katalix.com>
@@ -5120,7 +5224,7 @@ PPTP DRIVER · 14 unmodified lines
51205224 M: Dmitry Kozlov <xeb@mail.ru>
51215225 L: netdev@vger.kernel.org
51225226 S: Maintained
5123−F: drivers/net/pptp.c
5227+F: drivers/net/ppp/pptp.c
51245228 W: http://sourceforge.net/projects/accel-pptp
51255229
51265230 PREEMPTIBLE KERNEL
@@ -5149,7 +5253,7 @@ M: Geoff Levand <geoff@infradead.org> · 22 unmodified lines
51495253 L: netdev@vger.kernel.org
51505254 L: cbe-oss-dev@lists.ozlabs.org
51515255 S: Maintained
5152−F: drivers/net/ps3_gelic_net.*
5256+F: drivers/net/ethernet/toshiba/ps3_gelic_net.*
51535257
51545258 PS3 PLATFORM SUPPORT
51555259 M: Geoff Levand <geoff@infradead.org>
@@ -5267,23 +5371,24 @@ M: linux-driver@qlogic.com · 111 unmodified lines
52675371 L: netdev@vger.kernel.org
52685372 S: Supported
52695373 F: Documentation/networking/LICENSE.qla3xxx
5270−F: drivers/net/qla3xxx.*
5374+F: drivers/net/ethernet/qlogic/qla3xxx.*
52715375
52725376 QLOGIC QLCNIC (1/10)Gb ETHERNET DRIVER
5273−M: Amit Kumar Salecha <amit.salecha@qlogic.com>
52745377 M: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
5378+M: Sony Chacko <sony.chacko@qlogic.com>
52755379 M: linux-driver@qlogic.com
52765380 L: netdev@vger.kernel.org
52775381 S: Supported
5278−F: drivers/net/qlcnic/
5382+F: drivers/net/ethernet/qlogic/qlcnic/
52795383
52805384 QLOGIC QLGE 10Gb ETHERNET DRIVER
5385+M: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
52815386 M: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
52825387 M: Ron Mercer <ron.mercer@qlogic.com>
52835388 M: linux-driver@qlogic.com
52845389 L: netdev@vger.kernel.org
52855390 S: Supported
5286−F: drivers/net/qlge/
5391+F: drivers/net/ethernet/qlogic/qlge/
52875392
52885393 QNX4 FILESYSTEM
52895394 M: Anders Larsen <al@alarsen.net>
@@ -5293,6 +5398,12 @@ F: fs/qnx4/ · 3 unmodified lines
52935398 F: include/linux/qnx4_fs.h
52945399 F: include/linux/qnxtypes.h
52955400
5401+QUALCOMM HEXAGON ARCHITECTURE
5402+M: Richard Kuo <rkuo@codeaurora.org>
5403+L: linux-hexagon@vger.kernel.org
5404+S: Supported
5405+F: arch/hexagon/
5406+
52965407 RADOS BLOCK DEVICE (RBD)
52975408 F: include/linux/qnxtypes.h
52985409 M: Yehuda Sadeh <yehuda@hq.newdream.net>
@@ -5365,10 +5476,10 @@ RDC R6040 FAST ETHERNET DRIVER · 66 unmodified lines
53655476 M: Florian Fainelli <florian@openwrt.org>
53665477 L: netdev@vger.kernel.org
53675478 S: Maintained
5368−F: drivers/net/r6040.c
5479+F: drivers/net/ethernet/rdc/r6040.c
53695480
53705481 RDS - RELIABLE DATAGRAM SOCKETS
5371−M: Andy Grover <andy.grover@oracle.com>
5482+M: Venkat Venkatsubra <venkat.x.venkatsubra@oracle.com>
53725483 L: rds-devel@oss.oracle.com (moderated for non-subscribers)
53735484 S: Supported
53745485 F: net/rds/
@@ -5769,7 +5880,7 @@ M: Ajit Khaparde <ajit.khaparde@emulex.com> · 394 unmodified lines
57695880 L: netdev@vger.kernel.org
57705881 W: http://www.emulex.com
57715882 S: Supported
5772−F: drivers/net/benet/
5883+F: drivers/net/ethernet/emulex/benet/
57735884
57745885 SFC NETWORK DRIVER
57755886 M: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
@@ -5777,7 +5888,7 @@ M: Steve Hodgson <shodgson@solarflare.com> · 1 unmodified line
57775888 M: Ben Hutchings <bhutchings@solarflare.com>
57785889 L: netdev@vger.kernel.org
57795890 S: Supported
5780−F: drivers/net/sfc/
5891+F: drivers/net/ethernet/sfc/
57815892
57825893 SGI GRU DRIVER
57835894 M: Jack Steiner <steiner@sgi.com>
@@ -5843,14 +5954,14 @@ SIS 190 ETHERNET DRIVER · 59 unmodified lines
58435954 M: Francois Romieu <romieu@fr.zoreil.com>
58445955 L: netdev@vger.kernel.org
58455956 S: Maintained
5846−F: drivers/net/sis190.c
5957+F: drivers/net/ethernet/sis/sis190.c
58475958
58485959 SIS 900/7016 FAST ETHERNET DRIVER
58495960 M: Daniele Venzano <venza@brownhat.org>
58505961 W: http://www.brownhat.org/sis900.html
58515962 L: netdev@vger.kernel.org
58525963 S: Maintained
5853−F: drivers/net/sis900.*
5964+F: drivers/net/ethernet/sis/sis900.*
58545965
58555966 SIS 96X I2C/SMBUS DRIVER
58565967 M: "Mark M. Hoffman" <mhoffman@lightlink.com>
@@ -5877,8 +5988,7 @@ SKGE, SKY2 10/100/1000 GIGABIT ETHERNET DRIVERS · 20 unmodified lines
58775988 M: Stephen Hemminger <shemminger@linux-foundation.org>
58785989 L: netdev@vger.kernel.org
58795990 S: Maintained
5880−F: drivers/net/skge.*
5881−F: drivers/net/sky2.*
5991+F: drivers/net/ethernet/marvell/sk*
58825992
58835993 SLAB ALLOCATOR
58845994 M: Christoph Lameter <cl@linux-foundation.org>
@@ -5892,7 +6002,7 @@ F: mm/sl?b.c · 7 unmodified lines
58926002 SMC91x ETHERNET DRIVER
58936003 M: Nicolas Pitre <nico@fluxnic.net>
58946004 S: Odd Fixes
5895−F: drivers/net/smc91x.*
6005+F: drivers/net/ethernet/smsc/smc91x.*
58966006
58976007 SMM665 HARDWARE MONITOR DRIVER
58986008 M: Guenter Roeck <linux@roeck-us.net>
@@ -5927,13 +6037,19 @@ M: Steve Glendinning <steve.glendinning@smsc.com> · 28 unmodified lines
59276037 L: netdev@vger.kernel.org
59286038 S: Supported
59296039 F: include/linux/smsc911x.h
5930−F: drivers/net/smsc911x.*
6040+F: drivers/net/ethernet/smsc/smsc911x.*
59316041
59326042 SMSC9420 PCI ETHERNET DRIVER
59336043 M: Steve Glendinning <steve.glendinning@smsc.com>
59346044 L: netdev@vger.kernel.org
59356045 S: Supported
5936−F: drivers/net/smsc9420.*
6046+F: drivers/net/ethernet/smsc/smsc9420.*
6047+
6048+SMSC UFX6000 and UFX7000 USB to VGA DRIVER
6049+M: Steve Glendinning <steve.glendinning@smsc.com>
6050+L: linux-fbdev@vger.kernel.org
6051+S: Supported
6052+F: drivers/video/smscufx.c
59376053
59386054 SN-IA64 (Itanium) SUB-PLATFORM
59396055 M: Jes Sorensen <jes@sgi.com>
@@ -5967,7 +6083,7 @@ SONIC NETWORK DRIVER · 27 unmodified lines
59676083 M: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
59686084 L: netdev@vger.kernel.org
59696085 S: Maintained
5970−F: drivers/net/sonic.*
6086+F: drivers/net/ethernet/natsemi/sonic.*
59716087
59726088 SONICS SILICON BACKPLANE DRIVER (SSB)
59736089 M: Michael Buesch <m@bues.ch>
@@ -6004,7 +6120,7 @@ M: Jaroslav Kysela <perex@perex.cz> · 30 unmodified lines
60046120 M: Takashi Iwai <tiwai@suse.de>
60056121 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
60066122 W: http://www.alsa-project.org/
6007−T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
6123+T: git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
60086124 T: git git://git.alsa-project.org/alsa-kernel.git
60096125 S: Maintained
60106126 F: Documentation/sound/
@@ -6014,7 +6130,7 @@ F: sound/ · 3 unmodified lines
60146130 SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
60156131 M: Liam Girdwood <lrg@ti.com>
60166132 M: Mark Brown <broonie@opensource.wolfsonmicro.com>
6017−T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
6133+T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
60186134 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
60196135 W: http://alsa-project.org/main/index.php/ASoC
60206136 S: Supported
@@ -6108,7 +6224,7 @@ M: Jens Osterkamp <jens@de.ibm.com> · 87 unmodified lines
61086224 L: netdev@vger.kernel.org
61096225 S: Supported
61106226 F: Documentation/networking/spider_net.txt
6111−F: drivers/net/spider_net*
6227+F: drivers/net/ethernet/toshiba/spider_net*
61126228
61136229 SPU FILE SYSTEM
61146230 M: Jeremy Kerr <jk@ozlabs.org>
@@ -6139,7 +6255,7 @@ S: Maintained · 24 unmodified lines
61396255
61406256 STAGING SUBSYSTEM
61416257 M: Greg Kroah-Hartman <gregkh@suse.de>
6142−T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6.git
6258+T: git git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
61436259 L: devel@driverdev.osuosl.org
61446260 S: Maintained
61456261 F: drivers/staging/
@@ -6155,12 +6271,6 @@ M: Jakub Schmidtke <sjakub@gmail.com> · 9 unmodified lines
61556271 S: Odd Fixes
61566272 F: drivers/staging/asus_oled/
61576273
6158−STAGING - ATHEROS ATH6KL WIRELESS DRIVER
6159−M: Luis R. Rodriguez <mcgrof@gmail.com>
6160−M: Naveen Singh <nsingh@atheros.com>
6161−S: Odd Fixes
6162−F: drivers/staging/ath6kl/
6163−
61646274 STAGING - COMEDI
61656275 M: Ian Abbott <abbotti@mev.co.uk>
61666276 M: Mori Hess <fmhess@users.sourceforge.net>
@@ -6186,6 +6296,11 @@ M: David Rowe <david@rowetel.com> · 19 unmodified lines
61866296 S: Odd Fixes
61876297 F: drivers/staging/echo/
61886298
6299+STAGING - ET131X NETWORK DRIVER
6300+M: Mark Einon <mark.einon@gmail.com>
6301+S: Odd Fixes
6302+F: drivers/staging/et131x/
6303+
61896304 STAGING - FLARION FT1000 DRIVERS
61906305 M: Marek Belisko <marek.belisko@gmail.com>
61916306 S: Odd Fixes
@@ -6214,6 +6329,13 @@ W: http://www.lirc.org/ · 22 unmodified lines
62146329 S: Odd Fixes
62156330 F: drivers/staging/lirc/
62166331
6332+STAGING - NVIDIA COMPLIANT EMBEDDED CONTROLLER INTERFACE (nvec)
6333+M: Julian Andres Klode <jak@jak-linux.org>
6334+M: Marc Dietrich <marvin24@gmx.de>
6335+L: ac100@lists.launchpad.net (moderated for non-subscribers)
6336+S: Maintained
6337+F: drivers/staging/nvec/
6338+
62176339 STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
62186340 M: Andres Salomon <dilinger@queued.net>
62196341 M: Chris Ball <cjb@laptop.org>
@@ -6286,7 +6408,7 @@ F: drivers/staging/xgifb/ · 66 unmodified lines
62866408 STARFIRE/DURALAN NETWORK DRIVER
62876409 M: Ion Badulescu <ionut@badula.org>
62886410 S: Odd Fixes
6289−F: drivers/net/starfire*
6411+F: drivers/net/ethernet/adaptec/starfire*
62906412
62916413 SUN3/3X
62926414 M: Sam Creasey <sammy@sammy.net>
@@ -6295,6 +6417,7 @@ S: Maintained · 2 unmodified lines
62956417 F: arch/m68k/kernel/*sun3*
62966418 F: arch/m68k/sun3*/
62976419 F: arch/m68k/include/asm/sun3*
6420+F: drivers/net/ethernet/i825xx/sun3*
62986421
62996422 SUPERH
63006423 M: Paul Mundt <lethal@linux-sh.org>
@@ -6311,7 +6434,7 @@ SUSPEND TO RAM · 10 unmodified lines
63116434 M: Len Brown <len.brown@intel.com>
63126435 M: Pavel Machek <pavel@ucw.cz>
63136436 M: "Rafael J. Wysocki" <rjw@sisk.pl>
6314−L: linux-pm@lists.linux-foundation.org
6437+L: linux-pm@vger.kernel.org
63156438 S: Supported
63166439 F: Documentation/power/
63176440 F: arch/x86/kernel/acpi/
@@ -6382,7 +6505,7 @@ TEHUTI ETHERNET DRIVER · 64 unmodified lines
63826505 M: Andy Gospodarek <andy@greyhouse.net>
63836506 L: netdev@vger.kernel.org
63846507 S: Supported
6385−F: drivers/net/tehuti*
6508+F: drivers/net/ethernet/tehuti/*
63866509
63876510 Telecom Clock Driver for MCPL0010
63886511 M: Mark Gross <mark.gross@intel.com>
@@ -6433,7 +6556,7 @@ W: http://www.tilera.com/scm/ · 44 unmodified lines
64336556 S: Supported
64346557 F: arch/tile/
64356558 F: drivers/tty/hvc/hvc_tile.c
6436−F: drivers/net/tile/
6559+F: drivers/net/ethernet/tile/
64376560 F: drivers/edac/tile_edac.c
64386561
64396562 TLAN NETWORK DRIVER
@@ -6442,7 +6565,7 @@ L: tlan-devel@lists.sourceforge.net (subscribers-only) · 2 unmodified lines
64426565 W: http://sourceforge.net/projects/tlan/
64436566 S: Maintained
64446567 F: Documentation/networking/tlan.txt
6445−F: drivers/net/tlan.*
6568+F: drivers/net/ethernet/ti/tlan.*
64466569
64476570 TOMOYO SECURITY MODULE
64486571 M: Kentaro Takeda <takedakn@nttdata.co.jp>
@@ -6536,7 +6659,7 @@ TULIP NETWORK DRIVERS · 87 unmodified lines
65366659 M: Grant Grundler <grundler@parisc-linux.org>
65376660 L: netdev@vger.kernel.org
65386661 S: Maintained
6539−F: drivers/net/tulip/
6662+F: drivers/net/ethernet/tulip/
65406663
65416664 TUN/TAP driver
65426665 M: Maxim Krasnyansky <maxk@qualcomm.com>
@@ -6582,11 +6705,10 @@ W: http://uclinux-h8.sourceforge.jp/ · 39 unmodified lines
65826705 S: Supported
65836706 F: arch/h8300/
65846707 F: drivers/ide/ide-h8300.c
6585−F: drivers/net/ne-h8300.c
6708+F: drivers/net/ethernet/8390/ne-h8300.c
65866709
65876710 UDF FILESYSTEM
65886711 M: Jan Kara <jack@suse.cz>
6589−W: http://linux-udf.sourceforge.net
65906712 S: Maintained
65916713 F: Documentation/filesystems/udf.txt
65926714 F: fs/udf/
@@ -7010,7 +7132,7 @@ F: include/linux/vhost.h · 417 unmodified lines
70107132 VIA RHINE NETWORK DRIVER
70117133 M: Roger Luethi <rl@hellgate.ch>
70127134 S: Maintained
7013−F: drivers/net/via-rhine.c
7135+F: drivers/net/ethernet/via/via-rhine.c
70147136
70157137 VIAPRO SMBUS DRIVER
70167138 M: Jean Delvare <khali@linux-fr.org>
@@ -7038,7 +7160,7 @@ VIA VELOCITY NETWORK DRIVER · 21 unmodified lines
70387160 M: Francois Romieu <romieu@fr.zoreil.com>
70397161 L: netdev@vger.kernel.org
70407162 S: Maintained
7041−F: drivers/net/via-velocity.*
7163+F: drivers/net/ethernet/via/via-velocity.*
70427164
70437165 VLAN (802.1Q)
70447166 M: Patrick McHardy <kaber@trash.net>
@@ -7218,6 +7340,7 @@ T: git git://opensource.wolfsonmicro.com/linux-2.6-audioplus · 173 unmodified lines
72187340 W: http://opensource.wolfsonmicro.com/content/linux-drivers-wolfson-devices
72197341 S: Supported
72207342 F: Documentation/hwmon/wm83??
7343+F: arch/arm/mach-s3c64xx/mach-crag6410*
72217344 F: drivers/leds/leds-wm83*.c
72227345 F: drivers/input/misc/wm831x-on.c
72237346 F: drivers/input/touchscreen/wm831x-ts.c
Makefile+4−6
@@ -1,8 +1,8 @@
11 VERSION = 3
2−PATCHLEVEL = 1
2+PATCHLEVEL = 2
33 SUBLEVEL = 0
4−EXTRAVERSION =
5−NAME = "Divemaster Edition"
4+EXTRAVERSION = -rc1
5+NAME = Saber-toothed Squirrel
66
77 # *DOCUMENTATION*
88 # To see a list of typical targets execute "make help"
@@ -983,7 +983,6 @@ archprepare: prepare1 scripts_basic · 974 unmodified lines
983983
984984 prepare0: archprepare FORCE
985985 $(Q)$(MAKE) $(build)=.
986− $(Q)$(MAKE) $(build)=. missing-syscalls
987986
988987 # All the preparing..
989988 prepare: prepare0
@@ -1198,7 +1197,7 @@ distclean: mrproper · 208 unmodified lines
11981197 @find $(srctree) $(RCS_FIND_IGNORE) \
11991198 \( -name '*.orig' -o -name '*.rej' -o -name '*~' \
12001199 -o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
1201− -o -name '.*.rej' -o -size 0 \
1200+ -o -name '.*.rej' \
12021201 -o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
12031202 -type f -print | xargs rm -f
12041203
@@ -1296,7 +1295,6 @@ help: · 91 unmodified lines
12961295 @echo ' 2: warnings which occur quite often but may still be relevant'
12971296 @echo ' 3: more obscure warnings, can most likely be ignored'
12981297 @echo ' Multiple levels can be combined with W=12 or W=123'
1299− @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
13001298 @echo ''
13011299 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
13021300 @echo 'For further info see the ./README file'
arch/alpha/Kconfig+0−5
@@ -445,11 +445,6 @@ config ALPHA_EV67 · 444 unmodified lines
445445 Is this a machine based on the EV67 core? If in doubt, select N here
446446 and the machine will be treated as an EV6.
447447
448−config ALPHA_EV7
449− bool
450− depends on ALPHA_MARVEL
451− default y
452−
453448 config ALPHA_MCPCIA
454449 bool
455450 depends on ALPHA_RAWHIDE
arch/alpha/include/asm/fcntl.h+0−2
@@ -51,8 +51,6 @@ · 50 unmodified lines
5151 #define F_EXLCK 16 /* or 3 */
5252 #define F_SHLCK 32 /* or 4 */
5353
54−#define F_INPROGRESS 64
55−
5654 #include <asm-generic/fcntl.h>
5755
5856 #endif
arch/alpha/include/asm/unistd.h+3−1
@@ -457,10 +457,12 @@ · 456 unmodified lines
457457 #define __NR_clock_adjtime 499
458458 #define __NR_syncfs 500
459459 #define __NR_setns 501
460+#define __NR_accept4 502
461+#define __NR_sendmmsg 503
460462
461463 #ifdef __KERNEL__
462464
463−#define NR_SYSCALLS 502
465+#define NR_SYSCALLS 504
464466
465467 #define __ARCH_WANT_IPC_PARSE_VERSION
466468 #define __ARCH_WANT_OLD_READDIR
arch/alpha/kernel/core_irongate.c+1−0
@@ -303,6 +303,7 @@ irongate_init_arch(void) · 302 unmodified lines
303303 #include <linux/vmalloc.h>
304304 #include <linux/agp_backend.h>
305305 #include <linux/agpgart.h>
306+#include <linux/export.h>
306307 #include <asm/pgalloc.h>
307308
308309 #define GET_PAGE_DIR_OFF(addr) (addr >> 22)
arch/alpha/kernel/pci-sysfs.c+1−0
@@ -10,6 +10,7 @@ · 9 unmodified lines
1010 */
1111
1212 #include <linux/sched.h>
13+#include <linux/stat.h>
1314 #include <linux/slab.h>
1415 #include <linux/pci.h>
1516
arch/alpha/kernel/pci_iommu.c+1−0
@@ -7,6 +7,7 @@ · 6 unmodified lines
77 #include <linux/pci.h>
88 #include <linux/gfp.h>
99 #include <linux/bootmem.h>
10+#include <linux/export.h>
1011 #include <linux/scatterlist.h>
1112 #include <linux/log2.h>
1213 #include <linux/dma-mapping.h>
arch/alpha/kernel/setup.c+1−0
@@ -43,6 +43,7 @@ · 42 unmodified lines
4343 #include <asm/setup.h>
4444 #include <asm/io.h>
4545 #include <linux/log2.h>
46+#include <linux/export.h>
4647
4748 extern struct atomic_notifier_head panic_notifier_list;
4849 static int alpha_panic_event(struct notifier_block *, unsigned long, void *);
arch/alpha/kernel/systbls.S+2−0
@@ -520,6 +520,8 @@ sys_call_table: · 519 unmodified lines
520520 .quad sys_clock_adjtime
521521 .quad sys_syncfs /* 500 */
522522 .quad sys_setns
523+ .quad sys_accept4
524+ .quad sys_sendmmsg
523525
524526 .size sys_call_table, . - sys_call_table
525527 .type sys_call_table, @object
arch/arm/Kconfig+107−24
@@ -29,6 +29,7 @@ config ARM · 28 unmodified lines
2929 select HAVE_GENERIC_HARDIRQS
3030 select HAVE_SPARSE_IRQ
3131 select GENERIC_IRQ_SHOW
32+ select CPU_PM if (SUSPEND || CPU_IDLE)
3233 help
3334 The ARM series is a line of low-power-consumption RISC chip designs
3435 licensed by ARM Ltd and targeted at embedded applications and
@@ -211,6 +212,19 @@ config ARM_PATCH_PHYS_VIRT · 176 unmodified lines
211212 this feature (eg, building a kernel for a single machine) and
212213 you need to shrink the kernel to the minimal size.
213214
215+config NEED_MACH_MEMORY_H
216+ bool
217+ help
218+ Select this when mach/memory.h is required to provide special
219+ definitions for this platform. The need for mach/memory.h should
220+ be avoided when possible.
221+
222+config PHYS_OFFSET
223+ hex "Physical address of main memory"
224+ depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
225+ help
226+ Please provide the physical address corresponding to the
227+ location of main memory in your system.
214228
215229 config GENERIC_BUG
216230 def_bool y
@@ -247,6 +261,7 @@ config ARCH_INTEGRATOR · 30 unmodified lines
247261 select GENERIC_CLOCKEVENTS
248262 select PLAT_VERSATILE
249263 select PLAT_VERSATILE_FPGA_IRQ
264+ select NEED_MACH_MEMORY_H
250265 help
251266 Support for ARM's Integrator platform.
252267
@@ -262,6 +277,7 @@ config ARCH_REALVIEW · 9 unmodified lines
262277 select PLAT_VERSATILE_CLCD
263278 select ARM_TIMER_SP804
264279 select GPIO_PL061 if GPIOLIB
280+ select NEED_MACH_MEMORY_H
265281 help
266282 This enables support for ARM Ltd RealView boards.
267283
@@ -318,10 +334,25 @@ config ARCH_BCMRING · 50 unmodified lines
318334 help
319335 Support for Broadcom's BCMRing platform.
320336
337+config ARCH_HIGHBANK
338+ bool "Calxeda Highbank-based"
339+ select ARCH_WANT_OPTIONAL_GPIOLIB
340+ select ARM_AMBA
341+ select ARM_GIC
342+ select ARM_TIMER_SP804
343+ select CLKDEV_LOOKUP
344+ select CPU_V7
345+ select GENERIC_CLOCKEVENTS
346+ select HAVE_ARM_SCU
347+ select USE_OF
348+ help
349+ Support for the Calxeda Highbank SoC based boards.
350+
321351 config ARCH_CLPS711X
322352 bool "Cirrus Logic CLPS711x/EP721x-based"
323353 select CPU_ARM720T
324354 select ARCH_USES_GETTIMEOFFSET
355+ select NEED_MACH_MEMORY_H
325356 help
326357 Support for Cirrus Logic 711x/721x based boards.
327358
@@ -346,7 +377,6 @@ config ARCH_GEMINI · 18 unmodified lines
346377 config ARCH_PRIMA2
347378 bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
348379 select CPU_V7
349− select GENERIC_TIME
350380 select NO_IOPORT
351381 select GENERIC_CLOCKEVENTS
352382 select CLKDEV_LOOKUP
@@ -362,6 +392,7 @@ config ARCH_EBSA110 · 9 unmodified lines
362392 select ISA
363393 select NO_IOPORT
364394 select ARCH_USES_GETTIMEOFFSET
395+ select NEED_MACH_MEMORY_H
365396 help
366397 This is an evaluation board for the StrongARM processor available
367398 from Digital. It has limited hardware on-board, including an
@@ -377,6 +408,7 @@ config ARCH_EP93XX · 9 unmodified lines
377408 select ARCH_REQUIRE_GPIOLIB
378409 select ARCH_HAS_HOLES_MEMORYMODEL
379410 select ARCH_USES_GETTIMEOFFSET
411+ select NEED_MACH_MEMORY_H
380412 help
381413 This enables support for the Cirrus EP93xx series of CPUs.
382414
@@ -386,6 +418,7 @@ config ARCH_FOOTBRIDGE · 3 unmodified lines
386418 select FOOTBRIDGE
387419 select GENERIC_CLOCKEVENTS
388420 select HAVE_IDE
421+ select NEED_MACH_MEMORY_H
389422 help
390423 Support for systems based on the DC21285 companion chip
391424 ("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
@@ -398,6 +431,7 @@ config ARCH_MXC · 6 unmodified lines
398431 select CLKSRC_MMIO
399432 select GENERIC_IRQ_CHIP
400433 select HAVE_SCHED_CLOCK
434+ select MULTI_IRQ_HANDLER
401435 help
402436 Support for Freescale MXC/iMX-based family of processors
403437
@@ -435,6 +469,7 @@ config ARCH_IOP13XX · 31 unmodified lines
435469 select PCI
436470 select ARCH_SUPPORTS_MSI
437471 select VMSPLIT_1G
472+ select NEED_MACH_MEMORY_H
438473 help
439474 Support for Intel's IOP13XX (XScale) family of processors.
440475
@@ -465,6 +500,7 @@ config ARCH_IXP23XX · 24 unmodified lines
465500 select CPU_XSC3
466501 select PCI
467502 select ARCH_USES_GETTIMEOFFSET
503+ select NEED_MACH_MEMORY_H
468504 help
469505 Support for Intel's IXP23xx (XScale) family of processors.
470506
@@ -474,6 +510,7 @@ config ARCH_IXP2000 · 3 unmodified lines
474510 select CPU_XSCALE
475511 select PCI
476512 select ARCH_USES_GETTIMEOFFSET
513+ select NEED_MACH_MEMORY_H
477514 help
478515 Support for Intel's IXP2400/2800 (XScale) family of processors.
479516
@@ -520,7 +557,6 @@ config ARCH_LPC32XX · 40 unmodified lines
520557 select ARM_AMBA
521558 select USB_ARCH_HAS_OHCI
522559 select CLKDEV_LOOKUP
523− select GENERIC_TIME
524560 select GENERIC_CLOCKEVENTS
525561 help
526562 Support for the NXP LPC32XX family of processors
@@ -559,6 +595,7 @@ config ARCH_MMP · 32 unmodified lines
559595 select TICK_ONESHOT
560596 select PLAT_PXA
561597 select SPARSE_IRQ
598+ select GENERIC_ALLOCATOR
562599 help
563600 Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
564601
@@ -567,6 +604,7 @@ config ARCH_KS8695 · 2 unmodified lines
567604 select CPU_ARM922T
568605 select ARCH_REQUIRE_GPIOLIB
569606 select ARCH_USES_GETTIMEOFFSET
607+ select NEED_MACH_MEMORY_H
570608 help
571609 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
572610 System-on-Chip devices.
@@ -587,19 +625,10 @@ config ARCH_W90X900 · 14 unmodified lines
587625 <http://www.nuvoton.com/hq/enu/ProductAndSales/ProductLines/
588626 ConsumerElectronicsIC/ARMMicrocontroller/ARMMicrocontroller>
589627
590−config ARCH_NUC93X
591− bool "Nuvoton NUC93X CPU"
592− select CPU_ARM926T
593− select CLKDEV_LOOKUP
594− help
595− Support for Nuvoton (Winbond logic dept.) NUC93X MCU,The NUC93X is a
596− low-power and high performance MPEG-4/JPEG multimedia controller chip.
597−
598628 config ARCH_TEGRA
599629 bool "NVIDIA Tegra"
600630 select CLKDEV_LOOKUP
601631 select CLKSRC_MMIO
602− select GENERIC_TIME
603632 select GENERIC_CLOCKEVENTS
604633 select GENERIC_GPIO
605634 select HAVE_CLK
@@ -609,6 +638,24 @@ config ARCH_TEGRA · 3 unmodified lines
609638 This enables support for NVIDIA Tegra based systems (Tegra APX,
610639 Tegra 6xx and Tegra 2 series).
611640
641+config ARCH_PICOXCELL
642+ bool "Picochip picoXcell"
643+ select ARCH_REQUIRE_GPIOLIB
644+ select ARM_PATCH_PHYS_VIRT
645+ select ARM_VIC
646+ select CPU_V6K
647+ select DW_APB_TIMER
648+ select GENERIC_CLOCKEVENTS
649+ select GENERIC_GPIO
650+ select HAVE_SCHED_CLOCK
651+ select HAVE_TCM
652+ select NO_IOPORT
653+ select USE_OF
654+ help
655+ This enables support for systems based on the Picochip picoXcell
656+ family of Femtocell devices. The picoxcell support requires device tree
657+ for all boards.
658+
612659 config ARCH_PNX4008
613660 bool "Philips Nexperia PNX4008 Mobile"
614661 select CPU_ARM926T
@@ -660,6 +707,7 @@ config ARCH_SHMOBILE · 45 unmodified lines
660707 select SPARSE_IRQ
661708 select MULTI_IRQ_HANDLER
662709 select PM_GENERIC_DOMAINS if PM
710+ select NEED_MACH_MEMORY_H
663711 help
664712 Support for Renesas's SH-Mobile and R-Mobile ARM platforms.
665713
@@ -675,6 +723,7 @@ config ARCH_RPC · 9 unmodified lines
675723 select ARCH_SPARSEMEM_ENABLE
676724 select ARCH_USES_GETTIMEOFFSET
677725 select HAVE_IDE
726+ select NEED_MACH_MEMORY_H
678727 help
679728 On the Acorn Risc-PC, Linux can support the internal IDE disk and
680729 CD-ROM interface, serial and parallel port, and the floppy drive.
@@ -694,6 +743,7 @@ config ARCH_SA1100 · 13 unmodified lines
694743 select TICK_ONESHOT
695744 select ARCH_REQUIRE_GPIOLIB
696745 select HAVE_IDE
746+ select NEED_MACH_MEMORY_H
697747 help
698748 Support for StrongARM 11x0 based boards.
699749
@@ -720,6 +770,7 @@ config ARCH_S3C64XX · 20 unmodified lines
720770 select CPU_V6
721771 select ARM_VIC
722772 select HAVE_CLK
773+ select HAVE_TCM
723774 select CLKDEV_LOOKUP
724775 select NO_IOPORT
725776 select ARCH_USES_GETTIMEOFFSET
@@ -727,11 +778,7 @@ config ARCH_S3C64XX · 1 unmodified line
727778 select ARCH_REQUIRE_GPIOLIB
728779 select SAMSUNG_CLKSRC
729780 select SAMSUNG_IRQ_VIC_TIMER
730− select SAMSUNG_IRQ_UART
731781 select S3C_GPIO_TRACK
732− select S3C_GPIO_PULL_UPDOWN
733− select S3C_GPIO_CFG_S3C24XX
734− select S3C_GPIO_CFG_S3C64XX
735782 select S3C_DEV_NAND
736783 select USB_ARCH_HAS_OHCI
737784 select SAMSUNG_GPIOLIB_4BIT
@@ -786,11 +833,12 @@ config ARCH_S5PV210 · 48 unmodified lines
786833 select HAVE_S3C2410_I2C if I2C
787834 select HAVE_S3C_RTC if RTC_CLASS
788835 select HAVE_S3C2410_WATCHDOG if WATCHDOG
836+ select NEED_MACH_MEMORY_H
789837 help
790838 Samsung S5PV210/S5PC110 series based systems
791839
792−config ARCH_EXYNOS4
793− bool "Samsung EXYNOS4"
840+config ARCH_EXYNOS
841+ bool "SAMSUNG EXYNOS"
794842 select CPU_V7
795843 select ARCH_SPARSEMEM_ENABLE
796844 select ARCH_HAS_HOLES_MEMORYMODEL
@@ -802,8 +850,9 @@ config ARCH_EXYNOS4 · 5 unmodified lines
802850 select HAVE_S3C_RTC if RTC_CLASS
803851 select HAVE_S3C2410_I2C if I2C
804852 select HAVE_S3C2410_WATCHDOG if WATCHDOG
853+ select NEED_MACH_MEMORY_H
805854 help
806− Samsung EXYNOS4 series based systems
855+ Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
807856
808857 config ARCH_SHARK
809858 bool "Shark"
@@ -813,6 +862,7 @@ config ARCH_SHARK · 3 unmodified lines
813862 select ZONE_DMA
814863 select PCI
815864 select ARCH_USES_GETTIMEOFFSET
865+ select NEED_MACH_MEMORY_H
816866 help
817867 Support for the StrongARM based Digital DNARD machine, also known
818868 as "Shark" (<http://www.shark-linux.de/shark.html>).
@@ -835,11 +885,14 @@ config ARCH_U300 · 16 unmodified lines
835885 select HAVE_SCHED_CLOCK
836886 select HAVE_TCM
837887 select ARM_AMBA
888+ select ARM_PATCH_PHYS_VIRT
838889 select ARM_VIC
839890 select GENERIC_CLOCKEVENTS
840891 select CLKDEV_LOOKUP
841892 select HAVE_MACH_CLKDEV
842893 select GENERIC_GPIO
894+ select ARCH_REQUIRE_GPIOLIB
895+ select NEED_MACH_MEMORY_H
843896 help
844897 Support for ST-Ericsson U300 series mobile platforms.
845898
@@ -915,7 +968,6 @@ config ARCH_VT8500 · 69 unmodified lines
915968 config ARCH_ZYNQ
916969 bool "Xilinx Zynq ARM Cortex A9 Platform"
917970 select CPU_V7
918− select GENERIC_TIME
919971 select GENERIC_CLOCKEVENTS
920972 select CLKDEV_LOOKUP
921973 select ARM_GIC
@@ -984,8 +1036,6 @@ source "arch/arm/mach-netx/Kconfig" · 62 unmodified lines
9841036 source "arch/arm/mach-nomadik/Kconfig"
9851037 source "arch/arm/plat-nomadik/Kconfig"
9861038
987−source "arch/arm/mach-nuc93x/Kconfig"
988−
9891039 source "arch/arm/plat-omap/Kconfig"
9901040
9911041 source "arch/arm/mach-omap1/Kconfig"
@@ -1029,7 +1079,7 @@ source "arch/arm/mach-s5pc100/Kconfig" · 37 unmodified lines
10291079
10301080 source "arch/arm/mach-s5pv210/Kconfig"
10311081
1032−source "arch/arm/mach-exynos4/Kconfig"
1082+source "arch/arm/mach-exynos/Kconfig"
10331083
10341084 source "arch/arm/mach-shmobile/Kconfig"
10351085
@@ -1378,7 +1428,7 @@ config SMP · 342 unmodified lines
13781428 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
13791429 MACH_REALVIEW_PB11MP || MACH_REALVIEW_PBX || ARCH_OMAP4 || \
13801430 ARCH_EXYNOS4 || ARCH_TEGRA || ARCH_U8500 || ARCH_VEXPRESS_CA9X4 || \
1381− ARCH_MSM_SCORPIONMP || ARCH_SHMOBILE
1431+ ARCH_MSM_SCORPIONMP || ARCH_SHMOBILE || ARCH_HIGHBANK || SOC_IMX6Q
13821432 depends on MMU
13831433 select USE_GENERIC_SMP_HELPERS
13841434 select HAVE_ARM_SCU if !ARCH_MSM_SCORPIONMP
@@ -1838,6 +1888,38 @@ config ZBOOT_ROM_SH_MOBILE_SDHI · 453 unmodified lines
18381888
18391889 endchoice
18401890
1891+config ARM_APPENDED_DTB
1892+ bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
1893+ depends on OF && !ZBOOT_ROM && EXPERIMENTAL
1894+ help
1895+ With this option, the boot code will look for a device tree binary
1896+ (DTB) appended to zImage
1897+ (e.g. cat zImage <filename>.dtb > zImage_w_dtb).
1898+
1899+ This is meant as a backward compatibility convenience for those
1900+ systems with a bootloader that can't be upgraded to accommodate
1901+ the documented boot protocol using a device tree.
1902+
1903+ Beware that there is very little in terms of protection against
1904+ this option being confused by leftover garbage in memory that might
1905+ look like a DTB header after a reboot if no actual DTB is appended
1906+ to zImage. Do not leave this option active in a production kernel
1907+ if you don't intend to always append a DTB. Proper passing of the
1908+ location into r2 of a bootloader provided DTB is always preferable
1909+ to this option.
1910+
1911+config ARM_ATAG_DTB_COMPAT
1912+ bool "Supplement the appended DTB with traditional ATAG information"
1913+ depends on ARM_APPENDED_DTB
1914+ help
1915+ Some old bootloaders can't be updated to a DTB capable one, yet
1916+ they provide ATAGs with memory configuration, the ramdisk address,
1917+ the kernel cmdline string, etc. Such information is dynamically
1918+ provided by the bootloader and can't always be stored in a static
1919+ DTB. To allow a device tree enabled kernel to be used with such
1920+ bootloaders, this option allows zImage to extract the information
1921+ from the ATAG list and store it at run time into the appended DTB.
1922+
18411923 config CMDLINE
18421924 string "Default kernel command string"
18431925 default ""
@@ -1984,6 +2066,7 @@ config CPU_FREQ_PXA · 140 unmodified lines
19842066 bool
19852067 depends on CPU_FREQ && ARCH_PXA && PXA25x
19862068 default y
2069+ select CPU_FREQ_TABLE
19872070 select CPU_FREQ_DEFAULT_GOV_USERSPACE
19882071
19892072 config CPU_FREQ_S3C
@@ -2127,7 +2210,7 @@ menu "Power management options" · 137 unmodified lines
21272210 source "kernel/power/Kconfig"
21282211
21292212 config ARCH_SUSPEND_POSSIBLE
2130− depends on !ARCH_S5P64X0 && !ARCH_S5PC100
2213+ depends on !ARCH_S5PC100
21312214 depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
21322215 CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
21332216 def_bool y
arch/arm/Kconfig.debug+123−10
@@ -128,6 +128,125 @@ choice · 127 unmodified lines
128128 Say Y here if you want the debug print routines to direct
129129 their output to the second serial port on these devices.
130130
131+ config DEBUG_HIGHBANK_UART
132+ bool "Kernel low-level debugging messages via Highbank UART"
133+ depends on ARCH_HIGHBANK
134+ help
135+ Say Y here if you want the debug print routines to direct
136+ their output to the UART on Highbank based devices.
137+
138+ config DEBUG_IMX1_UART
139+ bool "i.MX1 Debug UART"
140+ depends on SOC_IMX1
141+ help
142+ Say Y here if you want kernel low-level debugging support
143+ on i.MX1.
144+
145+ config DEBUG_IMX23_UART
146+ bool "i.MX23 Debug UART"
147+ depends on SOC_IMX23
148+ help
149+ Say Y here if you want kernel low-level debugging support
150+ on i.MX23.
151+
152+ config DEBUG_IMX25_UART
153+ bool "i.MX25 Debug UART"
154+ depends on SOC_IMX25
155+ help
156+ Say Y here if you want kernel low-level debugging support
157+ on i.MX25.
158+
159+ config DEBUG_IMX21_IMX27_UART
160+ bool "i.MX21 and i.MX27 Debug UART"
161+ depends on SOC_IMX21 || SOC_IMX27
162+ help
163+ Say Y here if you want kernel low-level debugging support
164+ on i.MX21 or i.MX27.
165+
166+ config DEBUG_IMX28_UART
167+ bool "i.MX28 Debug UART"
168+ depends on SOC_IMX28
169+ help
170+ Say Y here if you want kernel low-level debugging support
171+ on i.MX28.
172+
173+ config DEBUG_IMX31_IMX35_UART
174+ bool "i.MX31 and i.MX35 Debug UART"
175+ depends on SOC_IMX31 || SOC_IMX35
176+ help
177+ Say Y here if you want kernel low-level debugging support
178+ on i.MX31 or i.MX35.
179+
180+ config DEBUG_IMX51_UART
181+ bool "i.MX51 Debug UART"
182+ depends on SOC_IMX51
183+ help
184+ Say Y here if you want kernel low-level debugging support
185+ on i.MX51.
186+
187+ config DEBUG_IMX50_IMX53_UART
188+ bool "i.MX50 and i.MX53 Debug UART"
189+ depends on SOC_IMX50 || SOC_IMX53
190+ help
191+ Say Y here if you want kernel low-level debugging support
192+ on i.MX50 or i.MX53.
193+
194+ config DEBUG_IMX6Q_UART
195+ bool "i.MX6Q Debug UART"
196+ depends on SOC_IMX6Q
197+ help
198+ Say Y here if you want kernel low-level debugging support
199+ on i.MX6Q.
200+
201+ config DEBUG_S3C_UART0
202+ depends on PLAT_SAMSUNG
203+ bool "Use S3C UART 0 for low-level debug"
204+ help
205+ Say Y here if you want the debug print routines to direct
206+ their output to UART 0. The port must have been initialised
207+ by the boot-loader before use.
208+
209+ The uncompressor code port configuration is now handled
210+ by CONFIG_S3C_LOWLEVEL_UART_PORT.
211+
212+ config DEBUG_S3C_UART1
213+ depends on PLAT_SAMSUNG
214+ bool "Use S3C UART 1 for low-level debug"
215+ help
216+ Say Y here if you want the debug print routines to direct
217+ their output to UART 1. The port must have been initialised
218+ by the boot-loader before use.
219+
220+ The uncompressor code port configuration is now handled
221+ by CONFIG_S3C_LOWLEVEL_UART_PORT.
222+
223+ config DEBUG_S3C_UART2
224+ depends on PLAT_SAMSUNG
225+ bool "Use S3C UART 2 for low-level debug"
226+ help
227+ Say Y here if you want the debug print routines to direct
228+ their output to UART 2. The port must have been initialised
229+ by the boot-loader before use.
230+
231+ The uncompressor code port configuration is now handled
232+ by CONFIG_S3C_LOWLEVEL_UART_PORT.
233+
234+ config DEBUG_REALVIEW_STD_PORT
235+ bool "RealView Default UART"
236+ depends on ARCH_REALVIEW
237+ help
238+ Say Y here if you want the debug print routines to direct
239+ their output to the serial port on RealView EB, PB11MP, PBA8
240+ and PBX platforms.
241+
242+ config DEBUG_REALVIEW_PB1176_PORT
243+ bool "RealView PB1176 UART"
244+ depends on MACH_REALVIEW_PB1176
245+ help
246+ Say Y here if you want the debug print routines to direct
247+ their output to the standard serial port on the RealView
248+ PB1176 platform.
249+
131250 endchoice
132251
133252 config EARLY_PRINTK
@@ -146,16 +265,10 @@ config OC_ETM · 12 unmodified lines
146265 buffer driver that will allow you to collect traces of the
147266 kernel code.
148267
149−config DEBUG_S3C_UART
150− depends on PLAT_SAMSUNG
151− int "S3C UART to use for low-level debug"
152− default "0"
268+config ARM_KPROBES_TEST
269+ tristate "Kprobes test module"
270+ depends on KPROBES && MODULES
153271 help
154− Choice for UART for kernel low-level using S3C UARTS,
155− should be between zero and two. The port must have been
156− initialised by the boot-loader before use.
157−
158− The uncompressor code port configuration is now handled
159− by CONFIG_S3C_LOWLEVEL_UART_PORT.
272+ Perform tests of kprobes API and instruction set simulation.
160273
161274 endmenu
arch/arm/Makefile+5−6
@@ -144,6 +144,7 @@ machine-$(CONFIG_ARCH_EBSA110) := ebsa110 · 143 unmodified lines
144144 machine-$(CONFIG_ARCH_EP93XX) := ep93xx
145145 machine-$(CONFIG_ARCH_GEMINI) := gemini
146146 machine-$(CONFIG_ARCH_H720X) := h720x
147+machine-$(CONFIG_ARCH_HIGHBANK) := highbank
147148 machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
148149 machine-$(CONFIG_ARCH_IOP13XX) := iop13xx
149150 machine-$(CONFIG_ARCH_IOP32X) := iop32x
@@ -157,10 +158,8 @@ machine-$(CONFIG_ARCH_LPC32XX) := lpc32xx · 7 unmodified lines
157158 machine-$(CONFIG_ARCH_MMP) := mmp
158159 machine-$(CONFIG_ARCH_MSM) := msm
159160 machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0
160−machine-$(CONFIG_ARCH_MX1) := imx
161−machine-$(CONFIG_ARCH_MX2) := imx
162−machine-$(CONFIG_ARCH_MX25) := imx
163−machine-$(CONFIG_ARCH_MX3) := imx
161+machine-$(CONFIG_ARCH_IMX_V4_V5) := imx
162+machine-$(CONFIG_ARCH_IMX_V6_V7) := imx
164163 machine-$(CONFIG_ARCH_MX5) := mx5
165164 machine-$(CONFIG_ARCH_MXS) := mxs
166165 machine-$(CONFIG_ARCH_NETX) := netx
@@ -170,6 +169,7 @@ machine-$(CONFIG_ARCH_OMAP2) := omap2 · 3 unmodified lines
170169 machine-$(CONFIG_ARCH_OMAP3) := omap2
171170 machine-$(CONFIG_ARCH_OMAP4) := omap2
172171 machine-$(CONFIG_ARCH_ORION5X) := orion5x
172+machine-$(CONFIG_ARCH_PICOXCELL) := picoxcell
173173 machine-$(CONFIG_ARCH_PNX4008) := pnx4008
174174 machine-$(CONFIG_ARCH_PRIMA2) := prima2
175175 machine-$(CONFIG_ARCH_PXA) := pxa
@@ -180,7 +180,7 @@ machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx · 4 unmodified lines
180180 machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0
181181 machine-$(CONFIG_ARCH_S5PC100) := s5pc100
182182 machine-$(CONFIG_ARCH_S5PV210) := s5pv210
183−machine-$(CONFIG_ARCH_EXYNOS4) := exynos4
183+machine-$(CONFIG_ARCH_EXYNOS4) := exynos
184184 machine-$(CONFIG_ARCH_SA1100) := sa1100
185185 machine-$(CONFIG_ARCH_SHARK) := shark
186186 machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
@@ -192,7 +192,6 @@ machine-$(CONFIG_ARCH_VERSATILE) := versatile · 5 unmodified lines
192192 machine-$(CONFIG_ARCH_VEXPRESS) := vexpress
193193 machine-$(CONFIG_ARCH_VT8500) := vt8500
194194 machine-$(CONFIG_ARCH_W90X900) := w90x900
195−machine-$(CONFIG_ARCH_NUC93X) := nuc93x
196195 machine-$(CONFIG_FOOTBRIDGE) := footbridge
197196 machine-$(CONFIG_MACH_SPEAR300) := spear3xx
198197 machine-$(CONFIG_MACH_SPEAR310) := spear3xx
arch/arm/boot/compressed/.gitignore+9−0
@@ -5,3 +5,12 @@ piggy.lzo · 4 unmodified lines
55 piggy.lzma
66 vmlinux
77 vmlinux.lds
8+
9+# borrowed libfdt files
10+fdt.c
11+fdt.h
12+fdt_ro.c
13+fdt_rw.c
14+fdt_wip.c
15+libfdt.h
16+libfdt_internal.h
arch/arm/boot/compressed/Makefile+28−4
@@ -26,6 +26,10 @@ HEAD = head.o · 25 unmodified lines
2626 OBJS += misc.o decompress.o
2727 FONTC = $(srctree)/drivers/video/console/font_acorn_8x8.c
2828
29+# string library code (-Os is enforced to keep it much smaller)
30+OBJS += string.o
31+CFLAGS_string.o := -Os
32+
2933 #
3034 # Architecture dependencies
3135 #
@@ -89,21 +93,41 @@ suffix_$(CONFIG_KERNEL_GZIP) = gzip · 57 unmodified lines
8993 suffix_$(CONFIG_KERNEL_LZO) = lzo
9094 suffix_$(CONFIG_KERNEL_LZMA) = lzma
9195
96+# Borrowed libfdt files for the ATAG compatibility mode
97+
98+libfdt := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c
99+libfdt_hdrs := fdt.h libfdt.h libfdt_internal.h
100+
101+libfdt_objs := $(addsuffix .o, $(basename $(libfdt)))
102+
103+$(addprefix $(obj)/,$(libfdt) $(libfdt_hdrs)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
104+ $(call cmd,shipped)
105+
106+$(addprefix $(obj)/,$(libfdt_objs) atags_to_fdt.o): \
107+ $(addprefix $(obj)/,$(libfdt_hdrs))
108+
109+ifeq ($(CONFIG_ARM_ATAG_DTB_COMPAT),y)
110+OBJS += $(libfdt_objs) atags_to_fdt.o
111+endif
112+
92113 targets := vmlinux vmlinux.lds \
93114 piggy.$(suffix_y) piggy.$(suffix_y).o \
94− font.o font.c head.o misc.o $(OBJS)
115+ lib1funcs.o lib1funcs.S font.o font.c head.o misc.o $(OBJS)
95116
96117 # Make sure files are removed during clean
97−extra-y += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S
118+extra-y += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S $(libfdt) $(libfdt_hdrs)
98119
99120 ifeq ($(CONFIG_FUNCTION_TRACER),y)
100121 ORIG_CFLAGS := $(KBUILD_CFLAGS)
101122 KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
102123 endif
103124
104−ccflags-y := -fpic -fno-builtin
125+ccflags-y := -fpic -fno-builtin -I$(obj)
105126 asflags-y := -Wa,-march=all
106127
128+# Supply kernel BSS size to the decompressor via a linker symbol.
129+KBSS_SZ = $(shell size $(obj)/../../../../vmlinux | awk 'END{print $$3}')
130+LDFLAGS_vmlinux = --defsym _kernel_bss_size=$(KBSS_SZ)
107131 # Supply ZRELADDR to the decompressor via a linker symbol.
108132 ifneq ($(CONFIG_AUTO_ZRELADDR),y)
109133 LDFLAGS_vmlinux += --defsym zreladdr=$(ZRELADDR)
@@ -123,7 +147,7 @@ LDFLAGS_vmlinux += -T · 13 unmodified lines
123147 # For __aeabi_uidivmod
124148 lib1funcs = $(obj)/lib1funcs.o
125149
126−$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
150+$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S
127151 $(call cmd,shipped)
128152
129153 # We need to prevent any GOTOFF relocs being used with references
arch/arm/boot/compressed/atags_to_fdt.c+97−0
@@ -0,0 +1,97 @@
1+#include <asm/setup.h>
2+#include <libfdt.h>
3+
4+static int node_offset(void *fdt, const char *node_path)
5+{
6+ int offset = fdt_path_offset(fdt, node_path);
7+ if (offset == -FDT_ERR_NOTFOUND)
8+ offset = fdt_add_subnode(fdt, 0, node_path);
9+ return offset;
10+}
11+
12+static int setprop(void *fdt, const char *node_path, const char *property,
13+ uint32_t *val_array, int size)
14+{
15+ int offset = node_offset(fdt, node_path);
16+ if (offset < 0)
17+ return offset;
18+ return fdt_setprop(fdt, offset, property, val_array, size);
19+}
20+
21+static int setprop_string(void *fdt, const char *node_path,
22+ const char *property, const char *string)
23+{
24+ int offset = node_offset(fdt, node_path);
25+ if (offset < 0)
26+ return offset;
27+ return fdt_setprop_string(fdt, offset, property, string);
28+}
29+
30+static int setprop_cell(void *fdt, const char *node_path,
31+ const char *property, uint32_t val)
32+{
33+ int offset = node_offset(fdt, node_path);
34+ if (offset < 0)
35+ return offset;
36+ return fdt_setprop_cell(fdt, offset, property, val);
37+}
38+
39+/*
40+ * Convert and fold provided ATAGs into the provided FDT.
41+ *
42+ * REturn values:
43+ * = 0 -> pretend success
44+ * = 1 -> bad ATAG (may retry with another possible ATAG pointer)
45+ * < 0 -> error from libfdt
46+ */
47+int atags_to_fdt(void *atag_list, void *fdt, int total_space)
48+{
49+ struct tag *atag = atag_list;
50+ uint32_t mem_reg_property[2 * NR_BANKS];
51+ int memcount = 0;
52+ int ret;
53+
54+ /* make sure we've got an aligned pointer */
55+ if ((u32)atag_list & 0x3)
56+ return 1;
57+
58+ /* if we get a DTB here we're done already */
59+ if (*(u32 *)atag_list == fdt32_to_cpu(FDT_MAGIC))
60+ return 0;
61+
62+ /* validate the ATAG */
63+ if (atag->hdr.tag != ATAG_CORE ||
64+ (atag->hdr.size != tag_size(tag_core) &&
65+ atag->hdr.size != 2))
66+ return 1;
67+
68+ /* let's give it all the room it could need */
69+ ret = fdt_open_into(fdt, fdt, total_space);
70+ if (ret < 0)
71+ return ret;
72+
73+ for_each_tag(atag, atag_list) {
74+ if (atag->hdr.tag == ATAG_CMDLINE) {
75+ setprop_string(fdt, "/chosen", "bootargs",
76+ atag->u.cmdline.cmdline);
77+ } else if (atag->hdr.tag == ATAG_MEM) {
78+ if (memcount >= sizeof(mem_reg_property)/4)
79+ continue;
80+ mem_reg_property[memcount++] = cpu_to_fdt32(atag->u.mem.start);
81+ mem_reg_property[memcount++] = cpu_to_fdt32(atag->u.mem.size);
82+ } else if (atag->hdr.tag == ATAG_INITRD2) {
83+ uint32_t initrd_start, initrd_size;
84+ initrd_start = atag->u.initrd.start;
85+ initrd_size = atag->u.initrd.size;
86+ setprop_cell(fdt, "/chosen", "linux,initrd-start",
87+ initrd_start);
88+ setprop_cell(fdt, "/chosen", "linux,initrd-end",
89+ initrd_start + initrd_size);
90+ }
91+ }
92+
93+ if (memcount)
94+ setprop(fdt, "/memory", "reg", mem_reg_property, 4*memcount);
95+
96+ return fdt_pack(fdt);
97+}
arch/arm/boot/compressed/head.S+115−7
@@ -216,6 +216,104 @@ restart: adr r0, LC0 · 215 unmodified lines
216216 mov r10, r6
217217 #endif
218218
219+ mov r5, #0 @ init dtb size to 0
220+#ifdef CONFIG_ARM_APPENDED_DTB
221+/*
222+ * r0 = delta
223+ * r2 = BSS start
224+ * r3 = BSS end
225+ * r4 = final kernel address
226+ * r5 = appended dtb size (still unknown)
227+ * r6 = _edata
228+ * r7 = architecture ID
229+ * r8 = atags/device tree pointer
230+ * r9 = size of decompressed image
231+ * r10 = end of this image, including bss/stack/malloc space if non XIP
232+ * r11 = GOT start
233+ * r12 = GOT end
234+ * sp = stack pointer
235+ *
236+ * if there are device trees (dtb) appended to zImage, advance r10 so that the
237+ * dtb data will get relocated along with the kernel if necessary.
238+ */
239+
240+ ldr lr, [r6, #0]
241+#ifndef __ARMEB__
242+ ldr r1, =0xedfe0dd0 @ sig is 0xd00dfeed big endian
243+#else
244+ ldr r1, =0xd00dfeed
245+#endif
246+ cmp lr, r1
247+ bne dtb_check_done @ not found
248+
249+#ifdef CONFIG_ARM_ATAG_DTB_COMPAT
250+ /*
251+ * OK... Let's do some funky business here.
252+ * If we do have a DTB appended to zImage, and we do have
253+ * an ATAG list around, we want the later to be translated
254+ * and folded into the former here. To be on the safe side,
255+ * let's temporarily move the stack away into the malloc
256+ * area. No GOT fixup has occurred yet, but none of the
257+ * code we're about to call uses any global variable.
258+ */
259+ add sp, sp, #0x10000
260+ stmfd sp!, {r0-r3, ip, lr}
261+ mov r0, r8
262+ mov r1, r6
263+ sub r2, sp, r6
264+ bl atags_to_fdt
265+
266+ /*
267+ * If returned value is 1, there is no ATAG at the location
268+ * pointed by r8. Try the typical 0x100 offset from start
269+ * of RAM and hope for the best.
270+ */
271+ cmp r0, #1
272+ sub r0, r4, #TEXT_OFFSET
273+ add r0, r0, #0x100
274+ mov r1, r6
275+ sub r2, sp, r6
276+ blne atags_to_fdt
277+
278+ ldmfd sp!, {r0-r3, ip, lr}
279+ sub sp, sp, #0x10000
280+#endif
281+
282+ mov r8, r6 @ use the appended device tree
283+
284+ /*
285+ * Make sure that the DTB doesn't end up in the final
286+ * kernel's .bss area. To do so, we adjust the decompressed
287+ * kernel size to compensate if that .bss size is larger
288+ * than the relocated code.
289+ */
290+ ldr r5, =_kernel_bss_size
291+ adr r1, wont_overwrite
292+ sub r1, r6, r1
293+ subs r1, r5, r1
294+ addhi r9, r9, r1
295+
296+ /* Get the dtb's size */
297+ ldr r5, [r6, #4]
298+#ifndef __ARMEB__
299+ /* convert r5 (dtb size) to little endian */
300+ eor r1, r5, r5, ror #16
301+ bic r1, r1, #0x00ff0000
302+ mov r5, r5, ror #8
303+ eor r5, r5, r1, lsr #8
304+#endif
305+
306+ /* preserve 64-bit alignment */
307+ add r5, r5, #7
308+ bic r5, r5, #7
309+
310+ /* relocate some pointers past the appended dtb */
311+ add r6, r6, r5
312+ add r10, r10, r5
313+ add sp, sp, r5
314+dtb_check_done:
315+#endif
316+
219317 /*
220318 * Check to see if we will overwrite ourselves.
221319 * r4 = final kernel address
@@ -223,15 +321,14 @@ restart: adr r0, LC0 · 1 unmodified line
223321 * r10 = end of this image, including bss/stack/malloc space if non XIP
224322 * We basically want:
225323 * r4 - 16k page directory >= r10 -> OK
226− * r4 + image length <= current position (pc) -> OK
324+ * r4 + image length <= address of wont_overwrite -> OK
227325 */
228326 add r10, r10, #16384
229327 cmp r4, r10
230328 bhs wont_overwrite
231329 add r10, r4, r9
232− ARM( cmp r10, pc )
233− THUMB( mov lr, pc )
234− THUMB( cmp r10, lr )
330+ adr r9, wont_overwrite
331+ cmp r10, r9
235332 bls wont_overwrite
236333
237334 /*
@@ -285,14 +382,16 @@ wont_overwrite: · 47 unmodified lines
285382 * r2 = BSS start
286383 * r3 = BSS end
287384 * r4 = kernel execution address
385+ * r5 = appended dtb size (0 if not present)
288386 * r7 = architecture ID
289387 * r8 = atags pointer
290388 * r11 = GOT start
291389 * r12 = GOT end
292390 * sp = stack pointer
293391 */
294− teq r0, #0
392+ orrs r1, r0, r5
295393 beq not_relocated
394+
296395 add r11, r11, r0
297396 add r12, r12, r0
298397
@@ -307,12 +406,21 @@ wont_overwrite: · 8 unmodified lines
307406
308407 /*
309408 * Relocate all entries in the GOT table.
409+ * Bump bss entries to _edata + dtb size
310410 */
311411 1: ldr r1, [r11, #0] @ relocate entries in the GOT
312− add r1, r1, r0 @ table. This fixes up the
313− str r1, [r11], #4 @ C references.
412+ add r1, r1, r0 @ This fixes up C references
413+ cmp r1, r2 @ if entry >= bss_start &&
414+ cmphs r3, r1 @ bss_end > entry
415+ addhi r1, r1, r5 @ entry += dtb size
416+ str r1, [r11], #4 @ next entry
314417 cmp r11, r12
315418 blo 1b
419+
420+ /* bump our bss pointers too */
421+ add r2, r2, r5
422+ add r3, r3, r5
423+
316424 #else
317425
318426 /*
arch/arm/boot/compressed/libfdt_env.h+15−0
@@ -0,0 +1,15 @@
1+#ifndef _ARM_LIBFDT_ENV_H
2+#define _ARM_LIBFDT_ENV_H
3+
4+#include <linux/types.h>
5+#include <linux/string.h>
6+#include <asm/byteorder.h>
7+
8+#define fdt16_to_cpu(x) be16_to_cpu(x)
9+#define cpu_to_fdt16(x) cpu_to_be16(x)
10+#define fdt32_to_cpu(x) be32_to_cpu(x)
11+#define cpu_to_fdt32(x) cpu_to_be32(x)
12+#define fdt64_to_cpu(x) be64_to_cpu(x)
13+#define cpu_to_fdt64(x) cpu_to_be64(x)
14+
15+#endif
arch/arm/boot/compressed/misc.c+1−41
@@ -18,14 +18,9 @@ · 17 unmodified lines
1818
1919 unsigned int __machine_arch_type;
2020
21−#define _LINUX_STRING_H_
22−
2321 #include <linux/compiler.h> /* for inline */
24−#include <linux/types.h> /* for size_t */
25−#include <linux/stddef.h> /* for NULL */
22+#include <linux/types.h>
2623 #include <linux/linkage.h>
27−#include <asm/string.h>
28−
2924
3025 static void putstr(const char *ptr);
3126 extern void error(char *x);
@@ -101,41 +96,6 @@ static void putstr(const char *ptr) · 69 unmodified lines
10196 flush();
10297 }
10398
104−
105−void *memcpy(void *__dest, __const void *__src, size_t __n)
106−{
107− int i = 0;
108− unsigned char *d = (unsigned char *)__dest, *s = (unsigned char *)__src;
109−
110− for (i = __n >> 3; i > 0; i--) {
111− *d++ = *s++;
112− *d++ = *s++;
113− *d++ = *s++;
114− *d++ = *s++;
115− *d++ = *s++;
116− *d++ = *s++;
117− *d++ = *s++;
118− *d++ = *s++;
119− }
120−
121− if (__n & 1 << 2) {
122− *d++ = *s++;
123− *d++ = *s++;
124− *d++ = *s++;
125− *d++ = *s++;
126− }
127−
128− if (__n & 1 << 1) {
129− *d++ = *s++;
130− *d++ = *s++;
131− }
132−
133− if (__n & 1)
134− *d++ = *s++;
135−
136− return __dest;
137−}
138−
13999 /*
140100 * gzip declarations
141101 */
arch/arm/boot/compressed/string.c+127−0
@@ -0,0 +1,127 @@
1+/*
2+ * arch/arm/boot/compressed/string.c
3+ *
4+ * Small subset of simple string routines
5+ */
6+
7+#include <linux/string.h>
8+
9+void *memcpy(void *__dest, __const void *__src, size_t __n)
10+{
11+ int i = 0;
12+ unsigned char *d = (unsigned char *)__dest, *s = (unsigned char *)__src;
13+
14+ for (i = __n >> 3; i > 0; i--) {
15+ *d++ = *s++;
16+ *d++ = *s++;
17+ *d++ = *s++;
18+ *d++ = *s++;
19+ *d++ = *s++;
20+ *d++ = *s++;
21+ *d++ = *s++;
22+ *d++ = *s++;
23+ }
24+
25+ if (__n & 1 << 2) {
26+ *d++ = *s++;
27+ *d++ = *s++;
28+ *d++ = *s++;
29+ *d++ = *s++;
30+ }
31+
32+ if (__n & 1 << 1) {
33+ *d++ = *s++;
34+ *d++ = *s++;
35+ }
36+
37+ if (__n & 1)
38+ *d++ = *s++;
39+
40+ return __dest;
41+}
42+
43+void *memmove(void *__dest, __const void *__src, size_t count)
44+{
45+ unsigned char *d = __dest;
46+ const unsigned char *s = __src;
47+
48+ if (__dest == __src)
49+ return __dest;
50+
51+ if (__dest < __src)
52+ return memcpy(__dest, __src, count);
53+
54+ while (count--)
55+ d[count] = s[count];
56+ return __dest;
57+}
58+
59+size_t strlen(const char *s)
60+{
61+ const char *sc = s;
62+
63+ while (*sc != '\0')
64+ sc++;
65+ return sc - s;
66+}
67+
68+int memcmp(const void *cs, const void *ct, size_t count)
69+{
70+ const unsigned char *su1 = cs, *su2 = ct, *end = su1 + count;
71+ int res = 0;
72+
73+ while (su1 < end) {
74+ res = *su1++ - *su2++;
75+ if (res)
76+ break;
77+ }
78+ return res;
79+}
80+
81+int strcmp(const char *cs, const char *ct)
82+{
83+ unsigned char c1, c2;
84+ int res = 0;
85+
86+ do {
87+ c1 = *cs++;
88+ c2 = *ct++;
89+ res = c1 - c2;
90+ if (res)
91+ break;
92+ } while (c1);
93+ return res;
94+}
95+
96+void *memchr(const void *s, int c, size_t count)
97+{
98+ const unsigned char *p = s;
99+
100+ while (count--)
101+ if ((unsigned char)c == *p++)
102+ return (void *)(p - 1);
103+ return NULL;
104+}
105+
106+char *strchr(const char *s, int c)
107+{
108+ while (*s != (char)c)
109+ if (*s++ == '\0')
110+ return NULL;
111+ return (char *)s;
112+}
113+
114+#undef memset
115+
116+void *memset(void *s, int c, size_t count)
117+{
118+ char *xs = s;
119+ while (count--)
120+ *xs++ = c;
121+ return s;
122+}
123+
124+void __memzero(void *s, size_t count)
125+{
126+ memset(s, 0, count);
127+}
arch/arm/boot/compressed/vmlinux.lds.in+4−0
@@ -51,6 +51,10 @@ SECTIONS · 50 unmodified lines
5151 _got_start = .;
5252 .got : { *(.got) }
5353 _got_end = .;
54+
55+ /* ensure the zImage file size is always a multiple of 64 bits */
56+ /* (without a dummy byte, ld just ignores the empty section) */
57+ .pad : { BYTE(0); . = ALIGN(8); }
5458 _edata = .;
5559
5660 . = BSS_START;
arch/arm/boot/dts/at91sam9g20.dtsi+119−0
@@ -0,0 +1,119 @@
1+/*
2+ * at91sam9g20.dtsi - Device Tree Include file for AT91SAM9G20 family SoC
3+ *
4+ * Copyright (C) 2011 Atmel,
5+ * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
6+ * 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
7+ *
8+ * Licensed under GPLv2 or later.
9+ */
10+
11+/include/ "skeleton.dtsi"
12+
13+/ {
14+ model = "Atmel AT91SAM9G20 family SoC";
15+ compatible = "atmel,at91sam9g20";
16+ interrupt-parent = <&aic>;
17+
18+ aliases {
19+ serial0 = &dbgu;
20+ serial1 = &usart0;
21+ serial2 = &usart1;
22+ serial3 = &usart2;
23+ serial4 = &usart3;
24+ serial5 = &usart4;
25+ serial6 = &usart5;
26+ };
27+ cpus {
28+ cpu@0 {
29+ compatible = "arm,arm926ejs";
30+ };
31+ };
32+
33+ memory@20000000 {
34+ reg = <0x20000000 0x08000000>;
35+ };
36+
37+ ahb {
38+ compatible = "simple-bus";
39+ #address-cells = <1>;
40+ #size-cells = <1>;
41+ ranges;
42+
43+ apb {
44+ compatible = "simple-bus";
45+ #address-cells = <1>;
46+ #size-cells = <1>;
47+ ranges;
48+
49+ aic: interrupt-controller@fffff000 {
50+ #interrupt-cells = <1>;
51+ compatible = "atmel,at91rm9200-aic";
52+ interrupt-controller;
53+ interrupt-parent;
54+ reg = <0xfffff000 0x200>;
55+ };
56+
57+ dbgu: serial@fffff200 {
58+ compatible = "atmel,at91sam9260-usart";
59+ reg = <0xfffff200 0x200>;
60+ interrupts = <1>;
61+ status = "disabled";
62+ };
63+
64+ usart0: serial@fffb0000 {
65+ compatible = "atmel,at91sam9260-usart";
66+ reg = <0xfffb0000 0x200>;
67+ interrupts = <6>;
68+ atmel,use-dma-rx;
69+ atmel,use-dma-tx;
70+ status = "disabled";
71+ };
72+
73+ usart1: serial@fffb4000 {
74+ compatible = "atmel,at91sam9260-usart";
75+ reg = <0xfffb4000 0x200>;
76+ interrupts = <7>;
77+ atmel,use-dma-rx;
78+ atmel,use-dma-tx;
79+ status = "disabled";
80+ };
81+
82+ usart2: serial@fffb8000 {
83+ compatible = "atmel,at91sam9260-usart";
84+ reg = <0xfffb8000 0x200>;
85+ interrupts = <8>;
86+ atmel,use-dma-rx;
87+ atmel,use-dma-tx;
88+ status = "disabled";
89+ };
90+
91+ usart3: serial@fffd0000 {
92+ compatible = "atmel,at91sam9260-usart";
93+ reg = <0xfffd0000 0x200>;
94+ interrupts = <23>;
95+ atmel,use-dma-rx;
96+ atmel,use-dma-tx;
97+ status = "disabled";
98+ };
99+
100+ usart4: serial@fffd4000 {
101+ compatible = "atmel,at91sam9260-usart";
102+ reg = <0xfffd4000 0x200>;
103+ interrupts = <24>;
104+ atmel,use-dma-rx;
105+ atmel,use-dma-tx;
106+ status = "disabled";
107+ };
108+
109+ usart5: serial@fffd8000 {
110+ compatible = "atmel,at91sam9260-usart";
111+ reg = <0xfffd8000 0x200>;
112+ interrupts = <25>;
113+ atmel,use-dma-rx;
114+ atmel,use-dma-tx;
115+ status = "disabled";
116+ };
117+ };
118+ };
119+};
arch/arm/boot/dts/at91sam9g45.dtsi+106−0
@@ -0,0 +1,106 @@
1+/*
2+ * at91sam9g45.dtsi - Device Tree Include file for AT91SAM9G45 family SoC
3+ * applies to AT91SAM9G45, AT91SAM9M10,
4+ * AT91SAM9G46, AT91SAM9M11 SoC
5+ *
6+ * Copyright (C) 2011 Atmel,
7+ * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
8+ *
9+ * Licensed under GPLv2 or later.
10+ */
11+
12+/include/ "skeleton.dtsi"
13+
14+/ {
15+ model = "Atmel AT91SAM9G45 family SoC";
16+ compatible = "atmel,at91sam9g45";
17+ interrupt-parent = <&aic>;
18+
19+ aliases {
20+ serial0 = &dbgu;
21+ serial1 = &usart0;
22+ serial2 = &usart1;
23+ serial3 = &usart2;
24+ serial4 = &usart3;
25+ };
26+ cpus {
27+ cpu@0 {
28+ compatible = "arm,arm926ejs";
29+ };
30+ };
31+
32+ memory@70000000 {
33+ reg = <0x70000000 0x10000000>;
34+ };
35+
36+ ahb {
37+ compatible = "simple-bus";
38+ #address-cells = <1>;
39+ #size-cells = <1>;
40+ ranges;
41+
42+ apb {
43+ compatible = "simple-bus";
44+ #address-cells = <1>;
45+ #size-cells = <1>;
46+ ranges;
47+
48+ aic: interrupt-controller@fffff000 {
49+ #interrupt-cells = <1>;
50+ compatible = "atmel,at91rm9200-aic";
51+ interrupt-controller;
52+ interrupt-parent;
53+ reg = <0xfffff000 0x200>;
54+ };
55+
56+ dma: dma-controller@ffffec00 {
57+ compatible = "atmel,at91sam9g45-dma";
58+ reg = <0xffffec00 0x200>;
59+ interrupts = <21>;
60+ };
61+
62+ dbgu: serial@ffffee00 {
63+ compatible = "atmel,at91sam9260-usart";
64+ reg = <0xffffee00 0x200>;
65+ interrupts = <1>;
66+ status = "disabled";
67+ };
68+
69+ usart0: serial@fff8c000 {
70+ compatible = "atmel,at91sam9260-usart";
71+ reg = <0xfff8c000 0x200>;
72+ interrupts = <7>;
73+ atmel,use-dma-rx;
74+ atmel,use-dma-tx;
75+ status = "disabled";
76+ };
77+
78+ usart1: serial@fff90000 {
79+ compatible = "atmel,at91sam9260-usart";
80+ reg = <0xfff90000 0x200>;
81+ interrupts = <8>;
82+ atmel,use-dma-rx;
83+ atmel,use-dma-tx;
84+ status = "disabled";
85+ };
86+
87+ usart2: serial@fff94000 {
88+ compatible = "atmel,at91sam9260-usart";
89+ reg = <0xfff94000 0x200>;
90+ interrupts = <9>;
91+ atmel,use-dma-rx;
92+ atmel,use-dma-tx;
93+ status = "disabled";
94+ };
95+
96+ usart3: serial@fff98000 {
97+ compatible = "atmel,at91sam9260-usart";
98+ reg = <0xfff98000 0x200>;
99+ interrupts = <10>;
100+ atmel,use-dma-rx;
101+ atmel,use-dma-tx;
102+ status = "disabled";
103+ };
104+ };
105+ };
106+};
arch/arm/boot/dts/at91sam9m10g45ek.dts+35−0
@@ -0,0 +1,35 @@
1+/*
2+ * at91sam9m10g45ek.dts - Device Tree file for AT91SAM9M10G45-EK board
3+ *
4+ * Copyright (C) 2011 Atmel,
5+ * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
6+ *
7+ * Licensed under GPLv2 or later.
8+ */
9+/dts-v1/;
10+/include/ "at91sam9g45.dtsi"
11+
12+/ {
13+ model = "Atmel AT91SAM9M10G45-EK";
14+ compatible = "atmel,at91sam9m10g45ek", "atmel,at91sam9g45", "atmel,at91sam9";
15+
16+ chosen {
17+ bootargs = "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:4M(bootstrap/uboot/kernel)ro,60M(rootfs),-(data) root=/dev/mtdblock1 rw rootfstype=jffs2";
18+ };
19+
20+ memory@70000000 {
21+ reg = <0x70000000 0x4000000>;
22+ };
23+
24+ ahb {
25+ apb {
26+ dbgu: serial@ffffee00 {
27+ status = "okay";
28+ };
29+
30+ usart1: serial@fff90000 {
31+ status = "okay";
32+ };
33+ };
34+ };
35+};
arch/arm/boot/dts/highbank.dts+198−0
@@ -0,0 +1,198 @@
1+/*
2+ * Copyright 2011 Calxeda, Inc.
3+ *
4+ * This program is free software; you can redistribute it and/or modify it
5+ * under the terms and conditions of the GNU General Public License,
6+ * version 2, as published by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope it will be useful, but WITHOUT
9+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11+ * more details.
12+ *
13+ * You should have received a copy of the GNU General Public License along with
14+ * this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+/dts-v1/;
18+
19+/* First 4KB has pen for secondary cores. */
20+/memreserve/ 0x00000000 0x0001000;
21+
22+/ {
23+ model = "Calxeda Highbank";
24+ compatible = "calxeda,highbank";
25+ #address-cells = <1>;
26+ #size-cells = <1>;
27+
28+ cpus {
29+ #address-cells = <1>;
30+ #size-cells = <0>;
31+
32+ cpu@0 {
33+ compatible = "arm,cortex-a9";
34+ reg = <0>;
35+ next-level-cache = <&L2>;
36+ };
37+
38+ cpu@1 {
39+ compatible = "arm,cortex-a9";
40+ reg = <1>;
41+ next-level-cache = <&L2>;
42+ };
43+
44+ cpu@2 {
45+ compatible = "arm,cortex-a9";
46+ reg = <2>;
47+ next-level-cache = <&L2>;
48+ };
49+
50+ cpu@3 {
51+ compatible = "arm,cortex-a9";
52+ reg = <3>;
53+ next-level-cache = <&L2>;
54+ };
55+ };
56+
57+ memory {
58+ name = "memory";
59+ device_type = "memory";
60+ reg = <0x00000000 0xff900000>;
61+ };
62+
63+ chosen {
64+ bootargs = "console=ttyAMA0";
65+ };
66+
67+ soc {
68+ #address-cells = <1>;
69+ #size-cells = <1>;
70+ compatible = "simple-bus";
71+ interrupt-parent = <&intc>;
72+ ranges;
73+
74+ timer@fff10600 {
75+ compatible = "arm,smp-twd";
76+ reg = <0xfff10600 0x20>;
77+ interrupts = <1 13 0xf04>;
78+ };
79+
80+ watchdog@fff10620 {
81+ compatible = "arm,cortex-a9-wdt";
82+ reg = <0xfff10620 0x20>;
83+ interrupts = <1 14 0xf04>;
84+ };
85+
86+ intc: interrupt-controller@fff11000 {
87+ compatible = "arm,cortex-a9-gic";
88+ #interrupt-cells = <3>;
89+ #size-cells = <0>;
90+ #address-cells = <1>;
91+ interrupt-controller;
92+ interrupt-parent;
93+ reg = <0xfff11000 0x1000>,
94+ <0xfff10100 0x100>;
95+ };
96+
97+ L2: l2-cache {
98+ compatible = "arm,pl310-cache";
99+ reg = <0xfff12000 0x1000>;
100+ interrupts = <0 70 4>;
101+ cache-unified;
102+ cache-level = <2>;
103+ };
104+
105+ pmu {
106+ compatible = "arm,cortex-a9-pmu";
107+ interrupts = <0 76 4 0 75 4 0 74 4 0 73 4>;
108+ };
109+
110+ sata@ffe08000 {
111+ compatible = "calxeda,hb-ahci";
112+ reg = <0xffe08000 0x10000>;
113+ interrupts = <0 83 4>;
114+ };
115+
116+ sdhci@ffe0e000 {
117+ compatible = "calxeda,hb-sdhci";
118+ reg = <0xffe0e000 0x1000>;
119+ interrupts = <0 90 4>;
120+ };
121+
122+ ipc@fff20000 {
123+ compatible = "arm,pl320", "arm,primecell";
124+ reg = <0xfff20000 0x1000>;
125+ interrupts = <0 7 4>;
126+ };
127+
128+ gpioe: gpio@fff30000 {
129+ #gpio-cells = <2>;
130+ compatible = "arm,pl061", "arm,primecell";
131+ gpio-controller;
132+ reg = <0xfff30000 0x1000>;
133+ interrupts = <0 14 4>;
134+ };
135+
136+ gpiof: gpio@fff31000 {
137+ #gpio-cells = <2>;
138+ compatible = "arm,pl061", "arm,primecell";
139+ gpio-controller;
140+ reg = <0xfff31000 0x1000>;
141+ interrupts = <0 15 4>;
142+ };
143+
144+ gpiog: gpio@fff32000 {
145+ #gpio-cells = <2>;
146+ compatible = "arm,pl061", "arm,primecell";
147+ gpio-controller;
148+ reg = <0xfff32000 0x1000>;
149+ interrupts = <0 16 4>;
150+ };
151+
152+ gpioh: gpio@fff33000 {
153+ #gpio-cells = <2>;
154+ compatible = "arm,pl061", "arm,primecell";
155+ gpio-controller;
156+ reg = <0xfff33000 0x1000>;
157+ interrupts = <0 17 4>;
158+ };
159+
160+ timer {
161+ compatible = "arm,sp804", "arm,primecell";
162+ reg = <0xfff34000 0x1000>;
163+ interrupts = <0 18 4>;
164+ };
165+
166+ rtc@fff35000 {
167+ compatible = "arm,pl031", "arm,primecell";
168+ reg = <0xfff35000 0x1000>;
169+ interrupts = <0 19 4>;
170+ };
171+
172+ serial@fff36000 {
173+ compatible = "arm,pl011", "arm,primecell";
174+ reg = <0xfff36000 0x1000>;
175+ interrupts = <0 20 4>;
176+ };
177+
178+ smic@fff3a000 {
179+ compatible = "ipmi-smic";
180+ device_type = "ipmi";
181+ reg = <0xfff3a000 0x1000>;
182+ interrupts = <0 24 4>;
183+ reg-size = <4>;
184+ reg-spacing = <4>;
185+ };
186+
187+ sregs@fff3c000 {
188+ compatible = "calxeda,hb-sregs";
189+ reg = <0xfff3c000 0x1000>;
190+ };
191+
192+ dma@fff3d000 {
193+ compatible = "arm,pl330", "arm,primecell";
194+ reg = <0xfff3d000 0x1000>;
195+ interrupts = <0 92 4>;
196+ };
197+ };
198+};
arch/arm/boot/dts/imx51-babbage.dts+135−0
@@ -0,0 +1,135 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx51.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX51 Babbage Board";
18+ compatible = "fsl,imx51-babbage", "fsl,imx51";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk0p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x90000000 0x20000000>;
26+ };
27+
28+ soc {
29+ aips@70000000 { /* aips-1 */
30+ spba@70000000 {
31+ esdhc@70004000 { /* ESDHC1 */
32+ fsl,cd-internal;
33+ fsl,wp-internal;
34+ status = "okay";
35+ };
36+
37+ esdhc@70008000 { /* ESDHC2 */
38+ cd-gpios = <&gpio0 6 0>; /* GPIO1_6 */
39+ wp-gpios = <&gpio0 5 0>; /* GPIO1_5 */
40+ status = "okay";
41+ };
42+
43+ uart2: uart@7000c000 { /* UART3 */
44+ fsl,uart-has-rtscts;
45+ status = "okay";
46+ };
47+
48+ ecspi@70010000 { /* ECSPI1 */
49+ fsl,spi-num-chipselects = <2>;
50+ cs-gpios = <&gpio3 24 0>, /* GPIO4_24 */
51+ <&gpio3 25 0>; /* GPIO4_25 */
52+ status = "okay";
53+
54+ pmic: mc13892@0 {
55+ #address-cells = <1>;
56+ #size-cells = <0>;
57+ compatible = "fsl,mc13892";
58+ spi-max-frequency = <6000000>;
59+ reg = <0>;
60+ mc13xxx-irq-gpios = <&gpio0 8 0>; /* GPIO1_8 */
61+ fsl,mc13xxx-uses-regulator;
62+ };
63+
64+ flash: at45db321d@1 {
65+ #address-cells = <1>;
66+ #size-cells = <1>;
67+ compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
68+ spi-max-frequency = <25000000>;
69+ reg = <1>;
70+
71+ partition@0 {
72+ label = "U-Boot";
73+ reg = <0x0 0x40000>;
74+ read-only;
75+ };
76+
77+ partition@40000 {
78+ label = "Kernel";
79+ reg = <0x40000 0x3c0000>;
80+ };
81+ };
82+ };
83+ };
84+
85+ wdog@73f98000 { /* WDOG1 */
86+ status = "okay";
87+ };
88+
89+ iomuxc@73fa8000 {
90+ compatible = "fsl,imx51-iomuxc-babbage";
91+ reg = <0x73fa8000 0x4000>;
92+ };
93+
94+ uart0: uart@73fbc000 {
95+ fsl,uart-has-rtscts;
96+ status = "okay";
97+ };
98+
99+ uart1: uart@73fc0000 {
100+ status = "okay";
101+ };
102+ };
103+
104+ aips@80000000 { /* aips-2 */
105+ sdma@83fb0000 {
106+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx51.bin";
107+ };
108+
109+ i2c@83fc4000 { /* I2C2 */
110+ status = "okay";
111+
112+ codec: sgtl5000@0a {
113+ compatible = "fsl,sgtl5000";
114+ reg = <0x0a>;
115+ };
116+ };
117+
118+ fec@83fec000 {
119+ phy-mode = "mii";
120+ status = "okay";
121+ };
122+ };
123+ };
124+
125+ gpio-keys {
126+ compatible = "gpio-keys";
127+
128+ power {
129+ label = "Power Button";
130+ gpios = <&gpio1 21 0>;
131+ linux,code = <116>; /* KEY_POWER */
132+ gpio-key,wakeup;
133+ };
134+ };
135+};
arch/arm/boot/dts/imx51.dtsi+246−0
@@ -0,0 +1,246 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/include/ "skeleton.dtsi"
14+
15+/ {
16+ aliases {
17+ serial0 = &uart0;
18+ serial1 = &uart1;
19+ serial2 = &uart2;
20+ };
21+
22+ tzic: tz-interrupt-controller@e0000000 {
23+ compatible = "fsl,imx51-tzic", "fsl,tzic";
24+ interrupt-controller;
25+ #interrupt-cells = <1>;
26+ reg = <0xe0000000 0x4000>;
27+ };
28+
29+ clocks {
30+ #address-cells = <1>;
31+ #size-cells = <0>;
32+
33+ ckil {
34+ compatible = "fsl,imx-ckil", "fixed-clock";
35+ clock-frequency = <32768>;
36+ };
37+
38+ ckih1 {
39+ compatible = "fsl,imx-ckih1", "fixed-clock";
40+ clock-frequency = <22579200>;
41+ };
42+
43+ ckih2 {
44+ compatible = "fsl,imx-ckih2", "fixed-clock";
45+ clock-frequency = <0>;
46+ };
47+
48+ osc {
49+ compatible = "fsl,imx-osc", "fixed-clock";
50+ clock-frequency = <24000000>;
51+ };
52+ };
53+
54+ soc {
55+ #address-cells = <1>;
56+ #size-cells = <1>;
57+ compatible = "simple-bus";
58+ interrupt-parent = <&tzic>;
59+ ranges;
60+
61+ aips@70000000 { /* AIPS1 */
62+ compatible = "fsl,aips-bus", "simple-bus";
63+ #address-cells = <1>;
64+ #size-cells = <1>;
65+ reg = <0x70000000 0x10000000>;
66+ ranges;
67+
68+ spba@70000000 {
69+ compatible = "fsl,spba-bus", "simple-bus";
70+ #address-cells = <1>;
71+ #size-cells = <1>;
72+ reg = <0x70000000 0x40000>;
73+ ranges;
74+
75+ esdhc@70004000 { /* ESDHC1 */
76+ compatible = "fsl,imx51-esdhc";
77+ reg = <0x70004000 0x4000>;
78+ interrupts = <1>;
79+ status = "disabled";
80+ };
81+
82+ esdhc@70008000 { /* ESDHC2 */
83+ compatible = "fsl,imx51-esdhc";
84+ reg = <0x70008000 0x4000>;
85+ interrupts = <2>;
86+ status = "disabled";
87+ };
88+
89+ uart2: uart@7000c000 { /* UART3 */
90+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
91+ reg = <0x7000c000 0x4000>;
92+ interrupts = <33>;
93+ status = "disabled";
94+ };
95+
96+ ecspi@70010000 { /* ECSPI1 */
97+ #address-cells = <1>;
98+ #size-cells = <0>;
99+ compatible = "fsl,imx51-ecspi";
100+ reg = <0x70010000 0x4000>;
101+ interrupts = <36>;
102+ status = "disabled";
103+ };
104+
105+ esdhc@70020000 { /* ESDHC3 */
106+ compatible = "fsl,imx51-esdhc";
107+ reg = <0x70020000 0x4000>;
108+ interrupts = <3>;
109+ status = "disabled";
110+ };
111+
112+ esdhc@70024000 { /* ESDHC4 */
113+ compatible = "fsl,imx51-esdhc";
114+ reg = <0x70024000 0x4000>;
115+ interrupts = <4>;
116+ status = "disabled";
117+ };
118+ };
119+
120+ gpio0: gpio@73f84000 { /* GPIO1 */
121+ compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
122+ reg = <0x73f84000 0x4000>;
123+ interrupts = <50 51>;
124+ gpio-controller;
125+ #gpio-cells = <2>;
126+ interrupt-controller;
127+ #interrupt-cells = <1>;
128+ };
129+
130+ gpio1: gpio@73f88000 { /* GPIO2 */
131+ compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
132+ reg = <0x73f88000 0x4000>;
133+ interrupts = <52 53>;
134+ gpio-controller;
135+ #gpio-cells = <2>;
136+ interrupt-controller;
137+ #interrupt-cells = <1>;
138+ };
139+
140+ gpio2: gpio@73f8c000 { /* GPIO3 */
141+ compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
142+ reg = <0x73f8c000 0x4000>;
143+ interrupts = <54 55>;
144+ gpio-controller;
145+ #gpio-cells = <2>;
146+ interrupt-controller;
147+ #interrupt-cells = <1>;
148+ };
149+
150+ gpio3: gpio@73f90000 { /* GPIO4 */
151+ compatible = "fsl,imx51-gpio", "fsl,imx31-gpio";
152+ reg = <0x73f90000 0x4000>;
153+ interrupts = <56 57>;
154+ gpio-controller;
155+ #gpio-cells = <2>;
156+ interrupt-controller;
157+ #interrupt-cells = <1>;
158+ };
159+
160+ wdog@73f98000 { /* WDOG1 */
161+ compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
162+ reg = <0x73f98000 0x4000>;
163+ interrupts = <58>;
164+ status = "disabled";
165+ };
166+
167+ wdog@73f9c000 { /* WDOG2 */
168+ compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
169+ reg = <0x73f9c000 0x4000>;
170+ interrupts = <59>;
171+ status = "disabled";
172+ };
173+
174+ uart0: uart@73fbc000 {
175+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
176+ reg = <0x73fbc000 0x4000>;
177+ interrupts = <31>;
178+ status = "disabled";
179+ };
180+
181+ uart1: uart@73fc0000 {
182+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
183+ reg = <0x73fc0000 0x4000>;
184+ interrupts = <32>;
185+ status = "disabled";
186+ };
187+ };
188+
189+ aips@80000000 { /* AIPS2 */
190+ compatible = "fsl,aips-bus", "simple-bus";
191+ #address-cells = <1>;
192+ #size-cells = <1>;
193+ reg = <0x80000000 0x10000000>;
194+ ranges;
195+
196+ ecspi@83fac000 { /* ECSPI2 */
197+ #address-cells = <1>;
198+ #size-cells = <0>;
199+ compatible = "fsl,imx51-ecspi";
200+ reg = <0x83fac000 0x4000>;
201+ interrupts = <37>;
202+ status = "disabled";
203+ };
204+
205+ sdma@83fb0000 {
206+ compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
207+ reg = <0x83fb0000 0x4000>;
208+ interrupts = <6>;
209+ };
210+
211+ cspi@83fc0000 {
212+ #address-cells = <1>;
213+ #size-cells = <0>;
214+ compatible = "fsl,imx51-cspi", "fsl,imx35-cspi";
215+ reg = <0x83fc0000 0x4000>;
216+ interrupts = <38>;
217+ status = "disabled";
218+ };
219+
220+ i2c@83fc4000 { /* I2C2 */
221+ #address-cells = <1>;
222+ #size-cells = <0>;
223+ compatible = "fsl,imx51-i2c", "fsl,imx1-i2c";
224+ reg = <0x83fc4000 0x4000>;
225+ interrupts = <63>;
226+ status = "disabled";
227+ };
228+
229+ i2c@83fc8000 { /* I2C1 */
230+ #address-cells = <1>;
231+ #size-cells = <0>;
232+ compatible = "fsl,imx51-i2c", "fsl,imx1-i2c";
233+ reg = <0x83fc8000 0x4000>;
234+ interrupts = <62>;
235+ status = "disabled";
236+ };
237+
238+ fec@83fec000 {
239+ compatible = "fsl,imx51-fec", "fsl,imx27-fec";
240+ reg = <0x83fec000 0x4000>;
241+ interrupts = <87>;
242+ status = "disabled";
243+ };
244+ };
245+ };
246+};
arch/arm/boot/dts/imx53-ard.dts+113−0
@@ -0,0 +1,113 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx53.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX53 Automotive Reference Design Board";
18+ compatible = "fsl,imx53-ard", "fsl,imx53";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk0p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x70000000 0x40000000>;
26+ };
27+
28+ soc {
29+ aips@50000000 { /* AIPS1 */
30+ spba@50000000 {
31+ esdhc@50004000 { /* ESDHC1 */
32+ cd-gpios = <&gpio0 1 0>; /* GPIO1_1 */
33+ wp-gpios = <&gpio0 9 0>; /* GPIO1_9 */
34+ status = "okay";
35+ };
36+ };
37+
38+ wdog@53f98000 { /* WDOG1 */
39+ status = "okay";
40+ };
41+
42+ iomuxc@53fa8000 {
43+ compatible = "fsl,imx53-iomuxc-ard";
44+ reg = <0x53fa8000 0x4000>;
45+ };
46+
47+ uart0: uart@53fbc000 { /* UART1 */
48+ status = "okay";
49+ };
50+ };
51+
52+ aips@60000000 { /* AIPS2 */
53+ sdma@63fb0000 {
54+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
55+ };
56+ };
57+ };
58+
59+ eim-cs1@f4000000 {
60+ #address-cells = <1>;
61+ #size-cells = <1>;
62+ compatible = "fsl,eim-bus", "simple-bus";
63+ reg = <0xf4000000 0x3ff0000>;
64+ ranges;
65+
66+ lan9220@f4000000 {
67+ compatible = "smsc,lan9220", "smsc,lan9115";
68+ reg = <0xf4000000 0x2000000>;
69+ phy-mode = "mii";
70+ interrupt-parent = <&gpio1>;
71+ interrupts = <31>;
72+ reg-io-width = <4>;
73+ smsc,irq-push-pull;
74+ };
75+ };
76+
77+ gpio-keys {
78+ compatible = "gpio-keys";
79+
80+ home {
81+ label = "Home";
82+ gpios = <&gpio4 10 0>; /* GPIO5_10 */
83+ linux,code = <102>; /* KEY_HOME */
84+ gpio-key,wakeup;
85+ };
86+
87+ back {
88+ label = "Back";
89+ gpios = <&gpio4 11 0>; /* GPIO5_11 */
90+ linux,code = <158>; /* KEY_BACK */
91+ gpio-key,wakeup;
92+ };
93+
94+ program {
95+ label = "Program";
96+ gpios = <&gpio4 12 0>; /* GPIO5_12 */
97+ linux,code = <362>; /* KEY_PROGRAM */
98+ gpio-key,wakeup;
99+ };
100+
101+ volume-up {
102+ label = "Volume Up";
103+ gpios = <&gpio4 13 0>; /* GPIO5_13 */
104+ linux,code = <115>; /* KEY_VOLUMEUP */
105+ };
106+
107+ volume-down {
108+ label = "Volume Down";
109+ gpios = <&gpio3 0 0>; /* GPIO4_0 */
110+ linux,code = <114>; /* KEY_VOLUMEDOWN */
111+ };
112+ };
113+};
arch/arm/boot/dts/imx53-evk.dts+120−0
@@ -0,0 +1,120 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx53.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX53 Evaluation Kit";
18+ compatible = "fsl,imx53-evk", "fsl,imx53";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk0p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x70000000 0x80000000>;
26+ };
27+
28+ soc {
29+ aips@50000000 { /* AIPS1 */
30+ spba@50000000 {
31+ esdhc@50004000 { /* ESDHC1 */
32+ cd-gpios = <&gpio2 13 0>; /* GPIO3_13 */
33+ wp-gpios = <&gpio2 14 0>; /* GPIO3_14 */
34+ status = "okay";
35+ };
36+
37+ ecspi@50010000 { /* ECSPI1 */
38+ fsl,spi-num-chipselects = <2>;
39+ cs-gpios = <&gpio1 30 0>, /* GPIO2_30 */
40+ <&gpio2 19 0>; /* GPIO3_19 */
41+ status = "okay";
42+
43+ flash: at45db321d@1 {
44+ #address-cells = <1>;
45+ #size-cells = <1>;
46+ compatible = "atmel,at45db321d", "atmel,at45", "atmel,dataflash";
47+ spi-max-frequency = <25000000>;
48+ reg = <1>;
49+
50+ partition@0 {
51+ label = "U-Boot";
52+ reg = <0x0 0x40000>;
53+ read-only;
54+ };
55+
56+ partition@40000 {
57+ label = "Kernel";
58+ reg = <0x40000 0x3c0000>;
59+ };
60+ };
61+ };
62+
63+ esdhc@50020000 { /* ESDHC3 */
64+ cd-gpios = <&gpio2 11 0>; /* GPIO3_11 */
65+ wp-gpios = <&gpio2 12 0>; /* GPIO3_12 */
66+ status = "okay";
67+ };
68+ };
69+
70+ wdog@53f98000 { /* WDOG1 */
71+ status = "okay";
72+ };
73+
74+ iomuxc@53fa8000 {
75+ compatible = "fsl,imx53-iomuxc-evk";
76+ reg = <0x53fa8000 0x4000>;
77+ };
78+
79+ uart0: uart@53fbc000 { /* UART1 */
80+ status = "okay";
81+ };
82+ };
83+
84+ aips@60000000 { /* AIPS2 */
85+ sdma@63fb0000 {
86+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
87+ };
88+
89+ i2c@63fc4000 { /* I2C2 */
90+ status = "okay";
91+
92+ pmic: mc13892@08 {
93+ compatible = "fsl,mc13892", "fsl,mc13xxx";
94+ reg = <0x08>;
95+ };
96+
97+ codec: sgtl5000@0a {
98+ compatible = "fsl,sgtl5000";
99+ reg = <0x0a>;
100+ };
101+ };
102+
103+ fec@63fec000 {
104+ phy-mode = "rmii";
105+ phy-reset-gpios = <&gpio6 6 0>; /* GPIO7_6 */
106+ status = "okay";
107+ };
108+ };
109+ };
110+
111+ leds {
112+ compatible = "gpio-leds";
113+
114+ green {
115+ label = "Heartbeat";
116+ gpios = <&gpio6 7 0>; /* GPIO7_7 */
117+ linux,default-trigger = "heartbeat";
118+ };
119+ };
120+};
arch/arm/boot/dts/imx53-qsb.dts+125−0
@@ -0,0 +1,125 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx53.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX53 Quick Start Board";
18+ compatible = "fsl,imx53-qsb", "fsl,imx53";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk0p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x70000000 0x40000000>;
26+ };
27+
28+ soc {
29+ aips@50000000 { /* AIPS1 */
30+ spba@50000000 {
31+ esdhc@50004000 { /* ESDHC1 */
32+ cd-gpios = <&gpio2 13 0>; /* GPIO3_13 */
33+ status = "okay";
34+ };
35+
36+ esdhc@50020000 { /* ESDHC3 */
37+ cd-gpios = <&gpio2 11 0>; /* GPIO3_11 */
38+ wp-gpios = <&gpio2 12 0>; /* GPIO3_12 */
39+ status = "okay";
40+ };
41+ };
42+
43+ wdog@53f98000 { /* WDOG1 */
44+ status = "okay";
45+ };
46+
47+ iomuxc@53fa8000 {
48+ compatible = "fsl,imx53-iomuxc-qsb";
49+ reg = <0x53fa8000 0x4000>;
50+ };
51+
52+ uart0: uart@53fbc000 { /* UART1 */
53+ status = "okay";
54+ };
55+ };
56+
57+ aips@60000000 { /* AIPS2 */
58+ sdma@63fb0000 {
59+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
60+ };
61+
62+ i2c@63fc4000 { /* I2C2 */
63+ status = "okay";
64+
65+ codec: sgtl5000@0a {
66+ compatible = "fsl,sgtl5000";
67+ reg = <0x0a>;
68+ };
69+ };
70+
71+ i2c@63fc8000 { /* I2C1 */
72+ status = "okay";
73+
74+ accelerometer: mma8450@1c {
75+ compatible = "fsl,mma8450";
76+ reg = <0x1c>;
77+ };
78+
79+ pmic: dialog@48 {
80+ compatible = "dialog,da9053", "dialog,da9052";
81+ reg = <0x48>;
82+ };
83+ };
84+
85+ fec@63fec000 {
86+ phy-mode = "rmii";
87+ phy-reset-gpios = <&gpio6 6 0>; /* GPIO7_6 */
88+ status = "okay";
89+ };
90+ };
91+ };
92+
93+ gpio-keys {
94+ compatible = "gpio-keys";
95+
96+ power {
97+ label = "Power Button";
98+ gpios = <&gpio0 8 0>; /* GPIO1_8 */
99+ linux,code = <116>; /* KEY_POWER */
100+ gpio-key,wakeup;
101+ };
102+
103+ volume-up {
104+ label = "Volume Up";
105+ gpios = <&gpio1 14 0>; /* GPIO2_14 */
106+ linux,code = <115>; /* KEY_VOLUMEUP */
107+ };
108+
109+ volume-down {
110+ label = "Volume Down";
111+ gpios = <&gpio1 15 0>; /* GPIO2_15 */
112+ linux,code = <114>; /* KEY_VOLUMEDOWN */
113+ };
114+ };
115+
116+ leds {
117+ compatible = "gpio-leds";
118+
119+ user {
120+ label = "Heartbeat";
121+ gpios = <&gpio6 7 0>; /* GPIO7_7 */
122+ linux,default-trigger = "heartbeat";
123+ };
124+ };
125+};
arch/arm/boot/dts/imx53-smd.dts+169−0
@@ -0,0 +1,169 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx53.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX53 Smart Mobile Reference Design Board";
18+ compatible = "fsl,imx53-smd", "fsl,imx53";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk0p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x70000000 0x40000000>;
26+ };
27+
28+ soc {
29+ aips@50000000 { /* AIPS1 */
30+ spba@50000000 {
31+ esdhc@50004000 { /* ESDHC1 */
32+ cd-gpios = <&gpio2 13 0>; /* GPIO3_13 */
33+ wp-gpios = <&gpio3 11 0>; /* GPIO4_11 */
34+ status = "okay";
35+ };
36+
37+ esdhc@50008000 { /* ESDHC2 */
38+ fsl,card-wired;
39+ status = "okay";
40+ };
41+
42+ uart2: uart@5000c000 { /* UART3 */
43+ fsl,uart-has-rtscts;
44+ status = "okay";
45+ };
46+
47+ ecspi@50010000 { /* ECSPI1 */
48+ fsl,spi-num-chipselects = <2>;
49+ cs-gpios = <&gpio1 30 0>, /* GPIO2_30 */
50+ <&gpio2 19 0>; /* GPIO3_19 */
51+ status = "okay";
52+
53+ zigbee: mc1323@0 {
54+ compatible = "fsl,mc1323";
55+ spi-max-frequency = <8000000>;
56+ reg = <0>;
57+ };
58+
59+ flash: m25p32@1 {
60+ #address-cells = <1>;
61+ #size-cells = <1>;
62+ compatible = "st,m25p32", "st,m25p";
63+ spi-max-frequency = <20000000>;
64+ reg = <1>;
65+
66+ partition@0 {
67+ label = "U-Boot";
68+ reg = <0x0 0x40000>;
69+ read-only;
70+ };
71+
72+ partition@40000 {
73+ label = "Kernel";
74+ reg = <0x40000 0x3c0000>;
75+ };
76+ };
77+ };
78+
79+ esdhc@50020000 { /* ESDHC3 */
80+ fsl,card-wired;
81+ status = "okay";
82+ };
83+ };
84+
85+ wdog@53f98000 { /* WDOG1 */
86+ status = "okay";
87+ };
88+
89+ iomuxc@53fa8000 {
90+ compatible = "fsl,imx53-iomuxc-smd";
91+ reg = <0x53fa8000 0x4000>;
92+ };
93+
94+ uart0: uart@53fbc000 { /* UART1 */
95+ status = "okay";
96+ };
97+
98+ uart1: uart@53fc0000 { /* UART2 */
99+ status = "okay";
100+ };
101+ };
102+
103+ aips@60000000 { /* AIPS2 */
104+ sdma@63fb0000 {
105+ fsl,sdma-ram-script-name = "imx/sdma/sdma-imx53.bin";
106+ };
107+
108+ i2c@63fc4000 { /* I2C2 */
109+ status = "okay";
110+
111+ codec: sgtl5000@0a {
112+ compatible = "fsl,sgtl5000";
113+ reg = <0x0a>;
114+ };
115+
116+ magnetometer: mag3110@0e {
117+ compatible = "fsl,mag3110";
118+ reg = <0x0e>;
119+ };
120+
121+ touchkey: mpr121@5a {
122+ compatible = "fsl,mpr121";
123+ reg = <0x5a>;
124+ };
125+ };
126+
127+ i2c@63fc8000 { /* I2C1 */
128+ status = "okay";
129+
130+ accelerometer: mma8450@1c {
131+ compatible = "fsl,mma8450";
132+ reg = <0x1c>;
133+ };
134+
135+ camera: ov5642@3c {
136+ compatible = "ovti,ov5642";
137+ reg = <0x3c>;
138+ };
139+
140+ pmic: dialog@48 {
141+ compatible = "dialog,da9053", "dialog,da9052";
142+ reg = <0x48>;
143+ };
144+ };
145+
146+ fec@63fec000 {
147+ phy-mode = "rmii";
148+ phy-reset-gpios = <&gpio6 6 0>; /* GPIO7_6 */
149+ status = "okay";
150+ };
151+ };
152+ };
153+
154+ gpio-keys {
155+ compatible = "gpio-keys";
156+
157+ volume-up {
158+ label = "Volume Up";
159+ gpios = <&gpio1 14 0>; /* GPIO2_14 */
160+ linux,code = <115>; /* KEY_VOLUMEUP */
161+ };
162+
163+ volume-down {
164+ label = "Volume Down";
165+ gpios = <&gpio1 15 0>; /* GPIO2_15 */
166+ linux,code = <114>; /* KEY_VOLUMEDOWN */
167+ };
168+ };
169+};
arch/arm/boot/dts/imx53.dtsi+301−0
@@ -0,0 +1,301 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/include/ "skeleton.dtsi"
14+
15+/ {
16+ aliases {
17+ serial0 = &uart0;
18+ serial1 = &uart1;
19+ serial2 = &uart2;
20+ serial3 = &uart3;
21+ serial4 = &uart4;
22+ };
23+
24+ tzic: tz-interrupt-controller@0fffc000 {
25+ compatible = "fsl,imx53-tzic", "fsl,tzic";
26+ interrupt-controller;
27+ #interrupt-cells = <1>;
28+ reg = <0x0fffc000 0x4000>;
29+ };
30+
31+ clocks {
32+ #address-cells = <1>;
33+ #size-cells = <0>;
34+
35+ ckil {
36+ compatible = "fsl,imx-ckil", "fixed-clock";
37+ clock-frequency = <32768>;
38+ };
39+
40+ ckih1 {
41+ compatible = "fsl,imx-ckih1", "fixed-clock";
42+ clock-frequency = <22579200>;
43+ };
44+
45+ ckih2 {
46+ compatible = "fsl,imx-ckih2", "fixed-clock";
47+ clock-frequency = <0>;
48+ };
49+
50+ osc {
51+ compatible = "fsl,imx-osc", "fixed-clock";
52+ clock-frequency = <24000000>;
53+ };
54+ };
55+
56+ soc {
57+ #address-cells = <1>;
58+ #size-cells = <1>;
59+ compatible = "simple-bus";
60+ interrupt-parent = <&tzic>;
61+ ranges;
62+
63+ aips@50000000 { /* AIPS1 */
64+ compatible = "fsl,aips-bus", "simple-bus";
65+ #address-cells = <1>;
66+ #size-cells = <1>;
67+ reg = <0x50000000 0x10000000>;
68+ ranges;
69+
70+ spba@50000000 {
71+ compatible = "fsl,spba-bus", "simple-bus";
72+ #address-cells = <1>;
73+ #size-cells = <1>;
74+ reg = <0x50000000 0x40000>;
75+ ranges;
76+
77+ esdhc@50004000 { /* ESDHC1 */
78+ compatible = "fsl,imx53-esdhc";
79+ reg = <0x50004000 0x4000>;
80+ interrupts = <1>;
81+ status = "disabled";
82+ };
83+
84+ esdhc@50008000 { /* ESDHC2 */
85+ compatible = "fsl,imx53-esdhc";
86+ reg = <0x50008000 0x4000>;
87+ interrupts = <2>;
88+ status = "disabled";
89+ };
90+
91+ uart2: uart@5000c000 { /* UART3 */
92+ compatible = "fsl,imx53-uart", "fsl,imx21-uart";
93+ reg = <0x5000c000 0x4000>;
94+ interrupts = <33>;
95+ status = "disabled";
96+ };
97+
98+ ecspi@50010000 { /* ECSPI1 */
99+ #address-cells = <1>;
100+ #size-cells = <0>;
101+ compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
102+ reg = <0x50010000 0x4000>;
103+ interrupts = <36>;
104+ status = "disabled";
105+ };
106+
107+ esdhc@50020000 { /* ESDHC3 */
108+ compatible = "fsl,imx53-esdhc";
109+ reg = <0x50020000 0x4000>;
110+ interrupts = <3>;
111+ status = "disabled";
112+ };
113+
114+ esdhc@50024000 { /* ESDHC4 */
115+ compatible = "fsl,imx53-esdhc";
116+ reg = <0x50024000 0x4000>;
117+ interrupts = <4>;
118+ status = "disabled";
119+ };
120+ };
121+
122+ gpio0: gpio@53f84000 { /* GPIO1 */
123+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
124+ reg = <0x53f84000 0x4000>;
125+ interrupts = <50 51>;
126+ gpio-controller;
127+ #gpio-cells = <2>;
128+ interrupt-controller;
129+ #interrupt-cells = <1>;
130+ };
131+
132+ gpio1: gpio@53f88000 { /* GPIO2 */
133+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
134+ reg = <0x53f88000 0x4000>;
135+ interrupts = <52 53>;
136+ gpio-controller;
137+ #gpio-cells = <2>;
138+ interrupt-controller;
139+ #interrupt-cells = <1>;
140+ };
141+
142+ gpio2: gpio@53f8c000 { /* GPIO3 */
143+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
144+ reg = <0x53f8c000 0x4000>;
145+ interrupts = <54 55>;
146+ gpio-controller;
147+ #gpio-cells = <2>;
148+ interrupt-controller;
149+ #interrupt-cells = <1>;
150+ };
151+
152+ gpio3: gpio@53f90000 { /* GPIO4 */
153+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
154+ reg = <0x53f90000 0x4000>;
155+ interrupts = <56 57>;
156+ gpio-controller;
157+ #gpio-cells = <2>;
158+ interrupt-controller;
159+ #interrupt-cells = <1>;
160+ };
161+
162+ wdog@53f98000 { /* WDOG1 */
163+ compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
164+ reg = <0x53f98000 0x4000>;
165+ interrupts = <58>;
166+ status = "disabled";
167+ };
168+
169+ wdog@53f9c000 { /* WDOG2 */
170+ compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
171+ reg = <0x53f9c000 0x4000>;
172+ interrupts = <59>;
173+ status = "disabled";
174+ };
175+
176+ uart0: uart@53fbc000 { /* UART1 */
177+ compatible = "fsl,imx53-uart", "fsl,imx21-uart";
178+ reg = <0x53fbc000 0x4000>;
179+ interrupts = <31>;
180+ status = "disabled";
181+ };
182+
183+ uart1: uart@53fc0000 { /* UART2 */
184+ compatible = "fsl,imx53-uart", "fsl,imx21-uart";
185+ reg = <0x53fc0000 0x4000>;
186+ interrupts = <32>;
187+ status = "disabled";
188+ };
189+
190+ gpio4: gpio@53fdc000 { /* GPIO5 */
191+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
192+ reg = <0x53fdc000 0x4000>;
193+ interrupts = <103 104>;
194+ gpio-controller;
195+ #gpio-cells = <2>;
196+ interrupt-controller;
197+ #interrupt-cells = <1>;
198+ };
199+
200+ gpio5: gpio@53fe0000 { /* GPIO6 */
201+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
202+ reg = <0x53fe0000 0x4000>;
203+ interrupts = <105 106>;
204+ gpio-controller;
205+ #gpio-cells = <2>;
206+ interrupt-controller;
207+ #interrupt-cells = <1>;
208+ };
209+
210+ gpio6: gpio@53fe4000 { /* GPIO7 */
211+ compatible = "fsl,imx53-gpio", "fsl,imx31-gpio";
212+ reg = <0x53fe4000 0x4000>;
213+ interrupts = <107 108>;
214+ gpio-controller;
215+ #gpio-cells = <2>;
216+ interrupt-controller;
217+ #interrupt-cells = <1>;
218+ };
219+
220+ i2c@53fec000 { /* I2C3 */
221+ #address-cells = <1>;
222+ #size-cells = <0>;
223+ compatible = "fsl,imx53-i2c", "fsl,imx1-i2c";
224+ reg = <0x53fec000 0x4000>;
225+ interrupts = <64>;
226+ status = "disabled";
227+ };
228+
229+ uart3: uart@53ff0000 { /* UART4 */
230+ compatible = "fsl,imx53-uart", "fsl,imx21-uart";
231+ reg = <0x53ff0000 0x4000>;
232+ interrupts = <13>;
233+ status = "disabled";
234+ };
235+ };
236+
237+ aips@60000000 { /* AIPS2 */
238+ compatible = "fsl,aips-bus", "simple-bus";
239+ #address-cells = <1>;
240+ #size-cells = <1>;
241+ reg = <0x60000000 0x10000000>;
242+ ranges;
243+
244+ uart4: uart@63f90000 { /* UART5 */
245+ compatible = "fsl,imx53-uart", "fsl,imx21-uart";
246+ reg = <0x63f90000 0x4000>;
247+ interrupts = <86>;
248+ status = "disabled";
249+ };
250+
251+ ecspi@63fac000 { /* ECSPI2 */
252+ #address-cells = <1>;
253+ #size-cells = <0>;
254+ compatible = "fsl,imx53-ecspi", "fsl,imx51-ecspi";
255+ reg = <0x63fac000 0x4000>;
256+ interrupts = <37>;
257+ status = "disabled";
258+ };
259+
260+ sdma@63fb0000 {
261+ compatible = "fsl,imx53-sdma", "fsl,imx35-sdma";
262+ reg = <0x63fb0000 0x4000>;
263+ interrupts = <6>;
264+ };
265+
266+ cspi@63fc0000 {
267+ #address-cells = <1>;
268+ #size-cells = <0>;
269+ compatible = "fsl,imx53-cspi", "fsl,imx35-cspi";
270+ reg = <0x63fc0000 0x4000>;
271+ interrupts = <38>;
272+ status = "disabled";
273+ };
274+
275+ i2c@63fc4000 { /* I2C2 */
276+ #address-cells = <1>;
277+ #size-cells = <0>;
278+ compatible = "fsl,imx53-i2c", "fsl,imx1-i2c";
279+ reg = <0x63fc4000 0x4000>;
280+ interrupts = <63>;
281+ status = "disabled";
282+ };
283+
284+ i2c@63fc8000 { /* I2C1 */
285+ #address-cells = <1>;
286+ #size-cells = <0>;
287+ compatible = "fsl,imx53-i2c", "fsl,imx1-i2c";
288+ reg = <0x63fc8000 0x4000>;
289+ interrupts = <62>;
290+ status = "disabled";
291+ };
292+
293+ fec@63fec000 {
294+ compatible = "fsl,imx53-fec", "fsl,imx25-fec";
295+ reg = <0x63fec000 0x4000>;
296+ interrupts = <87>;
297+ status = "disabled";
298+ };
299+ };
300+ };
301+};
arch/arm/boot/dts/imx6q-sabreauto.dts+62−0
@@ -0,0 +1,62 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/dts-v1/;
14+/include/ "imx6q.dtsi"
15+
16+/ {
17+ model = "Freescale i.MX6 Quad SABRE Automotive Board";
18+ compatible = "fsl,imx6q-sabreauto", "fsl,imx6q";
19+
20+ chosen {
21+ bootargs = "console=ttymxc0,115200 root=/dev/mmcblk3p3 rootwait";
22+ };
23+
24+ memory {
25+ reg = <0x10000000 0x80000000>;
26+ };
27+
28+ soc {
29+ aips-bus@02100000 { /* AIPS2 */
30+ enet@02188000 {
31+ phy-mode = "rgmii";
32+ local-mac-address = [00 04 9F 01 1B 61];
33+ status = "okay";
34+ };
35+
36+ usdhc@02198000 { /* uSDHC3 */
37+ cd-gpios = <&gpio5 11 0>; /* GPIO6_11 */
38+ wp-gpios = <&gpio5 14 0>; /* GPIO6_14 */
39+ status = "okay";
40+ };
41+
42+ usdhc@0219c000 { /* uSDHC4 */
43+ fsl,card-wired;
44+ status = "okay";
45+ };
46+
47+ uart3: uart@021f0000 { /* UART4 */
48+ status = "okay";
49+ };
50+ };
51+ };
52+
53+ leds {
54+ compatible = "gpio-leds";
55+
56+ debug-led {
57+ label = "Heartbeat";
58+ gpios = <&gpio2 25 0>; /* GPIO3_25 */
59+ linux,default-trigger = "heartbeat";
60+ };
61+ };
62+};
arch/arm/boot/dts/imx6q.dtsi+575−0
@@ -0,0 +1,575 @@
1+/*
2+ * Copyright 2011 Freescale Semiconductor, Inc.
3+ * Copyright 2011 Linaro Ltd.
4+ *
5+ * The code contained herein is licensed under the GNU General Public
6+ * License. You may obtain a copy of the GNU General Public License
7+ * Version 2 or later at the following locations:
8+ *
9+ * http://www.opensource.org/licenses/gpl-license.html
10+ * http://www.gnu.org/copyleft/gpl.html
11+ */
12+
13+/include/ "skeleton.dtsi"
14+
15+/ {
16+ aliases {
17+ serial0 = &uart0;
18+ serial1 = &uart1;
19+ serial2 = &uart2;
20+ serial3 = &uart3;
21+ serial4 = &uart4;
22+ };
23+
24+ cpus {
25+ #address-cells = <1>;
26+ #size-cells = <0>;
27+
28+ cpu@0 {
29+ compatible = "arm,cortex-a9";
30+ reg = <0>;
31+ next-level-cache = <&L2>;
32+ };
33+
34+ cpu@1 {
35+ compatible = "arm,cortex-a9";
36+ reg = <1>;
37+ next-level-cache = <&L2>;
38+ };
39+
40+ cpu@2 {
41+ compatible = "arm,cortex-a9";
42+ reg = <2>;
43+ next-level-cache = <&L2>;
44+ };
45+
46+ cpu@3 {
47+ compatible = "arm,cortex-a9";
48+ reg = <3>;
49+ next-level-cache = <&L2>;
50+ };
51+ };
52+
53+ intc: interrupt-controller@00a01000 {
54+ compatible = "arm,cortex-a9-gic";
55+ #interrupt-cells = <3>;
56+ #address-cells = <1>;
57+ #size-cells = <1>;
58+ interrupt-controller;
59+ reg = <0x00a01000 0x1000>,
60+ <0x00a00100 0x100>;
61+ };
62+
63+ clocks {
64+ #address-cells = <1>;
65+ #size-cells = <0>;
66+
67+ ckil {
68+ compatible = "fsl,imx-ckil", "fixed-clock";
69+ clock-frequency = <32768>;
70+ };
71+
72+ ckih1 {
73+ compatible = "fsl,imx-ckih1", "fixed-clock";
74+ clock-frequency = <0>;
75+ };
76+
77+ osc {
78+ compatible = "fsl,imx-osc", "fixed-clock";
79+ clock-frequency = <24000000>;
80+ };
81+ };
82+
83+ soc {
84+ #address-cells = <1>;
85+ #size-cells = <1>;
86+ compatible = "simple-bus";
87+ interrupt-parent = <&intc>;
88+ ranges;
89+
90+ timer@00a00600 {
91+ compatible = "arm,smp-twd";
92+ reg = <0x00a00600 0x100>;
93+ interrupts = <1 13 0xf4>;
94+ };
95+
96+ L2: l2-cache@00a02000 {
97+ compatible = "arm,pl310-cache";
98+ reg = <0x00a02000 0x1000>;
99+ interrupts = <0 92 0x04>;
100+ cache-unified;
101+ cache-level = <2>;
102+ };
103+
104+ aips-bus@02000000 { /* AIPS1 */
105+ compatible = "fsl,aips-bus", "simple-bus";
106+ #address-cells = <1>;
107+ #size-cells = <1>;
108+ reg = <0x02000000 0x100000>;
109+ ranges;
110+
111+ spba-bus@02000000 {
112+ compatible = "fsl,spba-bus", "simple-bus";
113+ #address-cells = <1>;
114+ #size-cells = <1>;
115+ reg = <0x02000000 0x40000>;
116+ ranges;
117+
118+ spdif@02004000 {
119+ reg = <0x02004000 0x4000>;
120+ interrupts = <0 52 0x04>;
121+ };
122+
123+ ecspi@02008000 { /* eCSPI1 */
124+ #address-cells = <1>;
125+ #size-cells = <0>;
126+ compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
127+ reg = <0x02008000 0x4000>;
128+ interrupts = <0 31 0x04>;
129+ status = "disabled";
130+ };
131+
132+ ecspi@0200c000 { /* eCSPI2 */
133+ #address-cells = <1>;
134+ #size-cells = <0>;
135+ compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
136+ reg = <0x0200c000 0x4000>;
137+ interrupts = <0 32 0x04>;
138+ status = "disabled";
139+ };
140+
141+ ecspi@02010000 { /* eCSPI3 */
142+ #address-cells = <1>;
143+ #size-cells = <0>;
144+ compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
145+ reg = <0x02010000 0x4000>;
146+ interrupts = <0 33 0x04>;
147+ status = "disabled";
148+ };
149+
150+ ecspi@02014000 { /* eCSPI4 */
151+ #address-cells = <1>;
152+ #size-cells = <0>;
153+ compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
154+ reg = <0x02014000 0x4000>;
155+ interrupts = <0 34 0x04>;
156+ status = "disabled";
157+ };
158+
159+ ecspi@02018000 { /* eCSPI5 */
160+ #address-cells = <1>;
161+ #size-cells = <0>;
162+ compatible = "fsl,imx6q-ecspi", "fsl,imx51-ecspi";
163+ reg = <0x02018000 0x4000>;
164+ interrupts = <0 35 0x04>;
165+ status = "disabled";
166+ };
167+
168+ uart0: uart@02020000 { /* UART1 */
169+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
170+ reg = <0x02020000 0x4000>;
171+ interrupts = <0 26 0x04>;
172+ status = "disabled";
173+ };
174+
175+ esai@02024000 {
176+ reg = <0x02024000 0x4000>;
177+ interrupts = <0 51 0x04>;
178+ };
179+
180+ ssi@02028000 { /* SSI1 */
181+ reg = <0x02028000 0x4000>;
182+ interrupts = <0 46 0x04>;
183+ };
184+
185+ ssi@0202c000 { /* SSI2 */
186+ reg = <0x0202c000 0x4000>;
187+ interrupts = <0 47 0x04>;
188+ };
189+
190+ ssi@02030000 { /* SSI3 */
191+ reg = <0x02030000 0x4000>;
192+ interrupts = <0 48 0x04>;
193+ };
194+
195+ asrc@02034000 {
196+ reg = <0x02034000 0x4000>;
197+ interrupts = <0 50 0x04>;
198+ };
199+
200+ spba@0203c000 {
201+ reg = <0x0203c000 0x4000>;
202+ };
203+ };
204+
205+ vpu@02040000 {
206+ reg = <0x02040000 0x3c000>;
207+ interrupts = <0 3 0x04 0 12 0x04>;
208+ };
209+
210+ aipstz@0207c000 { /* AIPSTZ1 */
211+ reg = <0x0207c000 0x4000>;
212+ };
213+
214+ pwm@02080000 { /* PWM1 */
215+ reg = <0x02080000 0x4000>;
216+ interrupts = <0 83 0x04>;
217+ };
218+
219+ pwm@02084000 { /* PWM2 */
220+ reg = <0x02084000 0x4000>;
221+ interrupts = <0 84 0x04>;
222+ };
223+
224+ pwm@02088000 { /* PWM3 */
225+ reg = <0x02088000 0x4000>;
226+ interrupts = <0 85 0x04>;
227+ };
228+
229+ pwm@0208c000 { /* PWM4 */
230+ reg = <0x0208c000 0x4000>;
231+ interrupts = <0 86 0x04>;
232+ };
233+
234+ flexcan@02090000 { /* CAN1 */
235+ reg = <0x02090000 0x4000>;
236+ interrupts = <0 110 0x04>;
237+ };
238+
239+ flexcan@02094000 { /* CAN2 */
240+ reg = <0x02094000 0x4000>;
241+ interrupts = <0 111 0x04>;
242+ };
243+
244+ gpt@02098000 {
245+ compatible = "fsl,imx6q-gpt";
246+ reg = <0x02098000 0x4000>;
247+ interrupts = <0 55 0x04>;
248+ };
249+
250+ gpio0: gpio@0209c000 { /* GPIO1 */
251+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
252+ reg = <0x0209c000 0x4000>;
253+ interrupts = <0 66 0x04 0 67 0x04>;
254+ gpio-controller;
255+ #gpio-cells = <2>;
256+ interrupt-controller;
257+ #interrupt-cells = <1>;
258+ };
259+
260+ gpio1: gpio@020a0000 { /* GPIO2 */
261+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
262+ reg = <0x020a0000 0x4000>;
263+ interrupts = <0 68 0x04 0 69 0x04>;
264+ gpio-controller;
265+ #gpio-cells = <2>;
266+ interrupt-controller;
267+ #interrupt-cells = <1>;
268+ };
269+
270+ gpio2: gpio@020a4000 { /* GPIO3 */
271+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
272+ reg = <0x020a4000 0x4000>;
273+ interrupts = <0 70 0x04 0 71 0x04>;
274+ gpio-controller;
275+ #gpio-cells = <2>;
276+ interrupt-controller;
277+ #interrupt-cells = <1>;
278+ };
279+
280+ gpio3: gpio@020a8000 { /* GPIO4 */
281+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
282+ reg = <0x020a8000 0x4000>;
283+ interrupts = <0 72 0x04 0 73 0x04>;
284+ gpio-controller;
285+ #gpio-cells = <2>;
286+ interrupt-controller;
287+ #interrupt-cells = <1>;
288+ };
289+
290+ gpio4: gpio@020ac000 { /* GPIO5 */
291+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
292+ reg = <0x020ac000 0x4000>;
293+ interrupts = <0 74 0x04 0 75 0x04>;
294+ gpio-controller;
295+ #gpio-cells = <2>;
296+ interrupt-controller;
297+ #interrupt-cells = <1>;
298+ };
299+
300+ gpio5: gpio@020b0000 { /* GPIO6 */
301+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
302+ reg = <0x020b0000 0x4000>;
303+ interrupts = <0 76 0x04 0 77 0x04>;
304+ gpio-controller;
305+ #gpio-cells = <2>;
306+ interrupt-controller;
307+ #interrupt-cells = <1>;
308+ };
309+
310+ gpio6: gpio@020b4000 { /* GPIO7 */
311+ compatible = "fsl,imx6q-gpio", "fsl,imx31-gpio";
312+ reg = <0x020b4000 0x4000>;
313+ interrupts = <0 78 0x04 0 79 0x04>;
314+ gpio-controller;
315+ #gpio-cells = <2>;
316+ interrupt-controller;
317+ #interrupt-cells = <1>;
318+ };
319+
320+ kpp@020b8000 {
321+ reg = <0x020b8000 0x4000>;
322+ interrupts = <0 82 0x04>;
323+ };
324+
325+ wdog@020bc000 { /* WDOG1 */
326+ compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
327+ reg = <0x020bc000 0x4000>;
328+ interrupts = <0 80 0x04>;
329+ status = "disabled";
330+ };
331+
332+ wdog@020c0000 { /* WDOG2 */
333+ compatible = "fsl,imx6q-wdt", "fsl,imx21-wdt";
334+ reg = <0x020c0000 0x4000>;
335+ interrupts = <0 81 0x04>;
336+ status = "disabled";
337+ };
338+
339+ ccm@020c4000 {
340+ compatible = "fsl,imx6q-ccm";
341+ reg = <0x020c4000 0x4000>;
342+ interrupts = <0 87 0x04 0 88 0x04>;
343+ };
344+
345+ anatop@020c8000 {
346+ compatible = "fsl,imx6q-anatop";
347+ reg = <0x020c8000 0x1000>;
348+ interrupts = <0 49 0x04 0 54 0x04 0 127 0x04>;
349+ };
350+
351+ usbphy@020c9000 { /* USBPHY1 */
352+ reg = <0x020c9000 0x1000>;
353+ interrupts = <0 44 0x04>;
354+ };
355+
356+ usbphy@020ca000 { /* USBPHY2 */
357+ reg = <0x020ca000 0x1000>;
358+ interrupts = <0 45 0x04>;
359+ };
360+
361+ snvs@020cc000 {
362+ reg = <0x020cc000 0x4000>;
363+ interrupts = <0 19 0x04 0 20 0x04>;
364+ };
365+
366+ epit@020d0000 { /* EPIT1 */
367+ reg = <0x020d0000 0x4000>;
368+ interrupts = <0 56 0x04>;
369+ };
370+
371+ epit@020d4000 { /* EPIT2 */
372+ reg = <0x020d4000 0x4000>;
373+ interrupts = <0 57 0x04>;
374+ };
375+
376+ src@020d8000 {
377+ compatible = "fsl,imx6q-src";
378+ reg = <0x020d8000 0x4000>;
379+ interrupts = <0 91 0x04 0 96 0x04>;
380+ };
381+
382+ gpc@020dc000 {
383+ compatible = "fsl,imx6q-gpc";
384+ reg = <0x020dc000 0x4000>;
385+ interrupts = <0 89 0x04 0 90 0x04>;
386+ };
387+
388+ iomuxc@020e0000 {
389+ reg = <0x020e0000 0x4000>;
390+ };
391+
392+ dcic@020e4000 { /* DCIC1 */
393+ reg = <0x020e4000 0x4000>;
394+ interrupts = <0 124 0x04>;
395+ };
396+
397+ dcic@020e8000 { /* DCIC2 */
398+ reg = <0x020e8000 0x4000>;
399+ interrupts = <0 125 0x04>;
400+ };
401+
402+ sdma@020ec000 {
403+ compatible = "fsl,imx6q-sdma", "fsl,imx35-sdma";
404+ reg = <0x020ec000 0x4000>;
405+ interrupts = <0 2 0x04>;
406+ };
407+ };
408+
409+ aips-bus@02100000 { /* AIPS2 */
410+ compatible = "fsl,aips-bus", "simple-bus";
411+ #address-cells = <1>;
412+ #size-cells = <1>;
413+ reg = <0x02100000 0x100000>;
414+ ranges;
415+
416+ caam@02100000 {
417+ reg = <0x02100000 0x40000>;
418+ interrupts = <0 105 0x04 0 106 0x04>;
419+ };
420+
421+ aipstz@0217c000 { /* AIPSTZ2 */
422+ reg = <0x0217c000 0x4000>;
423+ };
424+
425+ enet@02188000 {
426+ compatible = "fsl,imx6q-fec";
427+ reg = <0x02188000 0x4000>;
428+ interrupts = <0 118 0x04 0 119 0x04>;
429+ status = "disabled";
430+ };
431+
432+ mlb@0218c000 {
433+ reg = <0x0218c000 0x4000>;
434+ interrupts = <0 53 0x04 0 117 0x04 0 126 0x04>;
435+ };
436+
437+ usdhc@02190000 { /* uSDHC1 */
438+ compatible = "fsl,imx6q-usdhc";
439+ reg = <0x02190000 0x4000>;
440+ interrupts = <0 22 0x04>;
441+ status = "disabled";
442+ };
443+
444+ usdhc@02194000 { /* uSDHC2 */
445+ compatible = "fsl,imx6q-usdhc";
446+ reg = <0x02194000 0x4000>;
447+ interrupts = <0 23 0x04>;
448+ status = "disabled";
449+ };
450+
451+ usdhc@02198000 { /* uSDHC3 */
452+ compatible = "fsl,imx6q-usdhc";
453+ reg = <0x02198000 0x4000>;
454+ interrupts = <0 24 0x04>;
455+ status = "disabled";
456+ };
457+
458+ usdhc@0219c000 { /* uSDHC4 */
459+ compatible = "fsl,imx6q-usdhc";
460+ reg = <0x0219c000 0x4000>;
461+ interrupts = <0 25 0x04>;
462+ status = "disabled";
463+ };
464+
465+ i2c@021a0000 { /* I2C1 */
466+ #address-cells = <1>;
467+ #size-cells = <0>;
468+ compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c";
469+ reg = <0x021a0000 0x4000>;
470+ interrupts = <0 36 0x04>;
471+ status = "disabled";
472+ };
473+
474+ i2c@021a4000 { /* I2C2 */
475+ #address-cells = <1>;
476+ #size-cells = <0>;
477+ compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c";
478+ reg = <0x021a4000 0x4000>;
479+ interrupts = <0 37 0x04>;
480+ status = "disabled";
481+ };
482+
483+ i2c@021a8000 { /* I2C3 */
484+ #address-cells = <1>;
485+ #size-cells = <0>;
486+ compatible = "fsl,imx6q-i2c", "fsl,imx1-i2c";
487+ reg = <0x021a8000 0x4000>;
488+ interrupts = <0 38 0x04>;
489+ status = "disabled";
490+ };
491+
492+ romcp@021ac000 {
493+ reg = <0x021ac000 0x4000>;
494+ };
495+
496+ mmdc@021b0000 { /* MMDC0 */
497+ compatible = "fsl,imx6q-mmdc";
498+ reg = <0x021b0000 0x4000>;
499+ };
500+
501+ mmdc@021b4000 { /* MMDC1 */
502+ reg = <0x021b4000 0x4000>;
503+ };
504+
505+ weim@021b8000 {
506+ reg = <0x021b8000 0x4000>;
507+ interrupts = <0 14 0x04>;
508+ };
509+
510+ ocotp@021bc000 {
511+ reg = <0x021bc000 0x4000>;
512+ };
513+
514+ ocotp@021c0000 {
515+ reg = <0x021c0000 0x4000>;
516+ interrupts = <0 21 0x04>;
517+ };
518+
519+ tzasc@021d0000 { /* TZASC1 */
520+ reg = <0x021d0000 0x4000>;
521+ interrupts = <0 108 0x04>;
522+ };
523+
524+ tzasc@021d4000 { /* TZASC2 */
525+ reg = <0x021d4000 0x4000>;
526+ interrupts = <0 109 0x04>;
527+ };
528+
529+ audmux@021d8000 {
530+ reg = <0x021d8000 0x4000>;
531+ };
532+
533+ mipi@021dc000 { /* MIPI-CSI */
534+ reg = <0x021dc000 0x4000>;
535+ };
536+
537+ mipi@021e0000 { /* MIPI-DSI */
538+ reg = <0x021e0000 0x4000>;
539+ };
540+
541+ vdoa@021e4000 {
542+ reg = <0x021e4000 0x4000>;
543+ interrupts = <0 18 0x04>;
544+ };
545+
546+ uart1: uart@021e8000 { /* UART2 */
547+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
548+ reg = <0x021e8000 0x4000>;
549+ interrupts = <0 27 0x04>;
550+ status = "disabled";
551+ };
552+
553+ uart2: uart@021ec000 { /* UART3 */
554+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
555+ reg = <0x021ec000 0x4000>;
556+ interrupts = <0 28 0x04>;
557+ status = "disabled";
558+ };
559+
560+ uart3: uart@021f0000 { /* UART4 */
561+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
562+ reg = <0x021f0000 0x4000>;
563+ interrupts = <0 29 0x04>;
564+ status = "disabled";
565+ };
566+
567+ uart4: uart@021f4000 { /* UART5 */
568+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
569+ reg = <0x021f4000 0x4000>;
570+ interrupts = <0 30 0x04>;
571+ status = "disabled";
572+ };
573+ };
574+ };
575+};
arch/arm/boot/dts/msm8660-surf.dts+24−0
@@ -0,0 +1,24 @@
1+/dts-v1/;
2+
3+/include/ "skeleton.dtsi"
4+
5+/ {
6+ model = "Qualcomm MSM8660 SURF";
7+ compatible = "qcom,msm8660-surf", "qcom,msm8660";
8+ interrupt-parent = <&intc>;
9+
10+ intc: interrupt-controller@02080000 {
11+ compatible = "qcom,msm-8660-qgic";
12+ interrupt-controller;
13+ #interrupt-cells = <1>;
14+ reg = < 0x02080000 0x1000 >,
15+ < 0x02081000 0x1000 >;
16+ };
17+
18+ serial@19c400000 {
19+ compatible = "qcom,msm-hsuart", "qcom,msm-uart";
20+ reg = <0x19c40000 0x1000>,
21+ <0x19c00000 0x1000>;
22+ interrupts = <195>;
23+ };
24+};
arch/arm/boot/dts/omap3-beagle.dts+29−0
@@ -0,0 +1,29 @@
1+/*
2+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ */
8+/dts-v1/;
9+
10+/include/ "omap3.dtsi"
11+
12+/ {
13+ model = "TI OMAP3 BeagleBoard";
14+ compatible = "ti,omap3-beagle", "ti,omap3";
15+
16+ /*
17+ * Since the initial device tree board file does not create any
18+ * devices (MMC, network...), the only way to boot is to provide a
19+ * ramdisk.
20+ */
21+ chosen {
22+ bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug earlyprintk";
23+ };
24+
25+ memory {
26+ device_type = "memory";
27+ reg = <0x80000000 0x20000000>; /* 512 MB */
28+ };
29+};
arch/arm/boot/dts/omap3.dtsi+63−0
@@ -0,0 +1,63 @@
1+/*
2+ * Device Tree Source for OMAP3 SoC
3+ *
4+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
5+ *
6+ * This file is licensed under the terms of the GNU General Public License
7+ * version 2. This program is licensed "as is" without any warranty of any
8+ * kind, whether express or implied.
9+ */
10+
11+/include/ "skeleton.dtsi"
12+
13+/ {
14+ compatible = "ti,omap3430", "ti,omap3";
15+
16+ cpus {
17+ cpu@0 {
18+ compatible = "arm,cortex-a8";
19+ };
20+ };
21+
22+ /*
23+ * The soc node represents the soc top level view. It is uses for IPs
24+ * that are not memory mapped in the MPU view or for the MPU itself.
25+ */
26+ soc {
27+ compatible = "ti,omap-infra";
28+ mpu {
29+ compatible = "ti,omap3-mpu";
30+ ti,hwmods = "mpu";
31+ };
32+
33+ iva {
34+ compatible = "ti,iva2.2";
35+ ti,hwmods = "iva";
36+
37+ dsp {
38+ compatible = "ti,omap3-c64";
39+ };
40+ };
41+ };
42+
43+ /*
44+ * XXX: Use a flat representation of the OMAP3 interconnect.
45+ * The real OMAP interconnect network is quite complex.
46+ * Since that will not bring real advantage to represent that in DT for
47+ * the moment, just use a fake OCP bus entry to represent the whole bus
48+ * hierarchy.
49+ */
50+ ocp {
51+ compatible = "simple-bus";
52+ #address-cells = <1>;
53+ #size-cells = <1>;
54+ ranges;
55+ ti,hwmods = "l3_main";
56+
57+ intc: interrupt-controller@1 {
58+ compatible = "ti,omap3-intc";
59+ interrupt-controller;
60+ #interrupt-cells = <1>;
61+ };
62+ };
63+};
arch/arm/boot/dts/omap4-panda.dts+29−0
@@ -0,0 +1,29 @@
1+/*
2+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ */
8+/dts-v1/;
9+
10+/include/ "omap4.dtsi"
11+
12+/ {
13+ model = "TI OMAP4 PandaBoard";
14+ compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";
15+
16+ /*
17+ * Since the initial device tree board file does not create any
18+ * devices (MMC, network...), the only way to boot is to provide a
19+ * ramdisk.
20+ */
21+ chosen {
22+ bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug";
23+ };
24+
25+ memory {
26+ device_type = "memory";
27+ reg = <0x80000000 0x40000000>; /* 1 GB */
28+ };
29+};
arch/arm/boot/dts/omap4-sdp.dts+29−0
@@ -0,0 +1,29 @@
1+/*
2+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ */
8+/dts-v1/;
9+
10+/include/ "omap4.dtsi"
11+
12+/ {
13+ model = "TI OMAP4 SDP board";
14+ compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";
15+
16+ /*
17+ * Since the initial device tree board file does not create any
18+ * devices (MMC, network...), the only way to boot is to provide a
19+ * ramdisk.
20+ */
21+ chosen {
22+ bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug";
23+ };
24+
25+ memory {
26+ device_type = "memory";
27+ reg = <0x80000000 0x40000000>; /* 1 GB */
28+ };
29+};
arch/arm/boot/dts/omap4.dtsi+103−0
@@ -0,0 +1,103 @@
1+/*
2+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ */
8+
9+/*
10+ * Carveout for multimedia usecases
11+ * It should be the last 48MB of the first 512MB memory part
12+ * In theory, it should not even exist. That zone should be reserved
13+ * dynamically during the .reserve callback.
14+ */
15+/memreserve/ 0x9d000000 0x03000000;
16+
17+/include/ "skeleton.dtsi"
18+
19+/ {
20+ compatible = "ti,omap4430", "ti,omap4";
21+ interrupt-parent = <&gic>;
22+
23+ aliases {
24+ };
25+
26+ cpus {
27+ cpu@0 {
28+ compatible = "arm,cortex-a9";
29+ };
30+ cpu@1 {
31+ compatible = "arm,cortex-a9";
32+ };
33+ };
34+
35+ /*
36+ * The soc node represents the soc top level view. It is uses for IPs
37+ * that are not memory mapped in the MPU view or for the MPU itself.
38+ */
39+ soc {
40+ compatible = "ti,omap-infra";
41+ mpu {
42+ compatible = "ti,omap4-mpu";
43+ ti,hwmods = "mpu";
44+ };
45+
46+ dsp {
47+ compatible = "ti,omap3-c64";
48+ ti,hwmods = "dsp";
49+ };
50+
51+ iva {
52+ compatible = "ti,ivahd";
53+ ti,hwmods = "iva";
54+ };
55+ };
56+
57+ /*
58+ * XXX: Use a flat representation of the OMAP4 interconnect.
59+ * The real OMAP interconnect network is quite complex.
60+ *
61+ * MPU -+-- MPU_PRIVATE - GIC, L2
62+ * |
63+ * +----------------+----------+
64+ * | | |
65+ * + +- EMIF - DDR |
66+ * | | |
67+ * | + +--------+
68+ * | | |
69+ * | +- L4_ABE - AESS, MCBSP, TIMERs...
70+ * | |
71+ * +- L3_MAIN --+- L4_CORE - IPs...
72+ * |
73+ * +- L4_PER - IPs...
74+ * |
75+ * +- L4_CFG -+- L4_WKUP - IPs...
76+ * | |
77+ * | +- IPs...
78+ * +- IPU ----+
79+ * | |
80+ * +- DSP ----+
81+ * | |
82+ * +- DSS ----+
83+ *
84+ * Since that will not bring real advantage to represent that in DT for
85+ * the moment, just use a fake OCP bus entry to represent the whole bus
86+ * hierarchy.
87+ */
88+ ocp {
89+ compatible = "ti,omap4-l3-noc", "simple-bus";
90+ #address-cells = <1>;
91+ #size-cells = <1>;
92+ ranges;
93+ ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
94+
95+ gic: interrupt-controller@48241000 {
96+ compatible = "arm,cortex-a9-gic";
97+ interrupt-controller;
98+ #interrupt-cells = <1>;
99+ reg = <0x48241000 0x1000>,
100+ <0x48240100 0x0100>;
101+ };
102+ };
103+};
arch/arm/boot/dts/picoxcell-pc3x2.dtsi+249−0
@@ -0,0 +1,249 @@
1+/*
2+ * Copyright (C) 2011 Picochip, Jamie Iles
3+ *
4+ * This software is licensed under the terms of the GNU General Public
5+ * License version 2, as published by the Free Software Foundation, and
6+ * may be copied, distributed, and modified under those terms.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ */
13+/include/ "skeleton.dtsi"
14+/ {
15+ model = "Picochip picoXcell PC3X2";
16+ compatible = "picochip,pc3x2";
17+ #address-cells = <1>;
18+ #size-cells = <1>;
19+
20+ cpus {
21+ #address-cells = <1>;
22+ #size-cells = <0>;
23+
24+ cpu@0 {
25+ compatible = "arm,1176jz-s";
26+ clock-frequency = <400000000>;
27+ reg = <0>;
28+ d-cache-line-size = <32>;
29+ d-cache-size = <32768>;
30+ i-cache-line-size = <32>;
31+ i-cache-size = <32768>;
32+ };
33+ };
34+
35+ clocks {
36+ #address-cells = <1>;
37+ #size-cells = <1>;
38+ ranges;
39+
40+ pclk: clock@0 {
41+ compatible = "fixed-clock";
42+ clock-outputs = "bus", "pclk";
43+ clock-frequency = <200000000>;
44+ ref-clock = <&ref_clk>, "ref";
45+ };
46+ };
47+
48+ paxi {
49+ compatible = "simple-bus";
50+ #address-cells = <1>;
51+ #size-cells = <1>;
52+ ranges = <0 0x80000000 0x400000>;
53+
54+ emac: gem@30000 {
55+ compatible = "cadence,gem";
56+ reg = <0x30000 0x10000>;
57+ interrupts = <31>;
58+ };
59+
60+ dmac1: dmac@40000 {
61+ compatible = "snps,dw-dmac";
62+ reg = <0x40000 0x10000>;
63+ interrupts = <25>;
64+ };
65+
66+ dmac2: dmac@50000 {
67+ compatible = "snps,dw-dmac";
68+ reg = <0x50000 0x10000>;
69+ interrupts = <26>;
70+ };
71+
72+ vic0: interrupt-controller@60000 {
73+ compatible = "arm,pl192-vic";
74+ interrupt-controller;
75+ reg = <0x60000 0x1000>;
76+ #interrupt-cells = <1>;
77+ };
78+
79+ vic1: interrupt-controller@64000 {
80+ compatible = "arm,pl192-vic";
81+ interrupt-controller;
82+ reg = <0x64000 0x1000>;
83+ #interrupt-cells = <1>;
84+ };
85+
86+ fuse: picoxcell-fuse@80000 {
87+ compatible = "picoxcell,fuse-pc3x2";
88+ reg = <0x80000 0x10000>;
89+ };
90+
91+ ssi: picoxcell-spi@90000 {
92+ compatible = "picoxcell,spi";
93+ reg = <0x90000 0x10000>;
94+ interrupt-parent = <&vic0>;
95+ interrupts = <10>;
96+ };
97+
98+ ipsec: spacc@100000 {
99+ compatible = "picochip,spacc-ipsec";
100+ reg = <0x100000 0x10000>;
101+ interrupt-parent = <&vic0>;
102+ interrupts = <24>;
103+ ref-clock = <&pclk>, "ref";
104+ };
105+
106+ srtp: spacc@140000 {
107+ compatible = "picochip,spacc-srtp";
108+ reg = <0x140000 0x10000>;
109+ interrupt-parent = <&vic0>;
110+ interrupts = <23>;
111+ };
112+
113+ l2_engine: spacc@180000 {
114+ compatible = "picochip,spacc-l2";
115+ reg = <0x180000 0x10000>;
116+ interrupt-parent = <&vic0>;
117+ interrupts = <22>;
118+ ref-clock = <&pclk>, "ref";
119+ };
120+
121+ apb {
122+ compatible = "simple-bus";
123+ #address-cells = <1>;
124+ #size-cells = <1>;
125+ ranges = <0 0x200000 0x80000>;
126+
127+ rtc0: rtc@00000 {
128+ compatible = "picochip,pc3x2-rtc";
129+ clock-freq = <200000000>;
130+ reg = <0x00000 0xf>;
131+ interrupt-parent = <&vic1>;
132+ interrupts = <8>;
133+ };
134+
135+ timer0: timer@10000 {
136+ compatible = "picochip,pc3x2-timer";
137+ interrupt-parent = <&vic0>;
138+ interrupts = <4>;
139+ clock-freq = <200000000>;
140+ reg = <0x10000 0x14>;
141+ };
142+
143+ timer1: timer@10014 {
144+ compatible = "picochip,pc3x2-timer";
145+ interrupt-parent = <&vic0>;
146+ interrupts = <5>;
147+ clock-freq = <200000000>;
148+ reg = <0x10014 0x14>;
149+ };
150+
151+ timer2: timer@10028 {
152+ compatible = "picochip,pc3x2-timer";
153+ interrupt-parent = <&vic0>;
154+ interrupts = <6>;
155+ clock-freq = <200000000>;
156+ reg = <0x10028 0x14>;
157+ };
158+
159+ timer3: timer@1003c {
160+ compatible = "picochip,pc3x2-timer";
161+ interrupt-parent = <&vic0>;
162+ interrupts = <7>;
163+ clock-freq = <200000000>;
164+ reg = <0x1003c 0x14>;
165+ };
166+
167+ gpio: gpio@20000 {
168+ compatible = "snps,dw-apb-gpio";
169+ reg = <0x20000 0x1000>;
170+ #address-cells = <1>;
171+ #size-cells = <0>;
172+ reg-io-width = <4>;
173+
174+ banka: gpio-controller@0 {
175+ compatible = "snps,dw-apb-gpio-bank";
176+ gpio-controller;
177+ #gpio-cells = <2>;
178+ gpio-generic,nr-gpio = <8>;
179+
180+ regoffset-dat = <0x50>;
181+ regoffset-set = <0x00>;
182+ regoffset-dirout = <0x04>;
183+ };
184+
185+ bankb: gpio-controller@1 {
186+ compatible = "snps,dw-apb-gpio-bank";
187+ gpio-controller;
188+ #gpio-cells = <2>;
189+ gpio-generic,nr-gpio = <8>;
190+
191+ regoffset-dat = <0x54>;
192+ regoffset-set = <0x0c>;
193+ regoffset-dirout = <0x10>;
194+ };
195+ };
196+
197+ uart0: uart@30000 {
198+ compatible = "snps,dw-apb-uart";
199+ reg = <0x30000 0x1000>;
200+ interrupt-parent = <&vic1>;
201+ interrupts = <10>;
202+ clock-frequency = <3686400>;
203+ reg-shift = <2>;
204+ reg-io-width = <4>;
205+ };
206+
207+ uart1: uart@40000 {
208+ compatible = "snps,dw-apb-uart";
209+ reg = <0x40000 0x1000>;
210+ interrupt-parent = <&vic1>;
211+ interrupts = <9>;
212+ clock-frequency = <3686400>;
213+ reg-shift = <2>;
214+ reg-io-width = <4>;
215+ };
216+
217+ wdog: watchdog@50000 {
218+ compatible = "snps,dw-apb-wdg";
219+ reg = <0x50000 0x10000>;
220+ interrupt-parent = <&vic0>;
221+ interrupts = <11>;
222+ bus-clock = <&pclk>, "bus";
223+ };
224+ };
225+ };
226+
227+ rwid-axi {
228+ #address-cells = <1>;
229+ #size-cells = <1>;
230+ compatible = "simple-bus";
231+ ranges;
232+
233+ ebi@50000000 {
234+ compatible = "simple-bus";
235+ #address-cells = <2>;
236+ #size-cells = <1>;
237+ ranges = <0 0 0x40000000 0x08000000
238+ 1 0 0x48000000 0x08000000
239+ 2 0 0x50000000 0x08000000
240+ 3 0 0x58000000 0x08000000>;
241+ };
242+
243+ axi2pico@c0000000 {
244+ compatible = "picochip,axi2pico-pc3x2";
245+ reg = <0xc0000000 0x10000>;
246+ interrupts = <13 14 15 16 17 18 19 20 21>;
247+ };
248+ };
249+};
arch/arm/boot/dts/picoxcell-pc3x3.dtsi+365−0
@@ -0,0 +1,365 @@
1+/*
2+ * Copyright (C) 2011 Picochip, Jamie Iles
3+ *
4+ * This software is licensed under the terms of the GNU General Public
5+ * License version 2, as published by the Free Software Foundation, and
6+ * may be copied, distributed, and modified under those terms.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ */
13+/include/ "skeleton.dtsi"
14+/ {
15+ model = "Picochip picoXcell PC3X3";
16+ compatible = "picochip,pc3x3";
17+ #address-cells = <1>;
18+ #size-cells = <1>;
19+
20+ cpus {
21+ #address-cells = <1>;
22+ #size-cells = <0>;
23+
24+ cpu@0 {
25+ compatible = "arm,1176jz-s";
26+ cpu-clock = <&arm_clk>, "cpu";
27+ reg = <0>;
28+ d-cache-line-size = <32>;
29+ d-cache-size = <32768>;
30+ i-cache-line-size = <32>;
31+ i-cache-size = <32768>;
32+ };
33+ };
34+
35+ clocks {
36+ #address-cells = <1>;
37+ #size-cells = <1>;
38+ ranges;
39+
40+ clkgate: clkgate@800a0048 {
41+ #address-cells = <1>;
42+ #size-cells = <0>;
43+ reg = <0x800a0048 4>;
44+ compatible = "picochip,pc3x3-clk-gate";
45+
46+ tzprot_clk: clock@0 {
47+ compatible = "picochip,pc3x3-gated-clk";
48+ clock-outputs = "bus";
49+ picochip,clk-disable-bit = <0>;
50+ clock-frequency = <200000000>;
51+ ref-clock = <&ref_clk>, "ref";
52+ };
53+
54+ spi_clk: clock@1 {
55+ compatible = "picochip,pc3x3-gated-clk";
56+ clock-outputs = "bus";
57+ picochip,clk-disable-bit = <1>;
58+ clock-frequency = <200000000>;
59+ ref-clock = <&ref_clk>, "ref";
60+ };
61+
62+ dmac0_clk: clock@2 {
63+ compatible = "picochip,pc3x3-gated-clk";
64+ clock-outputs = "bus";
65+ picochip,clk-disable-bit = <2>;
66+ clock-frequency = <200000000>;
67+ ref-clock = <&ref_clk>, "ref";
68+ };
69+
70+ dmac1_clk: clock@3 {
71+ compatible = "picochip,pc3x3-gated-clk";
72+ clock-outputs = "bus";
73+ picochip,clk-disable-bit = <3>;
74+ clock-frequency = <200000000>;
75+ ref-clock = <&ref_clk>, "ref";
76+ };
77+
78+ ebi_clk: clock@4 {
79+ compatible = "picochip,pc3x3-gated-clk";
80+ clock-outputs = "bus";
81+ picochip,clk-disable-bit = <4>;
82+ clock-frequency = <200000000>;
83+ ref-clock = <&ref_clk>, "ref";
84+ };
85+
86+ ipsec_clk: clock@5 {
87+ compatible = "picochip,pc3x3-gated-clk";
88+ clock-outputs = "bus";
89+ picochip,clk-disable-bit = <5>;
90+ clock-frequency = <200000000>;
91+ ref-clock = <&ref_clk>, "ref";
92+ };
93+
94+ l2_clk: clock@6 {
95+ compatible = "picochip,pc3x3-gated-clk";
96+ clock-outputs = "bus";
97+ picochip,clk-disable-bit = <6>;
98+ clock-frequency = <200000000>;
99+ ref-clock = <&ref_clk>, "ref";
100+ };
101+
102+ trng_clk: clock@7 {
103+ compatible = "picochip,pc3x3-gated-clk";
104+ clock-outputs = "bus";
105+ picochip,clk-disable-bit = <7>;
106+ clock-frequency = <200000000>;
107+ ref-clock = <&ref_clk>, "ref";
108+ };
109+
110+ fuse_clk: clock@8 {
111+ compatible = "picochip,pc3x3-gated-clk";
112+ clock-outputs = "bus";
113+ picochip,clk-disable-bit = <8>;
114+ clock-frequency = <200000000>;
115+ ref-clock = <&ref_clk>, "ref";
116+ };
117+
118+ otp_clk: clock@9 {
119+ compatible = "picochip,pc3x3-gated-clk";
120+ clock-outputs = "bus";
121+ picochip,clk-disable-bit = <9>;
122+ clock-frequency = <200000000>;
123+ ref-clock = <&ref_clk>, "ref";
124+ };
125+ };
126+
127+ arm_clk: clock@11 {
128+ compatible = "picochip,pc3x3-pll";
129+ reg = <0x800a0050 0x8>;
130+ picochip,min-freq = <140000000>;
131+ picochip,max-freq = <700000000>;
132+ ref-clock = <&ref_clk>, "ref";
133+ clock-outputs = "cpu";
134+ };
135+
136+ pclk: clock@12 {
137+ compatible = "fixed-clock";
138+ clock-outputs = "bus", "pclk";
139+ clock-frequency = <200000000>;
140+ ref-clock = <&ref_clk>, "ref";
141+ };
142+ };
143+
144+ paxi {
145+ compatible = "simple-bus";
146+ #address-cells = <1>;
147+ #size-cells = <1>;
148+ ranges = <0 0x80000000 0x400000>;
149+
150+ emac: gem@30000 {
151+ compatible = "cadence,gem";
152+ reg = <0x30000 0x10000>;
153+ interrupt-parent = <&vic0>;
154+ interrupts = <31>;
155+ };
156+
157+ dmac1: dmac@40000 {
158+ compatible = "snps,dw-dmac";
159+ reg = <0x40000 0x10000>;
160+ interrupt-parent = <&vic0>;
161+ interrupts = <25>;
162+ };
163+
164+ dmac2: dmac@50000 {
165+ compatible = "snps,dw-dmac";
166+ reg = <0x50000 0x10000>;
167+ interrupt-parent = <&vic0>;
168+ interrupts = <26>;
169+ };
170+
171+ vic0: interrupt-controller@60000 {
172+ compatible = "arm,pl192-vic";
173+ interrupt-controller;
174+ reg = <0x60000 0x1000>;
175+ #interrupt-cells = <1>;
176+ };
177+
178+ vic1: interrupt-controller@64000 {
179+ compatible = "arm,pl192-vic";
180+ interrupt-controller;
181+ reg = <0x64000 0x1000>;
182+ #interrupt-cells = <1>;
183+ };
184+
185+ fuse: picoxcell-fuse@80000 {
186+ compatible = "picoxcell,fuse-pc3x3";
187+ reg = <0x80000 0x10000>;
188+ };
189+
190+ ssi: picoxcell-spi@90000 {
191+ compatible = "picoxcell,spi";
192+ reg = <0x90000 0x10000>;
193+ interrupt-parent = <&vic0>;
194+ interrupts = <10>;
195+ };
196+
197+ ipsec: spacc@100000 {
198+ compatible = "picochip,spacc-ipsec";
199+ reg = <0x100000 0x10000>;
200+ interrupt-parent = <&vic0>;
201+ interrupts = <24>;
202+ ref-clock = <&ipsec_clk>, "ref";
203+ };
204+
205+ srtp: spacc@140000 {
206+ compatible = "picochip,spacc-srtp";
207+ reg = <0x140000 0x10000>;
208+ interrupt-parent = <&vic0>;
209+ interrupts = <23>;
210+ };
211+
212+ l2_engine: spacc@180000 {
213+ compatible = "picochip,spacc-l2";
214+ reg = <0x180000 0x10000>;
215+ interrupt-parent = <&vic0>;
216+ interrupts = <22>;
217+ ref-clock = <&l2_clk>, "ref";
218+ };
219+
220+ apb {
221+ compatible = "simple-bus";
222+ #address-cells = <1>;
223+ #size-cells = <1>;
224+ ranges = <0 0x200000 0x80000>;
225+
226+ rtc0: rtc@00000 {
227+ compatible = "picochip,pc3x2-rtc";
228+ clock-freq = <200000000>;
229+ reg = <0x00000 0xf>;
230+ interrupt-parent = <&vic0>;
231+ interrupts = <8>;
232+ };
233+
234+ timer0: timer@10000 {
235+ compatible = "picochip,pc3x2-timer";
236+ interrupt-parent = <&vic0>;
237+ interrupts = <4>;
238+ clock-freq = <200000000>;
239+ reg = <0x10000 0x14>;
240+ };
241+
242+ timer1: timer@10014 {
243+ compatible = "picochip,pc3x2-timer";
244+ interrupt-parent = <&vic0>;
245+ interrupts = <5>;
246+ clock-freq = <200000000>;
247+ reg = <0x10014 0x14>;
248+ };
249+
250+ gpio: gpio@20000 {
251+ compatible = "snps,dw-apb-gpio";
252+ reg = <0x20000 0x1000>;
253+ #address-cells = <1>;
254+ #size-cells = <0>;
255+ reg-io-width = <4>;
256+
257+ banka: gpio-controller@0 {
258+ compatible = "snps,dw-apb-gpio-bank";
259+ gpio-controller;
260+ #gpio-cells = <2>;
261+ gpio-generic,nr-gpio = <8>;
262+
263+ regoffset-dat = <0x50>;
264+ regoffset-set = <0x00>;
265+ regoffset-dirout = <0x04>;
266+ };
267+
268+ bankb: gpio-controller@1 {
269+ compatible = "snps,dw-apb-gpio-bank";
270+ gpio-controller;
271+ #gpio-cells = <2>;
272+ gpio-generic,nr-gpio = <16>;
273+
274+ regoffset-dat = <0x54>;
275+ regoffset-set = <0x0c>;
276+ regoffset-dirout = <0x10>;
277+ };
278+
279+ bankd: gpio-controller@2 {
280+ compatible = "snps,dw-apb-gpio-bank";
281+ gpio-controller;
282+ #gpio-cells = <2>;
283+ gpio-generic,nr-gpio = <30>;
284+
285+ regoffset-dat = <0x5c>;
286+ regoffset-set = <0x24>;
287+ regoffset-dirout = <0x28>;
288+ };
289+ };
290+
291+ uart0: uart@30000 {
292+ compatible = "snps,dw-apb-uart";
293+ reg = <0x30000 0x1000>;
294+ interrupt-parent = <&vic1>;
295+ interrupts = <10>;
296+ clock-frequency = <3686400>;
297+ reg-shift = <2>;
298+ reg-io-width = <4>;
299+ };
300+
301+ uart1: uart@40000 {
302+ compatible = "snps,dw-apb-uart";
303+ reg = <0x40000 0x1000>;
304+ interrupt-parent = <&vic1>;
305+ interrupts = <9>;
306+ clock-frequency = <3686400>;
307+ reg-shift = <2>;
308+ reg-io-width = <4>;
309+ };
310+
311+ wdog: watchdog@50000 {
312+ compatible = "snps,dw-apb-wdg";
313+ reg = <0x50000 0x10000>;
314+ interrupt-parent = <&vic0>;
315+ interrupts = <11>;
316+ bus-clock = <&pclk>, "bus";
317+ };
318+
319+ timer2: timer@60000 {
320+ compatible = "picochip,pc3x2-timer";
321+ interrupt-parent = <&vic0>;
322+ interrupts = <6>;
323+ clock-freq = <200000000>;
324+ reg = <0x60000 0x14>;
325+ };
326+
327+ timer3: timer@60014 {
328+ compatible = "picochip,pc3x2-timer";
329+ interrupt-parent = <&vic0>;
330+ interrupts = <7>;
331+ clock-freq = <200000000>;
332+ reg = <0x60014 0x14>;
333+ };
334+ };
335+ };
336+
337+ rwid-axi {
338+ #address-cells = <1>;
339+ #size-cells = <1>;
340+ compatible = "simple-bus";
341+ ranges;
342+
343+ ebi@50000000 {
344+ compatible = "simple-bus";
345+ #address-cells = <2>;
346+ #size-cells = <1>;
347+ ranges = <0 0 0x40000000 0x08000000
348+ 1 0 0x48000000 0x08000000
349+ 2 0 0x50000000 0x08000000
350+ 3 0 0x58000000 0x08000000>;
351+ };
352+
353+ axi2pico@c0000000 {
354+ compatible = "picochip,axi2pico-pc3x3";
355+ reg = <0xc0000000 0x10000>;
356+ interrupt-parent = <&vic0>;
357+ interrupts = <13 14 15 16 17 18 19 20 21>;
358+ };
359+
360+ otp@ffff8000 {
361+ compatible = "picochip,otp-pc3x3";
362+ reg = <0xffff8000 0x8000>;
363+ };
364+ };
365+};
arch/arm/boot/dts/picoxcell-pc7302-pc3x2.dts+86−0
@@ -0,0 +1,86 @@
1+/*
2+ * Copyright (C) 2011 Picochip, Jamie Iles
3+ *
4+ * This software is licensed under the terms of the GNU General Public
5+ * License version 2, as published by the Free Software Foundation, and
6+ * may be copied, distributed, and modified under those terms.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ */
13+
14+/dts-v1/;
15+/include/ "picoxcell-pc3x2.dtsi"
16+/ {
17+ model = "Picochip PC7302 (PC3X2)";
18+ compatible = "picochip,pc7302-pc3x2", "picochip,pc3x2";
19+
20+ memory {
21+ device_type = "memory";
22+ reg = <0x0 0x08000000>;
23+ };
24+
25+ chosen {
26+ linux,stdout-path = &uart0;
27+ };
28+
29+ clocks {
30+ ref_clk: clock@1 {
31+ compatible = "fixed-clock";
32+ clock-outputs = "ref";
33+ clock-frequency = <20000000>;
34+ };
35+ };
36+
37+ rwid-axi {
38+ ebi@50000000 {
39+ nand: gpio-nand@2,0 {
40+ compatible = "gpio-control-nand";
41+ #address-cells = <1>;
42+ #size-cells = <1>;
43+ reg = <2 0x0000 0x1000>;
44+ bus-clock = <&pclk>, "bus";
45+ gpio-control-nand,io-sync-reg =
46+ <0x00000000 0x80220000>;
47+
48+ gpios = <&banka 1 0 /* rdy */
49+ &banka 2 0 /* nce */
50+ &banka 3 0 /* ale */
51+ &banka 4 0 /* cle */
52+ 0 /* nwp */>;
53+
54+ boot@100000 {
55+ label = "Boot";
56+ reg = <0x100000 0x80000>;
57+ };
58+
59+ redundant-boot@200000 {
60+ label = "Redundant Boot";
61+ reg = <0x200000 0x80000>;
62+ };
63+
64+ boot-env@300000 {
65+ label = "Boot Evironment";
66+ reg = <0x300000 0x20000>;
67+ };
68+
69+ redundant-boot-env@320000 {
70+ label = "Redundant Boot Environment";
71+ reg = <0x300000 0x20000>;
72+ };
73+
74+ kernel@380000 {
75+ label = "Kernel";
76+ reg = <0x380000 0x800000>;
77+ };
78+
79+ fs@b80000 {
80+ label = "File System";
81+ reg = <0xb80000 0xf480000>;
82+ };
83+ };
84+ };
85+ };
86+};
arch/arm/boot/dts/picoxcell-pc7302-pc3x3.dts+92−0
@@ -0,0 +1,92 @@
1+/*
2+ * Copyright (C) 2011 Picochip, Jamie Iles
3+ *
4+ * This software is licensed under the terms of the GNU General Public
5+ * License version 2, as published by the Free Software Foundation, and
6+ * may be copied, distributed, and modified under those terms.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ */
13+
14+/dts-v1/;
15+/include/ "picoxcell-pc3x3.dtsi"
16+/ {
17+ model = "Picochip PC7302 (PC3X3)";
18+ compatible = "picochip,pc7302-pc3x3", "picochip,pc3x3";
19+
20+ memory {
21+ device_type = "memory";
22+ reg = <0x0 0x08000000>;
23+ };
24+
25+ chosen {
26+ linux,stdout-path = &uart0;
27+ };
28+
29+ clocks {
30+ ref_clk: clock@10 {
31+ compatible = "fixed-clock";
32+ clock-outputs = "ref";
33+ clock-frequency = <20000000>;
34+ };
35+
36+ clkgate: clkgate@800a0048 {
37+ clock@4 {
38+ picochip,clk-no-disable;
39+ };
40+ };
41+ };
42+
43+ rwid-axi {
44+ ebi@50000000 {
45+ nand: gpio-nand@2,0 {
46+ compatible = "gpio-control-nand";
47+ #address-cells = <1>;
48+ #size-cells = <1>;
49+ reg = <2 0x0000 0x1000>;
50+ bus-clock = <&ebi_clk>, "bus";
51+ gpio-control-nand,io-sync-reg =
52+ <0x00000000 0x80220000>;
53+
54+ gpios = <&banka 1 0 /* rdy */
55+ &banka 2 0 /* nce */
56+ &banka 3 0 /* ale */
57+ &banka 4 0 /* cle */
58+ 0 /* nwp */>;
59+
60+ boot@100000 {
61+ label = "Boot";
62+ reg = <0x100000 0x80000>;
63+ };
64+
65+ redundant-boot@200000 {
66+ label = "Redundant Boot";
67+ reg = <0x200000 0x80000>;
68+ };
69+
70+ boot-env@300000 {
71+ label = "Boot Evironment";
72+ reg = <0x300000 0x20000>;
73+ };
74+
75+ redundant-boot-env@320000 {
76+ label = "Redundant Boot Environment";
77+ reg = <0x300000 0x20000>;
78+ };
79+
80+ kernel@380000 {
81+ label = "Kernel";
82+ reg = <0x380000 0x800000>;
83+ };
84+
85+ fs@b80000 {
86+ label = "File System";
87+ reg = <0xb80000 0xf480000>;
88+ };
89+ };
90+ };
91+ };
92+};
arch/arm/boot/dts/prima2-cb.dts+11−3
@@ -39,9 +39,12 @@ · 38 unmodified lines
3939 ranges = <0x40000000 0x40000000 0x80000000>;
4040
4141 l2-cache-controller@80040000 {
42− compatible = "arm,pl310-cache";
42+ compatible = "arm,pl310-cache", "sirf,prima2-pl310-cache";
4343 reg = <0x80040000 0x1000>;
4444 interrupts = <59>;
45+ arm,tag-latency = <1 1 1>;
46+ arm,data-latency = <1 1 1>;
47+ arm,filter-ranges = <0 0x40000000>;
4548 };
4649
4750 intc: interrupt-controller@80020000 {
@@ -67,6 +70,11 @@ · 19 unmodified lines
6770 compatible = "sirf,prima2-rstc";
6871 reg = <0x88010000 0x1000>;
6972 };
73+
74+ rsc-controller@88020000 {
75+ compatible = "sirf,prima2-rsc";
76+ reg = <0x88020000 0x1000>;
77+ };
7078 };
7179
7280 mem-iobg {
@@ -274,7 +282,7 @@ · 201 unmodified lines
274282 gpio: gpio-controller@b0120000 {
275283 #gpio-cells = <2>;
276284 #interrupt-cells = <2>;
277− compatible = "sirf,prima2-gpio";
285+ compatible = "sirf,prima2-gpio-pinmux";
278286 reg = <0xb0120000 0x10000>;
279287 gpio-controller;
280288 interrupt-controller;
@@ -358,7 +366,7 @@ · 77 unmodified lines
358366 };
359367
360368 rtc-iobg {
361− compatible = "sirf,prima2-rtciobg", "simple-bus";
369+ compatible = "sirf,prima2-rtciobg", "sirf-prima2-rtciobg-bus";
362370 #address-cells = <1>;
363371 #size-cells = <1>;
364372 reg = <0x80030000 0x10000>;
arch/arm/boot/dts/tegra-harmony.dts+1−0
@@ -66,5 +66,6 @@ · 65 unmodified lines
6666 cd-gpios = <&gpio 58 0>; /* gpio PH2 */
6767 wp-gpios = <&gpio 59 0>; /* gpio PH3 */
6868 power-gpios = <&gpio 70 0>; /* gpio PI6 */
69+ support-8bit;
6970 };
7071 };
arch/arm/boot/dts/tegra-seaboard.dts+4−0
@@ -25,4 +25,8 @@ · 24 unmodified lines
2525 wp-gpios = <&gpio 57 0>; /* gpio PH1 */
2626 power-gpios = <&gpio 70 0>; /* gpio PI6 */
2727 };
28+
29+ sdhci@c8000600 {
30+ support-8bit;
31+ };
2832 };
arch/arm/boot/dts/tegra-ventana.dts+31−0
@@ -0,0 +1,31 @@
1+/dts-v1/;
2+
3+/memreserve/ 0x1c000000 0x04000000;
4+/include/ "tegra20.dtsi"
5+
6+/ {
7+ model = "NVIDIA Tegra2 Ventana evaluation board";
8+ compatible = "nvidia,ventana", "nvidia,tegra20";
9+
10+ chosen {
11+ bootargs = "vmalloc=192M video=tegrafb console=ttyS0,115200n8 root=/dev/ram rdinit=/sbin/init";
12+ };
13+
14+ memory {
15+ reg = < 0x00000000 0x40000000 >;
16+ };
17+
18+ serial@70006300 {
19+ clock-frequency = < 216000000 >;
20+ };
21+
22+ sdhci@c8000400 {
23+ cd-gpios = <&gpio 69 0>; /* gpio PI5 */
24+ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
25+ power-gpios = <&gpio 70 0>; /* gpio PI6 */
26+ };
27+
28+ sdhci@c8000600 {
29+ support-8bit;
30+ };
31+};
arch/arm/boot/dts/tegra20.dtsi+8−0
@@ -77,6 +77,14 @@ · 76 unmodified lines
7777 gpio-controller;
7878 };
7979
80+ pinmux: pinmux@70000000 {
81+ compatible = "nvidia,tegra20-pinmux";
82+ reg = < 0x70000014 0x10 /* Tri-state registers */
83+ 0x70000080 0x20 /* Mux registers */
84+ 0x700000a0 0x14 /* Pull-up/down registers */
85+ 0x70000868 0xa8 >; /* Pad control registers */
86+ };
87+
8088 serial@70006000 {
8189 compatible = "nvidia,tegra20-uart";
8290 reg = <0x70006000 0x40>;
arch/arm/boot/dts/usb_a9g20.dts+30−0
@@ -0,0 +1,30 @@
1+/*
2+ * usb_a9g20.dts - Device Tree file for Caloa USB A9G20 board
3+ *
4+ * Copyright (C) 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5+ *
6+ * Licensed under GPLv2 or later.
7+ */
8+/dts-v1/;
9+/include/ "at91sam9g20.dtsi"
10+
11+/ {
12+ model = "Calao USB A9G20";
13+ compatible = "calao,usb-a9g20", "atmel,at91sam9g20", "atmel,at91sam9";
14+
15+ chosen {
16+ bootargs = "mem=64M console=ttyS0,115200 mtdparts=atmel_nand:128k(at91bootstrap),256k(barebox)ro,128k(bareboxenv),128k(bareboxenv2),4M(kernel),120M(rootfs),-(data) root=/dev/mtdblock5 rw rootfstype=ubifs";
17+ };
18+
19+ memory@20000000 {
20+ reg = <0x20000000 0x4000000>;
21+ };
22+
23+ ahb {
24+ apb {
25+ dbgu: serial@fffff200 {
26+ status = "okay";
27+ };
28+ };
29+ };
30+};
arch/arm/common/Kconfig+1−0
@@ -1,4 +1,5 @@
11 config ARM_GIC
2+ select IRQ_DOMAIN
23 bool
34
45 config ARM_VIC
arch/arm/common/gic.c+327−56
@@ -24,16 +24,26 @@ · 23 unmodified lines
2424 */
2525 #include <linux/init.h>
2626 #include <linux/kernel.h>
27+#include <linux/err.h>
28+#include <linux/module.h>
2729 #include <linux/list.h>
2830 #include <linux/smp.h>
31+#include <linux/cpu_pm.h>
2932 #include <linux/cpumask.h>
3033 #include <linux/io.h>
34+#include <linux/of.h>
35+#include <linux/of_address.h>
36+#include <linux/of_irq.h>
37+#include <linux/irqdomain.h>
38+#include <linux/interrupt.h>
39+#include <linux/percpu.h>
40+#include <linux/slab.h>
3141
3242 #include <asm/irq.h>
3343 #include <asm/mach/irq.h>
3444 #include <asm/hardware/gic.h>
3545
36−static DEFINE_SPINLOCK(irq_controller_lock);
46+static DEFINE_RAW_SPINLOCK(irq_controller_lock);
3747
3848 /* Address of GIC 0 CPU interface */
3949 void __iomem *gic_cpu_base_addr __read_mostly;
@@ -71,8 +81,7 @@ static inline void __iomem *gic_cpu_base(struct irq_data *d) · 31 unmodified lines
7181
7282 static inline unsigned int gic_irq(struct irq_data *d)
7383 {
74− struct gic_chip_data *gic_data = irq_data_get_irq_chip_data(d);
75− return d->irq - gic_data->irq_offset;
84+ return d->hwirq;
7685 }
7786
7887 /*
@@ -80,32 +89,32 @@ static inline unsigned int gic_irq(struct irq_data *d) · 1 unmodified line
8089 */
8190 static void gic_mask_irq(struct irq_data *d)
8291 {
83− u32 mask = 1 << (d->irq % 32);
92+ u32 mask = 1 << (gic_irq(d) % 32);
8493
85− spin_lock(&irq_controller_lock);
94+ raw_spin_lock(&irq_controller_lock);
8695 writel_relaxed(mask, gic_dist_base(d) + GIC_DIST_ENABLE_CLEAR + (gic_irq(d) / 32) * 4);
8796 if (gic_arch_extn.irq_mask)
8897 gic_arch_extn.irq_mask(d);
89− spin_unlock(&irq_controller_lock);
98+ raw_spin_unlock(&irq_controller_lock);
9099 }
91100
92101 static void gic_unmask_irq(struct irq_data *d)
93102 {
94− u32 mask = 1 << (d->irq % 32);
103+ u32 mask = 1 << (gic_irq(d) % 32);
95104
96− spin_lock(&irq_controller_lock);
105+ raw_spin_lock(&irq_controller_lock);
97106 if (gic_arch_extn.irq_unmask)
98107 gic_arch_extn.irq_unmask(d);
99108 writel_relaxed(mask, gic_dist_base(d) + GIC_DIST_ENABLE_SET + (gic_irq(d) / 32) * 4);
100− spin_unlock(&irq_controller_lock);
109+ raw_spin_unlock(&irq_controller_lock);
101110 }
102111
103112 static void gic_eoi_irq(struct irq_data *d)
104113 {
105114 if (gic_arch_extn.irq_eoi) {
106− spin_lock(&irq_controller_lock);
115+ raw_spin_lock(&irq_controller_lock);
107116 gic_arch_extn.irq_eoi(d);
108− spin_unlock(&irq_controller_lock);
117+ raw_spin_unlock(&irq_controller_lock);
109118 }
110119
111120 writel_relaxed(gic_irq(d), gic_cpu_base(d) + GIC_CPU_EOI);
@@ -129,7 +138,7 @@ static int gic_set_type(struct irq_data *d, unsigned int type) · 17 unmodified lines
129138 if (type != IRQ_TYPE_LEVEL_HIGH && type != IRQ_TYPE_EDGE_RISING)
130139 return -EINVAL;
131140
132− spin_lock(&irq_controller_lock);
141+ raw_spin_lock(&irq_controller_lock);
133142
134143 if (gic_arch_extn.irq_set_type)
135144 gic_arch_extn.irq_set_type(d, type);
@@ -154,7 +163,7 @@ static int gic_set_type(struct irq_data *d, unsigned int type) · 18 unmodified lines
154163 if (enabled)
155164 writel_relaxed(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);
156165
157− spin_unlock(&irq_controller_lock);
166+ raw_spin_unlock(&irq_controller_lock);
158167
159168 return 0;
160169 }
@@ -172,7 +181,7 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, · 11 unmodified lines
172181 bool force)
173182 {
174183 void __iomem *reg = gic_dist_base(d) + GIC_DIST_TARGET + (gic_irq(d) & ~3);
175− unsigned int shift = (d->irq % 4) * 8;
184+ unsigned int shift = (gic_irq(d) % 4) * 8;
176185 unsigned int cpu = cpumask_any_and(mask_val, cpu_online_mask);
177186 u32 val, mask, bit;
178187
@@ -182,10 +191,10 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, · 3 unmodified lines
182191 mask = 0xff << shift;
183192 bit = 1 << (cpu_logical_map(cpu) + shift);
184193
185− spin_lock(&irq_controller_lock);
194+ raw_spin_lock(&irq_controller_lock);
186195 val = readl_relaxed(reg) & ~mask;
187196 writel_relaxed(val | bit, reg);
188− spin_unlock(&irq_controller_lock);
197+ raw_spin_unlock(&irq_controller_lock);
189198
190199 return IRQ_SET_MASK_OK;
191200 }
@@ -215,15 +224,15 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) · 23 unmodified lines
215224
216225 chained_irq_enter(chip, desc);
217226
218− spin_lock(&irq_controller_lock);
227+ raw_spin_lock(&irq_controller_lock);
219228 status = readl_relaxed(chip_data->cpu_base + GIC_CPU_INTACK);
220− spin_unlock(&irq_controller_lock);
229+ raw_spin_unlock(&irq_controller_lock);
221230
222231 gic_irq = (status & 0x3ff);
223232 if (gic_irq == 1023)
224233 goto out;
225234
226− cascade_irq = gic_irq + chip_data->irq_offset;
235+ cascade_irq = irq_domain_to_irq(&chip_data->domain, gic_irq);
227236 if (unlikely(gic_irq < 32 || gic_irq > 1020 || cascade_irq >= NR_IRQS))
228237 do_bad_IRQ(cascade_irq, desc);
229238 else
@@ -255,11 +264,12 @@ void __init gic_cascade_irq(unsigned int gic_nr, unsigned int irq) · 25 unmodified lines
255264 irq_set_chained_handler(irq, gic_handle_cascade_irq);
256265 }
257266
258−static void __init gic_dist_init(struct gic_chip_data *gic,
259− unsigned int irq_start)
267+static void __init gic_dist_init(struct gic_chip_data *gic)
260268 {
261− unsigned int gic_irqs, irq_limit, i;
269+ unsigned int i, irq;
262270 u32 cpumask;
271+ unsigned int gic_irqs = gic->gic_irqs;
272+ struct irq_domain *domain = &gic->domain;
263273 void __iomem *base = gic->dist_base;
264274 u32 cpu = 0;
265275
@@ -273,15 +283,6 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 7 unmodified lines
273283
274284 writel_relaxed(0, base + GIC_DIST_CTRL);
275285
276− /*
277− * Find out how many interrupts are supported.
278− * The GIC only supports up to 1020 interrupt sources.
279− */
280− gic_irqs = readl_relaxed(base + GIC_DIST_CTR) & 0x1f;
281− gic_irqs = (gic_irqs + 1) * 32;
282− if (gic_irqs > 1020)
283− gic_irqs = 1020;
284−
285286 /*
286287 * Set all global interrupts to be level triggered, active low.
287288 */
@@ -307,20 +308,21 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 19 unmodified lines
307308 for (i = 32; i < gic_irqs; i += 32)
308309 writel_relaxed(0xffffffff, base + GIC_DIST_ENABLE_CLEAR + i * 4 / 32);
309310
310− /*
311− * Limit number of interrupts registered to the platform maximum
312− */
313− irq_limit = gic->irq_offset + gic_irqs;
314− if (WARN_ON(irq_limit > NR_IRQS))
315− irq_limit = NR_IRQS;
316−
317311 /*
318312 * Setup the Linux IRQ subsystem.
319313 */
320− for (i = irq_start; i < irq_limit; i++) {
321− irq_set_chip_and_handler(i, &gic_chip, handle_fasteoi_irq);
322− irq_set_chip_data(i, gic);
323− set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
314+ irq_domain_for_each_irq(domain, i, irq) {
315+ if (i < 32) {
316+ irq_set_percpu_devid(irq);
317+ irq_set_chip_and_handler(irq, &gic_chip,
318+ handle_percpu_devid_irq);
319+ set_irq_flags(irq, IRQF_VALID | IRQF_NOAUTOEN);
320+ } else {
321+ irq_set_chip_and_handler(irq, &gic_chip,
322+ handle_fasteoi_irq);
323+ set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
324+ }
325+ irq_set_chip_data(irq, gic);
324326 }
325327
326328 writel_relaxed(1, base + GIC_DIST_CTRL);
@@ -349,23 +351,270 @@ static void __cpuinit gic_cpu_init(struct gic_chip_data *gic) · 22 unmodified lines
349351 writel_relaxed(1, base + GIC_CPU_CTRL);
350352 }
351353
352−void __init gic_init(unsigned int gic_nr, unsigned int irq_start,
354+#ifdef CONFIG_CPU_PM
355+/*
356+ * Saves the GIC distributor registers during suspend or idle. Must be called
357+ * with interrupts disabled but before powering down the GIC. After calling
358+ * this function, no interrupts will be delivered by the GIC, and another
359+ * platform-specific wakeup source must be enabled.
360+ */
361+static void gic_dist_save(unsigned int gic_nr)
362+{
363+ unsigned int gic_irqs;
364+ void __iomem *dist_base;
365+ int i;
366+
367+ if (gic_nr >= MAX_GIC_NR)
368+ BUG();
369+
370+ gic_irqs = gic_data[gic_nr].gic_irqs;
371+ dist_base = gic_data[gic_nr].dist_base;
372+
373+ if (!dist_base)
374+ return;
375+
376+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 16); i++)
377+ gic_data[gic_nr].saved_spi_conf[i] =
378+ readl_relaxed(dist_base + GIC_DIST_CONFIG + i * 4);
379+
380+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 4); i++)
381+ gic_data[gic_nr].saved_spi_target[i] =
382+ readl_relaxed(dist_base + GIC_DIST_TARGET + i * 4);
383+
384+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 32); i++)
385+ gic_data[gic_nr].saved_spi_enable[i] =
386+ readl_relaxed(dist_base + GIC_DIST_ENABLE_SET + i * 4);
387+}
388+
389+/*
390+ * Restores the GIC distributor registers during resume or when coming out of
391+ * idle. Must be called before enabling interrupts. If a level interrupt
392+ * that occured while the GIC was suspended is still present, it will be
393+ * handled normally, but any edge interrupts that occured will not be seen by
394+ * the GIC and need to be handled by the platform-specific wakeup source.
395+ */
396+static void gic_dist_restore(unsigned int gic_nr)
397+{
398+ unsigned int gic_irqs;
399+ unsigned int i;
400+ void __iomem *dist_base;
401+
402+ if (gic_nr >= MAX_GIC_NR)
403+ BUG();
404+
405+ gic_irqs = gic_data[gic_nr].gic_irqs;
406+ dist_base = gic_data[gic_nr].dist_base;
407+
408+ if (!dist_base)
409+ return;
410+
411+ writel_relaxed(0, dist_base + GIC_DIST_CTRL);
412+
413+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 16); i++)
414+ writel_relaxed(gic_data[gic_nr].saved_spi_conf[i],
415+ dist_base + GIC_DIST_CONFIG + i * 4);
416+
417+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 4); i++)
418+ writel_relaxed(0xa0a0a0a0,
419+ dist_base + GIC_DIST_PRI + i * 4);
420+
421+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 4); i++)
422+ writel_relaxed(gic_data[gic_nr].saved_spi_target[i],
423+ dist_base + GIC_DIST_TARGET + i * 4);
424+
425+ for (i = 0; i < DIV_ROUND_UP(gic_irqs, 32); i++)
426+ writel_relaxed(gic_data[gic_nr].saved_spi_enable[i],
427+ dist_base + GIC_DIST_ENABLE_SET + i * 4);
428+
429+ writel_relaxed(1, dist_base + GIC_DIST_CTRL);
430+}
431+
432+static void gic_cpu_save(unsigned int gic_nr)
433+{
434+ int i;
435+ u32 *ptr;
436+ void __iomem *dist_base;
437+ void __iomem *cpu_base;
438+
439+ if (gic_nr >= MAX_GIC_NR)
440+ BUG();
441+
442+ dist_base = gic_data[gic_nr].dist_base;
443+ cpu_base = gic_data[gic_nr].cpu_base;
444+
445+ if (!dist_base || !cpu_base)
446+ return;
447+
448+ ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
449+ for (i = 0; i < DIV_ROUND_UP(32, 32); i++)
450+ ptr[i] = readl_relaxed(dist_base + GIC_DIST_ENABLE_SET + i * 4);
451+
452+ ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
453+ for (i = 0; i < DIV_ROUND_UP(32, 16); i++)
454+ ptr[i] = readl_relaxed(dist_base + GIC_DIST_CONFIG + i * 4);
455+
456+}
457+
458+static void gic_cpu_restore(unsigned int gic_nr)
459+{
460+ int i;
461+ u32 *ptr;
462+ void __iomem *dist_base;
463+ void __iomem *cpu_base;
464+
465+ if (gic_nr >= MAX_GIC_NR)
466+ BUG();
467+
468+ dist_base = gic_data[gic_nr].dist_base;
469+ cpu_base = gic_data[gic_nr].cpu_base;
470+
471+ if (!dist_base || !cpu_base)
472+ return;
473+
474+ ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_enable);
475+ for (i = 0; i < DIV_ROUND_UP(32, 32); i++)
476+ writel_relaxed(ptr[i], dist_base + GIC_DIST_ENABLE_SET + i * 4);
477+
478+ ptr = __this_cpu_ptr(gic_data[gic_nr].saved_ppi_conf);
479+ for (i = 0; i < DIV_ROUND_UP(32, 16); i++)
480+ writel_relaxed(ptr[i], dist_base + GIC_DIST_CONFIG + i * 4);
481+
482+ for (i = 0; i < DIV_ROUND_UP(32, 4); i++)
483+ writel_relaxed(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4);
484+
485+ writel_relaxed(0xf0, cpu_base + GIC_CPU_PRIMASK);
486+ writel_relaxed(1, cpu_base + GIC_CPU_CTRL);
487+}
488+
489+static int gic_notifier(struct notifier_block *self, unsigned long cmd, void *v)
490+{
491+ int i;
492+
493+ for (i = 0; i < MAX_GIC_NR; i++) {
494+ switch (cmd) {
495+ case CPU_PM_ENTER:
496+ gic_cpu_save(i);
497+ break;
498+ case CPU_PM_ENTER_FAILED:
499+ case CPU_PM_EXIT:
500+ gic_cpu_restore(i);
501+ break;
502+ case CPU_CLUSTER_PM_ENTER:
503+ gic_dist_save(i);
504+ break;
505+ case CPU_CLUSTER_PM_ENTER_FAILED:
506+ case CPU_CLUSTER_PM_EXIT:
507+ gic_dist_restore(i);
508+ break;
509+ }
510+ }
511+
512+ return NOTIFY_OK;
513+}
514+
515+static struct notifier_block gic_notifier_block = {
516+ .notifier_call = gic_notifier,
517+};
518+
519+static void __init gic_pm_init(struct gic_chip_data *gic)
520+{
521+ gic->saved_ppi_enable = __alloc_percpu(DIV_ROUND_UP(32, 32) * 4,
522+ sizeof(u32));
523+ BUG_ON(!gic->saved_ppi_enable);
524+
525+ gic->saved_ppi_conf = __alloc_percpu(DIV_ROUND_UP(32, 16) * 4,
526+ sizeof(u32));
527+ BUG_ON(!gic->saved_ppi_conf);
528+
529+ cpu_pm_register_notifier(&gic_notifier_block);
530+}
531+#else
532+static void __init gic_pm_init(struct gic_chip_data *gic)
533+{
534+}
535+#endif
536+
537+#ifdef CONFIG_OF
538+static int gic_irq_domain_dt_translate(struct irq_domain *d,
539+ struct device_node *controller,
540+ const u32 *intspec, unsigned int intsize,
541+ unsigned long *out_hwirq, unsigned int *out_type)
542+{
543+ if (d->of_node != controller)
544+ return -EINVAL;
545+ if (intsize < 3)
546+ return -EINVAL;
547+
548+ /* Get the interrupt number and add 16 to skip over SGIs */
549+ *out_hwirq = intspec[1] + 16;
550+
551+ /* For SPIs, we need to add 16 more to get the GIC irq ID number */
552+ if (!intspec[0])
553+ *out_hwirq += 16;
554+
555+ *out_type = intspec[2] & IRQ_TYPE_SENSE_MASK;
556+ return 0;
557+}
558+#endif
559+
560+const struct irq_domain_ops gic_irq_domain_ops = {
561+#ifdef CONFIG_OF
562+ .dt_translate = gic_irq_domain_dt_translate,
563+#endif
564+};
565+
566+void __init gic_init(unsigned int gic_nr, int irq_start,
353567 void __iomem *dist_base, void __iomem *cpu_base)
354568 {
355569 struct gic_chip_data *gic;
570+ struct irq_domain *domain;
571+ int gic_irqs;
356572
357573 BUG_ON(gic_nr >= MAX_GIC_NR);
358574
359575 gic = &gic_data[gic_nr];
576+ domain = &gic->domain;
360577 gic->dist_base = dist_base;
361578 gic->cpu_base = cpu_base;
362− gic->irq_offset = (irq_start - 1) & ~31;
363579
364− if (gic_nr == 0)
580+ /*
581+ * For primary GICs, skip over SGIs.
582+ * For secondary GICs, skip over PPIs, too.
583+ */
584+ if (gic_nr == 0) {
365585 gic_cpu_base_addr = cpu_base;
586+ domain->hwirq_base = 16;
587+ if (irq_start > 0)
588+ irq_start = (irq_start & ~31) + 16;
589+ } else
590+ domain->hwirq_base = 32;
591+
592+ /*
593+ * Find out how many interrupts are supported.
594+ * The GIC only supports up to 1020 interrupt sources.
595+ */
596+ gic_irqs = readl_relaxed(dist_base + GIC_DIST_CTR) & 0x1f;
597+ gic_irqs = (gic_irqs + 1) * 32;
598+ if (gic_irqs > 1020)
599+ gic_irqs = 1020;
600+ gic->gic_irqs = gic_irqs;
601+
602+ domain->nr_irq = gic_irqs - domain->hwirq_base;
603+ domain->irq_base = irq_alloc_descs(irq_start, 16, domain->nr_irq,
604+ numa_node_id());
605+ if (IS_ERR_VALUE(domain->irq_base)) {
606+ WARN(1, "Cannot allocate irq_descs @ IRQ%d, assuming pre-allocated\n",
607+ irq_start);
608+ domain->irq_base = irq_start;
609+ }
610+ domain->priv = gic;
611+ domain->ops = &gic_irq_domain_ops;
612+ irq_domain_add(domain);
366613
367− gic_dist_init(gic, irq_start);
614+ gic_chip.flags |= gic_arch_extn.flags;
615+ gic_dist_init(gic);
368616 gic_cpu_init(gic);
617+ gic_pm_init(gic);
369618 }
370619
371620 void __cpuinit gic_secondary_init(unsigned int gic_nr)
@@ -375,16 +624,6 @@ void __cpuinit gic_secondary_init(unsigned int gic_nr) · 3 unmodified lines
375624 gic_cpu_init(&gic_data[gic_nr]);
376625 }
377626
378−void __cpuinit gic_enable_ppi(unsigned int irq)
379−{
380− unsigned long flags;
381−
382− local_irq_save(flags);
383− irq_set_status_flags(irq, IRQ_NOPROBE);
384− gic_unmask_irq(irq_get_irq_data(irq));
385− local_irq_restore(flags);
386−}
387−
388627 #ifdef CONFIG_SMP
389628 void gic_raise_softirq(const struct cpumask *mask, unsigned int irq)
390629 {
@@ -405,3 +644,35 @@ void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) · 14 unmodified lines
405644 writel_relaxed(map << 16 | irq, gic_data[0].dist_base + GIC_DIST_SOFTINT);
406645 }
407646 #endif
647+
648+#ifdef CONFIG_OF
649+static int gic_cnt __initdata = 0;
650+
651+int __init gic_of_init(struct device_node *node, struct device_node *parent)
652+{
653+ void __iomem *cpu_base;
654+ void __iomem *dist_base;
655+ int irq;
656+ struct irq_domain *domain = &gic_data[gic_cnt].domain;
657+
658+ if (WARN_ON(!node))
659+ return -ENODEV;
660+
661+ dist_base = of_iomap(node, 0);
662+ WARN(!dist_base, "unable to map gic dist registers\n");
663+
664+ cpu_base = of_iomap(node, 1);
665+ WARN(!cpu_base, "unable to map gic cpu registers\n");
666+
667+ domain->of_node = of_node_get(node);
668+
669+ gic_init(gic_cnt, -1, dist_base, cpu_base);
670+
671+ if (parent) {
672+ irq = irq_of_parse_and_map(node, 0);
673+ gic_cascade_irq(gic_cnt, irq);
674+ }
675+ gic_cnt++;
676+ return 0;
677+}
678+#endif
arch/arm/common/it8152.c+1−0
@@ -25,6 +25,7 @@ · 24 unmodified lines
2525 #include <linux/ioport.h>
2626 #include <linux/irq.h>
2727 #include <linux/io.h>
28+#include <linux/export.h>
2829
2930 #include <asm/mach/pci.h>
3031 #include <asm/hardware/it8152.h>
arch/arm/common/sa1111.c+8−1
@@ -718,6 +718,10 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq) · 717 unmodified lines
718718 goto err_free;
719719 }
720720
721+ ret = clk_prepare(sachip->clk);
722+ if (ret)
723+ goto err_clkput;
724+
721725 spin_lock_init(&sachip->lock);
722726
723727 sachip->dev = me;
@@ -733,7 +737,7 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq) · 9 unmodified lines
733737 sachip->base = ioremap(mem->start, PAGE_SIZE * 2);
734738 if (!sachip->base) {
735739 ret = -ENOMEM;
736− goto err_clkput;
740+ goto err_clk_unprep;
737741 }
738742
739743 /*
@@ -809,6 +813,8 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq) · 69 unmodified lines
809813
810814 err_unmap:
811815 iounmap(sachip->base);
816+ err_clk_unprep:
817+ clk_unprepare(sachip->clk);
812818 err_clkput:
813819 clk_put(sachip->clk);
814820 err_free:
@@ -835,6 +841,7 @@ static void __sa1111_remove(struct sa1111 *sachip) · 20 unmodified lines
835841 sa1111_writel(0, irqbase + SA1111_WAKEEN1);
836842
837843 clk_disable(sachip->clk);
844+ clk_unprepare(sachip->clk);
838845
839846 if (sachip->irq != NO_IRQ) {
840847 irq_set_chained_handler(sachip->irq, NULL);
arch/arm/common/scoop.c+2−1
@@ -12,11 +12,12 @@ · 11 unmodified lines
1212 */
1313
1414 #include <linux/device.h>
15+#include <linux/gpio.h>
1516 #include <linux/string.h>
1617 #include <linux/slab.h>
1718 #include <linux/platform_device.h>
19+#include <linux/export.h>
1820 #include <linux/io.h>
19−#include <asm/gpio.h>
2021 #include <asm/hardware/scoop.h>
2122
2223 /* PCMCIA to Scoop linkage
arch/arm/common/timer-sp.c+9−0
@@ -41,9 +41,17 @@ static long __init sp804_get_clock_rate(const char *name) · 40 unmodified lines
4141 return PTR_ERR(clk);
4242 }
4343
44+ err = clk_prepare(clk);
45+ if (err) {
46+ pr_err("sp804: %s clock failed to prepare: %d\n", name, err);
47+ clk_put(clk);
48+ return err;
49+ }
50+
4451 err = clk_enable(clk);
4552 if (err) {
4653 pr_err("sp804: %s clock failed to enable: %d\n", name, err);
54+ clk_unprepare(clk);
4755 clk_put(clk);
4856 return err;
4957 }
@@ -52,6 +60,7 @@ static long __init sp804_get_clock_rate(const char *name) · 2 unmodified lines
5260 if (rate < 0) {
5361 pr_err("sp804: %s clock failed to get rate: %ld\n", name, rate);
5462 clk_disable(clk);
63+ clk_unprepare(clk);
5564 clk_put(clk);
5665 }
5766
arch/arm/configs/at91sam9g45_defconfig+214−0
@@ -0,0 +1,214 @@
1+CONFIG_EXPERIMENTAL=y
2+# CONFIG_LOCALVERSION_AUTO is not set
3+# CONFIG_SWAP is not set
4+CONFIG_SYSVIPC=y
5+CONFIG_LOG_BUF_SHIFT=14
6+CONFIG_SYSFS_DEPRECATED=y
7+CONFIG_SYSFS_DEPRECATED_V2=y
8+CONFIG_BLK_DEV_INITRD=y
9+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
10+CONFIG_EMBEDDED=y
11+CONFIG_SLAB=y
12+CONFIG_MODULES=y
13+CONFIG_MODULE_UNLOAD=y
14+# CONFIG_LBDAF is not set
15+# CONFIG_BLK_DEV_BSG is not set
16+# CONFIG_IOSCHED_DEADLINE is not set
17+# CONFIG_IOSCHED_CFQ is not set
18+CONFIG_ARCH_AT91=y
19+CONFIG_ARCH_AT91SAM9G45=y
20+CONFIG_MACH_AT91SAM9M10G45EK=y
21+CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
22+CONFIG_AT91_SLOW_CLOCK=y
23+CONFIG_AEABI=y
24+# CONFIG_OABI_COMPAT is not set
25+CONFIG_LEDS=y
26+CONFIG_LEDS_CPU=y
27+CONFIG_UACCESS_WITH_MEMCPY=y
28+CONFIG_ZBOOT_ROM_TEXT=0x0
29+CONFIG_ZBOOT_ROM_BSS=0x0
30+CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x71100000,25165824 root=/dev/ram0 rw"
31+CONFIG_AUTO_ZRELADDR=y
32+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
33+CONFIG_NET=y
34+CONFIG_PACKET=y
35+CONFIG_UNIX=y
36+CONFIG_INET=y
37+CONFIG_IP_MULTICAST=y
38+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
39+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
40+# CONFIG_INET_XFRM_MODE_BEET is not set
41+# CONFIG_INET_DIAG is not set
42+CONFIG_IPV6=y
43+# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
44+# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
45+# CONFIG_INET6_XFRM_MODE_BEET is not set
46+CONFIG_IPV6_SIT_6RD=y
47+CONFIG_CFG80211=y
48+CONFIG_LIB80211=y
49+CONFIG_MAC80211=y
50+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
51+CONFIG_DEVTMPFS=y
52+CONFIG_DEVTMPFS_MOUNT=y
53+# CONFIG_STANDALONE is not set
54+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
55+CONFIG_MTD=y
56+CONFIG_MTD_CMDLINE_PARTS=y
57+CONFIG_MTD_CHAR=y
58+CONFIG_MTD_BLOCK=y
59+CONFIG_MTD_DATAFLASH=y
60+CONFIG_MTD_NAND=y
61+CONFIG_MTD_NAND_ATMEL=y
62+CONFIG_MTD_UBI=y
63+CONFIG_BLK_DEV_LOOP=y
64+CONFIG_BLK_DEV_RAM=y
65+CONFIG_BLK_DEV_RAM_COUNT=4
66+CONFIG_BLK_DEV_RAM_SIZE=8192
67+CONFIG_MISC_DEVICES=y
68+CONFIG_ATMEL_PWM=y
69+CONFIG_ATMEL_TCLIB=y
70+CONFIG_SCSI=y
71+CONFIG_BLK_DEV_SD=y
72+CONFIG_SCSI_MULTI_LUN=y
73+# CONFIG_SCSI_LOWLEVEL is not set
74+CONFIG_NETDEVICES=y
75+CONFIG_MII=y
76+CONFIG_DAVICOM_PHY=y
77+CONFIG_NET_ETHERNET=y
78+CONFIG_MACB=y
79+# CONFIG_NETDEV_1000 is not set
80+# CONFIG_NETDEV_10000 is not set
81+CONFIG_LIBERTAS_THINFIRM=m
82+CONFIG_LIBERTAS_THINFIRM_USB=m
83+CONFIG_AT76C50X_USB=m
84+CONFIG_USB_ZD1201=m
85+CONFIG_RTL8187=m
86+CONFIG_ATH_COMMON=m
87+CONFIG_ATH9K=m
88+CONFIG_CARL9170=m
89+CONFIG_B43=m
90+CONFIG_B43_PHY_N=y
91+CONFIG_LIBERTAS=m
92+CONFIG_LIBERTAS_USB=m
93+CONFIG_LIBERTAS_SDIO=m
94+CONFIG_LIBERTAS_SPI=m
95+CONFIG_RT2X00=m
96+CONFIG_RT2500USB=m
97+CONFIG_RT73USB=m
98+CONFIG_RT2800USB=m
99+CONFIG_RT2800USB_RT53XX=y
100+CONFIG_RT2800USB_UNKNOWN=y
101+CONFIG_RTL8192CU=m
102+CONFIG_WL1251=m
103+CONFIG_WL1251_SDIO=m
104+CONFIG_WL12XX_MENU=m
105+CONFIG_WL12XX=m
106+CONFIG_WL12XX_SDIO=m
107+CONFIG_ZD1211RW=m
108+CONFIG_MWIFIEX=m
109+CONFIG_MWIFIEX_SDIO=m
110+CONFIG_INPUT_POLLDEV=m
111+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
112+CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
113+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
114+CONFIG_INPUT_JOYDEV=y
115+CONFIG_INPUT_EVDEV=y
116+# CONFIG_KEYBOARD_ATKBD is not set
117+CONFIG_KEYBOARD_QT1070=m
118+CONFIG_KEYBOARD_QT2160=m
119+CONFIG_KEYBOARD_GPIO=y
120+# CONFIG_INPUT_MOUSE is not set
121+CONFIG_INPUT_TOUCHSCREEN=y
122+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
123+CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
124+# CONFIG_SERIO is not set
125+CONFIG_LEGACY_PTY_COUNT=4
126+CONFIG_SERIAL_ATMEL=y
127+CONFIG_SERIAL_ATMEL_CONSOLE=y
128+CONFIG_HW_RANDOM=y
129+CONFIG_I2C=y
130+CONFIG_I2C_GPIO=y
131+CONFIG_SPI=y
132+CONFIG_SPI_ATMEL=y
133+# CONFIG_HWMON is not set
134+# CONFIG_MFD_SUPPORT is not set
135+CONFIG_FB=y
136+CONFIG_FB_ATMEL=y
137+CONFIG_FB_UDL=m
138+CONFIG_BACKLIGHT_LCD_SUPPORT=y
139+# CONFIG_LCD_CLASS_DEVICE is not set
140+CONFIG_BACKLIGHT_CLASS_DEVICE=y
141+CONFIG_BACKLIGHT_ATMEL_LCDC=y
142+# CONFIG_BACKLIGHT_GENERIC is not set
143+CONFIG_SOUND=y
144+CONFIG_SND=y
145+CONFIG_SND_SEQUENCER=y
146+CONFIG_SND_MIXER_OSS=y
147+CONFIG_SND_PCM_OSS=y
148+# CONFIG_SND_SUPPORT_OLD_API is not set
149+# CONFIG_SND_VERBOSE_PROCFS is not set
150+# CONFIG_SND_DRIVERS is not set
151+# CONFIG_SND_ARM is not set
152+CONFIG_SND_ATMEL_AC97C=y
153+# CONFIG_SND_SPI is not set
154+CONFIG_SND_USB_AUDIO=m
155+# CONFIG_USB_HID is not set
156+CONFIG_USB=y
157+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
158+CONFIG_USB_DEVICEFS=y
159+# CONFIG_USB_DEVICE_CLASS is not set
160+CONFIG_USB_EHCI_HCD=y
161+CONFIG_USB_OHCI_HCD=y
162+CONFIG_USB_ACM=y
163+CONFIG_USB_STORAGE=y
164+CONFIG_USB_GADGET=y
165+CONFIG_USB_ATMEL_USBA=m
166+CONFIG_USB_ZERO=m
167+CONFIG_USB_AUDIO=m
168+CONFIG_USB_ETH=m
169+CONFIG_USB_ETH_EEM=y
170+CONFIG_USB_MASS_STORAGE=m
171+CONFIG_USB_G_SERIAL=m
172+CONFIG_USB_CDC_COMPOSITE=m
173+CONFIG_USB_G_MULTI=m
174+CONFIG_USB_G_MULTI_CDC=y
175+CONFIG_MMC=y
176+# CONFIG_MMC_BLOCK_BOUNCE is not set
177+CONFIG_SDIO_UART=m
178+CONFIG_MMC_ATMELMCI=y
179+CONFIG_MMC_ATMELMCI_DMA=y
180+CONFIG_LEDS_ATMEL_PWM=y
181+CONFIG_LEDS_GPIO=y
182+CONFIG_LEDS_TRIGGER_TIMER=y
183+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
184+CONFIG_LEDS_TRIGGER_GPIO=y
185+CONFIG_RTC_CLASS=y
186+CONFIG_RTC_DRV_AT91RM9200=y
187+CONFIG_DMADEVICES=y
188+CONFIG_AT_HDMAC=y
189+CONFIG_DMATEST=m
190+# CONFIG_IOMMU_SUPPORT is not set
191+CONFIG_EXT2_FS=y
192+CONFIG_FANOTIFY=y
193+CONFIG_VFAT_FS=y
194+CONFIG_TMPFS=y
195+CONFIG_JFFS2_FS=y
196+CONFIG_JFFS2_SUMMARY=y
197+CONFIG_CRAMFS=m
198+CONFIG_SQUASHFS=m
199+CONFIG_SQUASHFS_EMBEDDED=y
200+CONFIG_NFS_FS=y
201+CONFIG_NFS_V3=y
202+CONFIG_NLS_CODEPAGE_437=y
203+CONFIG_NLS_CODEPAGE_850=y
204+CONFIG_NLS_ISO8859_1=y
205+CONFIG_STRIP_ASM_SYMS=y
206+# CONFIG_SCHED_DEBUG is not set
207+CONFIG_DEBUG_MEMORY_INIT=y
208+# CONFIG_FTRACE is not set
209+CONFIG_DEBUG_USER=y
210+CONFIG_CRYPTO_ECB=y
211+# CONFIG_CRYPTO_ANSI_CPRNG is not set
212+CONFIG_CRYPTO_USER_API_HASH=m
213+CONFIG_CRYPTO_USER_API_SKCIPHER=m
214+# CONFIG_CRYPTO_HW is not set
arch/arm/configs/exynos4_defconfig+3−7
@@ -4,18 +4,18 @@ CONFIG_KALLSYMS_ALL=y · 3 unmodified lines
44 CONFIG_MODULES=y
55 CONFIG_MODULE_UNLOAD=y
66 # CONFIG_BLK_DEV_BSG is not set
7−CONFIG_ARCH_EXYNOS4=y
7+CONFIG_ARCH_EXYNOS=y
88 CONFIG_S3C_LOWLEVEL_UART_PORT=1
99 CONFIG_MACH_SMDKC210=y
10−CONFIG_MACH_SMDKV310=y
1110 CONFIG_MACH_ARMLEX4210=y
1211 CONFIG_MACH_UNIVERSAL_C210=y
1312 CONFIG_MACH_NURI=y
13+CONFIG_MACH_ORIGEN=y
14+CONFIG_MACH_SMDK4412=y
1415 CONFIG_NO_HZ=y
1516 CONFIG_HIGH_RES_TIMERS=y
1617 CONFIG_SMP=y
1718 CONFIG_NR_CPUS=2
18−CONFIG_HOTPLUG_CPU=y
1919 CONFIG_PREEMPT=y
2020 CONFIG_AEABI=y
2121 CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc mem=256M"
@@ -60,13 +60,9 @@ CONFIG_DETECT_HUNG_TASK=y · 38 unmodified lines
6060 CONFIG_DEBUG_RT_MUTEXES=y
6161 CONFIG_DEBUG_SPINLOCK=y
6262 CONFIG_DEBUG_MUTEXES=y
63−CONFIG_DEBUG_SPINLOCK_SLEEP=y
6463 CONFIG_DEBUG_INFO=y
65−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
6664 CONFIG_SYSCTL_SYSCALL_CHECK=y
6765 CONFIG_DEBUG_USER=y
68−CONFIG_DEBUG_ERRORS=y
6966 CONFIG_DEBUG_LL=y
7067 CONFIG_EARLY_PRINTK=y
71−CONFIG_DEBUG_S3C_UART=1
7268 CONFIG_CRC_CCITT=y
arch/arm/configs/imx_v4_v5_defconfigrenamed from arch/arm/configs/mx27_defconfig+54−14
@@ -3,9 +3,7 @@ CONFIG_EXPERIMENTAL=y · 2 unmodified lines
33 CONFIG_SYSVIPC=y
44 CONFIG_POSIX_MQUEUE=y
55 CONFIG_LOG_BUF_SHIFT=14
6−# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
76 CONFIG_EXPERT=y
8−CONFIG_KALLSYMS_EXTRA_PASS=y
97 # CONFIG_COMPAT_BRK is not set
108 CONFIG_SLAB=y
119 CONFIG_PROFILING=y
@@ -17,8 +15,12 @@ CONFIG_MODULE_UNLOAD=y · 5 unmodified lines
1715 # CONFIG_IOSCHED_DEADLINE is not set
1816 # CONFIG_IOSCHED_CFQ is not set
1917 CONFIG_ARCH_MXC=y
20−CONFIG_ARCH_MX2=y
21−CONFIG_MACH_MX27=y
18+CONFIG_ARCH_IMX_V4_V5=y
19+CONFIG_ARCH_MX1ADS=y
20+CONFIG_MACH_SCB9328=y
21+CONFIG_MACH_MX21ADS=y
22+CONFIG_MACH_MX25_3DS=y
23+CONFIG_MACH_EUKREA_CPUIMX25=y
2224 CONFIG_MACH_MX27ADS=y
2325 CONFIG_MACH_PCM038=y
2426 CONFIG_MACH_CPUIMX27=y
@@ -29,6 +31,7 @@ CONFIG_MACH_IMX27_VISSTRIM_M10=y · 4 unmodified lines
2931 CONFIG_MACH_IMX27LITE=y
3032 CONFIG_MACH_PCA100=y
3133 CONFIG_MACH_MXT_TD60=y
34+CONFIG_MACH_IMX27IPCAM=y
3235 CONFIG_MXC_IRQ_PRIOR=y
3336 CONFIG_MXC_PWM=y
3437 CONFIG_NO_HZ=y
@@ -39,7 +42,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 · 4 unmodified lines
3942 CONFIG_ZBOOT_ROM_BSS=0x0
4043 CONFIG_FPE_NWFPE=y
4144 CONFIG_FPE_NWFPE_XP=y
42−CONFIG_PM=y
4345 CONFIG_PM_DEBUG=y
4446 CONFIG_NET=y
4547 CONFIG_PACKET=y
@@ -55,8 +57,9 @@ CONFIG_IP_PNP_DHCP=y · 9 unmodified lines
5557 # CONFIG_INET_DIAG is not set
5658 # CONFIG_IPV6 is not set
5759 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
60+CONFIG_DEVTMPFS=y
61+CONFIG_DEVTMPFS_MOUNT=y
5862 CONFIG_MTD=y
59−CONFIG_MTD_PARTITIONS=y
6063 CONFIG_MTD_CMDLINE_PARTS=y
6164 CONFIG_MTD_CHAR=y
6265 CONFIG_MTD_BLOCK=y
@@ -69,12 +72,15 @@ CONFIG_MTD_CFI_GEOMETRY=y · 6 unmodified lines
6972 CONFIG_MTD_CFI_INTELEXT=y
7073 CONFIG_MTD_PHYSMAP=y
7174 CONFIG_MTD_NAND=y
72−CONFIG_MTD_NAND_MXC=y
7375 CONFIG_MTD_UBI=y
76+CONFIG_MISC_DEVICES=y
7477 CONFIG_EEPROM_AT24=y
78+CONFIG_EEPROM_AT25=y
7579 CONFIG_NETDEVICES=y
7680 CONFIG_NET_ETHERNET=y
77−CONFIG_FEC=y
81+CONFIG_SMC91X=y
82+CONFIG_DM9000=y
83+CONFIG_SMC911X=y
7884 # CONFIG_NETDEV_1000 is not set
7985 # CONFIG_NETDEV_10000 is not set
8086 # CONFIG_INPUT_MOUSEDEV is not set
@@ -84,10 +90,10 @@ CONFIG_INPUT_EVDEV=y · 3 unmodified lines
8490 CONFIG_INPUT_TOUCHSCREEN=y
8591 CONFIG_TOUCHSCREEN_ADS7846=m
8692 # CONFIG_SERIO is not set
93+# CONFIG_LEGACY_PTYS is not set
8794 CONFIG_SERIAL_8250=m
8895 CONFIG_SERIAL_IMX=y
8996 CONFIG_SERIAL_IMX_CONSOLE=y
90−# CONFIG_LEGACY_PTYS is not set
9197 # CONFIG_HW_RANDOM is not set
9298 CONFIG_I2C=y
9399 CONFIG_I2C_CHARDEV=y
@@ -98,19 +104,56 @@ CONFIG_W1=y · 4 unmodified lines
98104 CONFIG_W1_MASTER_MXC=y
99105 CONFIG_W1_SLAVE_THERM=y
100106 # CONFIG_HWMON is not set
107+CONFIG_WATCHDOG=y
108+CONFIG_IMX2_WDT=y
109+CONFIG_MFD_MC13XXX=y
110+CONFIG_REGULATOR=y
111+CONFIG_REGULATOR_MC13783=y
112+CONFIG_REGULATOR_MC13892=y
101113 CONFIG_FB=y
102114 CONFIG_FB_IMX=y
115+CONFIG_BACKLIGHT_LCD_SUPPORT=y
116+CONFIG_LCD_CLASS_DEVICE=y
117+CONFIG_BACKLIGHT_CLASS_DEVICE=y
118+CONFIG_BACKLIGHT_PWM=y
103119 CONFIG_FRAMEBUFFER_CONSOLE=y
104120 CONFIG_FONTS=y
105121 CONFIG_FONT_8x8=y
106−# CONFIG_HID_SUPPORT is not set
107−CONFIG_USB=m
122+CONFIG_LOGO=y
123+CONFIG_SOUND=y
124+CONFIG_SND=y
125+# CONFIG_SND_ARM is not set
126+# CONFIG_SND_SPI is not set
127+CONFIG_SND_SOC=y
128+CONFIG_SND_IMX_SOC=y
129+CONFIG_SND_SOC_MX27VIS_AIC32X4=y
130+CONFIG_SND_SOC_PHYCORE_AC97=y
131+CONFIG_SND_SOC_EUKREA_TLV320=y
132+CONFIG_USB_HID=m
133+CONFIG_USB=y
108134 # CONFIG_USB_DEVICE_CLASS is not set
135+CONFIG_USB_EHCI_HCD=y
136+CONFIG_USB_EHCI_MXC=y
109137 CONFIG_USB_ULPI=y
110138 CONFIG_MMC=y
111139 CONFIG_MMC_MXC=y
140+CONFIG_NEW_LEDS=y
141+CONFIG_LEDS_CLASS=y
142+CONFIG_LEDS_MC13783=y
143+CONFIG_LEDS_TRIGGERS=y
144+CONFIG_LEDS_TRIGGER_TIMER=y
145+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
146+CONFIG_LEDS_TRIGGER_BACKLIGHT=y
147+CONFIG_LEDS_TRIGGER_GPIO=y
148+CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
112149 CONFIG_RTC_CLASS=y
113150 CONFIG_RTC_DRV_PCF8563=y
151+CONFIG_RTC_DRV_IMXDI=y
152+CONFIG_RTC_MXC=y
153+CONFIG_DMADEVICES=y
154+CONFIG_IMX_SDMA=y
155+CONFIG_IMX_DMA=y
156+# CONFIG_IOMMU_SUPPORT is not set
114157 # CONFIG_DNOTIFY is not set
115158 # CONFIG_PROC_PAGE_MONITOR is not set
116159 CONFIG_TMPFS=y
@@ -119,12 +162,9 @@ CONFIG_UBIFS_FS=y · 2 unmodified lines
119162 CONFIG_NFS_FS=y
120163 CONFIG_NFS_V3=y
121164 CONFIG_ROOT_NFS=y
122−CONFIG_NLS=y
123165 CONFIG_NLS_CODEPAGE_437=m
124166 CONFIG_NLS_CODEPAGE_850=m
125167 CONFIG_NLS_ISO8859_1=y
126168 CONFIG_NLS_ISO8859_15=m
127−CONFIG_DEBUG_FS=y
128−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
129169 CONFIG_SYSCTL_SYSCALL_CHECK=y
130170 # CONFIG_CRYPTO_ANSI_CPRNG is not set
arch/arm/configs/mx1_defconfig+0−91
@@ -1,91 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_IKCONFIG=y
4−CONFIG_IKCONFIG_PROC=y
5−CONFIG_LOG_BUF_SHIFT=14
6−CONFIG_SYSFS_DEPRECATED_V2=y
7−CONFIG_EXPERT=y
8−CONFIG_SLAB=y
9−CONFIG_MODULES=y
10−CONFIG_MODULE_UNLOAD=y
11−CONFIG_MODULE_FORCE_UNLOAD=y
12−CONFIG_MODVERSIONS=y
13−# CONFIG_BLK_DEV_BSG is not set
14−CONFIG_ARCH_MXC=y
15−CONFIG_ARCH_MX1=y
16−CONFIG_ARCH_MX1ADS=y
17−CONFIG_MACH_SCB9328=y
18−CONFIG_MACH_APF9328=y
19−CONFIG_MXC_IRQ_PRIOR=y
20−CONFIG_NO_HZ=y
21−CONFIG_HIGH_RES_TIMERS=y
22−CONFIG_PREEMPT=y
23−CONFIG_AEABI=y
24−CONFIG_ZBOOT_ROM_TEXT=0x0
25−CONFIG_ZBOOT_ROM_BSS=0x0
26−CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off"
27−CONFIG_PM=y
28−CONFIG_PM_DEBUG=y
29−CONFIG_NET=y
30−CONFIG_PACKET=y
31−CONFIG_UNIX=y
32−CONFIG_INET=y
33−CONFIG_IP_PNP=y
34−CONFIG_IP_PNP_DHCP=y
35−# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
36−# CONFIG_INET_XFRM_MODE_TUNNEL is not set
37−# CONFIG_INET_XFRM_MODE_BEET is not set
38−# CONFIG_INET_LRO is not set
39−# CONFIG_INET_DIAG is not set
40−# CONFIG_IPV6 is not set
41−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
42−CONFIG_FW_LOADER=m
43−CONFIG_MTD=y
44−CONFIG_MTD_PARTITIONS=y
45−CONFIG_MTD_CMDLINE_PARTS=y
46−CONFIG_MTD_CHAR=y
47−CONFIG_MTD_BLOCK=y
48−CONFIG_MTD_CFI=y
49−CONFIG_MTD_PHYSMAP=y
50−# CONFIG_BLK_DEV is not set
51−# CONFIG_MISC_DEVICES is not set
52−CONFIG_NETDEVICES=y
53−CONFIG_PHYLIB=y
54−CONFIG_SMSC_PHY=y
55−CONFIG_NET_ETHERNET=y
56−CONFIG_DM9000=y
57−# CONFIG_NETDEV_1000 is not set
58−# CONFIG_NETDEV_10000 is not set
59−# CONFIG_INPUT is not set
60−# CONFIG_SERIO is not set
61−# CONFIG_VT is not set
62−CONFIG_SERIAL_IMX=y
63−CONFIG_SERIAL_IMX_CONSOLE=y
64−# CONFIG_LEGACY_PTYS is not set
65−# CONFIG_HW_RANDOM is not set
66−CONFIG_I2C=y
67−CONFIG_I2C_CHARDEV=y
68−CONFIG_I2C_IMX=y
69−CONFIG_W1=y
70−CONFIG_W1_MASTER_MXC=y
71−CONFIG_W1_SLAVE_THERM=y
72−# CONFIG_HWMON is not set
73−CONFIG_FB=y
74−CONFIG_USB_GADGET=y
75−CONFIG_USB_GADGET_IMX=y
76−CONFIG_USB_ETH=m
77−CONFIG_MMC=y
78−CONFIG_MMC_MXC=y
79−# CONFIG_DNOTIFY is not set
80−CONFIG_INOTIFY=y
81−CONFIG_TMPFS=y
82−CONFIG_JFFS2_FS=y
83−CONFIG_NFS_FS=y
84−CONFIG_NFS_V3=y
85−CONFIG_NFS_V4=y
86−CONFIG_ROOT_NFS=y
87−# CONFIG_ENABLE_WARN_DEPRECATED is not set
88−# CONFIG_ENABLE_MUST_CHECK is not set
89−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
90−CONFIG_SYSCTL_SYSCALL_CHECK=y
91−# CONFIG_CRYPTO_ANSI_CPRNG is not set
arch/arm/configs/mx21_defconfig+0−97
@@ -1,97 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−# CONFIG_SWAP is not set
3−CONFIG_SYSVIPC=y
4−CONFIG_LOG_BUF_SHIFT=14
5−CONFIG_SYSFS_DEPRECATED_V2=y
6−# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
7−CONFIG_EXPERT=y
8−CONFIG_KALLSYMS_EXTRA_PASS=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−# CONFIG_BLK_DEV_BSG is not set
13−# CONFIG_IOSCHED_DEADLINE is not set
14−# CONFIG_IOSCHED_CFQ is not set
15−CONFIG_ARCH_MXC=y
16−CONFIG_ARCH_MX2=y
17−CONFIG_MACH_MX21ADS=y
18−CONFIG_MXC_PWM=y
19−CONFIG_NO_HZ=y
20−CONFIG_HIGH_RES_TIMERS=y
21−CONFIG_PREEMPT=y
22−CONFIG_AEABI=y
23−CONFIG_ZBOOT_ROM_TEXT=0x0
24−CONFIG_ZBOOT_ROM_BSS=0x0
25−CONFIG_NET=y
26−CONFIG_INET=y
27−CONFIG_IP_PNP=y
28−CONFIG_IP_PNP_DHCP=y
29−CONFIG_IP_PNP_BOOTP=y
30−# CONFIG_INET_XFRM_MODE_TUNNEL is not set
31−# CONFIG_INET_XFRM_MODE_BEET is not set
32−# CONFIG_INET_LRO is not set
33−# CONFIG_INET_DIAG is not set
34−# CONFIG_IPV6 is not set
35−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
36−# CONFIG_FW_LOADER is not set
37−CONFIG_MTD=y
38−CONFIG_MTD_DEBUG=y
39−CONFIG_MTD_DEBUG_VERBOSE=3
40−CONFIG_MTD_PARTITIONS=y
41−CONFIG_MTD_REDBOOT_PARTS=y
42−CONFIG_MTD_CMDLINE_PARTS=y
43−CONFIG_MTD_CHAR=y
44−CONFIG_MTD_BLOCK=y
45−CONFIG_MTD_CFI=y
46−CONFIG_MTD_CFI_ADV_OPTIONS=y
47−CONFIG_MTD_CFI_GEOMETRY=y
48−# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
49−CONFIG_MTD_CFI_AMDSTD=y
50−CONFIG_MTD_PHYSMAP=y
51−CONFIG_MTD_NAND=y
52−CONFIG_MTD_NAND_MXC=y
53−CONFIG_NETDEVICES=y
54−CONFIG_NET_ETHERNET=y
55−CONFIG_MII=y
56−# CONFIG_NETDEV_1000 is not set
57−# CONFIG_NETDEV_10000 is not set
58−# CONFIG_INPUT_MOUSEDEV is not set
59−CONFIG_INPUT_EVDEV=y
60−# CONFIG_INPUT_KEYBOARD is not set
61−# CONFIG_INPUT_MOUSE is not set
62−CONFIG_INPUT_TOUCHSCREEN=y
63−# CONFIG_SERIO is not set
64−# CONFIG_CONSOLE_TRANSLATIONS is not set
65−CONFIG_SERIAL_8250=y
66−CONFIG_SERIAL_8250_CONSOLE=y
67−CONFIG_SERIAL_8250_NR_UARTS=1
68−CONFIG_SERIAL_IMX=y
69−CONFIG_SERIAL_IMX_CONSOLE=y
70−# CONFIG_LEGACY_PTYS is not set
71−# CONFIG_HW_RANDOM is not set
72−CONFIG_I2C=y
73−CONFIG_I2C_CHARDEV=y
74−CONFIG_I2C_IMX=y
75−CONFIG_SPI=y
76−# CONFIG_HWMON is not set
77−CONFIG_FB=y
78−CONFIG_FB_IMX=y
79−# CONFIG_VGA_CONSOLE is not set
80−CONFIG_FRAMEBUFFER_CONSOLE=y
81−CONFIG_FONTS=y
82−CONFIG_FONT_8x8=y
83−CONFIG_LOGO=y
84−# CONFIG_HID_SUPPORT is not set
85−# CONFIG_USB_SUPPORT is not set
86−CONFIG_MMC=y
87−CONFIG_MMC_MXC=y
88−# CONFIG_DNOTIFY is not set
89−CONFIG_MSDOS_FS=y
90−CONFIG_TMPFS=y
91−CONFIG_JFFS2_FS=y
92−CONFIG_NFS_FS=y
93−CONFIG_NFS_V3=y
94−CONFIG_ROOT_NFS=y
95−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
96−CONFIG_SYSCTL_SYSCALL_CHECK=y
97−# CONFIG_CRYPTO_ANSI_CPRNG is not set
arch/arm/configs/mx3_defconfig+33−13
@@ -3,7 +3,6 @@ CONFIG_SYSVIPC=y · 2 unmodified lines
33 CONFIG_IKCONFIG=y
44 CONFIG_IKCONFIG_PROC=y
55 CONFIG_LOG_BUF_SHIFT=14
6−CONFIG_SYSFS_DEPRECATED_V2=y
76 CONFIG_EXPERT=y
87 CONFIG_SLAB=y
98 CONFIG_MODULES=y
@@ -13,20 +12,21 @@ CONFIG_MODVERSIONS=y · 3 unmodified lines
1312 # CONFIG_BLK_DEV_BSG is not set
1413 CONFIG_ARCH_MXC=y
1514 CONFIG_MACH_MX31ADS_WM1133_EV1=y
15+CONFIG_MACH_MX31LILLY=y
16+CONFIG_MACH_MX31LITE=y
1617 CONFIG_MACH_PCM037=y
1718 CONFIG_MACH_PCM037_EET=y
18−CONFIG_MACH_MX31LITE=y
1919 CONFIG_MACH_MX31_3DS=y
2020 CONFIG_MACH_MX31MOBOARD=y
21−CONFIG_MACH_MX31LILLY=y
2221 CONFIG_MACH_QONG=y
23−CONFIG_MACH_PCM043=y
2422 CONFIG_MACH_ARMADILLO5X0=y
25−CONFIG_MACH_MX35_3DS=y
2623 CONFIG_MACH_KZM_ARM11_01=y
24+CONFIG_MACH_PCM043=y
25+CONFIG_MACH_MX35_3DS=y
2726 CONFIG_MACH_EUKREA_CPUIMX35=y
2827 CONFIG_MXC_IRQ_PRIOR=y
2928 CONFIG_MXC_PWM=y
29+CONFIG_ARM_ERRATA_411920=y
3030 CONFIG_NO_HZ=y
3131 CONFIG_HIGH_RES_TIMERS=y
3232 CONFIG_PREEMPT=y
@@ -35,7 +35,6 @@ CONFIG_ZBOOT_ROM_TEXT=0x0 · 2 unmodified lines
3535 CONFIG_ZBOOT_ROM_BSS=0x0
3636 CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mtdblock2 rw ip=off"
3737 CONFIG_VFP=y
38−CONFIG_PM=y
3938 CONFIG_PM_DEBUG=y
4039 CONFIG_NET=y
4140 CONFIG_PACKET=y
@@ -52,7 +51,6 @@ CONFIG_IP_PNP_DHCP=y · 10 unmodified lines
5251 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
5352 CONFIG_FW_LOADER=m
5453 CONFIG_MTD=y
55−CONFIG_MTD_PARTITIONS=y
5654 CONFIG_MTD_CMDLINE_PARTS=y
5755 CONFIG_MTD_CHAR=y
5856 CONFIG_MTD_BLOCK=y
@@ -62,24 +60,27 @@ CONFIG_MTD_NAND=y · 3 unmodified lines
6260 CONFIG_MTD_NAND_MXC=y
6361 CONFIG_MTD_UBI=y
6462 # CONFIG_BLK_DEV is not set
63+CONFIG_MISC_DEVICES=y
6564 CONFIG_EEPROM_AT24=y
6665 CONFIG_NETDEVICES=y
6766 CONFIG_SMSC_PHY=y
6867 CONFIG_NET_ETHERNET=y
6968 CONFIG_SMSC911X=y
7069 CONFIG_DNET=y
71−CONFIG_FEC=y
7270 # CONFIG_NETDEV_1000 is not set
7371 # CONFIG_NETDEV_10000 is not set
74−# CONFIG_INPUT is not set
72+# CONFIG_INPUT_MOUSEDEV is not set
73+# CONFIG_KEYBOARD_ATKBD is not set
74+CONFIG_KEYBOARD_IMX=y
75+# CONFIG_INPUT_MOUSE is not set
7576 # CONFIG_SERIO is not set
7677 # CONFIG_VT is not set
78+# CONFIG_LEGACY_PTYS is not set
7779 CONFIG_SERIAL_8250=m
7880 CONFIG_SERIAL_8250_EXTENDED=y
7981 CONFIG_SERIAL_8250_SHARE_IRQ=y
8082 CONFIG_SERIAL_IMX=y
8183 CONFIG_SERIAL_IMX_CONSOLE=y
82−# CONFIG_LEGACY_PTYS is not set
8384 # CONFIG_HW_RANDOM is not set
8485 CONFIG_I2C=y
8586 CONFIG_I2C_CHARDEV=y
@@ -89,12 +90,15 @@ CONFIG_W1=y · 3 unmodified lines
8990 CONFIG_W1_MASTER_MXC=y
9091 CONFIG_W1_SLAVE_THERM=y
9192 # CONFIG_HWMON is not set
93+CONFIG_WATCHDOG=y
94+CONFIG_IMX2_WDT=y
9295 CONFIG_MFD_WM8350_I2C=y
9396 CONFIG_REGULATOR=y
9497 CONFIG_REGULATOR_WM8350=y
9598 CONFIG_MEDIA_SUPPORT=y
9699 CONFIG_VIDEO_DEV=y
97−# CONFIG_VIDEO_ALLOW_V4L1 is not set
100+# CONFIG_RC_CORE is not set
101+# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
98102 CONFIG_SOC_CAMERA=y
99103 CONFIG_SOC_CAMERA_MT9M001=y
100104 CONFIG_SOC_CAMERA_MT9M111=y
@@ -105,9 +109,26 @@ CONFIG_SOC_CAMERA_OV772X=y · 4 unmodified lines
105109 CONFIG_VIDEO_MX3=y
106110 # CONFIG_RADIO_ADAPTERS is not set
107111 CONFIG_FB=y
108−# CONFIG_USB_SUPPORT is not set
112+CONFIG_SOUND=y
113+CONFIG_SND=y
114+# CONFIG_SND_ARM is not set
115+# CONFIG_SND_SPI is not set
116+CONFIG_SND_SOC=y
117+CONFIG_SND_IMX_SOC=y
118+CONFIG_SND_MXC_SOC_WM1133_EV1=y
119+CONFIG_SND_SOC_PHYCORE_AC97=y
120+CONFIG_SND_SOC_EUKREA_TLV320=y
121+CONFIG_USB=y
122+CONFIG_USB_EHCI_HCD=y
123+CONFIG_USB_EHCI_MXC=y
124+CONFIG_USB_GADGET=m
125+CONFIG_USB_FSL_USB2=m
126+CONFIG_USB_G_SERIAL=m
127+CONFIG_USB_ULPI=y
109128 CONFIG_MMC=y
110129 CONFIG_MMC_MXC=y
130+CONFIG_RTC_CLASS=y
131+CONFIG_RTC_MXC=y
111132 CONFIG_DMADEVICES=y
112133 # CONFIG_DNOTIFY is not set
113134 CONFIG_TMPFS=y
@@ -119,6 +140,5 @@ CONFIG_NFS_V4=y · 5 unmodified lines
119140 CONFIG_ROOT_NFS=y
120141 # CONFIG_ENABLE_WARN_DEPRECATED is not set
121142 # CONFIG_ENABLE_MUST_CHECK is not set
122−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
123143 CONFIG_SYSCTL_SYSCALL_CHECK=y
124144 # CONFIG_CRYPTO_ANSI_CPRNG is not set
arch/arm/configs/mx5_defconfigrenamed from arch/arm/configs/mx51_defconfig+37−23
@@ -1,5 +1,6 @@
11 CONFIG_EXPERIMENTAL=y
22 # CONFIG_LOCALVERSION_AUTO is not set
3+CONFIG_KERNEL_LZO=y
34 CONFIG_SYSVIPC=y
45 CONFIG_LOG_BUF_SHIFT=18
56 CONFIG_RELAY=y
@@ -13,21 +14,29 @@ CONFIG_MODULE_SRCVERSION_ALL=y · 7 unmodified lines
1314 # CONFIG_LBDAF is not set
1415 # CONFIG_BLK_DEV_BSG is not set
1516 CONFIG_ARCH_MXC=y
16−CONFIG_ARCH_MX51=y
17+CONFIG_ARCH_MX5=y
1718 CONFIG_MACH_MX51_BABBAGE=y
1819 CONFIG_MACH_MX51_3DS=y
1920 CONFIG_MACH_EUKREA_CPUIMX51=y
21+CONFIG_MACH_EUKREA_CPUIMX51SD=y
22+CONFIG_MACH_MX51_EFIKAMX=y
23+CONFIG_MACH_MX51_EFIKASB=y
24+CONFIG_MACH_MX53_EVK=y
25+CONFIG_MACH_MX53_SMD=y
26+CONFIG_MACH_MX53_LOCO=y
27+CONFIG_MACH_MX53_ARD=y
28+CONFIG_MXC_PWM=y
2029 CONFIG_NO_HZ=y
2130 CONFIG_HIGH_RES_TIMERS=y
31+CONFIG_VMSPLIT_2G=y
2232 CONFIG_PREEMPT_VOLUNTARY=y
2333 CONFIG_AEABI=y
2434 # CONFIG_OABI_COMPAT is not set
2535 CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
26−CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.101:/shared/nfs ip=dhcp"
36+CONFIG_CMDLINE="noinitrd console=ttymxc0,115200"
2737 CONFIG_VFP=y
2838 CONFIG_NEON=y
2939 CONFIG_BINFMT_MISC=m
30−CONFIG_PM=y
3140 CONFIG_PM_DEBUG=y
3241 CONFIG_PM_TEST_SUSPEND=y
3342 CONFIG_NET=y
@@ -42,13 +51,13 @@ CONFIG_IP_PNP_DHCP=y · 8 unmodified lines
4251 # CONFIG_INET_LRO is not set
4352 # CONFIG_IPV6 is not set
4453 # CONFIG_WIRELESS is not set
54+CONFIG_DEVTMPFS=y
55+CONFIG_DEVTMPFS_MOUNT=y
4556 # CONFIG_STANDALONE is not set
4657 CONFIG_CONNECTOR=y
4758 CONFIG_BLK_DEV_LOOP=y
4859 CONFIG_BLK_DEV_RAM=y
4960 CONFIG_BLK_DEV_RAM_SIZE=65536
50−# CONFIG_MISC_DEVICES is not set
51−CONFIG_SCSI=y
5261 # CONFIG_SCSI_PROC_FS is not set
5362 CONFIG_BLK_DEV_SD=y
5463 CONFIG_SCSI_MULTI_LUN=y
@@ -56,8 +65,10 @@ CONFIG_SCSI_CONSTANTS=y · 1 unmodified line
5665 CONFIG_SCSI_LOGGING=y
5766 CONFIG_SCSI_SCAN_ASYNC=y
5867 # CONFIG_SCSI_LOWLEVEL is not set
59−CONFIG_ATA=m
68+CONFIG_ATA=y
69+CONFIG_PATA_IMX=y
6070 CONFIG_NETDEVICES=y
71+CONFIG_MII=m
6172 CONFIG_MARVELL_PHY=y
6273 CONFIG_DAVICOM_PHY=y
6374 CONFIG_QSEMI_PHY=y
@@ -71,49 +82,57 @@ CONFIG_REALTEK_PHY=y · 7 unmodified lines
7182 CONFIG_NATIONAL_PHY=y
7283 CONFIG_STE10XP=y
7384 CONFIG_LSI_ET1011C_PHY=y
74−CONFIG_MDIO_BITBANG=y
75−CONFIG_MDIO_GPIO=y
85+CONFIG_MICREL_PHY=y
7686 CONFIG_NET_ETHERNET=y
77−CONFIG_MII=m
78−CONFIG_FEC=y
7987 # CONFIG_NETDEV_1000 is not set
8088 # CONFIG_NETDEV_10000 is not set
8189 # CONFIG_WLAN is not set
82−CONFIG_INPUT_FF_MEMLESS=m
8390 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
8491 CONFIG_INPUT_EVDEV=y
85−CONFIG_KEYBOARD_GPIO=y
8692 CONFIG_INPUT_EVBUG=m
93+CONFIG_KEYBOARD_GPIO=y
8794 CONFIG_MOUSE_PS2=m
8895 CONFIG_MOUSE_PS2_ELANTECH=y
96+CONFIG_INPUT_MISC=y
97+CONFIG_INPUT_MMA8450=y
8998 CONFIG_SERIO_SERPORT=m
9099 CONFIG_VT_HW_CONSOLE_BINDING=y
100+# CONFIG_LEGACY_PTYS is not set
91101 # CONFIG_DEVKMEM is not set
92102 CONFIG_SERIAL_IMX=y
93103 CONFIG_SERIAL_IMX_CONSOLE=y
94−# CONFIG_LEGACY_PTYS is not set
95104 CONFIG_HW_RANDOM=y
96105 CONFIG_I2C=y
97106 # CONFIG_I2C_COMPAT is not set
98−CONFIG_I2C_CHARDEV=m
107+CONFIG_I2C_CHARDEV=y
99108 # CONFIG_I2C_HELPER_AUTO is not set
100109 CONFIG_I2C_ALGOBIT=m
101110 CONFIG_I2C_ALGOPCF=m
102111 CONFIG_I2C_ALGOPCA=m
112+CONFIG_I2C_IMX=y
113+CONFIG_SPI=y
114+CONFIG_SPI_IMX=y
103115 CONFIG_GPIO_SYSFS=y
104116 # CONFIG_HWMON is not set
105−# CONFIG_HID_SUPPORT is not set
117+CONFIG_WATCHDOG=y
118+CONFIG_IMX2_WDT=y
119+CONFIG_MFD_MC13XXX=y
120+CONFIG_REGULATOR=y
121+CONFIG_REGULATOR_MC13892=y
106122 CONFIG_USB=y
107123 CONFIG_USB_EHCI_HCD=y
108124 CONFIG_USB_EHCI_MXC=y
109125 CONFIG_USB_STORAGE=y
110126 CONFIG_MMC=y
111127 CONFIG_MMC_BLOCK=m
112−CONFIG_MMC_SDHCI=m
128+CONFIG_MMC_SDHCI=y
129+CONFIG_MMC_SDHCI_PLTFM=y
130+CONFIG_MMC_SDHCI_ESDHC_IMX=y
113131 CONFIG_NEW_LEDS=y
114132 CONFIG_LEDS_CLASS=y
115133 CONFIG_RTC_CLASS=y
116134 CONFIG_RTC_INTF_DEV_UIE_EMUL=y
135+CONFIG_RTC_MXC=y
117136 CONFIG_EXT2_FS=y
118137 CONFIG_EXT2_FS_XATTR=y
119138 CONFIG_EXT2_FS_POSIX_ACL=y
@@ -127,7 +146,6 @@ CONFIG_EXT4_FS_SECURITY=y · 7 unmodified lines
127146 CONFIG_QUOTA=y
128147 CONFIG_QUOTA_NETLINK_INTERFACE=y
129148 # CONFIG_PRINT_QUOTA_WARNING is not set
130−CONFIG_AUTOFS_FS=y
131149 CONFIG_AUTOFS4_FS=y
132150 CONFIG_FUSE_FS=y
133151 CONFIG_ISO9660_FS=m
@@ -151,17 +169,13 @@ CONFIG_NLS_ISO8859_15=m · 17 unmodified lines
151169 CONFIG_NLS_UTF8=y
152170 CONFIG_MAGIC_SYSRQ=y
153171 CONFIG_DEBUG_FS=y
154−CONFIG_DEBUG_KERNEL=y
155172 # CONFIG_SCHED_DEBUG is not set
156173 # CONFIG_DEBUG_BUGVERBOSE is not set
157−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
158174 # CONFIG_FTRACE is not set
159175 # CONFIG_ARM_UNWIND is not set
160−CONFIG_DEBUG_LL=y
161−CONFIG_EARLY_PRINTK=y
162176 CONFIG_SECURITYFS=y
163−CONFIG_CRYPTO_DEFLATE=y
164−CONFIG_CRYPTO_LZO=y
177+CONFIG_CRYPTO_DEFLATE=m
178+CONFIG_CRYPTO_LZO=m
165179 # CONFIG_CRYPTO_ANSI_CPRNG is not set
166180 # CONFIG_CRYPTO_HW is not set
167181 CONFIG_CRC_CCITT=m
arch/arm/configs/mxs_defconfig+1−0
@@ -26,6 +26,7 @@ CONFIG_MACH_MX23EVK=y · 25 unmodified lines
2626 CONFIG_MACH_MX28EVK=y
2727 CONFIG_MACH_STMP378X_DEVB=y
2828 CONFIG_MACH_TX28=y
29+CONFIG_MACH_M28EVK=y
2930 # CONFIG_ARM_THUMB is not set
3031 CONFIG_NO_HZ=y
3132 CONFIG_HIGH_RES_TIMERS=y
arch/arm/configs/tegra_defconfig+32−7
@@ -25,6 +25,7 @@ CONFIG_MACH_KAEN=y · 24 unmodified lines
2525 CONFIG_MACH_PAZ00=y
2626 CONFIG_MACH_TRIMSLICE=y
2727 CONFIG_MACH_WARIO=y
28+CONFIG_MACH_VENTANA=y
2829 CONFIG_TEGRA_DEBUG_UARTD=y
2930 CONFIG_ARM_ERRATA_742230=y
3031 CONFIG_NO_HZ=y
@@ -38,7 +39,6 @@ CONFIG_HIGHMEM=y · 7 unmodified lines
3839 CONFIG_ZBOOT_ROM_TEXT=0x0
3940 CONFIG_ZBOOT_ROM_BSS=0x0
4041 CONFIG_VFP=y
41−CONFIG_PM=y
4242 CONFIG_NET=y
4343 CONFIG_PACKET=y
4444 CONFIG_UNIX=y
@@ -65,6 +65,7 @@ CONFIG_IPV6_TUNNEL=y · 20 unmodified lines
6565 CONFIG_IPV6_MULTIPLE_TABLES=y
6666 # CONFIG_WIRELESS is not set
6767 # CONFIG_FIRMWARE_IN_KERNEL is not set
68+CONFIG_PROC_DEVICETREE=y
6869 CONFIG_BLK_DEV_LOOP=y
6970 CONFIG_MISC_DEVICES=y
7071 CONFIG_AD525X_DPOT=y
@@ -72,34 +73,61 @@ CONFIG_AD525X_DPOT_I2C=y · 1 unmodified line
7273 CONFIG_ICS932S401=y
7374 CONFIG_APDS9802ALS=y
7475 CONFIG_ISL29003=y
76+CONFIG_SCSI=y
77+CONFIG_BLK_DEV_SD=y
78+# CONFIG_SCSI_LOWLEVEL is not set
7579 CONFIG_NETDEVICES=y
7680 CONFIG_DUMMY=y
81+CONFIG_NET_ETHERNET=y
7782 CONFIG_R8169=y
7883 # CONFIG_NETDEV_10000 is not set
7984 # CONFIG_WLAN is not set
85+CONFIG_USB_PEGASUS=y
86+CONFIG_USB_USBNET=y
87+CONFIG_USB_NET_SMSC75XX=y
88+CONFIG_USB_NET_SMSC95XX=y
8089 # CONFIG_INPUT is not set
8190 # CONFIG_SERIO is not set
8291 # CONFIG_VT is not set
92+# CONFIG_LEGACY_PTYS is not set
8393 # CONFIG_DEVKMEM is not set
8494 CONFIG_SERIAL_8250=y
8595 CONFIG_SERIAL_8250_CONSOLE=y
86−# CONFIG_LEGACY_PTYS is not set
96+CONFIG_SERIAL_OF_PLATFORM=y
8797 # CONFIG_HW_RANDOM is not set
8898 CONFIG_I2C=y
8999 # CONFIG_I2C_COMPAT is not set
90100 # CONFIG_I2C_HELPER_AUTO is not set
91101 CONFIG_I2C_TEGRA=y
102+CONFIG_SPI=y
103+CONFIG_SPI_TEGRA=y
92104 CONFIG_SENSORS_LM90=y
93105 CONFIG_MFD_TPS6586X=y
94106 CONFIG_REGULATOR=y
95107 CONFIG_REGULATOR_TPS6586X=y
96−# CONFIG_USB_SUPPORT is not set
108+CONFIG_SOUND=y
109+CONFIG_SND=y
110+# CONFIG_SND_SUPPORT_OLD_API is not set
111+# CONFIG_SND_DRIVERS is not set
112+# CONFIG_SND_PCI is not set
113+# CONFIG_SND_ARM is not set
114+# CONFIG_SND_SPI is not set
115+# CONFIG_SND_USB is not set
116+CONFIG_SND_SOC=y
117+CONFIG_SND_SOC_TEGRA=y
118+CONFIG_SND_SOC_TEGRA_WM8903=y
119+CONFIG_SND_SOC_TEGRA_TRIMSLICE=y
120+CONFIG_USB=y
121+CONFIG_USB_EHCI_HCD=y
122+CONFIG_USB_EHCI_TEGRA=y
123+CONFIG_USB_STORAGE=y
97124 CONFIG_MMC=y
98125 CONFIG_MMC_SDHCI=y
99126 CONFIG_MMC_SDHCI_PLTFM=y
100127 CONFIG_MMC_SDHCI_TEGRA=y
128+CONFIG_RTC_CLASS=y
129+CONFIG_RTC_DRV_TEGRA=y
101130 CONFIG_STAGING=y
102−# CONFIG_STAGING_EXCLUDE_BUILD is not set
103131 CONFIG_IIO=y
104132 CONFIG_SENSORS_ISL29018=y
105133 CONFIG_SENSORS_AK8975=y
@@ -123,18 +151,15 @@ CONFIG_NLS_ISO8859_1=y · 17 unmodified lines
123151 CONFIG_PRINTK_TIME=y
124152 CONFIG_MAGIC_SYSRQ=y
125153 CONFIG_DEBUG_FS=y
126−CONFIG_DEBUG_KERNEL=y
127154 CONFIG_DETECT_HUNG_TASK=y
128155 CONFIG_SCHEDSTATS=y
129156 CONFIG_TIMER_STATS=y
130157 CONFIG_DEBUG_SLAB=y
131158 # CONFIG_DEBUG_PREEMPT is not set
132159 CONFIG_DEBUG_MUTEXES=y
133−CONFIG_DEBUG_SPINLOCK_SLEEP=y
134160 CONFIG_DEBUG_INFO=y
135161 CONFIG_DEBUG_VM=y
136162 CONFIG_DEBUG_SG=y
137−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
138163 CONFIG_DEBUG_LL=y
139164 CONFIG_EARLY_PRINTK=y
140165 CONFIG_CRYPTO_ECB=y
arch/arm/include/asm/device.h+5−0
@@ -15,7 +15,12 @@ struct dev_archdata { · 14 unmodified lines
1515 #endif
1616 };
1717
18+struct omap_device;
19+
1820 struct pdev_archdata {
21+#ifdef CONFIG_ARCH_OMAP
22+ struct omap_device *od;
23+#endif
1924 };
2025
2126 #endif
arch/arm/include/asm/dma-mapping.h+7−0
@@ -205,6 +205,13 @@ extern void *dma_alloc_writecombine(struct device *, size_t, dma_addr_t *, · 204 unmodified lines
205205 int dma_mmap_writecombine(struct device *, struct vm_area_struct *,
206206 void *, dma_addr_t, size_t);
207207
208+/*
209+ * This can be called during boot to increase the size of the consistent
210+ * DMA region above it's default value of 2MB. It must be called before the
211+ * memory allocator is initialised, i.e. before any core_initcall.
212+ */
213+extern void __init init_consistent_dma_size(unsigned long size);
214+
208215
209216 #ifdef CONFIG_DMABOUNCE
210217 /*
arch/arm/include/asm/dma.h+3−3
@@ -34,18 +34,18 @@ · 33 unmodified lines
3434 #define DMA_MODE_CASCADE 0xc0
3535 #define DMA_AUTOINIT 0x10
3636
37−extern spinlock_t dma_spin_lock;
37+extern raw_spinlock_t dma_spin_lock;
3838
3939 static inline unsigned long claim_dma_lock(void)
4040 {
4141 unsigned long flags;
42− spin_lock_irqsave(&dma_spin_lock, flags);
42+ raw_spin_lock_irqsave(&dma_spin_lock, flags);
4343 return flags;
4444 }
4545
4646 static inline void release_dma_lock(unsigned long flags)
4747 {
48− spin_unlock_irqrestore(&dma_spin_lock, flags);
48+ raw_spin_unlock_irqrestore(&dma_spin_lock, flags);
4949 }
5050
5151 /* Clear the 'DMA Pointer Flip Flop'.
arch/arm/include/asm/entry-macro-multi.S+0−7
@@ -25,13 +25,6 @@ · 24 unmodified lines
2525 movne r1, sp
2626 adrne lr, BSYM(1b)
2727 bne do_IPI
28−
29−#ifdef CONFIG_LOCAL_TIMERS
30− test_for_ltirq r0, r2, r6, lr
31− movne r0, sp
32− adrne lr, BSYM(1b)
33− bne do_local_timer
34−#endif
3528 #endif
3629 9997:
3730 .endm
arch/arm/include/asm/gpio.h+19−0
@@ -4,4 +4,23 @@ · 3 unmodified lines
44 /* not all ARM platforms necessarily support this API ... */
55 #include <mach/gpio.h>
66
7+#ifndef __ARM_GPIOLIB_COMPLEX
8+/* Note: this may rely upon the value of ARCH_NR_GPIOS set in mach/gpio.h */
9+#include <asm-generic/gpio.h>
10+
11+/* The trivial gpiolib dispatchers */
12+#define gpio_get_value __gpio_get_value
13+#define gpio_set_value __gpio_set_value
14+#define gpio_cansleep __gpio_cansleep
15+#endif
16+
17+/*
18+ * Provide a default gpio_to_irq() which should satisfy every case.
19+ * However, some platforms want to do this differently, so allow them
20+ * to override it.
21+ */
22+#ifndef gpio_to_irq
23+#define gpio_to_irq __gpio_to_irq
24+#endif
25+
726 #endif /* _ARCH_ARM_GPIO_H */
arch/arm/include/asm/hardirq.h+0−3
@@ -9,9 +9,6 @@ · 8 unmodified lines
99
1010 typedef struct {
1111 unsigned int __softirq_pending;
12−#ifdef CONFIG_LOCAL_TIMERS
13− unsigned int local_timer_irqs;
14−#endif
1512 #ifdef CONFIG_SMP
1613 unsigned int ipi_irqs[NR_IPI];
1714 #endif
arch/arm/include/asm/hardware/cache-l2x0.h+8−1
@@ -102,7 +102,14 @@ · 101 unmodified lines
102102
103103 #ifndef __ASSEMBLY__
104104 extern void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask);
105+#if defined(CONFIG_CACHE_L2X0) && defined(CONFIG_OF)
105106 extern int l2x0_of_init(__u32 aux_val, __u32 aux_mask);
107+#else
108+static inline int l2x0_of_init(__u32 aux_val, __u32 aux_mask)
109+{
110+ return -ENODEV;
111+}
112+#endif
106113
107114 struct l2x0_regs {
108115 unsigned long phy_base;
@@ -121,6 +128,6 @@ struct l2x0_regs { · 12 unmodified lines
121128
122129 extern struct l2x0_regs l2x0_saved_regs;
123130
124−#endif
131+#endif /* __ASSEMBLY__ */
125132
126133 #endif
arch/arm/include/asm/hardware/entry-macro-gic.S+2−17
@@ -22,15 +22,11 @@ · 21 unmodified lines
2222 * interrupt controller spec. To wit:
2323 *
2424 * Interrupts 0-15 are IPI
25− * 16-28 are reserved
26− * 29-31 are local. We allow 30 to be used for the watchdog.
25+ * 16-31 are local. We allow 30 to be used for the watchdog.
2726 * 32-1020 are global
2827 * 1021-1022 are reserved
2928 * 1023 is "spurious" (no interrupt)
3029 *
31− * For now, we ignore all local interrupts so only return an interrupt if it's
32− * between 30 and 1020. The test_for_ipi routine below will pick up on IPIs.
33− *
3430 * A simple read from the controller will tell us the number of the highest
3531 * priority enabled interrupt. We then just need to check whether it is in the
3632 * valid range for an IRQ (30-1020 inclusive).
@@ -43,7 +39,7 @@ · 6 unmodified lines
4339
4440 ldr \tmp, =1021
4541 bic \irqnr, \irqstat, #0x1c00
46− cmp \irqnr, #29
42+ cmp \irqnr, #15
4743 cmpcc \irqnr, \irqnr
4844 cmpne \irqnr, \tmp
4945 cmpcs \irqnr, \irqnr
@@ -62,14 +58,3 @@ · 12 unmodified lines
6258 strcc \irqstat, [\base, #GIC_CPU_EOI]
6359 cmpcs \irqnr, \irqnr
6460 .endm
65−
66−/* As above, this assumes that irqstat and base are preserved.. */
67−
68− .macro test_for_ltirq, irqnr, irqstat, base, tmp
69− bic \irqnr, \irqstat, #0x1c00
70− mov \tmp, #0
71− cmp \irqnr, #29
72− moveq \tmp, #1
73− streq \irqstat, [\base, #GIC_CPU_EOI]
74− cmp \tmp, #0
75− .endm
arch/arm/include/asm/hardware/gic.h+16−3
@@ -33,19 +33,32 @@ · 32 unmodified lines
3333 #define GIC_DIST_SOFTINT 0xf00
3434
3535 #ifndef __ASSEMBLY__
36+#include <linux/irqdomain.h>
37+struct device_node;
38+
3639 extern void __iomem *gic_cpu_base_addr;
3740 extern struct irq_chip gic_arch_extn;
3841
39−void gic_init(unsigned int, unsigned int, void __iomem *, void __iomem *);
42+void gic_init(unsigned int, int, void __iomem *, void __iomem *);
43+int gic_of_init(struct device_node *node, struct device_node *parent);
4044 void gic_secondary_init(unsigned int);
4145 void gic_cascade_irq(unsigned int gic_nr, unsigned int irq);
4246 void gic_raise_softirq(const struct cpumask *mask, unsigned int irq);
43−void gic_enable_ppi(unsigned int);
4447
4548 struct gic_chip_data {
46− unsigned int irq_offset;
4749 void __iomem *dist_base;
4850 void __iomem *cpu_base;
51+#ifdef CONFIG_CPU_PM
52+ u32 saved_spi_enable[DIV_ROUND_UP(1020, 32)];
53+ u32 saved_spi_conf[DIV_ROUND_UP(1020, 16)];
54+ u32 saved_spi_target[DIV_ROUND_UP(1020, 4)];
55+ u32 __percpu *saved_ppi_enable;
56+ u32 __percpu *saved_ppi_conf;
57+#endif
58+#ifdef CONFIG_IRQ_DOMAIN
59+ struct irq_domain domain;
60+#endif
61+ unsigned int gic_irqs;
4962 };
5063 #endif
5164
arch/arm/include/asm/hardware/iop3xx-gpio.h+2−0
@@ -28,6 +28,8 @@ · 27 unmodified lines
2828 #include <mach/hardware.h>
2929 #include <asm-generic/gpio.h>
3030
31+#define __ARM_GPIOLIB_COMPLEX
32+
3133 #define IOP3XX_N_GPIOS 8
3234
3335 static inline int gpio_get_value(unsigned gpio)
arch/arm/include/asm/hardware/it8152.h+1−1
@@ -9,7 +9,7 @@ · 8 unmodified lines
99
1010 #ifndef __ASM_HARDWARE_IT8152_H
1111 #define __ASM_HARDWARE_IT8152_H
12−extern unsigned long it8152_base_address;
12+extern void __iomem *it8152_base_address;
1313
1414 #define IT8152_IO_BASE (it8152_base_address + 0x03e00000)
1515 #define IT8152_CFGREG_BASE (it8152_base_address + 0x03f00000)
arch/arm/include/asm/hardware/pl080.h+4−0
@@ -21,6 +21,9 @@ · 20 unmodified lines
2121 * OneNAND features.
2222 */
2323
24+#ifndef ASM_PL080_H
25+#define ASM_PL080_H
26+
2427 #define PL080_INT_STATUS (0x00)
2528 #define PL080_TC_STATUS (0x04)
2629 #define PL080_TC_CLEAR (0x08)
@@ -138,3 +141,4 @@ struct pl080s_lli { · 111 unmodified lines
138141 u32 control1;
139142 };
140143
144+#endif /* ASM_PL080_H */
arch/arm/include/asm/hw_breakpoint.h+2−0
@@ -50,6 +50,7 @@ static inline void decode_ctrl_reg(u32 reg, · 49 unmodified lines
5050 #define ARM_DEBUG_ARCH_V6_1 2
5151 #define ARM_DEBUG_ARCH_V7_ECP14 3
5252 #define ARM_DEBUG_ARCH_V7_MM 4
53+#define ARM_DEBUG_ARCH_V7_1 5
5354
5455 /* Breakpoint */
5556 #define ARM_BREAKPOINT_EXECUTE 0
@@ -57,6 +58,7 @@ static inline void decode_ctrl_reg(u32 reg, · 1 unmodified line
5758 /* Watchpoints */
5859 #define ARM_BREAKPOINT_LOAD 1
5960 #define ARM_BREAKPOINT_STORE 2
61+#define ARM_FSR_ACCESS_MASK (1 << 11)
6062
6163 /* Privilege Levels */
6264 #define ARM_BREAKPOINT_PRIV 1
arch/arm/include/asm/localtimer.h+8−14
@@ -11,6 +11,7 @@ · 10 unmodified lines
1111 #define __ASM_ARM_LOCALTIMER_H
1212
1313 #include <linux/errno.h>
14+#include <linux/interrupt.h>
1415
1516 struct clock_event_device;
1617
@@ -19,31 +20,20 @@ struct clock_event_device; · 2 unmodified lines
1920 */
2021 void percpu_timer_setup(void);
2122
22−/*
23− * Called from assembly, this is the local timer IRQ handler
24− */
25−asmlinkage void do_local_timer(struct pt_regs *);
26−
27−/*
28− * Called from C code
29− */
30−void handle_local_timer(struct pt_regs *);
31−
3223 #ifdef CONFIG_LOCAL_TIMERS
3324
3425 #ifdef CONFIG_HAVE_ARM_TWD
3526
3627 #include "smp_twd.h"
3728
38−#define local_timer_ack() twd_timer_ack()
29+#define local_timer_stop(c) twd_timer_stop((c))
3930
4031 #else
4132
4233 /*
43− * Platform provides this to acknowledge a local timer IRQ.
44− * Returns true if the local timer IRQ is to be processed.
34+ * Stop the local timer
4535 */
46−int local_timer_ack(void);
36+void local_timer_stop(struct clock_event_device *);
4737
4838 #endif
4939
@@ -58,6 +48,10 @@ static inline int local_timer_setup(struct clock_event_device *evt) · 8 unmodified lines
5848 {
5949 return -ENXIO;
6050 }
51+
52+static inline void local_timer_stop(struct clock_event_device *evt)
53+{
54+}
6155 #endif
6256
6357 #endif
arch/arm/include/asm/mach/arch.h+1−1
@@ -17,7 +17,7 @@ struct sys_timer; · 16 unmodified lines
1717 struct machine_desc {
1818 unsigned int nr; /* architecture number */
1919 const char *name; /* architecture name */
20− unsigned long boot_params; /* tagged list */
20+ unsigned long atag_offset; /* tagged list (relative) */
2121 const char **dt_compat; /* array of device tree
2222 * 'compatible' strings */
2323
arch/arm/include/asm/mach/map.h+1−0
@@ -29,6 +29,7 @@ struct map_desc { · 28 unmodified lines
2929 #define MT_MEMORY_NONCACHED 11
3030 #define MT_MEMORY_DTCM 12
3131 #define MT_MEMORY_ITCM 13
32+#define MT_MEMORY_SO 14
3233
3334 #ifdef CONFIG_MMU
3435 extern void iotable_init(struct map_desc *, int);
arch/arm/include/asm/memory.h+8−10
@@ -16,9 +16,12 @@ · 15 unmodified lines
1616 #include <linux/compiler.h>
1717 #include <linux/const.h>
1818 #include <linux/types.h>
19−#include <mach/memory.h>
2019 #include <asm/sizes.h>
2120
21+#ifdef CONFIG_NEED_MACH_MEMORY_H
22+#include <mach/memory.h>
23+#endif
24+
2225 /*
2326 * Allow for constants defined here to be used from assembly code
2427 * by prepending the UL suffix only with actual C code compilation.
@@ -77,16 +80,7 @@ · 52 unmodified lines
7780 */
7881 #define IOREMAP_MAX_ORDER 24
7982
80−/*
81− * Size of DMA-consistent memory region. Must be multiple of 2M,
82− * between 2MB and 14MB inclusive.
83− */
84−#ifndef CONSISTENT_DMA_SIZE
85−#define CONSISTENT_DMA_SIZE SZ_2M
86−#endif
87−
8883 #define CONSISTENT_END (0xffe00000UL)
89−#define CONSISTENT_BASE (CONSISTENT_END - CONSISTENT_DMA_SIZE)
9084
9185 #else /* CONFIG_MMU */
9286
@@ -193,7 +187,11 @@ static inline unsigned long __phys_to_virt(unsigned long x) · 100 unmodified lines
193187 #endif
194188
195189 #ifndef PHYS_OFFSET
190+#ifdef PLAT_PHYS_OFFSET
196191 #define PHYS_OFFSET PLAT_PHYS_OFFSET
192+#else
193+#define PHYS_OFFSET UL(CONFIG_PHYS_OFFSET)
194+#endif
197195 #endif
198196
199197 /*
arch/arm/include/asm/mmu.h+2−2
@@ -6,7 +6,7 @@ · 5 unmodified lines
66 typedef struct {
77 #ifdef CONFIG_CPU_HAS_ASID
88 unsigned int id;
9− spinlock_t id_lock;
9+ raw_spinlock_t id_lock;
1010 #endif
1111 unsigned int kvm_seq;
1212 } mm_context_t;
@@ -16,7 +16,7 @@ typedef struct { · 3 unmodified lines
1616
1717 /* init_mm.context.id_lock should be initialized. */
1818 #define INIT_MM_CONTEXT(name) \
19− .context.id_lock = __SPIN_LOCK_UNLOCKED(name.context.id_lock),
19+ .context.id_lock = __RAW_SPIN_LOCK_UNLOCKED(name.context.id_lock),
2020 #else
2121 #define ASID(mm) (0)
2222 #endif
arch/arm/include/asm/pgtable.h+3−0
@@ -101,6 +101,9 @@ extern pgprot_t pgprot_kernel; · 100 unmodified lines
101101 #define pgprot_writecombine(prot) \
102102 __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_BUFFERABLE)
103103
104+#define pgprot_stronglyordered(prot) \
105+ __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_UNCACHED)
106+
104107 #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE
105108 #define pgprot_dmacoherent(prot) \
106109 __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_BUFFERABLE | L_PTE_XN)
arch/arm/include/asm/pmu.h+74−19
@@ -13,7 +13,12 @@ · 12 unmodified lines
1313 #define __ARM_PMU_H__
1414
1515 #include <linux/interrupt.h>
16+#include <linux/perf_event.h>
1617
18+/*
19+ * Types of PMUs that can be accessed directly and require mutual
20+ * exclusion between profiling tools.
21+ */
1722 enum arm_pmu_type {
1823 ARM_PMU_DEVICE_CPU = 0,
1924 ARM_NUM_PMU_DEVICES,
@@ -37,21 +42,17 @@ struct arm_pmu_platdata { · 17 unmodified lines
3742 * reserve_pmu() - reserve the hardware performance counters
3843 *
3944 * Reserve the hardware performance counters in the system for exclusive use.
40− * The platform_device for the system is returned on success, ERR_PTR()
41− * encoded error on failure.
45+ * Returns 0 on success or -EBUSY if the lock is already held.
4246 */
43−extern struct platform_device *
47+extern int
4448 reserve_pmu(enum arm_pmu_type type);
4549
4650 /**
4751 * release_pmu() - Relinquish control of the performance counters
4852 *
4953 * Release the performance counters and allow someone else to use them.
50− * Callers must have disabled the counters and released IRQs before calling
51− * this. The platform_device returned from reserve_pmu() must be passed as
52− * a cookie.
5354 */
54−extern int
55+extern void
5556 release_pmu(enum arm_pmu_type type);
5657
5758 /**
@@ -68,24 +69,78 @@ init_pmu(enum arm_pmu_type type); · 10 unmodified lines
6869
6970 #include <linux/err.h>
7071
71−static inline struct platform_device *
72−reserve_pmu(enum arm_pmu_type type)
73−{
74− return ERR_PTR(-ENODEV);
75−}
76−
7772 static inline int
78−release_pmu(enum arm_pmu_type type)
73+reserve_pmu(enum arm_pmu_type type)
7974 {
8075 return -ENODEV;
8176 }
8277
83−static inline int
84−init_pmu(enum arm_pmu_type type)
85−{
86− return -ENODEV;
87−}
78+static inline void
79+release_pmu(enum arm_pmu_type type) { }
8880
8981 #endif /* CONFIG_CPU_HAS_PMU */
9082
83+#ifdef CONFIG_HW_PERF_EVENTS
84+
85+/* The events for a given PMU register set. */
86+struct pmu_hw_events {
87+ /*
88+ * The events that are active on the PMU for the given index.
89+ */
90+ struct perf_event **events;
91+
92+ /*
93+ * A 1 bit for an index indicates that the counter is being used for
94+ * an event. A 0 means that the counter can be used.
95+ */
96+ unsigned long *used_mask;
97+
98+ /*
99+ * Hardware lock to serialize accesses to PMU registers. Needed for the
100+ * read/modify/write sequences.
101+ */
102+ raw_spinlock_t pmu_lock;
103+};
104+
105+struct arm_pmu {
106+ struct pmu pmu;
107+ enum arm_perf_pmu_ids id;
108+ enum arm_pmu_type type;
109+ cpumask_t active_irqs;
110+ const char *name;
111+ irqreturn_t (*handle_irq)(int irq_num, void *dev);
112+ void (*enable)(struct hw_perf_event *evt, int idx);
113+ void (*disable)(struct hw_perf_event *evt, int idx);
114+ int (*get_event_idx)(struct pmu_hw_events *hw_events,
115+ struct hw_perf_event *hwc);
116+ int (*set_event_filter)(struct hw_perf_event *evt,
117+ struct perf_event_attr *attr);
118+ u32 (*read_counter)(int idx);
119+ void (*write_counter)(int idx, u32 val);
120+ void (*start)(void);
121+ void (*stop)(void);
122+ void (*reset)(void *);
123+ int (*map_event)(struct perf_event *event);
124+ int num_events;
125+ atomic_t active_events;
126+ struct mutex reserve_mutex;
127+ u64 max_period;
128+ struct platform_device *plat_device;
129+ struct pmu_hw_events *(*get_hw_events)(void);
130+};
131+
132+#define to_arm_pmu(p) (container_of(p, struct arm_pmu, pmu))
133+
134+int __init armpmu_register(struct arm_pmu *armpmu, char *name, int type);
135+
136+u64 armpmu_event_update(struct perf_event *event,
137+ struct hw_perf_event *hwc,
138+ int idx, int overflow);
139+
140+int armpmu_event_set_period(struct perf_event *event,
141+ struct hw_perf_event *hwc,
142+ int idx);
143+
144+#endif /* CONFIG_HW_PERF_EVENTS */
145+
91146 #endif /* __ARM_PMU_H__ */
arch/arm/include/asm/proc-fns.h+8−0
@@ -81,6 +81,10 @@ extern void cpu_dcache_clean_area(void *, int); · 80 unmodified lines
8181 extern void cpu_do_switch_mm(unsigned long pgd_phys, struct mm_struct *mm);
8282 extern void cpu_set_pte_ext(pte_t *ptep, pte_t pte, unsigned int ext);
8383 extern void cpu_reset(unsigned long addr) __attribute__((noreturn));
84+
85+/* These three are private to arch/arm/kernel/suspend.c */
86+extern void cpu_do_suspend(void *);
87+extern void cpu_do_resume(void *);
8488 #else
8589 #define cpu_proc_init processor._proc_init
8690 #define cpu_proc_fin processor._proc_fin
@@ -89,6 +93,10 @@ extern void cpu_reset(unsigned long addr) __attribute__((noreturn)); · 2 unmodified lines
8993 #define cpu_dcache_clean_area processor.dcache_clean_area
9094 #define cpu_set_pte_ext processor.set_pte_ext
9195 #define cpu_do_switch_mm processor.switch_mm
96+
97+/* These three are private to arch/arm/kernel/suspend.c */
98+#define cpu_do_suspend processor.do_suspend
99+#define cpu_do_resume processor.do_resume
92100 #endif
93101
94102 extern void cpu_resume(void);
arch/arm/include/asm/smp.h+0−5
@@ -99,9 +99,4 @@ extern void platform_cpu_enable(unsigned int cpu); · 98 unmodified lines
9999 extern void arch_send_call_function_single_ipi(int cpu);
100100 extern void arch_send_call_function_ipi_mask(const struct cpumask *mask);
101101
102−/*
103− * show local interrupt info
104− */
105−extern void show_local_irqs(struct seq_file *, int);
106−
107102 #endif /* ifndef __ASM_ARM_SMP_H */
arch/arm/include/asm/smp_twd.h+1−1
@@ -22,7 +22,7 @@ struct clock_event_device; · 21 unmodified lines
2222
2323 extern void __iomem *twd_base;
2424
25−int twd_timer_ack(void);
2625 void twd_timer_setup(struct clock_event_device *);
26+void twd_timer_stop(struct clock_event_device *);
2727
2828 #endif
arch/arm/include/asm/suspend.h+1−16
@@ -1,22 +1,7 @@
11 #ifndef __ASM_ARM_SUSPEND_H
22 #define __ASM_ARM_SUSPEND_H
33
4−#include <asm/memory.h>
5−#include <asm/tlbflush.h>
6−
74 extern void cpu_resume(void);
8−
9−/*
10− * Hide the first two arguments to __cpu_suspend - these are an implementation
11− * detail which platform code shouldn't have to know about.
12− */
13−static inline int cpu_suspend(unsigned long arg, int (*fn)(unsigned long))
14−{
15− extern int __cpu_suspend(int, long, unsigned long,
16− int (*)(unsigned long));
17− int ret = __cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn);
18− flush_tlb_all();
19− return ret;
20−}
5+extern int cpu_suspend(unsigned long, int (*)(unsigned long));
216
227 #endif
arch/arm/kernel/Makefile+8−1
@@ -29,7 +29,7 @@ obj-$(CONFIG_MODULES) += armksyms.o module.o · 28 unmodified lines
2929 obj-$(CONFIG_ARTHUR) += arthur.o
3030 obj-$(CONFIG_ISA_DMA) += dma-isa.o
3131 obj-$(CONFIG_PCI) += bios32.o isa.o
32−obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o
32+obj-$(CONFIG_ARM_CPU_SUSPEND) += sleep.o suspend.o
3333 obj-$(CONFIG_HAVE_SCHED_CLOCK) += sched_clock.o
3434 obj-$(CONFIG_SMP) += smp.o smp_tlb.o
3535 obj-$(CONFIG_HAVE_ARM_SCU) += smp_scu.o
@@ -43,6 +43,13 @@ obj-$(CONFIG_KPROBES) += kprobes-thumb.o · 7 unmodified lines
4343 else
4444 obj-$(CONFIG_KPROBES) += kprobes-arm.o
4545 endif
46+obj-$(CONFIG_ARM_KPROBES_TEST) += test-kprobes.o
47+test-kprobes-objs := kprobes-test.o
48+ifdef CONFIG_THUMB2_KERNEL
49+test-kprobes-objs += kprobes-test-thumb.o
50+else
51+test-kprobes-objs += kprobes-test-arm.o
52+endif
4653 obj-$(CONFIG_ATAGS_PROC) += atags.o
4754 obj-$(CONFIG_OABI_COMPAT) += sys_oabi-compat.o
4855 obj-$(CONFIG_ARM_THUMBEE) += thumbee.o
arch/arm/kernel/armksyms.c+1−1
@@ -7,7 +7,7 @@ · 6 unmodified lines
77 * it under the terms of the GNU General Public License version 2 as
88 * published by the Free Software Foundation.
99 */
10−#include <linux/module.h>
10+#include <linux/export.h>
1111 #include <linux/sched.h>
1212 #include <linux/string.h>
1313 #include <linux/cryptohash.h>
arch/arm/kernel/bios32.c+1−1
@@ -5,7 +5,7 @@ · 4 unmodified lines
55 *
66 * Bits taken from various places.
77 */
8−#include <linux/module.h>
8+#include <linux/export.h>
99 #include <linux/kernel.h>
1010 #include <linux/pci.h>
1111 #include <linux/slab.h>
arch/arm/kernel/debug.S+2−2
@@ -22,7 +22,7 @@ · 21 unmodified lines
2222 #if defined(CONFIG_DEBUG_ICEDCC)
2323 @@ debug using ARM EmbeddedICE DCC channel
2424
25− .macro addruart, rp, rv
25+ .macro addruart, rp, rv, tmp
2626 .endm
2727
2828 #if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
@@ -106,7 +106,7 @@ · 77 unmodified lines
106106
107107 #ifdef CONFIG_MMU
108108 .macro addruart_current, rx, tmp1, tmp2
109− addruart \tmp1, \tmp2
109+ addruart \tmp1, \tmp2, \rx
110110 mrc p15, 0, \rx, c1, c0
111111 tst \rx, #1
112112 moveq \rx, \tmp1
arch/arm/kernel/devtree.c+1−1
@@ -9,7 +9,7 @@ · 8 unmodified lines
99 */
1010
1111 #include <linux/init.h>
12−#include <linux/module.h>
12+#include <linux/export.h>
1313 #include <linux/errno.h>
1414 #include <linux/types.h>
1515 #include <linux/bootmem.h>
arch/arm/kernel/dma.c+1−1
@@ -23,7 +23,7 @@ · 22 unmodified lines
2323
2424 #include <asm/mach/dma.h>
2525
26−DEFINE_SPINLOCK(dma_spin_lock);
26+DEFINE_RAW_SPINLOCK(dma_spin_lock);
2727 EXPORT_SYMBOL(dma_spin_lock);
2828
2929 static dma_t *dma_chan[MAX_DMA_CHANNELS];
arch/arm/kernel/elf.c+1−1
@@ -1,4 +1,4 @@
1−#include <linux/module.h>
1+#include <linux/export.h>
22 #include <linux/sched.h>
33 #include <linux/personality.h>
44 #include <linux/binfmts.h>
arch/arm/kernel/etm.c+1−0
@@ -24,6 +24,7 @@ · 23 unmodified lines
2424 #include <linux/miscdevice.h>
2525 #include <linux/vmalloc.h>
2626 #include <linux/mutex.h>
27+#include <linux/module.h>
2728 #include <asm/hardware/coresight.h>
2829 #include <asm/sections.h>
2930
arch/arm/kernel/head.S+2−2
@@ -99,7 +99,7 @@ ENTRY(stext) · 98 unmodified lines
9999 sub r4, r3, r4 @ (PHYS_OFFSET - PAGE_OFFSET)
100100 add r8, r8, r4 @ PHYS_OFFSET
101101 #else
102− ldr r8, =PLAT_PHYS_OFFSET
102+ ldr r8, =PHYS_OFFSET @ always constant in this case
103103 #endif
104104
105105 /*
@@ -238,7 +238,7 @@ __create_page_tables: · 132 unmodified lines
238238 * This allows debug messages to be output
239239 * via a serial console before paging_init.
240240 */
241− addruart r7, r3
241+ addruart r7, r3, r0
242242
243243 mov r3, r3, lsr #SECTION_SHIFT
244244 mov r3, r3, lsl #PMD_ORDER
arch/arm/kernel/hw_breakpoint.c+170−105
@@ -45,7 +45,6 @@ static DEFINE_PER_CPU(struct perf_event *, wp_on_reg[ARM_MAX_WRP]); · 44 unmodified lines
4545
4646 /* Number of BRP/WRP registers on this CPU. */
4747 static int core_num_brps;
48−static int core_num_reserved_brps;
4948 static int core_num_wrps;
5049
5150 /* Debug architecture version. */
@@ -137,10 +136,11 @@ static u8 get_debug_arch(void) · 85 unmodified lines
137136 u32 didr;
138137
139138 /* Do we implement the extended CPUID interface? */
140− if (WARN_ONCE((((read_cpuid_id() >> 16) & 0xf) != 0xf),
141− "CPUID feature registers not supported. "
142− "Assuming v6 debug is present.\n"))
139+ if (((read_cpuid_id() >> 16) & 0xf) != 0xf) {
140+ pr_warning("CPUID feature registers not supported. "
141+ "Assuming v6 debug is present.\n");
143142 return ARM_DEBUG_ARCH_V6;
143+ }
144144
145145 ARM_DBG_READ(c0, 0, didr);
146146 return (didr >> 16) & 0xf;
@@ -154,10 +154,21 @@ u8 arch_get_debug_arch(void) · 7 unmodified lines
154154 static int debug_arch_supported(void)
155155 {
156156 u8 arch = get_debug_arch();
157− return arch >= ARM_DEBUG_ARCH_V6 && arch <= ARM_DEBUG_ARCH_V7_ECP14;
157+
158+ /* We don't support the memory-mapped interface. */
159+ return (arch >= ARM_DEBUG_ARCH_V6 && arch <= ARM_DEBUG_ARCH_V7_ECP14) ||
160+ arch >= ARM_DEBUG_ARCH_V7_1;
161+}
162+
163+/* Determine number of WRP registers available. */
164+static int get_num_wrp_resources(void)
165+{
166+ u32 didr;
167+ ARM_DBG_READ(c0, 0, didr);
168+ return ((didr >> 28) & 0xf) + 1;
158169 }
159170
160−/* Determine number of BRP register available. */
171+/* Determine number of BRP registers available. */
161172 static int get_num_brp_resources(void)
162173 {
163174 u32 didr;
@@ -176,9 +187,10 @@ static int core_has_mismatch_brps(void) · 12 unmodified lines
176187 static int get_num_wrps(void)
177188 {
178189 /*
179− * FIXME: When a watchpoint fires, the only way to work out which
180− * watchpoint it was is by disassembling the faulting instruction
181− * and working out the address of the memory access.
190+ * On debug architectures prior to 7.1, when a watchpoint fires, the
191+ * only way to work out which watchpoint it was is by disassembling
192+ * the faulting instruction and working out the address of the memory
193+ * access.
182194 *
183195 * Furthermore, we can only do this if the watchpoint was precise
184196 * since imprecise watchpoints prevent us from calculating register
@@ -192,36 +204,17 @@ static int get_num_wrps(void) · 7 unmodified lines
192204 * [the ARM ARM states that the DFAR is UNKNOWN, but experience shows
193205 * that it is set on some implementations].
194206 */
207+ if (get_debug_arch() < ARM_DEBUG_ARCH_V7_1)
208+ return 1;
195209
196−#if 0
197− int wrps;
198− u32 didr;
199− ARM_DBG_READ(c0, 0, didr);
200− wrps = ((didr >> 28) & 0xf) + 1;
201−#endif
202− int wrps = 1;
203−
204− if (core_has_mismatch_brps() && wrps >= get_num_brp_resources())
205− wrps = get_num_brp_resources() - 1;
206−
207− return wrps;
208−}
209−
210−/* We reserve one breakpoint for each watchpoint. */
211−static int get_num_reserved_brps(void)
212−{
213− if (core_has_mismatch_brps())
214− return get_num_wrps();
215− return 0;
210+ return get_num_wrp_resources();
216211 }
217212
218213 /* Determine number of usable BRPs available. */
219214 static int get_num_brps(void)
220215 {
221216 int brps = get_num_brp_resources();
222− if (core_has_mismatch_brps())
223− brps -= get_num_reserved_brps();
224− return brps;
217+ return core_has_mismatch_brps() ? brps - 1 : brps;
225218 }
226219
227220 /*
@@ -239,7 +232,7 @@ static int enable_monitor_mode(void) · 11 unmodified lines
239232
240233 /* Ensure that halting mode is disabled. */
241234 if (WARN_ONCE(dscr & ARM_DSCR_HDBGEN,
242− "halting debug mode enabled. Unable to access hardware resources.\n")) {
235+ "halting debug mode enabled. Unable to access hardware resources.\n")) {
243236 ret = -EPERM;
244237 goto out;
245238 }
@@ -255,6 +248,7 @@ static int enable_monitor_mode(void) · 9 unmodified lines
255248 ARM_DBG_WRITE(c1, 0, (dscr | ARM_DSCR_MDBGEN));
256249 break;
257250 case ARM_DEBUG_ARCH_V7_ECP14:
251+ case ARM_DEBUG_ARCH_V7_1:
258252 ARM_DBG_WRITE(c2, 2, (dscr | ARM_DSCR_MDBGEN));
259253 break;
260254 default:
@@ -346,24 +340,10 @@ int arch_install_hw_breakpoint(struct perf_event *bp) · 85 unmodified lines
346340 val_base = ARM_BASE_BVR;
347341 slots = (struct perf_event **)__get_cpu_var(bp_on_reg);
348342 max_slots = core_num_brps;
349− if (info->step_ctrl.enabled) {
350− /* Override the breakpoint data with the step data. */
351− addr = info->trigger & ~0x3;
352− ctrl = encode_ctrl_reg(info->step_ctrl);
353− }
354343 } else {
355344 /* Watchpoint */
356− if (info->step_ctrl.enabled) {
357− /* Install into the reserved breakpoint region. */
358− ctrl_base = ARM_BASE_BCR + core_num_brps;
359− val_base = ARM_BASE_BVR + core_num_brps;
360− /* Override the watchpoint data with the step data. */
361− addr = info->trigger & ~0x3;
362− ctrl = encode_ctrl_reg(info->step_ctrl);
363− } else {
364− ctrl_base = ARM_BASE_WCR;
365− val_base = ARM_BASE_WVR;
366− }
345+ ctrl_base = ARM_BASE_WCR;
346+ val_base = ARM_BASE_WVR;
367347 slots = (struct perf_event **)__get_cpu_var(wp_on_reg);
368348 max_slots = core_num_wrps;
369349 }
@@ -382,6 +362,17 @@ int arch_install_hw_breakpoint(struct perf_event *bp) · 12 unmodified lines
382362 goto out;
383363 }
384364
365+ /* Override the breakpoint data with the step data. */
366+ if (info->step_ctrl.enabled) {
367+ addr = info->trigger & ~0x3;
368+ ctrl = encode_ctrl_reg(info->step_ctrl);
369+ if (info->ctrl.type != ARM_BREAKPOINT_EXECUTE) {
370+ i = 0;
371+ ctrl_base = ARM_BASE_BCR + core_num_brps;
372+ val_base = ARM_BASE_BVR + core_num_brps;
373+ }
374+ }
375+
385376 /* Setup the address register. */
386377 write_wb_reg(val_base + i, addr);
387378
@@ -405,10 +396,7 @@ void arch_uninstall_hw_breakpoint(struct perf_event *bp) · 17 unmodified lines
405396 max_slots = core_num_brps;
406397 } else {
407398 /* Watchpoint */
408− if (info->step_ctrl.enabled)
409− base = ARM_BASE_BCR + core_num_brps;
410− else
411− base = ARM_BASE_WCR;
399+ base = ARM_BASE_WCR;
412400 slots = (struct perf_event **)__get_cpu_var(wp_on_reg);
413401 max_slots = core_num_wrps;
414402 }
@@ -426,6 +414,13 @@ void arch_uninstall_hw_breakpoint(struct perf_event *bp) · 11 unmodified lines
426414 if (WARN_ONCE(i == max_slots, "Can't find any breakpoint slot\n"))
427415 return;
428416
417+ /* Ensure that we disable the mismatch breakpoint. */
418+ if (info->ctrl.type != ARM_BREAKPOINT_EXECUTE &&
419+ info->step_ctrl.enabled) {
420+ i = 0;
421+ base = ARM_BASE_BCR + core_num_brps;
422+ }
423+
429424 /* Reset the control register. */
430425 write_wb_reg(base + i, 0);
431426 }
@@ -632,10 +627,9 @@ int arch_validate_hwbkpt_settings(struct perf_event *bp) · 200 unmodified lines
632627 * we can use the mismatch feature as a poor-man's hardware
633628 * single-step, but this only works for per-task breakpoints.
634629 */
635− if (WARN_ONCE(!bp->overflow_handler &&
636− (arch_check_bp_in_kernelspace(bp) || !core_has_mismatch_brps()
637− || !bp->hw.bp_target),
638− "overflow handler required but none found\n")) {
630+ if (!bp->overflow_handler && (arch_check_bp_in_kernelspace(bp) ||
631+ !core_has_mismatch_brps() || !bp->hw.bp_target)) {
632+ pr_warning("overflow handler required but none found\n");
639633 ret = -EINVAL;
640634 }
641635 out:
@@ -666,34 +660,62 @@ static void disable_single_step(struct perf_event *bp) · 24 unmodified lines
666660 arch_install_hw_breakpoint(bp);
667661 }
668662
669−static void watchpoint_handler(unsigned long unknown, struct pt_regs *regs)
663+static void watchpoint_handler(unsigned long addr, unsigned int fsr,
664+ struct pt_regs *regs)
670665 {
671− int i;
666+ int i, access;
667+ u32 val, ctrl_reg, alignment_mask;
672668 struct perf_event *wp, **slots;
673669 struct arch_hw_breakpoint *info;
670+ struct arch_hw_breakpoint_ctrl ctrl;
674671
675672 slots = (struct perf_event **)__get_cpu_var(wp_on_reg);
676673
677− /* Without a disassembler, we can only handle 1 watchpoint. */
678− BUG_ON(core_num_wrps > 1);
679−
680674 for (i = 0; i < core_num_wrps; ++i) {
681675 rcu_read_lock();
682676
683677 wp = slots[i];
684678
685− if (wp == NULL) {
686− rcu_read_unlock();
687− continue;
688− }
679+ if (wp == NULL)
680+ goto unlock;
689681
682+ info = counter_arch_bp(wp);
690683 /*
691− * The DFAR is an unknown value. Since we only allow a
692− * single watchpoint, we can set the trigger to the lowest
693− * possible faulting address.
684+ * The DFAR is an unknown value on debug architectures prior
685+ * to 7.1. Since we only allow a single watchpoint on these
686+ * older CPUs, we can set the trigger to the lowest possible
687+ * faulting address.
694688 */
695− info = counter_arch_bp(wp);
696− info->trigger = wp->attr.bp_addr;
689+ if (debug_arch < ARM_DEBUG_ARCH_V7_1) {
690+ BUG_ON(i > 0);
691+ info->trigger = wp->attr.bp_addr;
692+ } else {
693+ if (info->ctrl.len == ARM_BREAKPOINT_LEN_8)
694+ alignment_mask = 0x7;
695+ else
696+ alignment_mask = 0x3;
697+
698+ /* Check if the watchpoint value matches. */
699+ val = read_wb_reg(ARM_BASE_WVR + i);
700+ if (val != (addr & ~alignment_mask))
701+ goto unlock;
702+
703+ /* Possible match, check the byte address select. */
704+ ctrl_reg = read_wb_reg(ARM_BASE_WCR + i);
705+ decode_ctrl_reg(ctrl_reg, &ctrl);
706+ if (!((1 << (addr & alignment_mask)) & ctrl.len))
707+ goto unlock;
708+
709+ /* Check that the access type matches. */
710+ access = (fsr & ARM_FSR_ACCESS_MASK) ? HW_BREAKPOINT_W :
711+ HW_BREAKPOINT_R;
712+ if (!(access & hw_breakpoint_type(wp)))
713+ goto unlock;
714+
715+ /* We have a winner. */
716+ info->trigger = addr;
717+ }
718+
697719 pr_debug("watchpoint fired: address = 0x%x\n", info->trigger);
698720 perf_bp_event(wp, regs);
699721
@@ -705,6 +727,7 @@ static void watchpoint_handler(unsigned long unknown, struct pt_regs *regs) · 5 unmodified lines
705727 if (!wp->overflow_handler)
706728 enable_single_step(wp, instruction_pointer(regs));
707729
730+unlock:
708731 rcu_read_unlock();
709732 }
710733 }
@@ -717,7 +740,7 @@ static void watchpoint_single_step_handler(unsigned long pc) · 6 unmodified lines
717740
718741 slots = (struct perf_event **)__get_cpu_var(wp_on_reg);
719742
720− for (i = 0; i < core_num_reserved_brps; ++i) {
743+ for (i = 0; i < core_num_wrps; ++i) {
721744 rcu_read_lock();
722745
723746 wp = slots[i];
@@ -820,7 +843,7 @@ static int hw_breakpoint_pending(unsigned long addr, unsigned int fsr, · 96 unmodified lines
820843 case ARM_ENTRY_ASYNC_WATCHPOINT:
821844 WARN(1, "Asynchronous watchpoint exception taken. Debugging results may be unreliable\n");
822845 case ARM_ENTRY_SYNC_WATCHPOINT:
823− watchpoint_handler(addr, regs);
846+ watchpoint_handler(addr, fsr, regs);
824847 break;
825848 default:
826849 ret = 1; /* Unhandled fault. */
@@ -834,11 +857,31 @@ static int hw_breakpoint_pending(unsigned long addr, unsigned int fsr, · 7 unmodified lines
834857 /*
835858 * One-time initialisation.
836859 */
837−static void reset_ctrl_regs(void *info)
860+static cpumask_t debug_err_mask;
861+
862+static int debug_reg_trap(struct pt_regs *regs, unsigned int instr)
838863 {
839− int i, cpu = smp_processor_id();
864+ int cpu = smp_processor_id();
865+
866+ pr_warning("Debug register access (0x%x) caused undefined instruction on CPU %d\n",
867+ instr, cpu);
868+
869+ /* Set the error flag for this CPU and skip the faulting instruction. */
870+ cpumask_set_cpu(cpu, &debug_err_mask);
871+ instruction_pointer(regs) += 4;
872+ return 0;
873+}
874+
875+static struct undef_hook debug_reg_hook = {
876+ .instr_mask = 0x0fe80f10,
877+ .instr_val = 0x0e000e10,
878+ .fn = debug_reg_trap,
879+};
880+
881+static void reset_ctrl_regs(void *unused)
882+{
883+ int i, raw_num_brps, err = 0, cpu = smp_processor_id();
840884 u32 dbg_power;
841− cpumask_t *cpumask = info;
842885
843886 /*
844887 * v7 debug contains save and restore registers so that debug state
@@ -848,38 +891,57 @@ static void reset_ctrl_regs(void *info) · 3 unmodified lines
848891 * Access Register to avoid taking undefined instruction exceptions
849892 * later on.
850893 */
851− if (debug_arch >= ARM_DEBUG_ARCH_V7_ECP14) {
894+ switch (debug_arch) {
895+ case ARM_DEBUG_ARCH_V6:
896+ case ARM_DEBUG_ARCH_V6_1:
897+ /* ARMv6 cores just need to reset the registers. */
898+ goto reset_regs;
899+ case ARM_DEBUG_ARCH_V7_ECP14:
852900 /*
853901 * Ensure sticky power-down is clear (i.e. debug logic is
854902 * powered up).
855903 */
856904 asm volatile("mrc p14, 0, %0, c1, c5, 4" : "=r" (dbg_power));
857− if ((dbg_power & 0x1) == 0) {
858− pr_warning("CPU %d debug is powered down!\n", cpu);
859− cpumask_or(cpumask, cpumask, cpumask_of(cpu));
860− return;
861− }
862−
905+ if ((dbg_power & 0x1) == 0)
906+ err = -EPERM;
907+ break;
908+ case ARM_DEBUG_ARCH_V7_1:
863909 /*
864− * Unconditionally clear the lock by writing a value
865− * other than 0xC5ACCE55 to the access register.
910+ * Ensure the OS double lock is clear.
866911 */
867− asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));
868− isb();
912+ asm volatile("mrc p14, 0, %0, c1, c3, 4" : "=r" (dbg_power));
913+ if ((dbg_power & 0x1) == 1)
914+ err = -EPERM;
915+ break;
916+ }
869917
870− /*
871− * Clear any configured vector-catch events before
872− * enabling monitor mode.
873− */
874− asm volatile("mcr p14, 0, %0, c0, c7, 0" : : "r" (0));
875− isb();
918+ if (err) {
919+ pr_warning("CPU %d debug is powered down!\n", cpu);
920+ cpumask_or(&debug_err_mask, &debug_err_mask, cpumask_of(cpu));
921+ return;
876922 }
877923
924+ /*
925+ * Unconditionally clear the lock by writing a value
926+ * other than 0xC5ACCE55 to the access register.
927+ */
928+ asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));
929+ isb();
930+
931+ /*
932+ * Clear any configured vector-catch events before
933+ * enabling monitor mode.
934+ */
935+ asm volatile("mcr p14, 0, %0, c0, c7, 0" : : "r" (0));
936+ isb();
937+
938+reset_regs:
878939 if (enable_monitor_mode())
879940 return;
880941
881942 /* We must also reset any reserved registers. */
882− for (i = 0; i < core_num_brps + core_num_reserved_brps; ++i) {
943+ raw_num_brps = get_num_brp_resources();
944+ for (i = 0; i < raw_num_brps; ++i) {
883945 write_wb_reg(ARM_BASE_BCR + i, 0UL);
884946 write_wb_reg(ARM_BASE_BVR + i, 0UL);
885947 }
@@ -895,6 +957,7 @@ static int __cpuinit dbg_reset_notify(struct notifier_block *self, · 9 unmodified lines
895957 {
896958 if (action == CPU_ONLINE)
897959 smp_call_function_single((int)cpu, reset_ctrl_regs, NULL, 1);
960+
898961 return NOTIFY_OK;
899962 }
900963
@@ -905,7 +968,6 @@ static struct notifier_block __cpuinitdata dbg_reset_nb = { · 4 unmodified lines
905968 static int __init arch_hw_breakpoint_init(void)
906969 {
907970 u32 dscr;
908− cpumask_t cpumask = { CPU_BITS_NONE };
909971
910972 debug_arch = get_debug_arch();
911973
@@ -916,28 +978,31 @@ static int __init arch_hw_breakpoint_init(void) · 4 unmodified lines
916978
917979 /* Determine how many BRPs/WRPs are available. */
918980 core_num_brps = get_num_brps();
919− core_num_reserved_brps = get_num_reserved_brps();
920981 core_num_wrps = get_num_wrps();
921982
922− pr_info("found %d breakpoint and %d watchpoint registers.\n",
923− core_num_brps + core_num_reserved_brps, core_num_wrps);
924−
925− if (core_num_reserved_brps)
926− pr_info("%d breakpoint(s) reserved for watchpoint "
927− "single-step.\n", core_num_reserved_brps);
983+ /*
984+ * We need to tread carefully here because DBGSWENABLE may be
985+ * driven low on this core and there isn't an architected way to
986+ * determine that.
987+ */
988+ register_undef_hook(&debug_reg_hook);
928989
929990 /*
930991 * Reset the breakpoint resources. We assume that a halting
931992 * debugger will leave the world in a nice state for us.
932993 */
933− on_each_cpu(reset_ctrl_regs, &cpumask, 1);
934− if (!cpumask_empty(&cpumask)) {
994+ on_each_cpu(reset_ctrl_regs, NULL, 1);
995+ unregister_undef_hook(&debug_reg_hook);
996+ if (!cpumask_empty(&debug_err_mask)) {
935997 core_num_brps = 0;
936− core_num_reserved_brps = 0;
937998 core_num_wrps = 0;
938999 return 0;
9391000 }
9401001
1002+ pr_info("found %d " "%s" "breakpoint and %d watchpoint registers.\n",
1003+ core_num_brps, core_has_mismatch_brps() ? "(+1 reserved) " :
1004+ "", core_num_wrps);
1005+
9411006 ARM_DBG_READ(c1, 0, dscr);
9421007 if (dscr & ARM_DSCR_HDBGEN) {
9431008 max_watchpoint_len = 4;
arch/arm/kernel/io.c+1−1
@@ -1,4 +1,4 @@
1−#include <linux/module.h>
1+#include <linux/export.h>
22 #include <linux/types.h>
33 #include <linux/io.h>
44
arch/arm/kernel/irq.c+0−4
@@ -22,7 +22,6 @@ · 21 unmodified lines
2222 * Naturally it's not a 1:1 relation, but there are similarities.
2323 */
2424 #include <linux/kernel_stat.h>
25−#include <linux/module.h>
2625 #include <linux/signal.h>
2726 #include <linux/ioport.h>

11 more lines aren’t shown here.

arch/arm/kernel/kprobes-arm.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/kernel/kprobes-test-arm.c+1323−0

This diff is large: its 1324 lines aren’t shown here.

arch/arm/kernel/kprobes-test-thumb.c+1187−0

This diff is large: its 1188 lines aren’t shown here.

arch/arm/kernel/kprobes-test.c+1748−0

This diff is large: its 1749 lines aren’t shown here.

arch/arm/kernel/kprobes-test.h+392−0

This diff is large: its 393 lines aren’t shown here.

arch/arm/kernel/kprobes-thumb.c+7−0

This diff is large: its 28 lines aren’t shown here.

arch/arm/kernel/kprobes.h+8−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/kernel/leds.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/kernel/perf_event.c+255−222

This diff is large: its 784 lines aren’t shown here.

arch/arm/kernel/perf_event_v6.c+59−28

This diff is large: its 235 lines aren’t shown here.

arch/arm/kernel/perf_event_v7.c+196−199

This diff is large: its 682 lines aren’t shown here.

arch/arm/kernel/perf_event_xscale.c+47−43

This diff is large: its 303 lines aren’t shown here.

arch/arm/kernel/pj4-cp0.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/kernel/pmu.c+8−174

This diff is large: its 201 lines aren’t shown here.

arch/arm/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/ptrace.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/kernel/return_address.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/setup.c+3−20

This diff is large: its 37 lines aren’t shown here.

arch/arm/kernel/sleep.S+27−58

This diff is large: its 128 lines aren’t shown here.

arch/arm/kernel/smp.c+4−40

This diff is large: its 77 lines aren’t shown here.

arch/arm/kernel/smp_twd.c+45−2

This diff is large: its 87 lines aren’t shown here.

arch/arm/kernel/stacktrace.c+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/kernel/suspend.c+72−0

This diff is large: its 73 lines aren’t shown here.

arch/arm/kernel/sys_arm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/traps.c+10−10

This diff is large: its 72 lines aren’t shown here.

arch/arm/kernel/unwind.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/xscale-cp0.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/Kconfig+24−6

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-at91/Makefile+7−2

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-at91/Makefile.boot+2−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-at91/at91cap9.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/at91cap9_devices.c+10−5

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-at91/at91rm9200.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/at91rm9200_devices.c+11−4

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-at91/at91sam9260.c+10−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-at91/at91sam9260_devices.c+12−5

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-at91/at91sam9261.c+15−14

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-at91/at91sam9261_devices.c+11−4

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-at91/at91sam9263.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/at91sam9263_devices.c+9−4

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-at91/at91sam9g45.c+17−0

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-at91/at91sam9g45_devices.c+39−5

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-at91/at91sam9rl_devices.c+4−5

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-at91/board-1arm.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-afeb-9260v1.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-cam60.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-cap9adk.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-carmeva.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-cpu9krea.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-cpuat91.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-csb337.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-csb637.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-dt.c+123−0

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-at91/board-eb9200.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-ecbat91.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-kafa.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-kb9202.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-neocore926.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-picotux200.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-qil-a9260.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-rm9200dk.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-rm9200ek.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-at91/board-rsi-ews.c+233−0

This diff is large: its 234 lines aren’t shown here.

arch/arm/mach-at91/board-sam9-l9260.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9260ek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9261ek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9263ek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9g20ek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9m10g45ek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-sam9rlek.c+3−8

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/board-snapper9260.c+2−8

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-at91/board-usb-a9260.c+0−230

This diff is large: its 231 lines aren’t shown here.

arch/arm/mach-at91/board-usb-a926x.crenamed from arch/arm/mach-at91/board-usb-a9263.c+161−29

This diff is large: its 294 lines aren’t shown here.

arch/arm/mach-at91/board-yl-9200.c+4−9

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-at91/cpuidle.c+24−18

This diff is large: its 85 lines aren’t shown here.

arch/arm/mach-at91/gpio.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9g45.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/include/mach/board.h+7−1

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-at91/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/include/mach/gpio.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-at91/include/mach/timex.h+5−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-at91/include/mach/vmalloc.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/leds.c+1−1

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-at91/pm.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-bcmring/dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-bcmring/include/mach/hardware.h+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-bcmring/include/mach/memory.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-bcmring/mm.c+4−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-clps711x/autcpu12.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/cdb89712.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/ceiva.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/clep7312.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/edb7211-arch.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/fortunet.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-clps711x/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-clps711x/p720t.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-cns3xxx/cns3420vb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/memory.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-davinci/Kconfig+10−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/Makefile+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/board-da830-evm.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/board-da850-evm.c+116−2

This diff is large: its 160 lines aren’t shown here.

arch/arm/mach-davinci/board-dm355-evm.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/board-dm355-leopard.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/board-dm365-evm.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/board-dm644x-evm.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-davinci/board-dm646x-evm.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-davinci/board-mityomapl138.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-davinci/board-neuros-osd2.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/board-omapl138-hawk.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-davinci/board-sffsdr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-davinci/board-tnetv107x-evm.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-davinci/cdce949.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-davinci/common.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-davinci/cpuidle.c+31−23

This diff is large: its 99 lines aren’t shown here.

arch/arm/mach-davinci/da830.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/da850.c+11−1

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-davinci/devices-da8xx.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-davinci/devices-tnetv107x.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-davinci/dm355.c+2−1

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-davinci/dm365.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/dm644x.c+2−1

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-davinci/dm646x.c+2−1

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-davinci/dma.c+1−4

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/ddr2.h+4−0

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/debug-macro.S+23−29

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/gpio-davinci.h+91−0

This diff is large: its 92 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/gpio.h+3−76

This diff is large: its 96 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/memory.h+0−44

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/mmc.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/mux.h+10−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/nand.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/serial.h+2−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/uncompress.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-davinci/sleep.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-davinci/tnetv107x.c+2−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-dove/cm-a510.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-dove/dove-db-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-dove/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-dove/include/mach/memory.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-ebsa110/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ebsa110/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ep93xx/Kconfig+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ep93xx/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-ep93xx/adssphere.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ep93xx/core.c+2−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ep93xx/edb93xx.c+15−8

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-ep93xx/gesbc9312.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/gpio-ep93xx.h+100−0

This diff is large: its 101 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/gpio.h+1−120

This diff is large: its 122 lines aren’t shown here.

arch/arm/mach-ep93xx/micro9.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-ep93xx/simone.c+15−4

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-ep93xx/snappercl15.c+14−3

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-ep93xx/ts72xx.c+6−19

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-ep93xx/vision_ep9307.c+364−0

This diff is large: its 365 lines aren’t shown here.

arch/arm/mach-exynos/Kconfigrenamed from arch/arm/mach-exynos4/Kconfig+131−24

This diff is large: its 252 lines aren’t shown here.

arch/arm/mach-exynos/Makefilerenamed from arch/arm/mach-exynos4/Makefile+13−8

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-exynos/Makefile.bootrenamed from arch/arm/mach-exynos4/Makefile.boot+0−0

File renamed without changes.

arch/arm/mach-exynos/clock-exynos4210.c+139−0

This diff is large: its 140 lines aren’t shown here.

arch/arm/mach-exynos/clock-exynos4212.c+118−0

This diff is large: its 119 lines aren’t shown here.

arch/arm/mach-exynos/clock.crenamed from arch/arm/mach-exynos4/clock.c+355−76

This diff is large: its 655 lines aren’t shown here.

arch/arm/mach-exynos/cpu.crenamed from arch/arm/mach-exynos4/cpu.c+83−39

This diff is large: its 241 lines aren’t shown here.

arch/arm/mach-exynos/cpuidle.crenamed from arch/arm/mach-exynos4/cpuidle.c+17−13

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-exynos/dev-ahci.crenamed from arch/arm/mach-exynos4/dev-ahci.c+0−0

File renamed without changes.

arch/arm/mach-exynos/dev-audio.crenamed from arch/arm/mach-exynos4/dev-audio.c+0−0

File renamed without changes.

arch/arm/mach-exynos/dev-dwmci.crenamed from arch/arm/mach-exynos4/dev-dwmci.c+0−0

File renamed without changes.

arch/arm/mach-exynos/dev-pd.crenamed from arch/arm/mach-exynos4/dev-pd.c+0−0

File renamed without changes.

arch/arm/mach-exynos/dev-sysmmu.crenamed from arch/arm/mach-exynos4/dev-sysmmu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-exynos/dma.c+250−0

This diff is large: its 251 lines aren’t shown here.

arch/arm/mach-exynos/headsmp.Srenamed from arch/arm/mach-exynos4/headsmp.S+0−0

File renamed without changes.

arch/arm/mach-exynos/hotplug.crenamed from arch/arm/mach-exynos4/hotplug.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/debug-macro.Srenamed from arch/arm/mach-exynos4/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/dma.hrenamed from arch/arm/mach-exynos4/include/mach/dma.h+2−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/dwmci.hrenamed from arch/arm/mach-exynos4/include/mach/dwmci.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/entry-macro.Srenamed from arch/arm/mach-exynos4/include/mach/entry-macro.S+19−11

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/exynos4-clock.h+43−0

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/gpio.hrenamed from arch/arm/mach-exynos4/include/mach/gpio.h+0−7

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/hardware.hrenamed from arch/arm/mach-exynos4/include/mach/hardware.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/io.hrenamed from arch/arm/mach-exynos4/include/mach/io.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/irqs.hrenamed from arch/arm/mach-exynos4/include/mach/irqs.h+6−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/map.hrenamed from arch/arm/mach-exynos4/include/mach/map.h+28−10

This diff is large: its 90 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/memory.hrenamed from arch/arm/mach-exynos4/include/mach/memory.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/pm-core.hrenamed from arch/arm/mach-exynos4/include/mach/pm-core.h+7−1

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/pmu.hrenamed from arch/arm/mach-exynos4/include/mach/pmu.h+7−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/regs-audss.hrenamed from arch/arm/mach-exynos4/include/mach/regs-audss.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/regs-clock.hrenamed from arch/arm/mach-exynos4/include/mach/regs-clock.h+36−18

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/regs-gpio.hrenamed from arch/arm/mach-exynos4/include/mach/regs-gpio.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/regs-irq.hrenamed from arch/arm/mach-exynos4/include/mach/regs-irq.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/regs-mct.hrenamed from arch/arm/mach-exynos4/include/mach/regs-mct.h+3−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/regs-mem.hrenamed from arch/arm/mach-exynos4/include/mach/regs-mem.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/regs-pmu.hrenamed from arch/arm/mach-exynos4/include/mach/regs-pmu.h+63−11

This diff is large: its 141 lines aren’t shown here.

arch/arm/mach-exynos/include/mach/regs-sysmmu.hrenamed from arch/arm/mach-exynos4/include/mach/regs-sysmmu.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/regs-usb-phy.hrenamed from arch/arm/mach-exynos4/include/mach/regs-usb-phy.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/sysmmu.hrenamed from arch/arm/mach-exynos4/include/mach/sysmmu.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/system.hrenamed from arch/arm/mach-exynos4/include/mach/system.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/timex.hrenamed from arch/arm/mach-exynos4/include/mach/timex.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/uncompress.hrenamed from arch/arm/mach-exynos4/include/mach/uncompress.h+0−0

File renamed without changes.

arch/arm/mach-exynos/include/mach/vmalloc.hrenamed from arch/arm/mach-exynos4/include/mach/vmalloc.h+0−0

File renamed without changes.

arch/arm/mach-exynos/init.crenamed from arch/arm/mach-exynos4/init.c+0−0

File renamed without changes.

arch/arm/mach-exynos/irq-combiner.crenamed from arch/arm/mach-exynos4/irq-combiner.c+0−0

File renamed without changes.

arch/arm/mach-exynos/irq-eint.crenamed from arch/arm/mach-exynos4/irq-eint.c+0−0

File renamed without changes.

arch/arm/mach-exynos/mach-armlex4210.crenamed from arch/arm/mach-exynos4/mach-armlex4210.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-exynos/mach-nuri.crenamed from arch/arm/mach-exynos4/mach-nuri.c+186−8

This diff is large: its 287 lines aren’t shown here.

arch/arm/mach-exynos/mach-origen.c+700−0

This diff is large: its 701 lines aren’t shown here.

arch/arm/mach-exynos/mach-smdk4x12.c+302−0

This diff is large: its 303 lines aren’t shown here.

arch/arm/mach-exynos/mach-smdkv310.crenamed from arch/arm/mach-exynos4/mach-smdkv310.c+128−1

This diff is large: its 220 lines aren’t shown here.

arch/arm/mach-exynos/mach-universal_c210.crenamed from arch/arm/mach-exynos4/mach-universal_c210.c+301−8

This diff is large: its 517 lines aren’t shown here.

arch/arm/mach-exynos/mct.crenamed from arch/arm/mach-exynos4/mct.c+118−76

This diff is large: its 288 lines aren’t shown here.

arch/arm/mach-exynos/platsmp.crenamed from arch/arm/mach-exynos4/platsmp.c+10−7

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-exynos/pm.crenamed from arch/arm/mach-exynos4/pm.c+14−72

This diff is large: its 121 lines aren’t shown here.

arch/arm/mach-exynos/pmu.c+230−0

This diff is large: its 231 lines aren’t shown here.

arch/arm/mach-exynos/setup-fimc.crenamed from arch/arm/mach-exynos4/setup-fimc.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-fimd0.crenamed from arch/arm/mach-exynos4/setup-fimd0.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c0.crenamed from arch/arm/mach-exynos4/setup-i2c0.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c1.crenamed from arch/arm/mach-exynos4/setup-i2c1.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c2.crenamed from arch/arm/mach-exynos4/setup-i2c2.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c3.crenamed from arch/arm/mach-exynos4/setup-i2c3.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c4.crenamed from arch/arm/mach-exynos4/setup-i2c4.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c5.crenamed from arch/arm/mach-exynos4/setup-i2c5.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c6.crenamed from arch/arm/mach-exynos4/setup-i2c6.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-i2c7.crenamed from arch/arm/mach-exynos4/setup-i2c7.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-keypad.crenamed from arch/arm/mach-exynos4/setup-keypad.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-sdhci-gpio.crenamed from arch/arm/mach-exynos4/setup-sdhci-gpio.c+0−0

File renamed without changes.

arch/arm/mach-exynos/setup-sdhci.c+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-exynos/setup-usb-phy.crenamed from arch/arm/mach-exynos4/setup-usb-phy.c+0−0

File renamed without changes.

arch/arm/mach-exynos4/dma.c+0−172

This diff is large: its 173 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-exynos4/mach-smdkc210.c+0−309

This diff is large: its 310 lines aren’t shown here.

arch/arm/mach-exynos4/pmu.c+0−175

This diff is large: its 176 lines aren’t shown here.

arch/arm/mach-exynos4/setup-sdhci.c+0−69

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-footbridge/cats-hw.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/ebsa285.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/include/mach/debug-macro.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-footbridge/include/mach/hardware.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/netwinder-hw.c+8−8

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-footbridge/netwinder-leds.c+5−5

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-footbridge/personal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/board-nas4220b.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/board-rut1xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/board-wbd111.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/board-wbd222.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-gemini/include/mach/gpio.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-gemini/include/mach/memory.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-h720x/h7201-eval.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-h720x/h7202-eval.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-h720x/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-h720x/include/mach/memory.h+0−11

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-highbank/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-highbank/Makefile.boot+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-highbank/clock.c+62−0

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-highbank/core.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-highbank/highbank.c+145−0

This diff is large: its 146 lines aren’t shown here.

arch/arm/mach-highbank/hotplug.c+56−0

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/debug-macro.S+19−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/entry-macro.S+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/gpio.hrenamed from arch/um/include/asm/ftrace.h+0−0

File renamed without changes.

arch/arm/mach-highbank/include/mach/io.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/irqs.h+6−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/memory.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/system.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/timex.h+6−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/uncompress.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-highbank/include/mach/vmalloc.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-highbank/lluart.c+34−0

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-highbank/localtimer.c+40−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-highbank/platsmp.c+78−0

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-highbank/pm.c+55−0

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-highbank/sysregs.h+52−0

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-highbank/system.c+33−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-imx/Kconfig+49−34

This diff is large: its 190 lines aren’t shown here.

arch/arm/mach-imx/Makefile+18−8

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-imx/Makefile.boot+23−15

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-imx/cache-l2x0.c+0−56

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-imx/clock-imx25.c+6−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-imx/clock-imx27.c+4−2

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-imx/clock-imx31.c+4−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-imx/clock-imx35.c+4−3

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-imx/clock-imx6q.c+2027−0

This diff is large: its 2028 lines aren’t shown here.

arch/arm/mach-imx/cpu-imx25.c+41−0

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-imx/cpu-imx27.c+13−15

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-imx/cpu-imx31.c+27−22

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-imx/cpu-imx35.c+14−16

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-imx/devices-imx27.h+4−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/devices-imx31.h+4−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/devices-imx35.h+4−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/gpc.c+113−0

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-imx/head-v7.S+99−0

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-imx/hotplug.c+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-imx/iomux-imx31.c+1−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-imx/lluart.c+32−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-imx/localtimer.c+35−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-imx/mach-apf9328.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/mach-armadillo5x0.c+9−12

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-imx/mach-bug.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/mach-cpuimx27.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-cpuimx35.c+3−2

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-imx/mach-eukrea_cpuimx25.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-imx27_visstrim_m10.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-imx27ipcam.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-imx27lite.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-imx6q.c+84−0

This diff is large: its 85 lines aren’t shown here.

arch/arm/mach-imx/mach-kzm_arm11_01.c+3−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-imx/mach-mx1ads.c+9−12

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-imx/mach-mx21ads.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-mx25_3ds.c+12−1

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-imx/mach-mx27_3ds.c+6−8

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-imx/mach-mx27ads.c+3−3

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31_3ds.c+5−6

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31ads.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31lilly.c+3−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31lite.c+4−3

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31moboard.c+31−5

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-imx/mach-mx35_3ds.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-mxt_td60.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-pca100.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-pcm037.c+2−1

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-imx/mach-pcm038.c+6−4

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-imx/mach-pcm043.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-qong.c+7−2

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-imx/mach-scb9328.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/mach-vpr200.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-imx/mm-imx3.c+256−0

This diff is large: its 257 lines aren’t shown here.

arch/arm/mach-imx/mm-imx31.c+0−91

This diff is large: its 92 lines aren’t shown here.

arch/arm/mach-imx/mm-imx35.c+0−109

This diff is large: its 110 lines aren’t shown here.

arch/arm/mach-imx/mmdc.c+72−0

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-imx/platsmp.c+85−0

This diff is large: its 86 lines aren’t shown here.

arch/arm/mach-imx/pm-imx27.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/pm-imx6q.c+70−0

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-imx/src.c+49−0

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-integrator/core.c+3−3

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-integrator/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-integrator/integrator_ap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-integrator/integrator_cp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-integrator/pci_v3.c+7−7

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-iop13xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop13xx/iq81340mc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop13xx/iq81340sc.c+1−1

This diff is large: its 9 lines aren’t shown here.

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

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-iop32x/em7210.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/glantank.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/include/mach/memory.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-iop32x/iq31244.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-iop32x/iq80321.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/n2100.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop33x/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop33x/include/mach/memory.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-iop33x/iq80331.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop33x/iq80332.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/core.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp2000/enp2611.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/include/mach/gpio-ixp2000.hrenamed from arch/arm/mach-ixp2000/include/mach/gpio.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2400.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2800.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2x00.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2x01.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ixp23xx/espresso.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ixp23xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp23xx/ixdp2351.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ixp23xx/roadrunner.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ixp4xx/Kconfig+19−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp4xx/Makefile+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp4xx/avila-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp4xx/common-pci.c+12−11

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-ixp4xx/common.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ixp4xx/coyote-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp4xx/dsmg600-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp4xx/fsg-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp4xx/gateway7001-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/goramo_mlr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/gtwx5715-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/include/mach/gpio.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-ixp4xx/include/mach/memory.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ixp4xx/include/mach/uncompress.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp4xx/ixdp425-setup.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-ixp4xx/miccpt-pci.c+78−0

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-ixp4xx/nas100d-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp4xx/nslu2-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ixp4xx/omixp-setup.c+273−0

This diff is large: its 274 lines aren’t shown here.

arch/arm/mach-ixp4xx/vulcan-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/wg302v2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/cpuidle.c+25−18

This diff is large: its 86 lines aren’t shown here.

arch/arm/mach-kirkwood/d2net_v2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/db88f6281-bp-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/dockstar-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/guruplug-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/include/mach/memory.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-kirkwood/irq.c+1−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-kirkwood/mpp.c+1−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/netspace_v2-setup.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-kirkwood/netxbig_v2-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-kirkwood/openrd-setup.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-kirkwood/rd88f6192-nas-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/rd88f6281-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/sheevaplug-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-kirkwood/t5325-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/ts219-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/ts41x-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/board-acs5k.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ks8695/board-dsm320.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ks8695/board-micrel.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ks8695/devices.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ks8695/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/include/mach/gpio-ks8695.h+39−0

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-ks8695/include/mach/gpio.h+0−38

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-ks8695/leds.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-l7200/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-lpc32xx/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-lpc32xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-lpc32xx/include/mach/gpio-lpc32xx.h+50−0

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-lpc32xx/include/mach/gpio.h+1−74

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-lpc32xx/phy3250.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mmp/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mmp/Makefile+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mmp/aspenite.c+5−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-mmp/brownstone.c+11−1

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-mmp/clock.h+4−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-mmp/common.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mmp/gplugd.c+2−2

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/addr-map.h+8−2

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/gpio-pxa.h+30−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/gpio.h+0−23

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/memory.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/mmp2.h+13−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/pxa168.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/sram.h+35−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-mmp/jasper.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mmp/mmp2.c+6−3

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-mmp/pxa168.c+47−2

This diff is large: its 84 lines aren’t shown here.

arch/arm/mach-mmp/pxa910.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mmp/sram.c+168−0

This diff is large: its 169 lines aren’t shown here.

arch/arm/mach-mmp/tavorevb.c+2−2

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-msm/Makefile+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/board-halibut.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/board-mahimahi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/board-msm7x27.c+5−6

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-msm/board-msm7x30.c+6−7

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-msm/board-msm8960.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-msm/board-msm8x60.c+53−20

This diff is large: its 121 lines aren’t shown here.

arch/arm/mach-msm/board-qsd8x50.c+3−4

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-msm/board-sapphire.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-msm/board-trout-mmc.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-msm/board-trout-panel.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-msm/board-trout.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/devices-msm7x00.c+0−24

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-msm/devices-qsd8x50.c+0−24

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-msm/hotplug.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/include/mach/debug-macro.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-msm/include/mach/entry-macro-qgic.S+1−72

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-msm/include/mach/gpio.h+1−26

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-msm/include/mach/memory.h+0−35

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-msm/include/mach/mmc.h+1−8

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-msm/io.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-msm/platsmp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/scm.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-msm/timer.c+40−29

This diff is large: its 144 lines aren’t shown here.

arch/arm/mach-mv78xx0/buffalo-wxl-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mv78xx0/db78x00-bp-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/memory.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-mv78xx0/irq.c+1−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-mv78xx0/mpp.c+1−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mv78xx0/rd78x00-masa-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mx5/Kconfig+34−16

This diff is large: its 139 lines aren’t shown here.

arch/arm/mach-mx5/Makefile+4−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mx5/board-cpuimx51.c+14−16

This diff is large: its 126 lines aren’t shown here.

arch/arm/mach-mx5/board-cpuimx51sd.c+13−15

This diff is large: its 123 lines aren’t shown here.

arch/arm/mach-mx5/board-mx50_rdp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_3ds.c+2−2

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_babbage.c+21−17

This diff is large: its 130 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_efikamx.c+11−5

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_efikasb.c+21−6

This diff is large: its 92 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_ard.c+12−6

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_evk.c+8−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_loco.c+29−2

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_smd.c+24−2

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-mx5/clock-mx51-mx53.c+71−7

This diff is large: its 148 lines aren’t shown here.

arch/arm/mach-mx5/cpu.c+17−57

This diff is large: its 127 lines aren’t shown here.

arch/arm/mach-mx5/devices-imx51.h+17−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-mx5/devices-imx53.h+6−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-mx5/devices.c+0−120

This diff is large: its 121 lines aren’t shown here.

arch/arm/mach-mx5/devices.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-mx5/ehci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c+2−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-mx5/imx51-dt.c+116−0

This diff is large: its 117 lines aren’t shown here.

arch/arm/mach-mx5/imx53-dt.c+126−0

This diff is large: its 127 lines aren’t shown here.

arch/arm/mach-mx5/mm-mx50.c+0−72

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-mx5/mm.c+57−33

This diff is large: its 149 lines aren’t shown here.

arch/arm/mach-mx5/mx51_efika.c+10−12

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-mx5/pm-imx5.c+14−4

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-mx5/system.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mxs/Kconfig+23−0

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-mxs/Makefile+4−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-mxs/clock-mx28.c+18−8

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-mxs/devices-mx23.h+2−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-mxs/devices-mx28.h+5−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mxs/devices/Kconfig+6−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-mxs/devices/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxs-saif.c+60−0

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c+51−0

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/debug-macro.S+3−11

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/devices-common.h+12−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/gpio.h+1−35

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/mxs.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/uncompress.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mxs/mach-m28evk.c+366−0

This diff is large: its 367 lines aren’t shown here.

arch/arm/mach-mxs/mach-mx23evk.c+2−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-mxs/mach-mx28evk.c+91−13

This diff is large: its 154 lines aren’t shown here.

arch/arm/mach-mxs/mach-stmp378x_devb.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-mxs/mach-tx28.c+2−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-mxs/mm-mx28.c+0−44

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-mxs/mm.crenamed from arch/arm/mach-mxs/mm-mx23.c+19−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-netx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/nxdb500.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/nxdkn.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/nxeb500hmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/xc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-nomadik/board-nhk8815.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-nomadik/cpu-8815.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-nomadik/i2c-8815nhk.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/gpio.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-nuc93x/Kconfig+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-nuc93x/Makefile+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-nuc93x/Makefile.boot+0−3

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-nuc93x/clock.c+0−83

This diff is large: its 84 lines aren’t shown here.

arch/arm/mach-nuc93x/clock.h+0−36

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-nuc93x/cpu.c+0−135

This diff is large: its 136 lines aren’t shown here.

arch/arm/mach-nuc93x/cpu.h+0−48

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-nuc93x/dev.c+0−42

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/entry-macro.S+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/hardware.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/io.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/irqs.h+0−59

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/map.h+0−139

This diff is large: its 140 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/memory.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/regs-clock.h+0−53

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/regs-ebi.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/regs-irq.h+0−42

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/regs-serial.h+0−52

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/regs-timer.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/system.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/timex.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/uncompress.h+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/vmalloc.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-nuc93x/irq.c+0−66

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-nuc93x/mach-nuc932evb.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-nuc93x/nuc932.c+0−65

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-nuc93x/nuc932.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-nuc93x/time.c+0−100

This diff is large: its 101 lines aren’t shown here.

arch/arm/mach-omap1/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/board-ams-delta.c+6−16

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-omap1/board-fsample.c+38−43

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-omap1/board-generic.c+5−16

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-omap1/board-h2-mmc.c+1−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/board-h2.c+5−16

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-omap1/board-h3-mmc.c+1−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/board-h3.c+5−16

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-omap1/board-htcherald.c+4−11

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-omap1/board-innovator.c+18−23

This diff is large: its 78 lines aren’t shown here.

arch/arm/mach-omap1/board-nokia770.c+14−25

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-omap1/board-osk.c+5−16

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-omap1/board-palmte.c+5−16

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-omap1/board-palmtt.c+5−15

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-omap1/board-palmz71.c+5−18

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-omap1/board-perseus2.c+38−42

This diff is large: its 123 lines aren’t shown here.

arch/arm/mach-omap1/board-sx1-mmc.c+1−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap1/board-sx1.c+6−17

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-omap1/board-voiceblue.c+6−15

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-omap1/devices.c+4−1

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-omap1/fpga.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/debug-macro.S+21−27

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/memory.h+52−1

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-omap1/io.c+26−32

This diff is large: its 94 lines aren’t shown here.

arch/arm/mach-omap1/irq.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap1/leds-h2p2-debug.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-omap1/leds-osk.c+1−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-omap1/leds.c+1−1

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/mailbox.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/mcbsp.c+45−0

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-omap1/pm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/pm_bus.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/serial.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap1/timer.c+173−0

This diff is large: its 174 lines aren’t shown here.

arch/arm/mach-omap2/Kconfig+6−3

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-omap2/Makefile+43−55

This diff is large: its 150 lines aren’t shown here.

arch/arm/mach-omap2/board-2430sdp.c+67−28

This diff is large: its 147 lines aren’t shown here.

arch/arm/mach-omap2/board-3430sdp.c+6−12

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-omap2/board-3630sdp.c+4−9

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-omap2/board-4430sdp.c+185−44

This diff is large: its 318 lines aren’t shown here.

arch/arm/mach-omap2/board-am3517crane.c+3−8

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-omap2/board-am3517evm.c+6−10

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-omap2/board-apollon.c+25−26

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-omap2/board-cm-t35.c+9−14

This diff is large: its 75 lines aren’t shown here.

arch/arm/mach-omap2/board-cm-t3517.c+3−8

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-omap2/board-devkit8000.c+10−22

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-omap2/board-flash.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-omap2/board-flash.h+19−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-omap2/board-generic.c+130−41

This diff is large: its 207 lines aren’t shown here.

arch/arm/mach-omap2/board-h4.c+95−86

This diff is large: its 277 lines aren’t shown here.

arch/arm/mach-omap2/board-igep0020.c+10−15

This diff is large: its 77 lines aren’t shown here.

arch/arm/mach-omap2/board-ldp.c+113−17

This diff is large: its 218 lines aren’t shown here.

arch/arm/mach-omap2/board-n8x0.c+10−21

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3beagle.c+18−21

This diff is large: its 101 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3evm.c+7−12

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3logic.c+5−10

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3pandora.c+5−10

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3stalker.c+7−51

This diff is large: its 113 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3touchbook.c+5−33

This diff is large: its 95 lines aren’t shown here.

arch/arm/mach-omap2/board-omap4panda.c+8−19

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-omap2/board-overo.c+8−12

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-omap2/board-rm680.c+9−18

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51-peripherals.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51.c+9−43

This diff is large: its 84 lines aren’t shown here.

arch/arm/mach-omap2/board-ti8168evm.c+3−9

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom.c+12−15

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-omap2/clkt_dpll.c+35−16

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-omap2/clock.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/clock2420_data.c+36−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-omap2/clock2430_data.c+36−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-omap2/clock3xxx_data.c+34−1

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-omap2/clock44xx.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-omap2/clock44xx_data.c+45−9

This diff is large: its 96 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.c+103−47

This diff is large: its 224 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.h+13−9

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain2xxx_3xxx.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain44xx.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains2420_data.c+154−0

This diff is large: its 155 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains2430_data.c+181−0

This diff is large: its 182 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c+18−785

This diff is large: its 841 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains3xxx_data.c+398−0

This diff is large: its 399 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains44xx_data.c+80−329

This diff is large: its 631 lines aren’t shown here.

arch/arm/mach-omap2/common.c+38−24

This diff is large: its 122 lines aren’t shown here.

arch/arm/mach-omap2/control.c+4−10

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-omap2/cpuidle34xx.c+85−48

This diff is large: its 321 lines aren’t shown here.

arch/arm/mach-omap2/devices.c+52−64

This diff is large: its 254 lines aren’t shown here.

arch/arm/mach-omap2/display.c+62−16

This diff is large: its 137 lines aren’t shown here.

arch/arm/mach-omap2/dma.c+8−17

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-omap2/dpll3xxx.c+6−3

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-omap2/dpll44xx.c+69−0

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-omap2/dsp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/gpio.c+6−16

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-onenand.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/hsmmc.c+8−34

This diff is large: its 104 lines aren’t shown here.

arch/arm/mach-omap2/hwspinlock.c+9−12

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-omap2/id.c+55−141

This diff is large: its 374 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/ctrl_module_pad_core_44xx.h+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/debug-macro.S+36−45

This diff is large: its 130 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/entry-macro.S+1−13

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/memory.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/io.c+104−54

This diff is large: its 251 lines aren’t shown here.

arch/arm/mach-omap2/io.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/iommu2.c+17−14

This diff is large: its 122 lines aren’t shown here.

arch/arm/mach-omap2/irq.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/mailbox.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/mcbsp.c+72−48

This diff is large: its 200 lines aren’t shown here.

arch/arm/mach-omap2/omap-iommu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/omap-smp.c+5−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2420_data.c+22−37

This diff is large: its 354 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2430_data.c+22−45

This diff is large: its 418 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+122−91

This diff is large: its 731 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_44xx_data.c+23−83

This diff is large: its 723 lines aren’t shown here.

arch/arm/mach-omap2/omap_l3_noc.c+83−65

This diff is large: its 234 lines aren’t shown here.

arch/arm/mach-omap2/omap_l3_noc.h+127−97

This diff is large: its 260 lines aren’t shown here.

arch/arm/mach-omap2/omap_l3_smx.c+44−47

This diff is large: its 135 lines aren’t shown here.

arch/arm/mach-omap2/omap_l3_smx.h+82−82

This diff is large: its 234 lines aren’t shown here.

arch/arm/mach-omap2/omap_twl.c+63−44

This diff is large: its 229 lines aren’t shown here.

arch/arm/mach-omap2/opp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/pm.c+40−65

This diff is large: its 215 lines aren’t shown here.

arch/arm/mach-omap2/pm24xx.c+0−27

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-omap2/pm34xx.c+38−34

This diff is large: its 150 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain-common.c+3−4

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain.c+95−29

This diff is large: its 193 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain.h+16−5

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain2xxx_3xxx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains2xxx_3xxx_data.c+3−18

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains2xxx_data.c+30−18

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains3xxx_data.c+65−32

This diff is large: its 287 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains44xx_data.c+19−17

This diff is large: its 184 lines aren’t shown here.

arch/arm/mach-omap2/prcm.c+7−13

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-omap2/prm2xxx_3xxx.c+56−0

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-omap2/prm2xxx_3xxx.h+12−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap2/prm44xx.c+71−0

This diff is large: its 84 lines aren’t shown here.

arch/arm/mach-omap2/prm44xx.h+12−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-omap2/sdrc.c+4−9

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap2/serial.c+8−31

This diff is large: its 75 lines aren’t shown here.

arch/arm/mach-omap2/smartreflex-class3.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-omap2/smartreflex.c+20−10

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-omap2/sr_device.c+5−14

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-omap2/timer.c+172−12

This diff is large: its 279 lines aren’t shown here.

arch/arm/mach-omap2/twl-common.c+10−1

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-omap2/usb-musb.c+7−57

This diff is large: its 91 lines aren’t shown here.

arch/arm/mach-omap2/usb-tusb6010.c+2−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-omap2/vc.c+367−0

This diff is large: its 368 lines aren’t shown here.

arch/arm/mach-omap2/vc.h+65−23

This diff is large: its 129 lines aren’t shown here.

arch/arm/mach-omap2/vc3xxx_data.c+20−11

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-omap2/vc44xx_data.c+29−15

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-omap2/voltage.c+207−882

This diff is large: its 1261 lines aren’t shown here.

arch/arm/mach-omap2/voltage.h+69−81

This diff is large: its 215 lines aren’t shown here.

arch/arm/mach-omap2/voltagedomains2xxx_data.c+32−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-omap2/voltagedomains3xxx_data.c+44−39

This diff is large: its 110 lines aren’t shown here.

arch/arm/mach-omap2/voltagedomains44xx_data.c+54−45

This diff is large: its 126 lines aren’t shown here.

arch/arm/mach-omap2/vp.c+278−0

This diff is large: its 279 lines aren’t shown here.

arch/arm/mach-omap2/vp.h+59−74

This diff is large: its 185 lines aren’t shown here.

arch/arm/mach-omap2/vp3xxx_data.c+16−19

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-omap2/vp44xx_data.c+18−29

This diff is large: its 88 lines aren’t shown here.

arch/arm/mach-orion5x/d2net-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-orion5x/db88f5281-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/dns323-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/edmini_v2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/memory.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-orion5x/irq.c+1−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-orion5x/kurobox_pro-setup.c+3−4

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-orion5x/ls-chl-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/ls_hgl-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/lsmini-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/mss2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/mv2120-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/net2big-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-ge-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5182-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/terastation_pro2-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/ts209-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/ts409-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/ts78xx-setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-orion5x/wnr854t-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/wrt350n-v2-setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-picoxcell/Makefile.boot+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-picoxcell/common.c+55−0

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-picoxcell/common.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/debug-macro.S+35−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/entry-macro.S+19−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/gpio.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/hardware.hrenamed from arch/arm/mach-lpc32xx/include/mach/memory.h+5−11

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/io.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/irqs.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/map.hrenamed from arch/arm/mach-vt8500/include/mach/memory.h+10−13

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/memory.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/system.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/timex.hrenamed from arch/arm/mach-nomadik/include/mach/memory.h+7−10

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/uncompress.hrenamed from arch/arm/mach-vexpress/include/mach/memory.h+5−9

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/vmalloc.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-picoxcell/io.c+32−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-picoxcell/time.c+132−0

This diff is large: its 133 lines aren’t shown here.

arch/arm/mach-pnx4008/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pnx4008/gpio.c+1−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/gpio-pnx4008.hrenamed from arch/arm/mach-pnx4008/include/mach/gpio.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/memory.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pnx4008/serial.c+1−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-prima2/Makefile+2−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-prima2/clock.c+2−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/memory.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-prima2/irq.c+43−0

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-prima2/l2x0.c+9−37

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-prima2/pm.c+150−0

This diff is large: its 151 lines aren’t shown here.

arch/arm/mach-prima2/pm.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-prima2/prima2.c+3−2

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-prima2/rtciobrg.c+139−0

This diff is large: its 140 lines aren’t shown here.

arch/arm/mach-prima2/sleep.S+64−0

This diff is large: its 65 lines aren’t shown here.

arch/arm/mach-prima2/timer.c+36−2

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-pxa/Kconfig+29−9

This diff is large: its 101 lines aren’t shown here.

arch/arm/mach-pxa/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/balloon3.c+6−6

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-pxa/capc7117.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/cm-x255.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/cm-x2xx-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

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

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-pxa/cm-x300.c+7−8

This diff is large: its 45 lines aren’t shown here.

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

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa300.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa320.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa3xx.c+3−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-pxa/corgi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/csb726.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/em-x270.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/eseries.c+7−7

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-pxa/eseries.h+0−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-pxa/ezx.c+6−6

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-pxa/generic.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/gumstix.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/h5000.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/himalaya.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/hx4700.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/icontrol.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/addr-map.h+4−4

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/balloon3.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/gpio-pxa.h+133−0

This diff is large: its 134 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/gpio.h+2−108

This diff is large: its 125 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/hardware.h+5−4

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/littleton.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/lpd270.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/memory.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/mtd-xip.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/palm27x.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/palmtx.h+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa27x.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa95x.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxafb.h+13−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/smemc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/zeus.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/zylonite.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/irq.c+3−4

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-pxa/littleton.c+4−3

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-pxa/lpd270.c+3−4

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-pxa/lubbock.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/magician.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/mainstone.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-pxa/mfp-pxa2xx.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/mioa701.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/mp900.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/mxm8x10.c+5−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/palmld.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/palmt5.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/palmtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/palmte2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/palmtreo.c+10−2

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-pxa/palmtx.c+5−5

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-pxa/palmz72.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/pcm027.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/pcm990-baseboard.c+3−4

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-pxa/poodle.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/pxa25x.c+3−2

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-pxa/pxa27x.c+3−2

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx-ulpi.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-pxa/pxa95x.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/raumfeld.c+6−5

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-pxa/saar.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/saarb.c+4−3

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-pxa/spitz.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/stargate2.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/tavorevb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/tavorevb3.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/trizeps4.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-pxa/viper.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/vpac270.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/xcep.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/z2.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/zeus.c+5−5

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-pxa/zylonite.c+4−3

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-realview/hotplug.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-realview/include/mach/debug-macro.S+3−16

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-realview/include/mach/gpio.h+1−6

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-realview/realview_eb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-realview/realview_pb1176.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-realview/realview_pb11mp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-realview/realview_pba8.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-realview/realview_pbx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-rpc/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-rpc/riscpc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2400/include/mach/memory.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s3c2410/Kconfig+0−7

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-s3c2410/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2410/dma.c+0−14

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-s3c2410/gpio.c+0−72

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/dma.h+13−7

This diff is large: its 46 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/fb.h+1−74

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/gpio-fns.h+1−98

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/gpio-nrs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/gpio-track.h+3−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/gpio.h+0−6

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/h1940-latch.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/irqs.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/map.h+47−6

This diff is large: its 84 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/memory.h+0−16

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/pm-core.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-amlm5900.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-bast.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-h1940.c+5−4

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-n30.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-otom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-qt2410.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-smdk2410.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-tct_hammer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/mach-vr1000.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2410/s3c2410.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s3c2412/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2412/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2412/dma.c+2−20

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-s3c2412/gpio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2412/mach-jive.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2412/mach-smdk2413.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s3c2412/mach-vstms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2416/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2416/clock.c+40−10

This diff is large: its 91 lines aren’t shown here.

arch/arm/mach-s3c2416/mach-smdk2416.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2416/s3c2416.c+5−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-s3c2416/setup-sdhci.c+0−37

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-s3c2440/Kconfig+0−4

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s3c2440/dma.c+0−17

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-anubis.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-at2440evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-gta02.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-mini2440.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-nexcoder.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-osiris.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-rx1950.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-rx3715.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/mach-smdk2440.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/s3c2440.c+2−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/s3c2442.c+2−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2443/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2443/clock.c+7−153

This diff is large: its 235 lines aren’t shown here.

arch/arm/mach-s3c2443/dma.c+0−27

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-s3c2443/mach-smdk2443.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2443/s3c2443.c+5−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-s3c64xx/Kconfig+1−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-s3c64xx/Makefile+1−4

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-s3c64xx/clock.c+10−3

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-s3c64xx/cpu.c+11−17

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-s3c64xx/dev-audio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c64xx/dev-onenand1.c+0−53

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-s3c64xx/dev-uart.c+8−52

This diff is large: its 90 lines aren’t shown here.

arch/arm/mach-s3c64xx/dma.c+6−6

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-s3c64xx/gpiolib.c+0−290

This diff is large: its 291 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/crag6410.h+23−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/dma.h+6−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/gpio.h+0−7

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/irqs.h+0−30

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/map.h+1−8

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/memory.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/pll.h+0−45

This diff is large: its 46 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/pm-core.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/pwm-clock.h+0−56

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/regs-sys.h+3−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-s3c64xx/irq.c+0−25

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-anw6410.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-crag6410-module.c+182−0

This diff is large: its 183 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-crag6410.c+28−85

This diff is large: its 211 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-hmt.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-mini6410.c+3−9

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-ncp.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-real6410.c+3−9

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smartq5.c+2−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smartq7.c+2−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smdk6400.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smdk6410.c+3−9

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-s3c64xx/pm.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/s3c6400.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/s3c6410.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s3c64xx/setup-sdhci.c+0−48

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-s5p64x0/Kconfig+16−2

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-s5p64x0/Makefile+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s5p64x0/clock-s5p6440.c+9−1

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s5p64x0/clock-s5p6450.c+9−1

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s5p64x0/cpu.c+6−0

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-s5p64x0/dev-spi.c+3−5

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-s5p64x0/dma.c+183−93

This diff is large: its 312 lines aren’t shown here.

arch/arm/mach-s5p64x0/gpiolib.c+2−5

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/dma.h+2−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/gpio.h+0−7

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/irqs.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/map.h+4−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/memory.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/pm-core.h+117−0

This diff is large: its 118 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/pwm-clock.h+0−68

This diff is large: its 69 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/regs-clock.h+33−0

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/regs-gpio.h+21−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-s5p64x0/irq-eint.c+4−1

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-s5p64x0/irq-pm.c+92−0

This diff is large: its 93 lines aren’t shown here.

arch/arm/mach-s5p64x0/mach-smdk6440.c+76−8

This diff is large: its 140 lines aren’t shown here.

arch/arm/mach-s5p64x0/mach-smdk6450.c+77−8

This diff is large: its 141 lines aren’t shown here.

arch/arm/mach-s5p64x0/pm.c+204−0

This diff is large: its 205 lines aren’t shown here.

arch/arm/mach-s5p64x0/setup-fb-24bpp.c+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s5pc100/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pc100/clock.c+11−4

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-s5pc100/dma.c+212−112

This diff is large: its 368 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/dma.h+2−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/gpio.h+0−7

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/memory.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s5pc100/include/mach/pwm-clock.h+0−56

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-s5pc100/mach-smdkc100.c+2−8

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-s5pc100/setup-sdhci.c+0−42

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-s5pv210/Kconfig+5−7

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-s5pv210/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/clock.c+136−15

This diff is large: its 237 lines aren’t shown here.

arch/arm/mach-s5pv210/cpu.c+6−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-s5pv210/dma.c+205−112

This diff is large: its 362 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/dma.h+2−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/gpio.h+0−7

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/irqs.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/map.h+13−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/memory.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/pm-core.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/pwm-clock.h+0−70

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/regs-clock.h+2−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-aquila.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-goni.c+58−1

This diff is large: its 126 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-smdkc110.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-smdkv210.c+2−8

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-torbreck.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/setup-sdhci.c+0−41

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-s5pv210/sleep.S+0−52

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-sa1100/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/assabet.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/badge4.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/collie.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-sa1100/generic.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-sa1100/h3100.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/h3600.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/hackkit.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/gpio.h+2−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-sa1100/jornada720.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-sa1100/lart.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/nanoengine.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/shannon.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/simpad.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shark/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shark/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shark/leds.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-shmobile/Kconfig+8−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-shmobile/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/board-ag5evm.c+30−15

This diff is large: its 123 lines aren’t shown here.

arch/arm/mach-shmobile/board-ap4evb.c+12−3

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-shmobile/board-g3evm.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-shmobile/board-g4evm.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-shmobile/board-kota2.c+447−0

This diff is large: its 448 lines aren’t shown here.

arch/arm/mach-shmobile/board-mackerel.c+27−6

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-shmobile/clock.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/entry-intc.S+0−3

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/common.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/entry-macro.S+0−3

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/gpio.h+4−20

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/intc.h+246−0

This diff is large: its 247 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/memory.h+0−3

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/sh7372.h+13−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/sh73a0.h+17−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh7367.c+6−34

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh7372.c+59−65

This diff is large: its 181 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh7377.c+6−61

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh73a0.c+187−0

This diff is large: its 215 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-sh73a0.c+105−15

This diff is large: its 189 lines aren’t shown here.

arch/arm/mach-shmobile/platsmp.c+6−4

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-shmobile/pm-sh7372.c+274−68

This diff is large: its 474 lines aren’t shown here.

arch/arm/mach-shmobile/pm_runtime.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh7372.c+25−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-shmobile/sleep-sh7372.S+28−193

This diff is large: its 245 lines aren’t shown here.

arch/arm/mach-shmobile/smp-sh73a0.c+5−1

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-spear3xx/include/mach/memory.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-spear3xx/spear300_evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-spear3xx/spear310_evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-spear3xx/spear320_evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-spear6xx/include/mach/memory.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-spear6xx/spear600_evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tcc8k/board-tcc8000-sdk.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-tegra/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-tegra/Makefile.boot+1−0

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-tegra/board-dt.c+24−7

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-pcie.c+4−6

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-pinmux.c+12−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-power.c+12−1

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.c+5−2

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00-pinmux.c+15−0

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.c+62−4

This diff is large: its 115 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.h+10−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-tegra/board-seaboard-pinmux.c+72−7

This diff is large: its 132 lines aren’t shown here.

arch/arm/mach-tegra/board-seaboard.c+83−4

This diff is large: its 173 lines aren’t shown here.

arch/arm/mach-tegra/board-seaboard.h+10−4

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice-pinmux.c+11−2

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/cpu-tegra.c+3−3

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-tegra/devices.c+86−0

This diff is large: its 94 lines aren’t shown here.

arch/arm/mach-tegra/devices.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/dma.c+9−5

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/gpio-tegra.hrenamed from arch/arm/mach-tegra/include/mach/memory.h+18−7

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/gpio.h+1−60

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/io.h+12−6

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/pinmux.h+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/powergate.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-tegra/io.c+4−4

This diff is large: its 30 lines aren’t shown here.

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

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-tegra/pinmux-t2-tables.c+13−63

This diff is large: its 99 lines aren’t shown here.

arch/arm/mach-tegra/pinmux.c+132−31

This diff is large: its 319 lines aren’t shown here.

arch/arm/mach-tegra/powergate.c+2−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-tegra/tegra2_clocks.c+25−25

This diff is large: its 191 lines aren’t shown here.

arch/arm/mach-tegra/timer.c+3−3

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-tegra/usb_phy.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-u300/Kconfig+3−46

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-u300/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-u300/Makefile.boot+3−14

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-u300/core.c+113−84

This diff is large: its 317 lines aren’t shown here.

arch/arm/mach-u300/i2c.c+1−50

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-u300/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-u300/include/mach/gpio-u300.h+150−0

This diff is large: its 151 lines aren’t shown here.

arch/arm/mach-u300/include/mach/gpio.h+1−294

This diff is large: its 296 lines aren’t shown here.

arch/arm/mach-u300/include/mach/irqs.h+10−9

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-u300/include/mach/memory.h+2−25

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-u300/include/mach/syscon.h+0−136

This diff is large: its 150 lines aren’t shown here.

arch/arm/mach-u300/mmc.c+1−17

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-u300/padmux.c+0−367

This diff is large: its 368 lines aren’t shown here.

arch/arm/mach-u300/padmux.h+0−39

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-u300/spi.c+0−20

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-u300/u300.c+1−17

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-ux500/Makefile+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-pins.c+24−12

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-sdi.c+35−17

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-u8500uib.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.c+65−20

This diff is large: its 137 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.h+3−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ux500/board-u5500-sdi.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-ux500/board-u5500.c+30−3

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-ux500/cache-l2x0.c+95−0

This diff is large: its 96 lines aren’t shown here.

arch/arm/mach-ux500/cpu-db5500.c+1−1

This diff is large: its 9 lines aren’t shown here.

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

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ux500/cpu.c+2−98

This diff is large: its 125 lines aren’t shown here.

arch/arm/mach-ux500/devices-common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/hotplug.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/db5500-regs.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/db8500-regs.h+3−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/gpio.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/memory.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/uncompress.h+2−8

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ux500/pins-db8500.h+73−69

This diff is large: its 399 lines aren’t shown here.

arch/arm/mach-ux500/platsmp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/timer.c+68−0

This diff is large: its 69 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/gpio.h+1−6

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/memory.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-versatile/versatile_ab.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-versatile/versatile_pb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vexpress/hotplug.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/gpio.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-vexpress/v2m.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vt8500/bv07.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/gpio.h+1−6

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-vt8500/wm8505_7in.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-w90x900/include/mach/gpio.h+1−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-w90x900/include/mach/memory.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-w90x900/mach-nuc910evb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-w90x900/mach-nuc950evb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-w90x900/mach-nuc960evb.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/memory.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/mm/Kconfig+2−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/mm/cache-l2x0.c+23−23

This diff is large: its 154 lines aren’t shown here.

arch/arm/mm/context.c+7−7

This diff is large: its 61 lines aren’t shown here.

arch/arm/mm/copypage-v4mc.c+3−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mm/copypage-v6.c+5−5

This diff is large: its 43 lines aren’t shown here.

arch/arm/mm/copypage-xscale.c+3−3

This diff is large: its 26 lines aren’t shown here.

arch/arm/mm/dma-mapping.c+33−11

This diff is large: its 89 lines aren’t shown here.

arch/arm/mm/fault-armv.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/init.c+1−9

This diff is large: its 38 lines aren’t shown here.

arch/arm/mm/mmu.c+8−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mm/proc-arm920.S+8−13

This diff is large: its 40 lines aren’t shown here.

arch/arm/mm/proc-arm926.S+8−13

This diff is large: its 40 lines aren’t shown here.

arch/arm/mm/proc-sa1100.S+10−15

This diff is large: its 45 lines aren’t shown here.

arch/arm/mm/proc-v6.S+19−25

This diff is large: its 66 lines aren’t shown here.

arch/arm/mm/proc-v7.S+22−28

This diff is large: its 79 lines aren’t shown here.

arch/arm/mm/proc-xsc3.S+11−17

This diff is large: its 52 lines aren’t shown here.

arch/arm/mm/proc-xscale.S+10−15

This diff is large: its 49 lines aren’t shown here.

arch/arm/plat-iop/gpio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-iop/time.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/Kconfig+17−33

This diff is large: its 68 lines aren’t shown here.

arch/arm/plat-mxc/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/audmux-v2.c+4−14

This diff is large: its 42 lines aren’t shown here.

arch/arm/plat-mxc/avic.c+69−23

This diff is large: its 132 lines aren’t shown here.

arch/arm/plat-mxc/cpu.c+9−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-mxc/devices.c+0−67

This diff is large: its 74 lines aren’t shown here.

arch/arm/plat-mxc/devices/Kconfig+8−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-mxc/devices/Makefile+2−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-ahci-imx.c+156−0

This diff is large: its 157 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-fsl-usb2-udc.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-i2c.c+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-mxc-ehci.c+9−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-pata_imx.c+59−0

This diff is large: its 60 lines aren’t shown here.

arch/arm/plat-mxc/gic.c+41−0

This diff is large: its 42 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/common.h+62−1

This diff is large: its 82 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/debug-macro.S+9−33

This diff is large: its 59 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/devices-common.h+32−2

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/entry-macro.S+4−57

This diff is large: its 77 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/gpio.h+1−39

This diff is large: its 41 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/hardware.h+18−1

This diff is large: its 42 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/i2c.h+0−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/io.h+6−16

This diff is large: its 39 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx3.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx51.h+758−1512

This diff is large: its 2287 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx53.h+1184−2346

This diff is large: its 3544 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-v3.h+6−5

This diff is large: its 25 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/irqs.h+8−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/memory.h+0−58

This diff is large: its 59 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx25.h+5−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx27.h+0−14

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx31.h+0−14

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx35.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx3x.h+2−16

This diff is large: its 25 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx51.h+86−97

This diff is large: its 238 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx53.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx6q.h+33−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/system.h+3−32

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-mxc/irq-common.c+11−10

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-mxc/irq-common.h+1−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/pwm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/system.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/tzic.c+31−2

This diff is large: its 68 lines aren’t shown here.

arch/arm/plat-nomadik/Kconfig+7−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/gpio-nomadik.hrenamed from arch/arm/plat-nomadik/include/plat/gpio.h+6−14

This diff is large: its 39 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/mtu.h+2−45

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/pincfg.h+0−5

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-nomadik/timer.c+107−31

This diff is large: its 211 lines aren’t shown here.

arch/arm/plat-omap/Kconfig+1−12

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-omap/Makefile+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/clock.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/debug-devices.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-omap/debug-leds.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-omap/devices.c+1−84

This diff is large: its 109 lines aren’t shown here.

arch/arm/plat-omap/dmtimer.c+412−302

This diff is large: its 1007 lines aren’t shown here.

arch/arm/plat-omap/i2c.c+32−13

This diff is large: its 81 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clock.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/common.h+23−7

This diff is large: its 52 lines aren’t shown here.

arch/arm/plat-omap/include/plat/cpu.h+27−98

This diff is large: its 203 lines aren’t shown here.

arch/arm/plat-omap/include/plat/dmtimer.h+160−73

This diff is large: its 360 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpio.h+0−20

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-omap/include/plat/io.h+32−5

This diff is large: its 77 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iommu.h+35−43

This diff is large: its 128 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iommu2.h+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iopgtable.hrenamed from arch/arm/plat-omap/iopgtable.h+19−1

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iovmm.h+15−15

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mcbsp.h+65−143

This diff is large: its 283 lines aren’t shown here.

arch/arm/plat-omap/include/plat/memory.h+0−102

This diff is large: its 103 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mmc.h+18−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap-alsa.h+0−123

This diff is large: its 124 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap-pm.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_device.h+17−16

This diff is large: its 76 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_hwmod.h+1−4

This diff is large: its 33 lines aren’t shown here.

arch/arm/plat-omap/include/plat/serial.h+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-omap/include/plat/uncompress.h+7−1

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-omap/include/plat/voltage.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-omap/io.c+18−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/plat-omap/mailbox.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/mcbsp.c+164−221

This diff is large: its 657 lines aren’t shown here.

arch/arm/plat-omap/omap-pm-noop.c+17−7

This diff is large: its 56 lines aren’t shown here.

arch/arm/plat-omap/omap_device.c+338−115

This diff is large: its 674 lines aren’t shown here.

arch/arm/plat-omap/sram.c+20−65

This diff is large: its 192 lines aren’t shown here.

arch/arm/plat-orion/include/plat/gpio.h+1−9

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-pxa/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-pxa/include/plat/gpio-pxa.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-pxa/include/plat/gpio.h+3−37

This diff is large: its 53 lines aren’t shown here.

arch/arm/plat-pxa/include/plat/mfp.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-pxa/include/plat/pxa3xx_nand.h+18−2

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-pxa/mfp.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-s3c24xx/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-s3c24xx/Makefile+1−3

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-s3c24xx/cpu.c+4−5

This diff is large: its 24 lines aren’t shown here.

arch/arm/plat-s3c24xx/dev-uart.c+100−0

This diff is large: its 101 lines aren’t shown here.

arch/arm/plat-s3c24xx/devs.c+0−528

This diff is large: its 529 lines aren’t shown here.

arch/arm/plat-s3c24xx/dma.c+5−5

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-s3c24xx/gpio.c+0−96

This diff is large: its 97 lines aren’t shown here.

arch/arm/plat-s3c24xx/gpiolib.c+0−229

This diff is large: its 230 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/mach/pwm-clock.h+0−55

This diff is large: its 56 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/plat/map.h+0−100

This diff is large: its 101 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/plat/pll.h+0−62

This diff is large: its 63 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/plat/regs-iis.h+0−68

This diff is large: its 69 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/plat/regs-spi.h+0−81

This diff is large: its 82 lines aren’t shown here.

arch/arm/plat-s3c24xx/s3c2443-clock.c+187−5

This diff is large: its 255 lines aren’t shown here.

arch/arm/plat-s5p/Kconfig+23−5

This diff is large: its 73 lines aren’t shown here.

arch/arm/plat-s5p/Makefile+2−12

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-s5p/cpu.c+33−15

This diff is large: its 96 lines aren’t shown here.

arch/arm/plat-s5p/dev-csis0.c+0−34

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-s5p/dev-csis1.c+0−34

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-s5p/dev-ehci.c+0−57

This diff is large: its 58 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc0.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc1.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc2.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimc3.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimd0.c+0−67

This diff is large: its 68 lines aren’t shown here.

arch/arm/plat-s5p/dev-mfc.c+0−50

This diff is large: its 57 lines aren’t shown here.

arch/arm/plat-s5p/dev-onenand.c+0−45

This diff is large: its 46 lines aren’t shown here.

arch/arm/plat-s5p/dev-pmu.c+0−36

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-s5p/dev-uart.c+12−72

This diff is large: its 128 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/pll.h+0−153

This diff is large: its 154 lines aren’t shown here.

arch/arm/plat-s5p/irq-gpioint.c+5−5

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-s5p/irq.c+0−34

This diff is large: its 50 lines aren’t shown here.

arch/arm/plat-s5p/sleep.Srenamed from arch/arm/mach-exynos4/sleep.S+4−9

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-samsung/Kconfig+13−35

This diff is large: its 82 lines aren’t shown here.

arch/arm/plat-samsung/Makefile+6−34

This diff is large: its 70 lines aren’t shown here.

arch/arm/plat-samsung/adc.c+32−11

This diff is large: its 117 lines aren’t shown here.

arch/arm/plat-samsung/cpu.c+58−0

This diff is large: its 59 lines aren’t shown here.

arch/arm/plat-samsung/dev-adc.c+0−46

This diff is large: its 47 lines aren’t shown here.

arch/arm/plat-samsung/dev-asocdma.c+0−35

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-samsung/dev-backlight.c+2−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-samsung/dev-fb.c+0−63

This diff is large: its 64 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc.c+0−79

This diff is large: its 80 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc1.c+0−79

This diff is large: its 80 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc2.c+0−80

This diff is large: its 81 lines aren’t shown here.

arch/arm/plat-samsung/dev-hsmmc3.c+0−83

This diff is large: its 84 lines aren’t shown here.

arch/arm/plat-samsung/dev-hwmon.c+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c0.c+0−70

This diff is large: its 71 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c1.c+0−61

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c2.c+0−62

This diff is large: its 63 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c3.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c4.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c5.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c6.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-samsung/dev-i2c7.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/plat-samsung/dev-ide.c+0−44

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/dev-keypad.c+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm/plat-samsung/dev-nand.c+0−125

This diff is large: its 126 lines aren’t shown here.

arch/arm/plat-samsung/dev-onenand.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-samsung/dev-pwm.c+0−53

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-samsung/dev-rtc.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-samsung/dev-ts.c+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm/plat-samsung/dev-usb-hsotg.c+0−48

This diff is large: its 49 lines aren’t shown here.

arch/arm/plat-samsung/dev-usb.c+0−65

This diff is large: its 66 lines aren’t shown here.

arch/arm/plat-samsung/dev-wdt.c+0−40

This diff is large: its 41 lines aren’t shown here.

arch/arm/plat-samsung/devs.c+1463−0

This diff is large: its 1464 lines aren’t shown here.

arch/arm/plat-samsung/dma-ops.c+132−0

This diff is large: its 133 lines aren’t shown here.

arch/arm/plat-samsung/gpio-config.c+0−431

This diff is large: its 432 lines aren’t shown here.

arch/arm/plat-samsung/gpio.c+0−167

This diff is large: its 168 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/adc-core.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/audio-simtec.hrenamed from arch/arm/plat-s3c24xx/include/plat/audio-simtec.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/camport.hrenamed from arch/arm/plat-s5p/include/plat/camport.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/common-smdk.hrenamed from arch/arm/plat-s3c24xx/include/plat/common-smdk.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/cpu-freq-core.hrenamed from arch/arm/plat-s3c24xx/include/plat/cpu-freq-core.h+3−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/cpu.h+112−1

This diff is large: its 136 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/devs.h+71−80

This diff is large: its 196 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/dma-ops.h+63−0

This diff is large: its 64 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/dma-pl330.hrenamed from arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h+15−9

This diff is large: its 47 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/dma-s3c24xx.h+1−7

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/dma.h+4−6

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/ehci.hrenamed from arch/arm/plat-s5p/include/plat/ehci.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/exynos4.hrenamed from arch/arm/plat-s5p/include/plat/exynos4.h+6−5

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb-s3c2410.h+72−0

This diff is large: its 73 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb.h+7−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fiq.hrenamed from arch/arm/plat-s3c24xx/include/plat/fiq.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h+42−130

This diff is large: its 273 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-cfg.h+17−17

This diff is large: its 95 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-core.h+25−72

This diff is large: its 155 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-fns.h+98−0

This diff is large: its 99 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/iic.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/irq.hrenamed from arch/arm/plat-s3c24xx/include/plat/irq.h+13−12

This diff is large: its 64 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/irqs.hrenamed from arch/arm/plat-s5p/include/plat/irqs.h+4−39

This diff is large: its 65 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/map-s3c.h+84−0

This diff is large: its 85 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/map-s5p.hrenamed from arch/arm/plat-s5p/include/plat/map-s5p.h+3−3

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/mci.hrenamed from arch/arm/plat-s3c24xx/include/plat/mci.h+5−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/mfc.hrenamed from arch/arm/plat-s5p/include/plat/mfc.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/mipi_csis.hrenamed from arch/arm/plat-s5p/include/plat/mipi_csis.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/pll.h+323−0

This diff is large: its 324 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/pll6553x.h+0−51

This diff is large: its 52 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/pm.h+5−5

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/pwm-clock.hrenamed from arch/arm/mach-exynos4/include/mach/pwm-clock.h+25−14

This diff is large: its 82 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-adc.h+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-dma.hrenamed from arch/arm/plat-s3c24xx/include/plat/regs-dma.h+59−53

This diff is large: its 164 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-iis.h+70−0

This diff is large: its 71 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-serial.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-spi.h+48−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-srom.hrenamed from arch/arm/plat-s5p/include/plat/regs-srom.h+4−4

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-udc.hrenamed from arch/arm/plat-s3c24xx/include/plat/regs-udc.h+65−67

This diff is large: its 150 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/reset.hrenamed from arch/arm/plat-s5p/include/plat/reset.h+4−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c2410.hrenamed from arch/arm/plat-s3c24xx/include/plat/s3c2410.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c2412.hrenamed from arch/arm/plat-s3c24xx/include/plat/s3c2412.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c2416.hrenamed from arch/arm/plat-s3c24xx/include/plat/s3c2416.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c2443.hrenamed from arch/arm/plat-s3c24xx/include/plat/s3c2443.h+5−4

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c244x.hrenamed from arch/arm/plat-s3c24xx/include/plat/s3c244x.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c6400.hrenamed from arch/arm/mach-s3c64xx/include/mach/s3c6400.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c6410.hrenamed from arch/arm/mach-s3c64xx/include/mach/s3c6410.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5p-clock.hrenamed from arch/arm/plat-s5p/include/plat/s5p-clock.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5p-time.hrenamed from arch/arm/plat-s5p/include/plat/s5p-time.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5p6440.hrenamed from arch/arm/plat-s5p/include/plat/s5p6440.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5p6450.hrenamed from arch/arm/plat-s5p/include/plat/s5p6450.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5pc100.hrenamed from arch/arm/plat-s5p/include/plat/s5pc100.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s5pv210.hrenamed from arch/arm/plat-s5p/include/plat/s5pv210.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/sdhci.h+7−57

This diff is large: its 239 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/sysmmu.hrenamed from arch/arm/plat-s5p/include/plat/sysmmu.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/system-reset.hrenamed from arch/arm/plat-s5p/include/plat/system-reset.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/tv-core.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/udc.hrenamed from arch/arm/plat-s3c24xx/include/plat/udc.h+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/usb-phy.hrenamed from arch/arm/plat-s5p/include/plat/usb-phy.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-samsung/irq-uart.c+0−96

This diff is large: its 97 lines aren’t shown here.

arch/arm/plat-samsung/platformdata.c+21−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-samsung/pm-gpio.c+36−36

This diff is large: its 213 lines aren’t shown here.

arch/arm/plat-samsung/pm.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-samsung/pwm-clock.c+11−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-samsung/pwm.c+7−0

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-samsung/s3c-dma-ops.c+131−0

This diff is large: its 132 lines aren’t shown here.

arch/arm/plat-samsung/s3c-pl330.c+0−1244

This diff is large: its 1245 lines aren’t shown here.

arch/arm/plat-spear/include/plat/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-spear/include/plat/gpio.h+1−24

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-spear/include/plat/memory.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-tcc/include/mach/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-tcc/include/mach/memory.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-versatile/platsmp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/vfp/vfpmodule.c+22−10

This diff is large: its 70 lines aren’t shown here.

arch/avr32/boards/atngw100/setup.c+2−6

This diff is large: its 22 lines aren’t shown here.

arch/avr32/boards/atstk1000/atstk1002.c+2−7

This diff is large: its 21 lines aren’t shown here.

arch/avr32/mach-at32ap/clock.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mach-at32ap/cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mach-at32ap/include/mach/board.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/avr32/mach-at32ap/intc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mach-at32ap/pio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mm/dma-coherent.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/configs/BF548-EZKIT_defconfig+3−10

This diff is large: its 78 lines aren’t shown here.

arch/blackfin/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/atomic.h+10−94

This diff is large: its 128 lines aren’t shown here.

arch/blackfin/include/asm/mutex.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/blackfin/include/asm/uaccess.h+3−3

This diff is large: its 21 lines aren’t shown here.

arch/blackfin/kernel/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/dma-mapping.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/kgdb_test.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/blackfin/kernel/perf_event.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/sys_bfin.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/time-ts.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/blackfin/kernel/time.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf518/boards/ezbrd.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/ad7160eval.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/cm_bf527.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/ezbrd.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/ezkit.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/tll6527m.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf533/boards/H8606.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/cm_bf537e.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/cm_bf537u.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/dnp5370.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/pnav10.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/stamp.c+52−37

This diff is large: its 195 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/tcm_bf537.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf561/boards/cm_bf561.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-bf561/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-common/cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-common/smp.c+6−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mm/init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/arch-v10/drivers/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/arch-v10/kernel/kgdb.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/cris/arch-v32/drivers/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-a3/nandflash.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/drivers/mach-fs/nandflash.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/kgdb.c+7−7

This diff is large: its 58 lines aren’t shown here.

arch/frv/kernel/gdb-stub.c+22−22

This diff is large: its 116 lines aren’t shown here.

arch/h8300/include/asm/gpio-internal.hrenamed from arch/h8300/include/asm/gpio.h+0−0

File renamed without changes.

arch/h8300/platform/h8300h/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/platform/h8s/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/Kconfig+220−0

This diff is large: its 221 lines aren’t shown here.

arch/hexagon/Makefile+58−0

This diff is large: its 59 lines aren’t shown here.

arch/hexagon/configs/comet_defconfig+85−0

This diff is large: its 86 lines aren’t shown here.

arch/hexagon/include/asm/Kbuild+58−0

This diff is large: its 59 lines aren’t shown here.

arch/hexagon/include/asm/asm-offsets.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/hexagon/include/asm/atomic.h+164−0

This diff is large: its 165 lines aren’t shown here.

arch/hexagon/include/asm/bitops.h+301−0

This diff is large: its 302 lines aren’t shown here.

arch/hexagon/include/asm/bitsperlong.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/byteorder.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/hexagon/include/asm/cache.h+34−0

This diff is large: its 35 lines aren’t shown here.

arch/hexagon/include/asm/cacheflush.h+99−0

This diff is large: its 100 lines aren’t shown here.

arch/hexagon/include/asm/checksum.h+50−0

This diff is large: its 51 lines aren’t shown here.

arch/hexagon/include/asm/delay.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/hexagon/include/asm/dma-mapping.h+101−0

This diff is large: its 102 lines aren’t shown here.

arch/hexagon/include/asm/dma.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/elf.h+229−0

This diff is large: its 230 lines aren’t shown here.

arch/hexagon/include/asm/fixmap.h+73−0

This diff is large: its 74 lines aren’t shown here.

arch/hexagon/include/asm/fpu.h+4−0

This diff is large: its 5 lines aren’t shown here.

arch/hexagon/include/asm/futex.h+137−0

This diff is large: its 138 lines aren’t shown here.

arch/hexagon/include/asm/hexagon_vm.h+281−0

This diff is large: its 282 lines aren’t shown here.

arch/hexagon/include/asm/intrinsics.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/io.h+326−0

This diff is large: its 327 lines aren’t shown here.

arch/hexagon/include/asm/irq.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/hexagon/include/asm/irqflags.h+62−0

This diff is large: its 63 lines aren’t shown here.

arch/hexagon/include/asm/kgdb.h+43−0

This diff is large: its 44 lines aren’t shown here.

arch/hexagon/include/asm/linkage.hrenamed from arch/arm/mach-netx/include/mach/memory.h+9−10

This diff is large: its 35 lines aren’t shown here.

arch/hexagon/include/asm/mem-layout.h+112−0

This diff is large: its 113 lines aren’t shown here.

arch/hexagon/include/asm/mmu.h+37−0

This diff is large: its 38 lines aren’t shown here.

arch/hexagon/include/asm/mmu_context.h+100−0

This diff is large: its 101 lines aren’t shown here.

arch/hexagon/include/asm/module.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/mutex.h+8−0

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/page.h+157−0

This diff is large: its 158 lines aren’t shown here.

arch/hexagon/include/asm/param.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/perf_event.h+24−0

This diff is large: its 25 lines aren’t shown here.

arch/hexagon/include/asm/pgalloc.h+146−0

This diff is large: its 147 lines aren’t shown here.

arch/hexagon/include/asm/pgtable.h+518−0

This diff is large: its 519 lines aren’t shown here.

arch/hexagon/include/asm/processor.h+123−0

This diff is large: its 124 lines aren’t shown here.

arch/hexagon/include/asm/ptrace.h+35−0

This diff is large: its 36 lines aren’t shown here.

arch/hexagon/include/asm/registers.h+236−0

This diff is large: its 237 lines aren’t shown here.

arch/hexagon/include/asm/setup.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/sigcontext.h+33−0

This diff is large: its 34 lines aren’t shown here.

arch/hexagon/include/asm/signal.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/smp.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/hexagon/include/asm/spinlock.h+186−0

This diff is large: its 187 lines aren’t shown here.

arch/hexagon/include/asm/spinlock_types.h+42−0

This diff is large: its 43 lines aren’t shown here.

arch/hexagon/include/asm/string.h+32−0

This diff is large: its 33 lines aren’t shown here.

arch/hexagon/include/asm/suspend.h+27−0

This diff is large: its 28 lines aren’t shown here.

arch/hexagon/include/asm/swab.h+24−0

This diff is large: its 25 lines aren’t shown here.

arch/hexagon/include/asm/syscall.h+54−0

This diff is large: its 55 lines aren’t shown here.

arch/hexagon/include/asm/system.h+126−0

This diff is large: its 127 lines aren’t shown here.

arch/hexagon/include/asm/thread_info.h+154−0

This diff is large: its 155 lines aren’t shown here.

arch/hexagon/include/asm/time.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/timer-regs.h+39−0

This diff is large: its 40 lines aren’t shown here.

arch/hexagon/include/asm/timex.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/hexagon/include/asm/tlb.h+39−0

This diff is large: its 40 lines aren’t shown here.

arch/hexagon/include/asm/tlbflush.h+58−0

This diff is large: its 59 lines aren’t shown here.

arch/hexagon/include/asm/traps.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/uaccess.h+116−0

This diff is large: its 117 lines aren’t shown here.

arch/hexagon/include/asm/unistd.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/hexagon/include/asm/user.h+81−0

This diff is large: its 82 lines aren’t shown here.

arch/hexagon/include/asm/vdso.h+30−0

This diff is large: its 31 lines aren’t shown here.

arch/hexagon/include/asm/vm_fault.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/vm_mmu.h+111−0

This diff is large: its 112 lines aren’t shown here.

arch/hexagon/kernel/Makefile+18−0

This diff is large: its 19 lines aren’t shown here.

arch/hexagon/kernel/asm-offsets.c+104−0

This diff is large: its 105 lines aren’t shown here.

arch/hexagon/kernel/dma.c+220−0

This diff is large: its 221 lines aren’t shown here.

arch/hexagon/kernel/head.S+162−0

This diff is large: its 163 lines aren’t shown here.

arch/hexagon/kernel/hexagon_ksyms.c+40−0

This diff is large: its 41 lines aren’t shown here.

arch/hexagon/kernel/init_task.c+54−0

This diff is large: its 55 lines aren’t shown here.

arch/hexagon/kernel/irq_cpu.c+90−0

This diff is large: its 91 lines aren’t shown here.

arch/hexagon/kernel/kgdb.c+254−0

This diff is large: its 255 lines aren’t shown here.

arch/hexagon/kernel/module.c+162−0

This diff is large: its 163 lines aren’t shown here.

arch/hexagon/kernel/process.c+279−0

This diff is large: its 280 lines aren’t shown here.

arch/hexagon/kernel/ptrace.c+180−0

This diff is large: its 181 lines aren’t shown here.

arch/hexagon/kernel/reset.c+38−0

This diff is large: its 39 lines aren’t shown here.

arch/hexagon/kernel/setup.c+145−0

This diff is large: its 146 lines aren’t shown here.

arch/hexagon/kernel/signal.c+345−0

This diff is large: its 346 lines aren’t shown here.

arch/hexagon/kernel/smp.c+276−0

This diff is large: its 277 lines aren’t shown here.

arch/hexagon/kernel/stacktrace.c+66−0

This diff is large: its 67 lines aren’t shown here.

arch/hexagon/kernel/syscall.c+90−0

This diff is large: its 91 lines aren’t shown here.

arch/hexagon/kernel/syscalltab.c+32−0

This diff is large: its 33 lines aren’t shown here.

arch/hexagon/kernel/time.c+250−0

This diff is large: its 251 lines aren’t shown here.

arch/hexagon/kernel/topology.c+52−0

This diff is large: its 53 lines aren’t shown here.

arch/hexagon/kernel/trampoline.S+35−0

This diff is large: its 36 lines aren’t shown here.

arch/hexagon/kernel/traps.c+454−0

This diff is large: its 455 lines aren’t shown here.

arch/hexagon/kernel/vdso.c+100−0

This diff is large: its 101 lines aren’t shown here.

arch/hexagon/kernel/vm_entry.S+269−0

This diff is large: its 270 lines aren’t shown here.

arch/hexagon/kernel/vm_events.c+101−0

This diff is large: its 102 lines aren’t shown here.

arch/hexagon/kernel/vm_init_segtable.S+442−0

This diff is large: its 443 lines aren’t shown here.

arch/hexagon/kernel/vm_ops.S+102−0

This diff is large: its 103 lines aren’t shown here.

arch/hexagon/kernel/vm_switch.S+95−0

This diff is large: its 96 lines aren’t shown here.

arch/hexagon/kernel/vm_vectors.S+48−0

This diff is large: its 49 lines aren’t shown here.

arch/hexagon/kernel/vmlinux.lds.S+88−0

This diff is large: its 89 lines aren’t shown here.

arch/hexagon/lib/Makefile+4−0

This diff is large: its 5 lines aren’t shown here.

arch/hexagon/lib/checksum.c+203−0

This diff is large: its 204 lines aren’t shown here.

arch/hexagon/lib/io.c+91−0

This diff is large: its 92 lines aren’t shown here.

arch/hexagon/lib/memcpy.S+543−0

This diff is large: its 544 lines aren’t shown here.

arch/hexagon/lib/memset.S+315−0

This diff is large: its 316 lines aren’t shown here.

arch/hexagon/mm/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/mm/cache.c+128−0

This diff is large: its 129 lines aren’t shown here.

arch/hexagon/mm/copy_from_user.S+114−0

This diff is large: its 115 lines aren’t shown here.

arch/hexagon/mm/copy_to_user.S+92−0

This diff is large: its 93 lines aren’t shown here.

arch/hexagon/mm/copy_user_template.S+185−0

This diff is large: its 186 lines aren’t shown here.

arch/hexagon/mm/init.c+276−0

This diff is large: its 277 lines aren’t shown here.

arch/hexagon/mm/ioremap.c+56−0

This diff is large: its 57 lines aren’t shown here.

arch/hexagon/mm/pgalloc.c+23−0

This diff is large: its 24 lines aren’t shown here.

arch/hexagon/mm/strnlen_user.S+139−0

This diff is large: its 140 lines aren’t shown here.

arch/hexagon/mm/uaccess.c+59−0

This diff is large: its 60 lines aren’t shown here.

arch/hexagon/mm/vm_fault.c+187−0

This diff is large: its 188 lines aren’t shown here.

arch/hexagon/mm/vm_tlb.c+93−0

This diff is large: its 94 lines aren’t shown here.

arch/ia64/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/configs/generic_defconfig+2−1

This diff is large: its 14 lines aren’t shown here.

arch/ia64/configs/gensparse_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/configs/tiger_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/configs/xen_domu_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/configs/zx1_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/dig/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/hp/common/hwsw_iommu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/hp/sim/simeth.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/device.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/iommu.h+4−2

This diff is large: its 17 lines aren’t shown here.

arch/ia64/include/asm/pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/unistd.h+3−1

This diff is large: its 15 lines aren’t shown here.

arch/ia64/include/asm/xen/grant_table.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/ia64/include/asm/xen/interface.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/acpi.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/ia64/kernel/dma-mapping.c+1−0

This diff is large: its 6 lines aren’t shown here.

arch/ia64/kernel/entry.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/msi_ia64.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/ia64/kernel/pci-dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/topology.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kvm/kvm-ia64.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/ia64/pci/pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/sn/kernel/io_acpi_init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/sn/kernel/io_init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/sn/kernel/sn2/sn_hwperf.c+8−4

This diff is large: its 20 lines aren’t shown here.

arch/ia64/sn/pci/pcibr/pcibr_dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/sn/pci/pcibr/pcibr_provider.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/sn/pci/tioca_provider.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/xen/grant-table.c+0−62

This diff is large: its 69 lines aren’t shown here.

arch/ia64/xen/hypervisor.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m32r/Kconfig+1−7

This diff is large: its 22 lines aren’t shown here.

arch/m68k/Kconfig+44−155

This diff is large: its 247 lines aren’t shown here.

arch/m68k/Kconfig.bus+64−0

This diff is large: its 65 lines aren’t shown here.

arch/m68k/Kconfig.cpu+429−0

This diff is large: its 430 lines aren’t shown here.

arch/m68k/Kconfig.devices+154−0

This diff is large: its 155 lines aren’t shown here.

arch/m68k/Kconfig.machinerenamed from arch/m68k/Kconfig.nommu+179−383

This diff is large: its 729 lines aren’t shown here.

arch/m68k/Kconfig.mmu+0−411

This diff is large: its 412 lines aren’t shown here.

arch/m68k/Makefile+166−2

This diff is large: its 174 lines aren’t shown here.

arch/m68k/Makefile_mm+0−121

This diff is large: its 122 lines aren’t shown here.

arch/m68k/Makefile_no+0−124

This diff is large: its 125 lines aren’t shown here.

arch/m68k/amiga/amiints.c+64−104

This diff is large: its 278 lines aren’t shown here.

arch/m68k/amiga/cia.c+21−18

This diff is large: its 100 lines aren’t shown here.

arch/m68k/apollo/dn_ints.c+19−16

This diff is large: its 64 lines aren’t shown here.

arch/m68k/atari/ataints.c+26−248

This diff is large: its 311 lines aren’t shown here.

arch/m68k/atari/time.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/bvme6000/config.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/emu/nfblock.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/m68k/hp300/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/entry.h+252−3

This diff is large: its 258 lines aren’t shown here.

arch/m68k/include/asm/entry_mm.h+0−128

This diff is large: its 129 lines aren’t shown here.

arch/m68k/include/asm/entry_no.h+0−181

This diff is large: its 182 lines aren’t shown here.

arch/m68k/include/asm/hardirq.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/m68k/include/asm/irq.h+15−54

This diff is large: its 96 lines aren’t shown here.

arch/m68k/include/asm/m520xsim.h+12−14

This diff is large: its 40 lines aren’t shown here.

arch/m68k/include/asm/macintosh.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mcfqspi.h+5−3

This diff is large: its 15 lines aren’t shown here.

arch/m68k/include/asm/page_no.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/m68k/include/asm/processor.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/m68k/include/asm/q40ints.h+0−3

This diff is large: its 7 lines aren’t shown here.

arch/m68k/include/asm/sections.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/m68k/kernel/Makefile+19−4

This diff is large: its 25 lines aren’t shown here.

arch/m68k/kernel/Makefile_mm+0−17

This diff is large: its 18 lines aren’t shown here.

arch/m68k/kernel/Makefile_no+0−10

This diff is large: its 11 lines aren’t shown here.

arch/m68k/kernel/dma_mm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/dma_no.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/entry_mm.S+3−4

This diff is large: its 28 lines aren’t shown here.

arch/m68k/kernel/entry_no.S+3−3

This diff is large: its 27 lines aren’t shown here.

arch/m68k/kernel/ints.c+31−292

This diff is large: its 420 lines aren’t shown here.

arch/m68k/kernel/setup_no.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/m68k/kernel/traps.c+1105−3

This diff is large: its 1111 lines aren’t shown here.

arch/m68k/kernel/traps_mm.c+0−1207

This diff is large: its 1208 lines aren’t shown here.

arch/m68k/kernel/traps_no.c+0−361

This diff is large: its 362 lines aren’t shown here.

arch/m68k/kernel/vectors.c+145−0

This diff is large: its 146 lines aren’t shown here.

arch/m68k/lib/memcpy.c+9−0

This diff is large: its 16 lines aren’t shown here.

arch/m68k/mac/baboon.c+9−12

This diff is large: its 83 lines aren’t shown here.

arch/m68k/mac/iop.c+4−6

This diff is large: its 20 lines aren’t shown here.

arch/m68k/mac/macints.c+11−13

This diff is large: its 60 lines aren’t shown here.

arch/m68k/mac/oss.c+21−33

This diff is large: its 121 lines aren’t shown here.

arch/m68k/mac/psc.c+24−25

This diff is large: its 94 lines aren’t shown here.

arch/m68k/mac/via.c+29−45

This diff is large: its 167 lines aren’t shown here.

arch/m68k/mm/init_no.c+8−13

This diff is large: its 67 lines aren’t shown here.

arch/m68k/mvme147/config.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/m68k/mvme16x/config.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/520x/config.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/m68k/platform/520x/gpio.c+7−43

This diff is large: its 106 lines aren’t shown here.

arch/m68k/platform/68328/Makefile+4−1

This diff is large: its 12 lines aren’t shown here.

arch/m68k/platform/68328/entry.S+9−9

This diff is large: its 81 lines aren’t shown here.

arch/m68k/platform/68360/Makefile+4−2

This diff is large: its 15 lines aren’t shown here.

arch/m68k/platform/68360/entry.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/platform/coldfire/entry.S+2−4

This diff is large: its 20 lines aren’t shown here.

arch/m68k/q40/q40ints.c+28−32

This diff is large: its 149 lines aren’t shown here.

arch/m68k/sun3/sun3ints.c+27−19

This diff is large: its 83 lines aren’t shown here.

arch/microblaze/include/asm/dma-mapping.h+18−2

This diff is large: its 46 lines aren’t shown here.

arch/microblaze/include/asm/elf.h+5−3

This diff is large: its 19 lines aren’t shown here.

arch/microblaze/include/asm/system.h+0−9

This diff is large: its 21 lines aren’t shown here.

arch/microblaze/include/asm/uaccess.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/dma.c+64−19

This diff is large: its 126 lines aren’t shown here.

arch/microblaze/kernel/exceptions.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/irq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/process.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/ptrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/timer.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/lib/Makefile+1−0

This diff is large: its 7 lines aren’t shown here.

arch/microblaze/lib/uaccess_old.S+106−17

This diff is large: its 173 lines aren’t shown here.

arch/microblaze/lib/ucmpdi2.c+20−0

This diff is large: its 21 lines aren’t shown here.

arch/microblaze/mm/init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/pci/iomap.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/pci/pci-common.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/Kconfig+5−22

This diff is large: its 78 lines aren’t shown here.

arch/mips/Makefile+5−3

This diff is large: its 30 lines aren’t shown here.

arch/mips/alchemy/Kconfig+15−35

This diff is large: its 151 lines aren’t shown here.

arch/mips/alchemy/common/Makefile+1−5

This diff is large: its 11 lines aren’t shown here.

arch/mips/alchemy/common/dbdma.c+91−112

This diff is large: its 260 lines aren’t shown here.

arch/mips/alchemy/common/dma.c+34−38

This diff is large: its 101 lines aren’t shown here.

arch/mips/alchemy/common/gpiolib.crenamed from arch/mips/alchemy/common/gpiolib-au1000.c+21−14

This diff is large: its 60 lines aren’t shown here.

arch/mips/alchemy/common/pci.c+0−104

This diff is large: its 105 lines aren’t shown here.

arch/mips/alchemy/common/platform.c+89−281

This diff is large: its 452 lines aren’t shown here.

arch/mips/alchemy/common/power.c+0−46

This diff is large: its 78 lines aren’t shown here.

arch/mips/alchemy/common/setup.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/mips/alchemy/devboards/db1200/platform.c+125−44

This diff is large: its 260 lines aren’t shown here.

arch/mips/alchemy/devboards/db1x00/board_setup.c+1−27

This diff is large: its 49 lines aren’t shown here.

arch/mips/alchemy/devboards/db1x00/platform.c+222−24

This diff is large: its 270 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1100/platform.c+38−11

This diff is large: its 70 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1200/platform.c+163−27

This diff is large: its 235 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1500/board_setup.c+12−21

This diff is large: its 47 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1500/platform.c+58−13

This diff is large: its 91 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1550/board_setup.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1550/platform.c+95−24

This diff is large: its 144 lines aren’t shown here.

arch/mips/alchemy/gpr/board_setup.c+0−12

This diff is large: its 24 lines aren’t shown here.

arch/mips/alchemy/gpr/platform.c+47−0

This diff is large: its 61 lines aren’t shown here.

arch/mips/alchemy/mtx-1/board_setup.c+0−40

This diff is large: its 61 lines aren’t shown here.

arch/mips/alchemy/mtx-1/platform.c+62−0

This diff is large: its 70 lines aren’t shown here.

arch/mips/alchemy/xxs1500/board_setup.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mips/alchemy/xxs1500/platform.c+6−6

This diff is large: its 27 lines aren’t shown here.

arch/mips/bcm47xx/Kconfig+31−0

This diff is large: its 32 lines aren’t shown here.

arch/mips/bcm47xx/Makefile+2−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/bcm47xx/gpio.c+62−21

This diff is large: its 112 lines aren’t shown here.

arch/mips/bcm47xx/irq.c+12−0

This diff is large: its 25 lines aren’t shown here.

arch/mips/bcm47xx/nvram.c+25−4

This diff is large: its 40 lines aren’t shown here.

arch/mips/bcm47xx/serial.c+44−2

This diff is large: its 62 lines aren’t shown here.

arch/mips/bcm47xx/setup.c+84−7

This diff is large: its 151 lines aren’t shown here.

arch/mips/bcm47xx/time.c+14−2

This diff is large: its 30 lines aren’t shown here.

arch/mips/bcm47xx/wgt634u.c+9−5

This diff is large: its 40 lines aren’t shown here.

arch/mips/cavium-octeon/csrc-octeon.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/dma-octeon.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/flash_setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/cacheflush.h+24−0

This diff is large: its 29 lines aren’t shown here.

arch/mips/include/asm/compat.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/cpu.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/io.h+2−10

This diff is large: its 34 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1000.h+210−349

This diff is large: its 679 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx.h+0−43

This diff is large: its 44 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h+56−60

This diff is large: its 123 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx_ide.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx_psc.h+0−39

This diff is large: its 60 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/gpio-au1000.h+2−29

This diff is large: its 52 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/gpio.h+76−3

This diff is large: its 87 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/bcm47xx.h+24−2

This diff is large: its 32 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/gpio.h+93−15

This diff is large: its 142 lines aren’t shown here.

arch/mips/include/asm/mach-db1x00/db1200.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-db1x00/db1x00.h+8−8

This diff is large: its 24 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1200.h+8−10

This diff is large: its 41 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1550.h+8−8

This diff is large: its 24 lines aren’t shown here.

arch/mips/include/asm/mipsprom.h+3−3

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+8−0

This diff is large: its 27 lines aren’t shown here.

arch/mips/include/asm/prom.h+3−3

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/regdef.h+6−0

This diff is large: its 23 lines aren’t shown here.

arch/mips/jz4740/gpio.c+38−102

This diff is large: its 247 lines aren’t shown here.

arch/mips/jz4740/irq.c+38−54

This diff is large: its 138 lines aren’t shown here.

arch/mips/jz4740/irq.h+4−2

This diff is large: its 12 lines aren’t shown here.

arch/mips/jz4740/pm.c+0−3

This diff is large: its 20 lines aren’t shown here.

arch/mips/kernel/8250-platform.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/Makefile+4−1

This diff is large: its 19 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+5−1

This diff is large: its 28 lines aren’t shown here.

arch/mips/kernel/i8253.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/init_task.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/kernel/irq-msc01.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/irq.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/mips-mt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/mips_ksyms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/module.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/perf_event.c+1−518

This diff is large: its 535 lines aren’t shown here.

arch/mips/kernel/perf_event_mipsxx.c+919−346

This diff is large: its 1498 lines aren’t shown here.

arch/mips/kernel/process.c+1−1

This diff is large: its 15 lines aren’t shown here.

arch/mips/kernel/prom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/reset.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/rtlx.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/scall32-o32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/spinlock_test.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/stacktrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/traps.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/unaligned.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/vpe.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/loongson/common/platform.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/c-octeon.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/mm/c-r3k.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/mm/c-r4k.c+35−0

This diff is large: its 49 lines aren’t shown here.

arch/mips/mm/c-tx39.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/mm/cache.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/mm/tlb-r3k.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/mm/tlb-r4k.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/netlogic/Platform+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/netlogic/xlr/setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/netlogic/xlr/smp.c+5−1

This diff is large: its 20 lines aren’t shown here.

arch/mips/netlogic/xlr/smpboot.S+11−5

This diff is large: its 37 lines aren’t shown here.

arch/mips/pci/Makefile+1−2

This diff is large: its 16 lines aren’t shown here.

arch/mips/pci/fixup-au1000.c+0−43

This diff is large: its 44 lines aren’t shown here.

arch/mips/pci/ops-au1000.c+0−308

This diff is large: its 309 lines aren’t shown here.

arch/mips/pci/pci-alchemy.c+516−0

This diff is large: its 517 lines aren’t shown here.

arch/mips/pci/pci-bcm47xx.c+6−0

This diff is large: its 29 lines aren’t shown here.

arch/mips/pci/pci-ip27.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/pci/pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_serial.c+67−6

This diff is large: its 102 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/pmc-sierra/yosemite/py-console.c+2−10

This diff is large: its 34 lines aren’t shown here.

arch/mips/pnx8550/common/prom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/powertv/Kconfig+0−2

This diff is large: its 6 lines aren’t shown here.

arch/mips/powertv/asic/Kconfig+0−28

This diff is large: its 29 lines aren’t shown here.

arch/mips/powertv/pci/fixup-powertv.c+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/powertv/powertv-usb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/rb532/gpio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/rb532/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-irq.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/mips/txx9/generic/setup_tx4939.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/txx9/generic/spi_eeprom.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/txx9/rbtx4939/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/vr41xx/common/giu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/vr41xx/common/rtc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mn10300/kernel/gdb-stub.c+26−26

This diff is large: its 136 lines aren’t shown here.

arch/openrisc/Kconfig+0−12

This diff is large: its 26 lines aren’t shown here.

arch/parisc/include/asm/compat.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/parisc/kernel/drivers.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/kernel/pci-dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/kernel/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/lib/iomap.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/Kconfig+5−26

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/Kconfig.debug+42−4

This diff is large: its 76 lines aren’t shown here.

arch/powerpc/boot/Makefile+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/boot/dts/charon.dts+236−0

This diff is large: its 237 lines aren’t shown here.

arch/powerpc/boot/dts/digsy_mtc.dts+51−8

This diff is large: its 101 lines aren’t shown here.

arch/powerpc/boot/dts/gef_ppc9a.dts+29−4

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/boot/dts/gef_sbc310.dts+29−4

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/boot/dts/gef_sbc610.dts+29−4

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/boot/dts/hcu4.dts+0−168

This diff is large: its 169 lines aren’t shown here.

arch/powerpc/boot/dts/ksi8560.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/mgcoge.dts+9−0

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/boot/dts/mpc5200b.dtsi+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8349emitx.dts+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/boot/dts/p1010rdb.dts+2−8

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/boot/dts/p1010si.dtsi+4−6

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/boot/dts/p1022ds.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/p2020ds.dts+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/boot/dts/p2041rdb.dtsrenamed from arch/powerpc/boot/dts/p2040rdb.dts+8−9

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/boot/dts/p2041si.dtsirenamed from arch/powerpc/boot/dts/p2040si.dtsi+102−33

This diff is large: its 342 lines aren’t shown here.

arch/powerpc/boot/dts/p3041ds.dts+6−2

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/boot/dts/p3041si.dtsi+70−1

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/boot/dts/p3060qds.dts+238−0

This diff is large: its 239 lines aren’t shown here.

arch/powerpc/boot/dts/p3060si.dtsi+719−0

This diff is large: its 720 lines aren’t shown here.

arch/powerpc/boot/dts/p4080ds.dts+11−1

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/boot/dts/p4080si.dtsi+104−10

This diff is large: its 196 lines aren’t shown here.

arch/powerpc/boot/dts/p5020ds.dts+6−2

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/boot/dts/p5020si.dtsi+66−2

This diff is large: its 94 lines aren’t shown here.

arch/powerpc/boot/dts/sbc8560.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/boot/dts/yosemite.dts+36−0

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/configs/40x/acadia_defconfig+6−5

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/configs/40x/ep405_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/40x/hcu4_defconfig+0−80

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/configs/40x/kilauea_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/40x/makalu_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/40x/walnut_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/arches_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/44x/bamboo_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/bluestone_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/44x/canyonlands_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/44x/ebony_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/eiger_defconfig+5−4

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/44x/icon_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/katmai_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/redwood_defconfig+6−5

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/configs/44x/sam440ep_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/sequoia_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/taishan_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/44x/warp_defconfig+3−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/configs/52xx/tqm5200_defconfig+12−8

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/configs/85xx/p1023rds_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/configs/85xx/xes_mpc85xx_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/configs/corenet32_smp_defconfig+2−9

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/corenet64_smp_defconfig+0−5

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/configs/mgcoge_defconfig+16−11

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/configs/mpc512x_defconfig+11−8

This diff is large: its 76 lines aren’t shown here.

arch/powerpc/configs/mpc5200_defconfig+12−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+1−4

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+1−5

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/configs/ppc40x_defconfig+3−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/configs/ppc44x_defconfig+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/configs/ppc64_defconfig+4−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/ppc6xx_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/configs/pseries_defconfig+4−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/compat.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/device.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/include/asm/firmware.h+10−0

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/include/asm/floppy.h+2−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/include/asm/hugetlb.h+61−2

This diff is large: its 91 lines aren’t shown here.

arch/powerpc/include/asm/kexec.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/kvm.h+13−0

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s.h+37−3

This diff is large: its 67 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s_asm.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/kvm_host.h+18−12

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/include/asm/kvm_ppc.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/lv1call.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/machdep.h+3−1

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/mmu-book3e.h+7−0

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/include/asm/mmu-hash64.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/mmu.h+10−8

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/include/asm/mpic.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/opal.h+443−0

This diff is large: its 444 lines aren’t shown here.

arch/powerpc/include/asm/paca.h+8−0

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/include/asm/page.h+30−1

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/include/asm/page_64.h+0−11

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/pte-book3e.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/reg_booke.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/rtas.h+4−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/include/asm/smp.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/sparsemem.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/spu.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/systbl.h+2−0

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/include/asm/topology.h+5−9

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/include/asm/udbg.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/unistd.h+3−1

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/xics.h+21−2

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/kernel/asm-offsets.c+17−6

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/kernel/btext.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/crash.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/dma-iommu.c+22−7

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/kernel/dma-swiotlb.c+16−0

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/kernel/dma.c+38−7

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64s.S+26−17

This diff is large: its 97 lines aren’t shown here.

arch/powerpc/kernel/firmware.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/head_32.S+3−4

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/kernel/head_40x.S+3−12

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/kernel/head_44x.S+3−13

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/kernel/head_64.S+19−3

This diff is large: its 50 lines aren’t shown here.

arch/powerpc/kernel/head_8xx.S+3−10

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/kernel/head_fsl_booke.S+140−35

This diff is large: its 270 lines aren’t shown here.

arch/powerpc/kernel/hw_breakpoint.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/ibmebus.c+16−8

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/kernel/idle_e500.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/init_task.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/kernel/io-workarounds.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/io.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/iomap.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/iommu.c+8−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kernel/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/isa-bridge.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/kvm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/legacy_serial.c+25−0

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/kernel/machine_kexec_64.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/misc_32.S+171−0

This diff is large: its 185 lines aren’t shown here.

arch/powerpc/kernel/module.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/of_platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/paca.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/pci-common.c+12−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/kernel/pci_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/pci_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/pci_dn.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/pci_of_scan.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/pmc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/power6-pmu.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/kernel/power7-pmu.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/ppc_ksyms.c+1−1

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/prom.c+19−2

This diff is large: its 59 lines aren’t shown here.

arch/powerpc/kernel/prom_init.c+350−33

This diff is large: its 507 lines aren’t shown here.

arch/powerpc/kernel/prom_init_check.sh+3−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/kernel/prom_parse.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/ptrace.c+14−7

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/kernel/rtas.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/setup-common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/setup_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/setup_64.c+15−9

This diff is large: its 59 lines aren’t shown here.

arch/powerpc/kernel/signal_64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/smp.c+27−7

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/kernel/stacktrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/swsusp.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/swsusp_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/sysfs.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/traps.c+8−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/kernel/udbg.c+8−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kernel/vdso.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/vio.c+15−9

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/kvm/44x.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kvm/Makefile+4−0

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/kvm/book3s.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_32_sr.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_mmu.c+7−1

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kvm/book3s_64_slb.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_emulate.c+29−0

This diff is large: its 71 lines aren’t shown here.

arch/powerpc/kvm/book3s_exports.c+2−4

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv.c+197−147

This diff is large: its 528 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_builtin.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rm_mmu.c+0−33

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rmhandlers.S+266−34

This diff is large: its 441 lines aren’t shown here.

arch/powerpc/kvm/book3s_interrupts.S+5−124

This diff is large: its 168 lines aren’t shown here.

arch/powerpc/kvm/book3s_pr.c+44−15

This diff is large: its 123 lines aren’t shown here.

arch/powerpc/kvm/book3s_pr_papr.c+158−0

This diff is large: its 159 lines aren’t shown here.

arch/powerpc/kvm/book3s_rmhandlers.S+20−34

This diff is large: its 95 lines aren’t shown here.

arch/powerpc/kvm/book3s_segment.S+97−20

This diff is large: its 189 lines aren’t shown here.

arch/powerpc/kvm/booke.c+9−1

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/kvm/e500.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/powerpc.c+44−12

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/lib/checksum_wrappers_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/lib/devres.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/lib/locks.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/lib/rheap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/math-emu/math_efp.c+48−52

This diff is large: its 217 lines aren’t shown here.

arch/powerpc/mm/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/dma-noncoherent.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/fsl_booke_mmu.c+25−18

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/mm/gup.c+0−12

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/mm/hash_utils_64.c+4−6

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage-book3e.c+121−0

This diff is large: its 122 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage.c+353−47

This diff is large: its 578 lines aren’t shown here.

arch/powerpc/mm/init_32.c+9−0

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/mm/mem.c+38−2

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/mm/mmu_context_hash32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/mmu_context_hash64.c+7−7

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/mm/mmu_context_nohash.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/mm/mmu_decl.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/numa.c+29−17

This diff is large: its 115 lines aren’t shown here.

arch/powerpc/mm/pgtable.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/mm/pgtable_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/slice.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/tlb_hash32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/mm/tlb_low_64e.S+12−12

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash.c+63−5

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/platforms/40x/Kconfig+6−19

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/platforms/40x/Makefile+0−1

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/platforms/40x/hcu4.c+0−61

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/platforms/44x/Kconfig+27−27

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/platforms/44x/warp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/512x/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/512x/clock.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/512x/mpc512x_shared.c+10−14

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc5200_simple.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_common.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_gpt.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/82xx/km82xx.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/83xx/Kconfig+6−3

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c+57−1

This diff is large: its 99 lines aren’t shown here.

arch/powerpc/platforms/83xx/suspend.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/Kconfig+23−7

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/platforms/85xx/Makefile+2−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_cds.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_mds.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/p1022_ds.c+29−29

This diff is large: its 118 lines aren’t shown here.

arch/powerpc/platforms/85xx/p2041_rdb.crenamed from arch/powerpc/platforms/85xx/p2040_rdb.c+9−9

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/platforms/85xx/p3060_qds.c+77−0

This diff is large: its 78 lines aren’t shown here.

arch/powerpc/platforms/85xx/sbc8548.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/85xx/sbc8560.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/85xx/smp.c+7−5

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/platforms/86xx/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/86xx/gef_gpio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/86xx/mpc8610_hpcd.c+25−30

This diff is large: its 103 lines aren’t shown here.

arch/powerpc/platforms/8xx/tqm8xx_setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/Kconfig+2−11

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/platforms/Kconfig.cputype+3−9

This diff is large: its 39 lines aren’t shown here.

arch/powerpc/platforms/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/Kconfig+4−4

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/platforms/cell/axon_msi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/beat.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_spu_priv1.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_wrapper.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_powerbutton.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_regs.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_scc_pciex.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/cpufreq_spudemand.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/interrupt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/iommu.c+22−2

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/platforms/cell/pmu.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/cell/qpace_setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/smp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_base.c+3−6

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_callbacks.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_fault.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_manage.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_notify.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_priv1_mmio.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/backing_ops.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/context.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/coredump.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/fault.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/file.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/hw_ops.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/sched.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/switch.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/syscalls.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/holly.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/hvlpconfig.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/iommu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/ksyms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/lpardata.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/lpevents.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/mf.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/pci.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/smp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/iseries/vio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/viopath.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/maple/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pasemi/cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pasemi/dma_lib.c+2−1

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/platforms/pasemi/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/backlight.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/feature.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/low_i2c.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/nvram.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/pic.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/platforms/powermac/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/powermac/smp.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/powernv/Kconfig+16−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/powernv/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-nvram.c+88−0

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-rtc.c+97−0

This diff is large: its 98 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-takeover.S+140−0

This diff is large: its 141 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-wrappers.S+101−0

This diff is large: its 102 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal.c+322−0

This diff is large: its 323 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-p5ioc2.c+234−0

This diff is large: its 235 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.c+427−0

This diff is large: its 428 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.h+48−0

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/platforms/powernv/powernv.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/powernv/setup.c+196−0

This diff is large: its 197 lines aren’t shown here.

arch/powerpc/platforms/powernv/smp.c+182−0

This diff is large: its 183 lines aren’t shown here.

arch/powerpc/platforms/prep/Kconfig+0−9

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/platforms/ps3/Kconfig+12−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/ps3/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/ps3/device-init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/ps3/exports.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/ps3/gelic_udbg.c+273−0

This diff is large: its 274 lines aren’t shown here.

arch/powerpc/platforms/ps3/interrupt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/ps3/mm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/ps3/os-area.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/ps3/repository.c+16−16

This diff is large: its 130 lines aren’t shown here.

arch/powerpc/platforms/ps3/setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/ps3/spu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/ps3/system-bus.c+8−1

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/platforms/pseries/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/dlpar.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh.c+3−1

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh_event.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh_sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/hotplug-cpu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/hvconsole.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/pseries/io_event_irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/iommu.c+33−2

This diff is large: its 82 lines aren’t shown here.

arch/powerpc/platforms/pseries/lpar.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/mobility.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/nvram.c+164−7

This diff is large: its 216 lines aren’t shown here.

arch/powerpc/platforms/pseries/pci_dlpar.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/plpar_wrappers.h+3−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/pseries/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/smp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/pseries/suspend.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/wsp/Kconfig+7−9

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/platforms/wsp/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/platforms/wsp/ics.c+48−0

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/platforms/wsp/ics.h+5−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/wsp/msi.c+102−0

This diff is large: its 103 lines aren’t shown here.

arch/powerpc/platforms/wsp/msi.h+19−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/platforms/wsp/psr2.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/wsp/wsp.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/wsp/wsp_pci.c+1133−0

This diff is large: its 1134 lines aren’t shown here.

arch/powerpc/platforms/wsp/wsp_pci.h+268−0

This diff is large: its 269 lines aren’t shown here.

arch/powerpc/sysdev/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/axonram.c+2−6

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/sysdev/bestcomm/sram.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/cpm_common.c+3−1

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/sysdev/dcr.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_gtm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_lbc.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/sysdev/fsl_msi.c+19−9

This diff is large: its 72 lines aren’t shown here.

arch/powerpc/sysdev/fsl_msi.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/sysdev/fsl_pmc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/fsl_rio.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/sysdev/fsl_soc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/fsl_soc.h+17−8

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/sysdev/mpc5xxx_clocks.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/mpc8xx_pic.c+0−1

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/sysdev/mpic.c+25−11

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/sysdev/mv64x60_pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/pmi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_msi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_pci.c+78−23

This diff is large: its 225 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_pci.h+12−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_soc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/gpio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc_fast.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/ucc_slow.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/usb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/rtc_cmos_setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/scom.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/simple_gpio.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/sysdev/tsi108_dev.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/uic.c+12−12

This diff is large: its 97 lines aren’t shown here.

arch/powerpc/sysdev/xics/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/sysdev/xics/icp-native.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/xics/ics-opal.c+244−0

This diff is large: its 245 lines aren’t shown here.

arch/powerpc/sysdev/xics/xics-common.c+4−9

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/xmon/xmon.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/s390/Kconfig+11−0

This diff is large: its 25 lines aren’t shown here.

arch/s390/boot/compressed/misc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/crypto/sha_common.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/hypfs/inode.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/s390/include/asm/ccwdev.h+3−0

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/compat.h+8−8

This diff is large: its 45 lines aren’t shown here.

arch/s390/include/asm/ipl.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/asm/irq.h+4−2

This diff is large: its 28 lines aren’t shown here.

arch/s390/include/asm/kexec.h+6−0

This diff is large: its 16 lines aren’t shown here.

arch/s390/include/asm/kvm_host.h+8−0

This diff is large: its 41 lines aren’t shown here.

arch/s390/include/asm/lowcore.h+3−7

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/page.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/pgtable.h+2−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/include/asm/processor.h+30−18

This diff is large: its 90 lines aren’t shown here.

arch/s390/include/asm/ptrace.h+13−16

This diff is large: its 86 lines aren’t shown here.

arch/s390/include/asm/qdio.h+80−3

This diff is large: its 146 lines aren’t shown here.

arch/s390/include/asm/reset.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/asm/setup.h+13−0

This diff is large: its 54 lines aren’t shown here.

arch/s390/include/asm/sfp-util.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/smp.h+5−0

This diff is large: its 19 lines aren’t shown here.

arch/s390/include/asm/spinlock.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/syscall.h+4−2

This diff is large: its 27 lines aren’t shown here.

arch/s390/include/asm/system.h+8−2

This diff is large: its 31 lines aren’t shown here.

arch/s390/include/asm/thread_info.h+4−3

This diff is large: its 42 lines aren’t shown here.

arch/s390/include/asm/timex.h+11−0

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/tlbflush.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/kernel/asm-offsets.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/s390/kernel/base.S+6−0

This diff is large: its 27 lines aren’t shown here.

arch/s390/kernel/compat_linux.c+8−24

This diff is large: its 60 lines aren’t shown here.

arch/s390/kernel/compat_signal.c+28−43

This diff is large: its 154 lines aren’t shown here.

arch/s390/kernel/compat_wrapper.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/crash_dump.c+426−0

This diff is large: its 427 lines aren’t shown here.

arch/s390/kernel/early.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/entry.S+34−50

This diff is large: its 223 lines aren’t shown here.

arch/s390/kernel/entry.h+11−2

This diff is large: its 36 lines aren’t shown here.

arch/s390/kernel/entry64.S+36−50

This diff is large: its 239 lines aren’t shown here.

arch/s390/kernel/head.S+22−0

This diff is large: its 47 lines aren’t shown here.

arch/s390/kernel/head31.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/head64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/head_kdump.S+119−0

This diff is large: its 120 lines aren’t shown here.

arch/s390/kernel/ipl.c+18−8

This diff is large: its 82 lines aren’t shown here.

arch/s390/kernel/irq.c+4−2

This diff is large: its 28 lines aren’t shown here.

arch/s390/kernel/jump_label.c+31−20

This diff is large: its 70 lines aren’t shown here.

arch/s390/kernel/kprobes.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/machine_kexec.c+186−6

This diff is large: its 245 lines aren’t shown here.

arch/s390/kernel/mem_detect.c+69−0

This diff is large: its 73 lines aren’t shown here.

arch/s390/kernel/process.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/s390/kernel/processor.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/ptrace.c+85−39

This diff is large: its 224 lines aren’t shown here.

arch/s390/kernel/reipl.S+6−0

This diff is large: its 13 lines aren’t shown here.

arch/s390/kernel/reipl64.S+6−3

This diff is large: its 27 lines aren’t shown here.

arch/s390/kernel/setup.c+244−31

This diff is large: its 381 lines aren’t shown here.

arch/s390/kernel/signal.c+70−58

This diff is large: its 206 lines aren’t shown here.

arch/s390/kernel/smp.c+64−9

This diff is large: its 164 lines aren’t shown here.

arch/s390/kernel/suspend.c+119−0

This diff is large: its 133 lines aren’t shown here.

arch/s390/kernel/swsusp_asm64.S+3−0

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/sysinfo.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/time.c+10−4

This diff is large: its 43 lines aren’t shown here.

arch/s390/kernel/topology.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/traps.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/s390/kernel/vtime.c+7−4

This diff is large: its 39 lines aren’t shown here.

arch/s390/kvm/diag.c+31−1

This diff is large: its 53 lines aren’t shown here.

arch/s390/kvm/interrupt.c+30−0

This diff is large: its 65 lines aren’t shown here.

arch/s390/kvm/kvm-s390.c+17−4

This diff is large: its 77 lines aren’t shown here.

arch/s390/kvm/sigp.c+44−1

This diff is large: its 68 lines aren’t shown here.

arch/s390/lib/delay.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/s390/lib/uaccess_pt.c+4−2

This diff is large: its 20 lines aren’t shown here.

arch/s390/mm/fault.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/s390/mm/gup.c+13−1

This diff is large: its 35 lines aren’t shown here.

arch/s390/mm/init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/mm/maccess.c+56−0

This diff is large: its 74 lines aren’t shown here.

arch/s390/mm/mmap.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/mm/pageattr.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/mm/pgtable.c+77−6

This diff is large: its 186 lines aren’t shown here.

arch/s390/mm/vmem.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/s390/oprofile/hwsampler.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/score/Kconfig+0−19

This diff is large: its 33 lines aren’t shown here.

arch/sh/Kconfig+12−5

This diff is large: its 38 lines aren’t shown here.

arch/sh/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/boards/board-espt.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/sh/boards/board-secureedge5410.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/sh/boards/board-sh7757lcr.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/sh/boards/mach-ap325rxa/setup.c+5−5

This diff is large: its 24 lines aren’t shown here.

arch/sh/boards/mach-cayman/irq.c+0−2

This diff is large: its 14 lines aren’t shown here.

arch/sh/boards/mach-ecovec24/setup.c+5−1

This diff is large: its 26 lines aren’t shown here.

arch/sh/boards/mach-hp6xx/hp6xx_apm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-migor/setup.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/sh/boards/mach-se/7724/setup.c+1−1

This diff is large: its 14 lines aren’t shown here.

arch/sh/boards/mach-sh7763rdp/setup.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/sh/boot/Makefile+4−2

This diff is large: its 24 lines aren’t shown here.

arch/sh/drivers/dma/dma-g2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/dma/dma-pvr2.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/drivers/dma/dma-sh.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/drivers/dma/dma-sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/drivers/dma/dmabrg.c+3−3

This diff is large: its 21 lines aren’t shown here.

arch/sh/drivers/pci/pci-sh5.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/sh/drivers/pci/pci-sh7780.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/drivers/push-switch.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/page.h+10−0

This diff is large: its 17 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7757.c+9−1

This diff is large: its 24 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/smp-shx3.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/shmobile/cpuidle.c+18−11

This diff is large: its 96 lines aren’t shown here.

arch/sh/kernel/perf_event.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/setup.c+6−3

This diff is large: its 20 lines aren’t shown here.

arch/sh/kernel/topology.c+2−0

This diff is large: its 11 lines aren’t shown here.

arch/sh/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/mm/init.c+5−4

This diff is large: its 35 lines aren’t shown here.

arch/sparc/Kconfig+1−6

This diff is large: its 14 lines aren’t shown here.

arch/sparc/include/asm/compat.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/sparc/include/asm/termios.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/unistd.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/sparc/kernel/apc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/auxio_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/btext.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/central.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/cpumap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/dma.c+0−1

This diff is large: its 6 lines aren’t shown here.

arch/sparc/kernel/ebus.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/hvapi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/idprom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/iommu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/irq_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/irq_64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/jump_label.c+0−8

This diff is large: its 13 lines aren’t shown here.

arch/sparc/kernel/ldc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/leon_kernel.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/leon_pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/leon_pci_grpci2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/mdesc.c+2−0

This diff is large: its 14 lines aren’t shown here.

arch/sparc/kernel/nmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/of_device_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/of_device_64.c+2−1

This diff is large: its 16 lines aren’t shown here.

arch/sparc/kernel/of_device_common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/pci_fire.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pci_psycho.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pci_sabre.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pci_schizo.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pci_sun4v.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pcic.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/pcr.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/sparc/kernel/pmc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/power.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/process_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/prom_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/prom_64.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/prom_common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/reboot.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/sbus.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/setup_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/smp_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/sparc_ksyms_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/stacktrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/sys_sparc32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/sys_sparc_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/systbls_32.S+1−1

This diff is large: its 6 lines aren’t shown here.

arch/sparc/kernel/systbls_64.S+2−2

This diff is large: its 15 lines aren’t shown here.

arch/sparc/kernel/time_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/traps_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/unaligned_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/vio.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/viohs.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/visemul.c+16−16

This diff is large: its 88 lines aren’t shown here.

arch/sparc/lib/memcpy.S+99−705

This diff is large: its 958 lines aren’t shown here.

arch/sparc/mm/fault_32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/generic_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/generic_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/gup.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/sparc/mm/highmem.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/mm/hugetlbpage.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

arch/tile/configs/tilegx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/configs/tilepro_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/arch/Kbuild+17−0

This diff is large: its 18 lines aren’t shown here.

arch/tile/include/arch/abi.h+72−27

This diff is large: its 125 lines aren’t shown here.

arch/tile/include/arch/opcode.hrenamed from arch/tile/include/asm/opcode_constants.h+6−11

This diff is large: its 28 lines aren’t shown here.

arch/tile/include/arch/opcode_tilegx.hrenamed from arch/tile/include/asm/opcode_constants_64.h+801−5

This diff is large: its 825 lines aren’t shown here.

arch/tile/include/arch/opcode_tilepro.h+1471−0

This diff is large: its 1472 lines aren’t shown here.

arch/tile/include/asm/Kbuild+2−0

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/opcode-tile_32.h+0−1513

This diff is large: its 1514 lines aren’t shown here.

arch/tile/include/asm/opcode-tile_64.h+0−1248

This diff is large: its 1249 lines aren’t shown here.

arch/tile/include/asm/opcode_constants_32.h+0−480

This diff is large: its 481 lines aren’t shown here.

arch/tile/include/asm/sigcontext.h+10−8

This diff is large: its 32 lines aren’t shown here.

arch/tile/include/asm/tile-desc.hrenamed from arch/tile/include/asm/opcode-tile.h+4−15

This diff is large: its 30 lines aren’t shown here.

arch/tile/include/asm/tile-desc_32.h+553−0

This diff is large: its 554 lines aren’t shown here.

arch/tile/include/asm/tile-desc_64.h+483−0

This diff is large: its 484 lines aren’t shown here.

arch/tile/kernel/backtrace.c+14−5

This diff is large: its 42 lines aren’t shown here.

arch/tile/kernel/module.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/tile/kernel/single_step.c+4−5

This diff is large: its 38 lines aren’t shown here.

arch/tile/kernel/tile-desc_32.c+1174−1068

This diff is large: its 3635 lines aren’t shown here.

arch/tile/kernel/tile-desc_64.c+23−5

This diff is large: its 51 lines aren’t shown here.

arch/tile/kernel/traps.c+2−3

This diff is large: its 24 lines aren’t shown here.

arch/tile/lib/exports.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/um/Kconfig.char+1−113

This diff is large: its 130 lines aren’t shown here.

arch/um/Kconfig.rest+1−22

This diff is large: its 42 lines aren’t shown here.

arch/um/Kconfig.um+6−0

This diff is large: its 12 lines aren’t shown here.

arch/um/Makefile+26−23

This diff is large: its 99 lines aren’t shown here.

arch/um/Makefile-x86_64+0−26

This diff is large: its 27 lines aren’t shown here.

arch/um/defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/drivers/chan.hrenamed from arch/um/include/shared/chan_kern.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/um/drivers/chan_kern.c+6−6

This diff is large: its 49 lines aren’t shown here.

arch/um/drivers/chan_user.c+6−3

This diff is large: its 25 lines aren’t shown here.

arch/um/drivers/chan_user.hrenamed from arch/um/include/shared/chan_user.h+0−0

File renamed without changes.

arch/um/drivers/cow_sys.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/drivers/daemon_user.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/drivers/fd.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/drivers/harddog_user.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/drivers/line.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/drivers/line.hrenamed from arch/um/include/shared/line.h+0−0

File renamed without changes.

arch/um/drivers/mconsole.hrenamed from arch/um/include/shared/mconsole.h+0−0

File renamed without changes.

arch/um/drivers/mconsole_kern.hrenamed from arch/um/include/shared/mconsole_kern.h+0−0

File renamed without changes.

arch/um/drivers/mconsole_user.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/drivers/net_kern.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/drivers/net_user.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/drivers/pcap_user.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/drivers/port_user.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/drivers/pty.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/drivers/slip_user.c+0−2

This diff is large: its 13 lines aren’t shown here.

arch/um/drivers/slirp_user.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/drivers/ssl.c+1−3

This diff is large: its 12 lines aren’t shown here.

arch/um/drivers/stdio_console.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/um/drivers/tty.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/drivers/ubd_kern.c+30−3

This diff is large: its 55 lines aren’t shown here.

arch/um/drivers/ubd_user.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/drivers/ubd_user.hrenamed from arch/um/include/shared/ubd_user.h+0−0

File renamed without changes.

arch/um/drivers/umcast_user.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/drivers/vde_user.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/drivers/xterm.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/include/asm/Kbuild+3−0

This diff is large: its 4 lines aren’t shown here.

arch/um/include/asm/bug.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/checksum.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/cputime.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/device.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/um/include/asm/emergency-restart.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/futex.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/hardirq.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/um/include/asm/hw_irq.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/um/include/asm/irq_regs.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/um/include/asm/irqflags.h+37−1

This diff is large: its 44 lines aren’t shown here.

arch/um/include/asm/kdebug.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/um/include/asm/mmu.h+17−5

This diff is large: its 30 lines aren’t shown here.

arch/um/include/asm/mmu_context.h+2−5

This diff is large: its 18 lines aren’t shown here.

arch/um/include/asm/page.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/include/asm/page_offset.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/um/include/asm/pda.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/um/include/asm/percpu.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/ptrace-generic.h+0−7

This diff is large: its 18 lines aren’t shown here.

arch/um/include/asm/sections.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/um/include/asm/system.h+0−47

This diff is large: its 48 lines aren’t shown here.

arch/um/include/asm/topology.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/uaccess.h+84−5

This diff is large: its 108 lines aren’t shown here.

arch/um/include/asm/xor.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/shared/as-layout.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/include/shared/common-offsets.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/include/shared/initrd.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/um/include/shared/kern.h+0−18

This diff is large: its 29 lines aren’t shown here.

arch/um/include/shared/kern_util.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/include/shared/ldt.h+0−37

This diff is large: its 38 lines aren’t shown here.

arch/um/include/shared/mem_kern.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/um/include/shared/os.h+1−12

This diff is large: its 41 lines aren’t shown here.

arch/um/include/shared/process.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/um/include/shared/ptrace_user.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/um/include/shared/skas_ptregs.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/um/include/shared/syscall.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/um/include/shared/task.h+0−9

This diff is large: its 10 lines aren’t shown here.

arch/um/include/shared/tlb.h+0−15

This diff is large: its 16 lines aren’t shown here.

arch/um/include/shared/um_malloc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/include/shared/um_mmu.h+0−24

This diff is large: its 25 lines aren’t shown here.

arch/um/include/shared/um_uaccess.h+0−97

This diff is large: its 98 lines aren’t shown here.

arch/um/include/shared/user.h+4−3

This diff is large: its 23 lines aren’t shown here.

arch/um/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/kernel/exec.c+10−8

This diff is large: its 32 lines aren’t shown here.

arch/um/kernel/gmon_syms.c+0−15

This diff is large: its 19 lines aren’t shown here.

arch/um/kernel/initrd.c+2−2

This diff is large: its 23 lines aren’t shown here.

arch/um/kernel/irq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/kernel/ksyms.c+1−37

This diff is large: its 60 lines aren’t shown here.

arch/um/kernel/mem.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/um/kernel/physmem.c+12−9

This diff is large: its 40 lines aren’t shown here.

arch/um/kernel/process.c+3−1

This diff is large: its 30 lines aren’t shown here.

arch/um/kernel/signal.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/kernel/skas/clone.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/kernel/skas/uaccess.c+6−0

This diff is large: its 45 lines aren’t shown here.

arch/um/kernel/tlb.c+3−2

This diff is large: its 33 lines aren’t shown here.

arch/um/kernel/trap.c+2−1

This diff is large: its 24 lines aren’t shown here.

arch/um/kernel/uaccess.c+0−33

This diff is large: its 34 lines aren’t shown here.

arch/um/kernel/um_arch.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/um/os-Linux/Makefile+3−3

This diff is large: its 18 lines aren’t shown here.

arch/um/os-Linux/aio.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/os-Linux/drivers/ethertap_user.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/os-Linux/drivers/tuntap_user.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/os-Linux/elf_aux.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/os-Linux/file.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/os-Linux/helper.c+0−2

This diff is large: its 12 lines aren’t shown here.

arch/um/os-Linux/internal.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/um/os-Linux/irq.c+0−3

This diff is large: its 12 lines aren’t shown here.

arch/um/os-Linux/main.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/os-Linux/mem.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/os-Linux/process.c+6−17

This diff is large: its 41 lines aren’t shown here.

arch/um/os-Linux/sigio.c+0−3

This diff is large: its 15 lines aren’t shown here.

arch/um/os-Linux/signal.c+38−34

This diff is large: its 164 lines aren’t shown here.

arch/um/os-Linux/skas/mem.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/um/os-Linux/skas/process.c+6−15

This diff is large: its 64 lines aren’t shown here.

arch/um/os-Linux/start_up.c+4−6

This diff is large: its 44 lines aren’t shown here.

arch/um/os-Linux/sys-i386/signal.c+0−13

This diff is large: its 14 lines aren’t shown here.

arch/um/os-Linux/sys-x86_64/Makefile+0−10

This diff is large: its 11 lines aren’t shown here.

arch/um/os-Linux/sys-x86_64/registers.c+0−52

This diff is large: its 53 lines aren’t shown here.

arch/um/os-Linux/sys-x86_64/signal.c+0−16

This diff is large: its 17 lines aren’t shown here.

arch/um/os-Linux/sys-x86_64/task_size.c+0−5

This diff is large: its 6 lines aren’t shown here.

arch/um/os-Linux/time.c+1−3

This diff is large: its 13 lines aren’t shown here.

arch/um/os-Linux/tls.c+0−35

This diff is large: its 36 lines aren’t shown here.

arch/um/os-Linux/tty.c+0−2

This diff is large: its 11 lines aren’t shown here.

arch/um/os-Linux/uaccess.c+0−32

This diff is large: its 33 lines aren’t shown here.

arch/um/os-Linux/umid.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/os-Linux/util.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/um/scripts/Makefile.rules+1−6

This diff is large: its 18 lines aren’t shown here.

arch/um/sys-i386/Makefile+0−24

This diff is large: its 25 lines aren’t shown here.

arch/um/sys-i386/asm/elf.h+0−125

This diff is large: its 126 lines aren’t shown here.

arch/um/sys-i386/asm/module.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/um/sys-i386/atomic64_cx8_32.S+0−225

This diff is large: its 226 lines aren’t shown here.

arch/um/sys-i386/bug.c+0−21

This diff is large: its 22 lines aren’t shown here.

arch/um/sys-i386/ksyms.c+0−5

This diff is large: its 6 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/barrier.h+0−9

This diff is large: its 10 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/host_ldt.h+0−34

This diff is large: its 35 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/ptrace_user.h+0−50

This diff is large: its 51 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/sc.h+0−44

This diff is large: its 45 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/sigcontext.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/system.h+0−132

This diff is large: its 133 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/vm-flags.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/um/sys-i386/stub_segv.c+0−17

This diff is large: its 18 lines aren’t shown here.

arch/um/sys-i386/user-offsets.c+0−53

This diff is large: its 54 lines aren’t shown here.

arch/um/sys-x86_64/Makefile+0−27

This diff is large: its 28 lines aren’t shown here.

arch/um/sys-x86_64/asm/archparam.h+0−16

This diff is large: its 17 lines aren’t shown here.

arch/um/sys-x86_64/asm/module.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/um/sys-x86_64/delay.c+0−60

This diff is large: its 61 lines aren’t shown here.

arch/um/sys-x86_64/fault.c+0−28

This diff is large: its 29 lines aren’t shown here.

arch/um/sys-x86_64/ptrace_user.c+0−22

This diff is large: its 23 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/barrier.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/host_ldt.h+0−38

This diff is large: its 39 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/kernel-offsets.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/ptrace_user.h+0−77

This diff is large: its 78 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/sc.h+0−45

This diff is large: its 46 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/sigcontext.h+0−27

This diff is large: its 28 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/skas_ptrace.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/tls.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/um/sys-x86_64/signal.c+0−290

This diff is large: its 291 lines aren’t shown here.

arch/unicore32/mm/init.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/Kconfig+28−6

This diff is large: its 87 lines aren’t shown here.

arch/x86/Makefile.umrenamed from arch/um/Makefile-i386+28−9

This diff is large: its 57 lines aren’t shown here.

arch/x86/configs/x86_64_defconfig+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/crypto/Makefile+12−0

This diff is large: its 34 lines aren’t shown here.

arch/x86/crypto/aes_glue.c+2−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/crypto/aesni-intel_glue.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/crypto/blowfish-x86_64-asm_64.S+390−0

This diff is large: its 391 lines aren’t shown here.

arch/x86/crypto/blowfish_glue.c+492−0

This diff is large: its 493 lines aren’t shown here.

arch/x86/crypto/sha1_ssse3_asm.S+558−0

This diff is large: its 559 lines aren’t shown here.

arch/x86/crypto/sha1_ssse3_glue.c+240−0

This diff is large: its 241 lines aren’t shown here.

arch/x86/crypto/twofish-i586-asm_32.S+5−5

This diff is large: its 31 lines aren’t shown here.

arch/x86/crypto/twofish-x86_64-asm_64-3way.S+316−0

This diff is large: its 317 lines aren’t shown here.

arch/x86/crypto/twofish-x86_64-asm_64.S+2−4

This diff is large: its 24 lines aren’t shown here.

arch/x86/crypto/twofish_glue.c+8−4

This diff is large: its 26 lines aren’t shown here.

arch/x86/crypto/twofish_glue_3way.c+472−0

This diff is large: its 473 lines aren’t shown here.

arch/x86/ia32/ia32entry.S+2−0

This diff is large: its 7 lines aren’t shown here.

arch/x86/include/asm/amd_nb.h+6−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/apic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/apicdef.h+2−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/archrandom.h+75−0

This diff is large: its 76 lines aren’t shown here.

arch/x86/include/asm/atomic.h+2−6

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/atomic64_64.h+1−5

This diff is large: its 13 lines aren’t shown here.

arch/x86/include/asm/cmpxchg.h+205−0

This diff is large: its 211 lines aren’t shown here.

arch/x86/include/asm/cmpxchg_32.h+0−114

This diff is large: its 135 lines aren’t shown here.

arch/x86/include/asm/cmpxchg_64.h+0−131

This diff is large: its 145 lines aren’t shown here.

arch/x86/include/asm/compat.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/cpufeature.h+5−0

This diff is large: its 33 lines aren’t shown here.

arch/x86/include/asm/device.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/dwarf2.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/elf.h+31−0

This diff is large: its 43 lines aren’t shown here.

arch/x86/include/asm/hw_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/hyperv.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/x86/include/asm/intel_scu_ipc.h+22−0

This diff is large: its 34 lines aren’t shown here.

arch/x86/include/asm/irq_remapping.h+5−1

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/irq_vectors.h+2−10

This diff is large: its 22 lines aren’t shown here.

arch/x86/include/asm/kvm_emulate.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/kvm_host.h+9−5

This diff is large: its 55 lines aren’t shown here.

arch/x86/include/asm/msr-index.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/nmi.h+18−19

This diff is large: its 46 lines aren’t shown here.

arch/x86/include/asm/pci_x86.h+3−3

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/perf_event.h+52−3

This diff is large: its 96 lines aren’t shown here.

arch/x86/include/asm/processor.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/reboot.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/rwsem.h+1−7

This diff is large: its 15 lines aren’t shown here.

arch/x86/include/asm/spinlock.h+27−87

This diff is large: its 154 lines aren’t shown here.

arch/x86/include/asm/spinlock_types.h+20−2

This diff is large: its 32 lines aren’t shown here.

arch/x86/include/asm/unistd_32.h+3−1

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/unistd_64.h+4−1

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/uv/uv_bau.h+2−5

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/uv/uv_hub.h+34−3

This diff is large: its 87 lines aren’t shown here.

arch/x86/include/asm/vmx.h+12−0

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/xen/grant_table.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/xen/hypercall.h+8−0

This diff is large: its 22 lines aren’t shown here.

arch/x86/include/asm/xen/interface.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/apic/apic.c+16−17

This diff is large: its 83 lines aren’t shown here.

arch/x86/kernel/apic/bigsmp_32.c+16−4

This diff is large: its 29 lines aren’t shown here.

arch/x86/kernel/apic/hw_nmi.c+5−22

This diff is large: its 50 lines aren’t shown here.

arch/x86/kernel/apic/io_apic.c+335−343

This diff is large: its 1195 lines aren’t shown here.

arch/x86/kernel/apic/probe_32.c+2−8

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_uv_x.c+9−18

This diff is large: its 70 lines aren’t shown here.

arch/x86/kernel/cpu/Makefile+7−1

This diff is large: its 25 lines aren’t shown here.

arch/x86/kernel/cpu/amd.c+34−16

This diff is large: its 79 lines aren’t shown here.

arch/x86/kernel/cpu/common.c+5−0

This diff is large: its 26 lines aren’t shown here.

arch/x86/kernel/cpu/cpu.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/intel.c+13−11

This diff is large: its 38 lines aren’t shown here.

arch/x86/kernel/cpu/intel_cacheinfo.c+47−80

This diff is large: its 307 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce-apei.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce-inject.c+7−13

This diff is large: its 43 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce.c+28−23

This diff is large: its 139 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce_intel.c+5−5

This diff is large: its 45 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/therm_throt.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/mshyperv.c+23−0

This diff is large: its 44 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event.c+28−414

This diff is large: its 596 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event.h+505−0

This diff is large: its 506 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_amd.c+24−14

This diff is large: its 81 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_amd_ibs.c+294−0

This diff is large: its 295 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_intel.c+119−28

This diff is large: its 258 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_intel_ds.c+25−54

This diff is large: its 222 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_intel_lbr.c+16−12

This diff is large: its 98 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_p4.c+6−4

This diff is large: its 30 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_p6.c+5−4

This diff is large: its 24 lines aren’t shown here.

arch/x86/kernel/cpu/proc.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/rdrand.c+73−0

This diff is large: its 74 lines aren’t shown here.

arch/x86/kernel/crash.c+1−4

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/devicetree.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/e820.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/entry_64.S+9−5

This diff is large: its 39 lines aren’t shown here.

arch/x86/kernel/hpet.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/irq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/jump_label.c+14−6

This diff is large: its 41 lines aren’t shown here.

arch/x86/kernel/kgdb.c+45−15

This diff is large: its 101 lines aren’t shown here.

arch/x86/kernel/kprobes.c+4−3

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/microcode_amd.c+3−2

This diff is large: its 32 lines aren’t shown here.

arch/x86/kernel/microcode_core.c+7−1

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/microcode_intel.c+5−9

This diff is large: its 43 lines aren’t shown here.

arch/x86/kernel/nmi.c+434−0

This diff is large: its 435 lines aren’t shown here.

arch/x86/kernel/pci-dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/probe_roms.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/process_32.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/kernel/process_64.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/kernel/reboot.c+7−16

This diff is large: its 70 lines aren’t shown here.

arch/x86/kernel/rtc.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/smp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/sys_x86_64.c+75−3

This diff is large: its 118 lines aren’t shown here.

arch/x86/kernel/syscall_table_32.S+2−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/kernel/tboot.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/time.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/topology.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/traps.c+0−155

This diff is large: its 169 lines aren’t shown here.

arch/x86/kernel/vsyscall_64.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kvm/emulate.c+417−450

This diff is large: its 1466 lines aren’t shown here.

arch/x86/kvm/i8254.c+4−2

This diff is large: its 19 lines aren’t shown here.

arch/x86/kvm/i8259.c+97−26

This diff is large: its 198 lines aren’t shown here.

arch/x86/kvm/irq.h+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/kvm/kvm_cache_regs.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/x86/kvm/kvm_timer.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/lapic.c+135−32

This diff is large: its 284 lines aren’t shown here.

arch/x86/kvm/lapic.h+4−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/kvm/mmu.c+4−1

This diff is large: its 33 lines aren’t shown here.

arch/x86/kvm/mmu_audit.c+3−3

This diff is large: its 28 lines aren’t shown here.

arch/x86/kvm/paging_tmpl.h+14−10

This diff is large: its 64 lines aren’t shown here.

arch/x86/kvm/svm.c+30−63

This diff is large: its 176 lines aren’t shown here.

arch/x86/kvm/trace.h+108−10

This diff is large: its 191 lines aren’t shown here.

arch/x86/kvm/vmx.c+66−65

This diff is large: its 238 lines aren’t shown here.

arch/x86/kvm/x86.c+181−96

This diff is large: its 566 lines aren’t shown here.

arch/x86/lguest/boot.c+11−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/lib/insn.c+43−5

This diff is large: its 128 lines aren’t shown here.

arch/x86/mm/fault.c+8−2

This diff is large: its 37 lines aren’t shown here.

arch/x86/mm/gup.c+0−10

This diff is large: its 17 lines aren’t shown here.

arch/x86/mm/mmap.c+4−16

This diff is large: its 41 lines aren’t shown here.

arch/x86/oprofile/nmi_int.c+13−31

This diff is large: its 86 lines aren’t shown here.

arch/x86/oprofile/nmi_timer_int.c+6−22

This diff is large: its 47 lines aren’t shown here.

arch/x86/oprofile/op_model_amd.c+3−231

This diff is large: its 305 lines aren’t shown here.

arch/x86/oprofile/op_model_ppro.c+2−25

This diff is large: its 83 lines aren’t shown here.

arch/x86/oprofile/op_x86_model.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/pci/ce4100.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/common.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/pci/direct.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/x86/pci/i386.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/pci/legacy.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/pci/mmconfig_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/mmconfig_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/numaq_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/olpc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/pcbios.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/platform/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/ce4100/ce4100.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/efi/efi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/efi/efi_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/geode/Makefile+1−0

This diff is large: its 2 lines aren’t shown here.

arch/x86/platform/geode/alix.c+142−0

This diff is large: its 143 lines aren’t shown here.

arch/x86/platform/mrst/mrst.c+165−15

This diff is large: its 269 lines aren’t shown here.

arch/x86/platform/mrst/pmu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/mrst/vrtc.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo1-pm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/uv/bios_uv.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/uv/tlb_uv.c+6−11

This diff is large: its 53 lines aren’t shown here.

arch/x86/power/cpu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/um/Kconfigrenamed from arch/um/Kconfig.x86+0−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/um/Makefile+45−0

This diff is large: its 46 lines aren’t shown here.

arch/x86/um/asm/apic.hrenamed from arch/um/include/asm/apic.h+0−0

File renamed without changes.

arch/x86/um/asm/arch_hweight.hrenamed from arch/um/include/asm/arch_hweight.h+0−0

File renamed without changes.

arch/x86/um/asm/archparam.hrenamed from arch/um/sys-i386/asm/archparam.h+6−2

This diff is large: its 21 lines aren’t shown here.

arch/x86/um/asm/checksum.h+10−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/um/asm/checksum_32.hrenamed from arch/um/sys-i386/shared/sysdep/checksum.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/asm/checksum_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/checksum.h+0−0

File renamed without changes.

arch/x86/um/asm/desc.hrenamed from arch/um/include/asm/desc.h+0−0

File renamed without changes.

arch/x86/um/asm/elf.hrenamed from arch/um/sys-x86_64/asm/elf.h+117−28

This diff is large: its 185 lines aren’t shown here.

arch/x86/um/asm/irq_vectors.hrenamed from arch/um/include/asm/irq_vectors.h+0−0

File renamed without changes.

arch/x86/um/asm/mm_context.h+72−0

This diff is large: its 73 lines aren’t shown here.

arch/x86/um/asm/module.h+23−0

This diff is large: its 24 lines aren’t shown here.

arch/x86/um/asm/processor.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/x86/um/asm/processor_32.hrenamed from arch/um/sys-i386/asm/processor.h+3−15

This diff is large: its 33 lines aren’t shown here.

arch/x86/um/asm/processor_64.hrenamed from arch/um/sys-x86_64/asm/processor.h+0−11

This diff is large: its 23 lines aren’t shown here.

arch/x86/um/asm/ptrace.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/asm/ptrace_32.hrenamed from arch/um/sys-i386/asm/ptrace.h+0−0

File renamed without changes.

arch/x86/um/asm/ptrace_64.hrenamed from arch/um/sys-x86_64/asm/ptrace.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/um/asm/required-features.hrenamed from arch/um/include/asm/required-features.h+0−0

File renamed without changes.

arch/x86/um/asm/segment.hrenamed from arch/um/include/asm/segment.h+0−0

File renamed without changes.

arch/x86/um/asm/system.hrenamed from arch/um/sys-x86_64/shared/sysdep/system.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/um/asm/vm-flags.hrenamed from arch/um/sys-x86_64/shared/sysdep/vm-flags.h+12−2

This diff is large: its 25 lines aren’t shown here.

arch/x86/um/bug.crenamed from arch/um/sys-x86_64/bug.c+0−0

File renamed without changes.

arch/x86/um/bugs_32.crenamed from arch/um/sys-i386/bugs.c+3−3

This diff is large: its 21 lines aren’t shown here.

arch/x86/um/bugs_64.crenamed from arch/um/sys-x86_64/bugs.c+0−0

File renamed without changes.

arch/x86/um/checksum_32.Srenamed from arch/um/sys-i386/checksum.S+0−0

File renamed without changes.

arch/x86/um/delay.crenamed from arch/um/sys-i386/delay.c+0−0

File renamed without changes.

arch/x86/um/elfcore.crenamed from arch/um/sys-i386/elfcore.c+0−0

File renamed without changes.

arch/x86/um/fault.crenamed from arch/um/sys-i386/fault.c+0−0

File renamed without changes.

arch/x86/um/ksyms.crenamed from arch/um/sys-x86_64/ksyms.c+2−0

This diff is large: its 13 lines aren’t shown here.

arch/x86/um/ldt.crenamed from arch/um/sys-i386/ldt.c+18−18

This diff is large: its 90 lines aren’t shown here.

arch/x86/um/mem_32.crenamed from arch/um/sys-i386/mem.c+0−0

File renamed without changes.

arch/x86/um/mem_64.crenamed from arch/um/sys-x86_64/mem.c+0−0

File renamed without changes.

arch/x86/um/os-Linux/Makefilerenamed from arch/um/os-Linux/sys-i386/Makefile+4−1

This diff is large: its 12 lines aren’t shown here.

arch/x86/um/os-Linux/mcontext.c+31−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/um/os-Linux/prctl.crenamed from arch/um/os-Linux/sys-x86_64/prctl.c+0−0

File renamed without changes.

arch/x86/um/os-Linux/registers.crenamed from arch/um/os-Linux/sys-i386/registers.c+42−20

This diff is large: its 89 lines aren’t shown here.

arch/x86/um/os-Linux/task_size.crenamed from arch/um/os-Linux/sys-i386/task_size.c+12−1

This diff is large: its 24 lines aren’t shown here.

arch/x86/um/os-Linux/tls.crenamed from arch/um/os-Linux/sys-i386/tls.c+33−2

This diff is large: its 54 lines aren’t shown here.

arch/x86/um/ptrace_32.crenamed from arch/um/sys-i386/ptrace.c+57−12

This diff is large: its 112 lines aren’t shown here.

arch/x86/um/ptrace_64.crenamed from arch/um/sys-x86_64/ptrace.c+88−15

This diff is large: its 144 lines aren’t shown here.

arch/x86/um/ptrace_user.crenamed from arch/um/sys-i386/ptrace_user.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/um/setjmp_32.Srenamed from arch/um/sys-i386/setjmp.S+0−0

File renamed without changes.

arch/x86/um/setjmp_64.Srenamed from arch/um/sys-x86_64/setjmp.S+0−0

File renamed without changes.

arch/x86/um/shared/sysdep/archsetjmp.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/shared/sysdep/archsetjmp_32.hrenamed from arch/um/sys-i386/shared/sysdep/archsetjmp.h+0−0

File renamed without changes.

arch/x86/um/shared/sysdep/archsetjmp_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/archsetjmp.h+0−0

File renamed without changes.

arch/x86/um/shared/sysdep/faultinfo.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/shared/sysdep/faultinfo_32.hrenamed from arch/um/sys-i386/shared/sysdep/faultinfo.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/x86/um/shared/sysdep/faultinfo_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/faultinfo.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/x86/um/shared/sysdep/kernel-offsets.hrenamed from arch/um/sys-i386/shared/sysdep/kernel-offsets.h+0−0

File renamed without changes.

arch/x86/um/shared/sysdep/mcontext.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/um/shared/sysdep/ptrace.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/shared/sysdep/ptrace_32.hrenamed from arch/um/sys-i386/shared/sysdep/ptrace.h+9−66

This diff is large: its 106 lines aren’t shown here.

arch/x86/um/shared/sysdep/ptrace_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/ptrace.h+10−93

This diff is large: its 139 lines aren’t shown here.

arch/x86/um/shared/sysdep/ptrace_user.h+27−0

This diff is large: its 28 lines aren’t shown here.

arch/x86/um/shared/sysdep/skas_ptrace.hrenamed from arch/um/sys-i386/shared/sysdep/skas_ptrace.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/um/shared/sysdep/stub.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/x86/um/shared/sysdep/stub_32.hrenamed from arch/um/sys-i386/shared/sysdep/stub.h+0−8

This diff is large: its 16 lines aren’t shown here.

arch/x86/um/shared/sysdep/stub_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/stub.h+0−8

This diff is large: its 16 lines aren’t shown here.

arch/x86/um/shared/sysdep/syscalls.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/um/shared/sysdep/syscalls_32.hrenamed from arch/um/sys-i386/shared/sysdep/syscalls.h+0−0

File renamed without changes.

arch/x86/um/shared/sysdep/syscalls_64.hrenamed from arch/um/sys-x86_64/shared/sysdep/syscalls.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/um/shared/sysdep/tls.hrenamed from arch/um/sys-i386/shared/sysdep/tls.h+8−1

This diff is large: its 25 lines aren’t shown here.

arch/x86/um/signal.crenamed from arch/um/sys-i386/signal.c+210−94

This diff is large: its 480 lines aren’t shown here.

arch/x86/um/stub_32.Srenamed from arch/um/sys-i386/stub.S+0−0

File renamed without changes.

arch/x86/um/stub_64.Srenamed from arch/um/sys-x86_64/stub.S+0−0

File renamed without changes.

arch/x86/um/stub_segv.crenamed from arch/um/sys-x86_64/stub_segv.c+4−7

This diff is large: its 24 lines aren’t shown here.

arch/x86/um/sys_call_table_32.Srenamed from arch/um/sys-i386/sys_call_table.S+1−3

This diff is large: its 18 lines aren’t shown here.

arch/x86/um/sys_call_table_64.crenamed from arch/um/sys-x86_64/syscall_table.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/um/syscalls_32.crenamed from arch/um/sys-i386/syscalls.c+0−0

File renamed without changes.

arch/x86/um/syscalls_64.crenamed from arch/um/sys-x86_64/syscalls.c+0−0

File renamed without changes.

arch/x86/um/sysrq_32.crenamed from arch/um/sys-i386/sysrq.c+0−0

File renamed without changes.

arch/x86/um/sysrq_64.crenamed from arch/um/sys-x86_64/sysrq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/um/tls_32.crenamed from arch/um/sys-i386/tls.c+0−0

File renamed without changes.

arch/x86/um/tls_64.crenamed from arch/um/sys-x86_64/tls.c+0−0

File renamed without changes.

arch/x86/um/user-offsets.crenamed from arch/um/sys-x86_64/user-offsets.c+33−18

This diff is large: its 80 lines aren’t shown here.

arch/x86/um/vdso/Makefilerenamed from arch/um/sys-x86_64/vdso/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/um/vdso/checkundef.shrenamed from arch/um/sys-x86_64/vdso/checkundef.sh+0−0

File renamed without changes.

arch/x86/um/vdso/um_vdso.crenamed from arch/um/sys-x86_64/vdso/um_vdso.c+0−0

File renamed without changes.

arch/x86/um/vdso/vdso-layout.lds.Srenamed from arch/um/sys-x86_64/vdso/vdso-layout.lds.S+0−0

File renamed without changes.

arch/x86/um/vdso/vdso-note.Srenamed from arch/um/sys-x86_64/vdso/vdso-note.S+0−0

File renamed without changes.

arch/x86/um/vdso/vdso.Srenamed from arch/um/sys-x86_64/vdso/vdso.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/um/vdso/vdso.lds.Srenamed from arch/um/sys-x86_64/vdso/vdso.lds.S+0−0

File renamed without changes.

arch/x86/um/vdso/vma.crenamed from arch/um/sys-x86_64/vdso/vma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/vdso/vma.c+9−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/video/fbdev.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/grant-table.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/time.c+15−1

This diff is large: its 24 lines aren’t shown here.

arch/xtensa/configs/iss_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/configs/s6105_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/platforms/iss/network.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/blk-cgroup.c+64−47

This diff is large: its 220 lines aren’t shown here.

block/blk-cgroup.h+1−1

This diff is large: its 9 lines aren’t shown here.

block/blk-core.c+263−198

This diff is large: its 724 lines aren’t shown here.

block/blk-flush.c+1−2

This diff is large: its 17 lines aren’t shown here.

block/blk-integrity.c+1−0

This diff is large: its 8 lines aren’t shown here.

block/blk-sysfs.c+4−3

This diff is large: its 23 lines aren’t shown here.

block/blk-tag.c+4−2

This diff is large: its 17 lines aren’t shown here.

block/blk-throttle.c+62−44

This diff is large: its 209 lines aren’t shown here.

block/blk.h+19−1

This diff is large: its 31 lines aren’t shown here.

block/bsg-lib.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/elevator.c+12−27

This diff is large: its 110 lines aren’t shown here.

block/genhd.c+81−2

This diff is large: its 139 lines aren’t shown here.

block/ioctl.c+2−1

This diff is large: its 16 lines aren’t shown here.

block/scsi_ioctl.c+1−2

This diff is large: its 17 lines aren’t shown here.

crypto/Kconfig+63−0

This diff is large: its 98 lines aren’t shown here.

crypto/Makefile+3−1

This diff is large: its 18 lines aren’t shown here.

crypto/ablkcipher.c+62−0

This diff is large: its 97 lines aren’t shown here.

crypto/aead.c+62−0

This diff is large: its 97 lines aren’t shown here.

crypto/ahash.c+28−0

This diff is large: its 49 lines aren’t shown here.

crypto/algapi.c+6−6

This diff is large: its 54 lines aren’t shown here.

crypto/async_tx/async_memcpy.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/async_tx/async_pq.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/async_tx/async_raid6_recov.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/async_tx/async_tx.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/async_tx/async_xor.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/async_tx/raid6test.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/blkcipher.c+32−0

This diff is large: its 53 lines aren’t shown here.

crypto/blowfish_common.crenamed from crypto/blowfish.c+9−89

This diff is large: its 136 lines aren’t shown here.

crypto/blowfish_generic.c+142−0

This diff is large: its 143 lines aren’t shown here.

crypto/cryptd.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/crypto_user.c+435−0

This diff is large: its 436 lines aren’t shown here.

crypto/crypto_wq.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/internal.h+3−0

This diff is large: its 10 lines aren’t shown here.

crypto/md4.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/pcompress.c+25−0

This diff is large: its 46 lines aren’t shown here.

crypto/proc.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/rng.c+27−0

This diff is large: its 48 lines aren’t shown here.

crypto/sha1_generic.c+5−4

This diff is large: its 39 lines aren’t shown here.

crypto/shash.c+28−0

This diff is large: its 49 lines aren’t shown here.

crypto/tcrypt.c+10−0

This diff is large: its 36 lines aren’t shown here.

crypto/testmgr.c+30−0

This diff is large: its 37 lines aren’t shown here.

crypto/testmgr.h+390−8

This diff is large: its 467 lines aren’t shown here.

crypto/vmac.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/wp512.c+12−6

This diff is large: its 32 lines aren’t shown here.

crypto/xcbc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/Kconfig+6−0

This diff is large: its 18 lines aren’t shown here.

drivers/Makefile+5−0

This diff is large: its 16 lines aren’t shown here.

drivers/acpi/acpica/evxface.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/evxfevnt.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/evxfgpe.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/evxfregn.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/hwregs.c+6−5

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/acpica/hwsleep.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/hwtimer.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/hwxface.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/nsxfeval.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/nsxfname.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/nsxfobj.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/rsxface.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/tbxface.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/utdebug.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/utdecode.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/utglobal.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/utxface.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/utxferror.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/apei/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/apei/erst.c+7−5

This diff is large: its 45 lines aren’t shown here.

drivers/acpi/apei/ghes.c+8−14

This diff is large: its 69 lines aren’t shown here.

drivers/acpi/atomicio.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/blacklist.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/bus.c+2−6

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/debugfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/ec_sys.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/event.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/glue.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/osl.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/proc.c+1−0

This diff is large: its 7 lines aren’t shown here.

drivers/acpi/processor_core.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/processor_driver.c+3−17

This diff is large: its 50 lines aren’t shown here.

drivers/acpi/processor_idle.c+200−66

This diff is large: its 523 lines aren’t shown here.

drivers/acpi/sbshc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/scan.c+1−2

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/sleep.c+32−0

This diff is large: its 46 lines aren’t shown here.

drivers/acpi/sysfs.c+13−1

This diff is large: its 25 lines aren’t shown here.

drivers/acpi/video_detect.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/amba/bus.c+64−4

This diff is large: its 116 lines aren’t shown here.

drivers/ata/Kconfig+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/ata/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/ata/ahci.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/ata/ahci_platform.c+47−8

This diff is large: its 89 lines aren’t shown here.

drivers/ata/ata_piix.c+73−80

This diff is large: its 290 lines aren’t shown here.

drivers/ata/libata-core.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/ata/libata-eh.c+14−4

This diff is large: its 53 lines aren’t shown here.

drivers/ata/libata-pmp.c+3−5

This diff is large: its 23 lines aren’t shown here.

drivers/ata/libata-scsi.c+31−12

This diff is large: its 71 lines aren’t shown here.

drivers/ata/libata-sff.c+50−68

This diff is large: its 178 lines aren’t shown here.

drivers/ata/pata_ali.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_arasan_cf.c+2−4

This diff is large: its 20 lines aren’t shown here.

drivers/ata/pata_artop.c+59−48

This diff is large: its 198 lines aren’t shown here.

drivers/ata/pata_at91.c+5−2

This diff is large: its 24 lines aren’t shown here.

drivers/ata/pata_atiixp.c+26−9

This diff is large: its 57 lines aren’t shown here.

drivers/ata/pata_cmd64x.c+21−23

This diff is large: its 92 lines aren’t shown here.

drivers/ata/pata_cs5535.c+2−14

This diff is large: its 44 lines aren’t shown here.

drivers/ata/pata_efar.c+11−11

This diff is large: its 59 lines aren’t shown here.

drivers/ata/pata_hpt366.c+25−10

This diff is large: its 65 lines aren’t shown here.

drivers/ata/pata_it8213.c+12−12

This diff is large: its 66 lines aren’t shown here.

drivers/ata/pata_legacy.c+42−87

This diff is large: its 231 lines aren’t shown here.

drivers/ata/pata_mpc52xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_of_platform.c+5−3

This diff is large: its 31 lines aren’t shown here.

drivers/ata/pata_pdc2027x.c+30−0

This diff is large: its 51 lines aren’t shown here.

drivers/ata/pata_qdi.c+0−366

This diff is large: its 367 lines aren’t shown here.

drivers/ata/pata_rdc.c+16−0

This diff is large: its 72 lines aren’t shown here.

drivers/ata/pata_sc1200.c+9−5

This diff is large: its 28 lines aren’t shown here.

drivers/ata/pata_scc.c+1−13

This diff is large: its 28 lines aren’t shown here.

drivers/ata/pata_serverworks.c+42−85

This diff is large: its 190 lines aren’t shown here.

drivers/ata/pata_sil680.c+54−40

This diff is large: its 179 lines aren’t shown here.

drivers/ata/pata_sis.c+99−55

This diff is large: its 342 lines aren’t shown here.

drivers/ata/pata_sl82c105.c+32−5

This diff is large: its 76 lines aren’t shown here.

drivers/ata/pata_via.c+23−26

This diff is large: its 91 lines aren’t shown here.

drivers/ata/sata_mv.c+9−7

This diff is large: its 51 lines aren’t shown here.

drivers/ata/sata_sil24.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/sata_sis.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/eni.c+3−2

This diff is large: its 12 lines aren’t shown here.

drivers/atm/iphase.c+145−120

This diff is large: its 322 lines aren’t shown here.

drivers/atm/iphase.h+192−203

This diff is large: its 424 lines aren’t shown here.

drivers/base/base.h+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/base/class.c+15−2

This diff is large: its 31 lines aren’t shown here.

drivers/base/core.c+3−2

This diff is large: its 19 lines aren’t shown here.

drivers/base/dd.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/base/dma-coherent.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/dma-mapping.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/hypervisor.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/memory.c+44−18

This diff is large: its 96 lines aren’t shown here.

drivers/base/platform.c+33−21

This diff is large: its 94 lines aren’t shown here.

drivers/base/power/Makefile+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/base/power/clock_ops.c+59−68

This diff is large: its 310 lines aren’t shown here.

drivers/base/power/common.c+86−0

This diff is large: its 87 lines aren’t shown here.

drivers/base/power/domain.c+204−148

This diff is large: its 702 lines aren’t shown here.

drivers/base/power/generic_ops.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/power/main.c+37−6

This diff is large: its 144 lines aren’t shown here.

drivers/base/power/opp.c+30−0

This diff is large: its 69 lines aren’t shown here.

drivers/base/power/power.h+9−1

This diff is large: its 29 lines aren’t shown here.

drivers/base/power/qos.c+420−0

This diff is large: its 421 lines aren’t shown here.

drivers/base/power/runtime.c+101−50

This diff is large: its 308 lines aren’t shown here.

drivers/base/power/sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/power/trace.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/power/wakeup.c+4−1

This diff is large: its 19 lines aren’t shown here.

drivers/base/regmap/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/base/regmap/Makefile+2−1

This diff is large: its 6 lines aren’t shown here.

drivers/base/regmap/internal.h+128−0

This diff is large: its 129 lines aren’t shown here.

drivers/base/regmap/regcache-indexed.c+64−0

This diff is large: its 65 lines aren’t shown here.

drivers/base/regmap/regcache-lzo.c+361−0

This diff is large: its 362 lines aren’t shown here.

drivers/base/regmap/regcache-rbtree.c+345−0

This diff is large: its 346 lines aren’t shown here.

drivers/base/regmap/regcache.c+402−0

This diff is large: its 403 lines aren’t shown here.

drivers/base/regmap/regmap-debugfs.c+209−0

This diff is large: its 210 lines aren’t shown here.

drivers/base/regmap/regmap-i2c.c+0−2

This diff is large: its 12 lines aren’t shown here.

drivers/base/regmap/regmap-spi.c+0−2

This diff is large: its 12 lines aren’t shown here.

drivers/base/regmap/regmap.c+179−42

This diff is large: its 336 lines aren’t shown here.

drivers/base/transport_class.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bcma/Kconfig+13−0

This diff is large: its 20 lines aren’t shown here.

drivers/bcma/Makefile+2−0

This diff is large: its 10 lines aren’t shown here.

drivers/bcma/bcma_private.h+16−0

This diff is large: its 30 lines aren’t shown here.

drivers/bcma/core.c+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/bcma/driver_chipcommon.c+54−0

This diff is large: its 79 lines aren’t shown here.

drivers/bcma/driver_chipcommon_pmu.c+182−10

This diff is large: its 224 lines aren’t shown here.

drivers/bcma/driver_mips.c+256−0

This diff is large: its 257 lines aren’t shown here.

drivers/bcma/driver_pci.c+15−2

This diff is large: its 52 lines aren’t shown here.

drivers/bcma/host_pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bcma/host_soc.c+183−0

This diff is large: its 184 lines aren’t shown here.

drivers/bcma/main.c+70−1

This diff is large: its 113 lines aren’t shown here.

drivers/bcma/scan.c+237−111

This diff is large: its 392 lines aren’t shown here.

drivers/bcma/sprom.c+15−0

This diff is large: its 36 lines aren’t shown here.

drivers/block/aoe/aoeblk.c+7−8

This diff is large: its 65 lines aren’t shown here.

drivers/block/aoe/aoechr.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/brd.c+1−3

This diff is large: its 18 lines aren’t shown here.

drivers/block/cciss.c+65−11

This diff is large: its 200 lines aren’t shown here.

drivers/block/cciss.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/cpqarray.c+1−1

This diff is large: its 16 lines aren’t shown here.

drivers/block/drbd/drbd_int.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_req.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/block/loop.c+129−122

This diff is large: its 425 lines aren’t shown here.

drivers/block/nbd.c+34−35

This diff is large: its 197 lines aren’t shown here.

drivers/block/pktcdvd.c+5−6

This diff is large: its 48 lines aren’t shown here.

drivers/block/ps3disk.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/ps3vram.c+3−4

This diff is large: its 32 lines aren’t shown here.

drivers/block/rbd.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/umem.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/block/virtio_blk.c+25−6

This diff is large: its 107 lines aren’t shown here.

drivers/block/xen-blkback/blkback.c+109−21

This diff is large: its 249 lines aren’t shown here.

drivers/block/xen-blkback/common.h+82−21

This diff is large: its 188 lines aren’t shown here.

drivers/block/xen-blkback/xenbus.c+83−47

This diff is large: its 210 lines aren’t shown here.

drivers/block/xen-blkfront.c+98−25

This diff is large: its 202 lines aren’t shown here.

drivers/bluetooth/ath3k.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/bluetooth/bcm203x.c+11−1

This diff is large: its 54 lines aren’t shown here.

drivers/bluetooth/bfusb.c+7−6

This diff is large: its 30 lines aren’t shown here.

drivers/bluetooth/btmrvl_main.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bluetooth/btusb.c+5−3

This diff is large: its 29 lines aren’t shown here.

drivers/bluetooth/btwilink.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/Kconfig+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/char/agp/hp-agp.c+4−2

This diff is large: its 20 lines aren’t shown here.

drivers/char/agp/intel-gtt.c+31−2

This diff is large: its 70 lines aren’t shown here.

drivers/char/hw_random/Kconfig+28−0

This diff is large: its 39 lines aren’t shown here.

drivers/char/hw_random/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/hw_random/atmel-rng.c+158−0

This diff is large: its 159 lines aren’t shown here.

drivers/char/hw_random/virtio-rng.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/ipmi/ipmi_watchdog.c+11−22

This diff is large: its 97 lines aren’t shown here.

drivers/char/mem.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/ps3flash.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/ramoops.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/random.c+21−2

This diff is large: its 39 lines aren’t shown here.

drivers/char/scc.h+0−613

This diff is large: its 614 lines aren’t shown here.

drivers/char/ttyprintk.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/char/virtio_console.c+80−41

This diff is large: its 285 lines aren’t shown here.

drivers/clocksource/Kconfig+15−0

This diff is large: its 19 lines aren’t shown here.

drivers/clocksource/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/clocksource/clksrc-dbx500-prcmu.c+106−0

This diff is large: its 107 lines aren’t shown here.

drivers/clocksource/dw_apb_timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clocksource/sh_cmt.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clocksource/sh_mtu2.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clocksource/sh_tmu.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/connector/cn_proc.c+26−0

This diff is large: its 33 lines aren’t shown here.

drivers/cpufreq/cpufreq_conservative.c+3−1

This diff is large: its 14 lines aren’t shown here.

drivers/cpufreq/cpufreq_ondemand.c+3−1

This diff is large: its 14 lines aren’t shown here.

drivers/cpufreq/cpufreq_stats.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/db8500-cpufreq.c+22−18

This diff is large: its 104 lines aren’t shown here.

drivers/cpufreq/e_powersaver.c+124−11

This diff is large: its 194 lines aren’t shown here.

drivers/cpufreq/exynos4210-cpufreq.c+124−5

This diff is large: its 212 lines aren’t shown here.

drivers/cpufreq/s3c64xx-cpufreq.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpuidle/cpuidle.c+30−59

This diff is large: its 190 lines aren’t shown here.

drivers/cpuidle/driver.c+25−0

This diff is large: its 39 lines aren’t shown here.

drivers/cpuidle/governors/ladder.c+32−13

This diff is large: its 118 lines aren’t shown here.

drivers/cpuidle/governors/menu.c+19−13

This diff is large: its 108 lines aren’t shown here.

drivers/cpuidle/sysfs.c+15−7

This diff is large: its 74 lines aren’t shown here.

drivers/crypto/Kconfig+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/crypto/hifn_795x.c+2−4

This diff is large: its 13 lines aren’t shown here.

drivers/crypto/mv_cesa.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/n2_core.c+2−2

This diff is large: its 22 lines aren’t shown here.

drivers/crypto/padlock-aes.c+1−3

This diff is large: its 12 lines aren’t shown here.

drivers/crypto/picoxcell_crypto.c+59−62

This diff is large: its 181 lines aren’t shown here.

drivers/crypto/talitos.c+10−8

This diff is large: its 58 lines aren’t shown here.

drivers/dca/dca-core.c+45−34

This diff is large: its 216 lines aren’t shown here.

drivers/dca/dca-sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/devfreq/Kconfig+75−0

This diff is large: its 76 lines aren’t shown here.

drivers/devfreq/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

drivers/devfreq/devfreq.c+601−0

This diff is large: its 602 lines aren’t shown here.

drivers/devfreq/governor.h+24−0

This diff is large: its 25 lines aren’t shown here.

drivers/devfreq/governor_performance.c+29−0

This diff is large: its 30 lines aren’t shown here.

drivers/devfreq/governor_powersave.c+29−0

This diff is large: its 30 lines aren’t shown here.

drivers/devfreq/governor_simpleondemand.c+88−0

This diff is large: its 89 lines aren’t shown here.

drivers/devfreq/governor_userspace.c+116−0

This diff is large: its 117 lines aren’t shown here.

drivers/dma/Kconfig+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/dma/amba-pl08x.c+316−324

This diff is large: its 1009 lines aren’t shown here.

drivers/dma/at_hdmac.c+127−37

This diff is large: its 388 lines aren’t shown here.

drivers/dma/at_hdmac_regs.h+24−0

This diff is large: its 59 lines aren’t shown here.

drivers/dma/dmatest.c+21−2

This diff is large: its 65 lines aren’t shown here.

drivers/dma/dw_dmac.c+2−3

This diff is large: its 23 lines aren’t shown here.

drivers/dma/ep93xx_dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/imx-dma.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/dma/imx-sdma.c+40−9

This diff is large: its 139 lines aren’t shown here.

drivers/dma/intel_mid_dma.c+4−6

This diff is large: its 59 lines aren’t shown here.

drivers/dma/ipu/ipu_idmac.c+43−23

This diff is large: its 105 lines aren’t shown here.

drivers/dma/ipu/ipu_irq.c+24−24

This diff is large: its 174 lines aren’t shown here.

drivers/dma/mpc512x_dma.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/dma/mxs-dma.c+24−21

This diff is large: its 78 lines aren’t shown here.

drivers/dma/pch_dma.c+2−5

This diff is large: its 35 lines aren’t shown here.

drivers/dma/pl330.c+207−24

This diff is large: its 383 lines aren’t shown here.

drivers/dma/shdma.c+86−43

This diff is large: its 351 lines aren’t shown here.

drivers/dma/shdma.h+7−0

This diff is large: its 21 lines aren’t shown here.

drivers/dma/ste_dma40.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/timb_dma.c+2−3

This diff is large: its 23 lines aren’t shown here.

drivers/edac/Kconfig+10−6

This diff is large: its 44 lines aren’t shown here.

drivers/edac/Makefile+1−1

This diff is large: its 16 lines aren’t shown here.

drivers/edac/amd64_edac.c+26−11

This diff is large: its 85 lines aren’t shown here.

drivers/edac/cpc925_edac.c+64−3

This diff is large: its 95 lines aren’t shown here.

drivers/edac/edac_core.h+1−349

This diff is large: its 367 lines aren’t shown here.

drivers/edac/edac_mce.c+0−61

This diff is large: its 62 lines aren’t shown here.

drivers/edac/i7300_edac.c+26−25

This diff is large: its 144 lines aren’t shown here.

drivers/edac/i7core_edac.c+377−38

This diff is large: its 609 lines aren’t shown here.

drivers/edac/mce_amd.c+15−31

This diff is large: its 107 lines aren’t shown here.

drivers/edac/mce_amd.h+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/edac/mce_amd_inj.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/edac/ppc4xx_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/sb_edac.c+1893−0

This diff is large: its 1894 lines aren’t shown here.

drivers/firewire/core-iso.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/firewire/core-transaction.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/firewire/net.c+3−12

This diff is large: its 33 lines aren’t shown here.

drivers/firewire/ohci.c+243−12

This diff is large: its 462 lines aren’t shown here.

drivers/firewire/sbp2.c+114−146

This diff is large: its 369 lines aren’t shown here.

drivers/firmware/edd.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/firmware/efivars.c+10−9

This diff is large: its 63 lines aren’t shown here.

drivers/firmware/google/gsmi.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/Kconfig+20−18

This diff is large: its 86 lines aren’t shown here.

drivers/gpio/Makefile+8−6

This diff is large: its 46 lines aren’t shown here.

drivers/gpio/gpio-74x164.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-davinci.crenamed from arch/arm/mach-davinci/gpio.c+1−6

This diff is large: its 27 lines aren’t shown here.

drivers/gpio/gpio-ep93xx.c+22−1

This diff is large: its 52 lines aren’t shown here.

drivers/gpio/gpio-exynos4.c+0−385

This diff is large: its 386 lines aren’t shown here.

drivers/gpio/gpio-ks8695.crenamed from arch/arm/mach-ks8695/gpio.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpio/gpio-langwell.c+27−0

This diff is large: its 48 lines aren’t shown here.

drivers/gpio/gpio-lpc32xx.crenamed from arch/arm/mach-lpc32xx/gpiolib.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-mc33880.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-mcp23s08.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-ml-ioh.c+247−8

This diff is large: its 374 lines aren’t shown here.

drivers/gpio/gpio-mpc5200.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-mpc8xxx.crenamed from arch/powerpc/sysdev/mpc8xxx_gpio.c+3−0

This diff is large: its 24 lines aren’t shown here.

drivers/gpio/gpio-mxc.c+19−0

This diff is large: its 52 lines aren’t shown here.

drivers/gpio/gpio-mxs.c+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-nomadik.c+115−15

This diff is large: its 378 lines aren’t shown here.

drivers/gpio/gpio-omap.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-pcf857x.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-pch.c+244−7

This diff is large: its 399 lines aren’t shown here.

drivers/gpio/gpio-pl061.c+21−10

This diff is large: its 71 lines aren’t shown here.

drivers/gpio/gpio-plat-samsung.c+0−205

This diff is large: its 206 lines aren’t shown here.

drivers/gpio/gpio-pxa.crenamed from arch/arm/plat-pxa/gpio.c+3−3

This diff is large: its 26 lines aren’t shown here.

drivers/gpio/gpio-s5pc100.c+0−354

This diff is large: its 355 lines aren’t shown here.

drivers/gpio/gpio-s5pv210.c+0−287

This diff is large: its 288 lines aren’t shown here.

drivers/gpio/gpio-sa1100.crenamed from arch/arm/mach-sa1100/gpio.c+1−3

This diff is large: its 15 lines aren’t shown here.

drivers/gpio/gpio-samsung.c+2712−0

This diff is large: its 2713 lines aren’t shown here.

drivers/gpio/gpio-tegra.c+111−55

This diff is large: its 298 lines aren’t shown here.

drivers/gpio/gpio-tnetv107x.crenamed from arch/arm/mach-davinci/gpio-tnetv107x.c+0−0

File renamed without changes.

drivers/gpio/gpio-u300.c+705−485

This diff is large: its 1402 lines aren’t shown here.

drivers/gpio/gpio-xilinx.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/Kconfig+5−1

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

drivers/gpu/drm/ati_pcigart.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_buffer.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_bufs.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_cache.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_crtc.c+10−3

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/drm_crtc_helper.c+18−0

This diff is large: its 58 lines aren’t shown here.

drivers/gpu/drm/drm_debugfs.c+11−7

This diff is large: its 62 lines aren’t shown here.

drivers/gpu/drm/drm_dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_drv.c+4−1

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/drm_edid.c+172−0

This diff is large: its 193 lines aren’t shown here.

drivers/gpu/drm/drm_encoder_slave.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/drm_fb_helper.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_fops.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_gem.c+88−0

This diff is large: its 95 lines aren’t shown here.

drivers/gpu/drm/drm_hashtab.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_ioc32.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_irq.c+16−7

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/drm_memory.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_mm.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_modes.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_pci.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_platform.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_proc.c+2−2

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/drm_sman.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_sysfs.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_usb.c+1−0

This diff is large: its 7 lines aren’t shown here.

drivers/gpu/drm/drm_vm.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/exynos/Kconfig+20−0

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/exynos/Makefile+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_buf.c+110−0

This diff is large: its 111 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_buf.h+53−0

This diff is large: its 54 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_connector.c+293−0

This diff is large: its 294 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_connector.h+34−0

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_core.c+272−0

This diff is large: its 273 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_crtc.c+381−0

This diff is large: its 382 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_crtc.h+38−0

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.c+244−0

This diff is large: its 245 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.h+254−0

This diff is large: its 255 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_encoder.c+271−0

This diff is large: its 272 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_encoder.h+45−0

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fb.c+265−0

This diff is large: its 266 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fb.h+37−0

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fbdev.c+456−0

This diff is large: its 457 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fbdev.h+37−0

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fimd.c+811−0

This diff is large: its 812 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gem.c+415−0

This diff is large: its 416 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gem.h+107−0

This diff is large: its 108 lines aren’t shown here.

drivers/gpu/drm/i2c/ch7006_drv.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i2c/sil164_drv.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i810/i810_drv.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_ch7017.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_ch7xxx.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_ivch.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_sil164.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/dvo_tfp410.c+7−7

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/i915/i915_debugfs.c+24−20

This diff is large: its 122 lines aren’t shown here.

drivers/gpu/drm/i915/i915_dma.c+26−23

This diff is large: its 162 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.c+56−12

This diff is large: its 124 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.h+44−59

This diff is large: its 234 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem.c+15−100

This diff is large: its 232 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_debug.c+4−4

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_evict.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_execbuffer.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.c+30−0

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_tiling.c+4−11

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/i915/i915_irq.c+36−6

This diff is large: its 121 lines aren’t shown here.

drivers/gpu/drm/i915/i915_mem.c+7−7

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/i915/i915_reg.h+94−17

This diff is large: its 246 lines aren’t shown here.

drivers/gpu/drm/i915/i915_suspend.c+4−4

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/i915/i915_trace.h+23−23

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/i915/intel_acpi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.c+14−9

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.h+13−9

This diff is large: its 64 lines aren’t shown here.

drivers/gpu/drm/i915/intel_crt.c+8−12

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/i915/intel_display.c+532−230

This diff is large: its 1262 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp.c+458−157

This diff is large: its 1130 lines aren’t shown here.

drivers/gpu/drm/i915/intel_drv.h+14−7

This diff is large: its 70 lines aren’t shown here.

drivers/gpu/drm/i915/intel_hdmi.c+19−14

This diff is large: its 89 lines aren’t shown here.

drivers/gpu/drm/i915/intel_i2c.c+2−7

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lvds.c+5−3

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/i915/intel_modes.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/i915/intel_opregion.c+45−45

This diff is large: its 123 lines aren’t shown here.

drivers/gpu/drm/i915/intel_overlay.c+73−73

This diff is large: its 247 lines aren’t shown here.

drivers/gpu/drm/i915/intel_panel.c+16−11

This diff is large: its 74 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.c+273−96

This diff is large: its 500 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.h+9−7

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo.c+124−126

This diff is large: its 333 lines aren’t shown here.

This diff is larger than a page shows: the files after these aren’t listed. Clone the repository to see all of it.