History

Merge commit 'v3.0-rc1' into kbuild/kbuild

Michal Marek committed 15 years ago

Commit 2e483522 parents 163d3fe 55922c99467 files · +477775 −392439Browse files

Unified · Split

3469 files
  1. .mailmap +1 −0
  2. CREDITS +12 −4
  3. Documentation/00-INDEX +4 −8
  4. Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus +10 −0
  5. Documentation/ABI/removed/o2cb +4 −5
  6. Documentation/ABI/testing/sysfs-block +64 −0
  7. Documentation/ABI/testing/sysfs-bus-bcma +31 −0
  8. Documentation/ABI/testing/sysfs-bus-css +1 −1
  9. Documentation/ABI/testing/sysfs-bus-pci +9 −0
  10. Documentation/ABI/testing/sysfs-class-led +1 −1
  11. Documentation/ABI/testing/sysfs-devices-system-cpu +17 −17
  12. Documentation/ABI/testing/sysfs-driver-hid-roccat-kone +1 −1
  13. Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus +10 −17
  14. Documentation/ABI/testing/sysfs-driver-hid-roccat-kovaplus +4 −4
  15. Documentation/ABI/testing/sysfs-driver-hid-roccat-pyra +4 −4
  16. Documentation/ABI/testing/sysfs-firmware-dmi +9 −9
  17. Documentation/ABI/testing/sysfs-firmware-gsmi +58 −0
  18. Documentation/ABI/testing/sysfs-firmware-log +7 −0
  19. Documentation/ABI/testing/sysfs-kernel-fscaps +8 −0
  20. Documentation/ABI/testing/sysfs-kernel-mm-cleancache +11 −0
  21. Documentation/ABI/testing/sysfs-platform-asus-laptop +1 −1
  22. Documentation/ABI/testing/sysfs-power +14 −0
  23. Documentation/ABI/testing/sysfs-ptp +98 −0
  24. Documentation/DocBook/.gitignore +1 −0
  25. Documentation/DocBook/device-drivers.tmpl +3 −3
  26. Documentation/DocBook/dvb/dvbapi.xml +8 −0
  27. Documentation/DocBook/dvb/dvbproperty.xml +340 −68
  28. Documentation/DocBook/dvb/frontend.h.xml +16 −4
  29. Documentation/DocBook/dvb/frontend.xml +1 −1
  30. Documentation/DocBook/genericirq.tmpl +47 −35
  31. Documentation/DocBook/kernel-locking.tmpl +1 −1
  32. Documentation/DocBook/libata.tmpl +5 −5
  33. Documentation/DocBook/media-entities.tmpl +7 −3
  34. Documentation/DocBook/mtdnand.tmpl +7 −8
  35. Documentation/DocBook/regulator.tmpl +2 −2
  36. Documentation/DocBook/uio-howto.tmpl +1 −1
  37. Documentation/DocBook/usb.tmpl +1 −1
  38. Documentation/DocBook/v4l/common.xml +1 −1
  39. Documentation/DocBook/v4l/controls.xml +1 −1
  40. Documentation/DocBook/v4l/dev-subdev.xml +1 −1
  41. Documentation/DocBook/v4l/libv4l.xml +1 −1
  42. Documentation/DocBook/v4l/media-controller.xml +3 −3
  43. Documentation/DocBook/v4l/media-ioc-setup-link.xml +1 −1
  44. Documentation/DocBook/v4l/pixfmt-m420.xml +147 −0
  45. Documentation/DocBook/v4l/pixfmt-y10b.xml +43 −0
  46. Documentation/DocBook/v4l/pixfmt-y12.xml +79 −0
  47. Documentation/DocBook/v4l/pixfmt.xml +4 −0
  48. Documentation/DocBook/v4l/remote_controllers.xml +1 −1
  49. Documentation/DocBook/v4l/subdev-formats.xml +105 −0
  50. Documentation/DocBook/v4l/videodev2.h.xml +4 −0
  51. Documentation/DocBook/writing-an-alsa-driver.tmpl +1 −1
  52. Documentation/HOWTO +1 −1
  53. Documentation/IRQ-affinity.txt +13 −4
  54. Documentation/PCI/MSI-HOWTO.txt +2 −2
  55. Documentation/RCU/00-INDEX +1 −1
  56. Documentation/RCU/stallwarn.txt +13 −10
  57. Documentation/RCU/trace.txt +236 −59
  58. Documentation/SecurityBugs +1 −1
  59. Documentation/SubmittingDrivers +1 −1
  60. Documentation/SubmittingPatches +6 −5
  61. Documentation/accounting/getdelays.c +22 −16
  62. Documentation/acpi/method-customizing.txt +5 −0
  63. Documentation/arm/Booting +29 −4
  64. Documentation/arm/IXP4xx +2 −2
  65. Documentation/arm/Samsung-S3C24XX/Suspend.txt +1 −1
  66. Documentation/arm/Samsung/GPIO.txt +1 −1
  67. Documentation/arm/Samsung/Overview.txt +0 −2
  68. Documentation/atomic_ops.txt +1 −1
  69. Documentation/block/biodoc.txt +2 −2
  70. Documentation/blockdev/cciss.txt +15 −0
  71. Documentation/cachetlb.txt +1 −1
  72. Documentation/cgroups/cgroups.txt +37 −16
  73. Documentation/cgroups/memory.txt +13 −2
  74. Documentation/cpu-hotplug.txt +1 −1
  75. Documentation/dell_rbu.txt +1 −1
  76. Documentation/device-mapper/dm-service-time.txt +1 −1
  77. Documentation/devicetree/bindings/crypto/fsl-sec4.txt +397 −0
  78. Documentation/devicetree/bindings/fb/sm501fb.txt +2 −2
  79. Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt +1 −1
  80. Documentation/devicetree/bindings/net/can/fsl-flexcan.txt +61 −0
  81. Documentation/devicetree/bindings/net/can/sja1000.txt +1 −1
  82. Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +54 −0
  83. Documentation/devicetree/bindings/powerpc/fsl/ifc.txt +76 −0
  84. Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt +38 −0
  85. Documentation/devicetree/bindings/powerpc/fsl/mpic.txt +2 −2
  86. Documentation/devicetree/bindings/powerpc/nintendo/wii.txt +1 −1
  87. Documentation/devicetree/booting-without-of.txt +47 −7
  88. Documentation/dmaengine.txt +96 −1
  89. Documentation/dontdiff +46 −12
  90. Documentation/driver-model/bus.txt +1 −18
  91. Documentation/driver-model/class.txt +1 −16
  92. Documentation/driver-model/device.txt +1 −90
  93. Documentation/driver-model/driver.txt +1 −17
  94. Documentation/dvb/README.dvb-usb +1 −1
  95. Documentation/dvb/ci.txt +1 −1
  96. Documentation/dvb/faq.txt +1 −1
  97. Documentation/dvb/udev.txt +1 −1
  98. Documentation/edac.txt +2 −2
  99. Documentation/eisa.txt +1 −1
  100. Documentation/fb/viafb.txt +2 −2
  101. Documentation/feature-removal-schedule.txt +60 −60
  102. Documentation/filesystems/9p.txt +10 −19
  103. Documentation/filesystems/Locking +2 −2
  104. Documentation/filesystems/autofs4-mount-control.txt +1 −1
  105. Documentation/filesystems/caching/netfs-api.txt +9 −9
  106. Documentation/filesystems/configfs/configfs.txt +1 −1
  107. Documentation/filesystems/configfs/configfs_example_explicit.c +2 −4
  108. Documentation/filesystems/configfs/configfs_example_macros.c +2 −4
  109. Documentation/filesystems/ext4.txt +2 −6
  110. Documentation/filesystems/gfs2-uevents.txt +1 −1
  111. Documentation/filesystems/gfs2.txt +1 −1
  112. Documentation/filesystems/nfs/idmapper.txt +2 −2
  113. Documentation/filesystems/ntfs.txt +1 −1
  114. Documentation/filesystems/ocfs2.txt +8 −2
  115. Documentation/filesystems/path-lookup.txt +2 −2
  116. Documentation/filesystems/pohmelfs/network_protocol.txt +1 −1
  117. Documentation/filesystems/proc.txt +12 −6
  118. Documentation/filesystems/squashfs.txt +1 −1
  119. Documentation/filesystems/sysfs.txt +1 −1
  120. Documentation/filesystems/ubifs.txt +2 −24
  121. Documentation/filesystems/vfs.txt +2 −2
  122. Documentation/filesystems/xfs-delayed-logging-design.txt +4 −4
  123. Documentation/filesystems/xfs.txt +6 −0
  124. Documentation/flexible-arrays.txt +2 −2
  125. Documentation/hid/hiddev.txt +0 −0
  126. Documentation/hid/hidraw.txt +119 −0
  127. Documentation/hwmon/abituguru +1 −1
  128. Documentation/hwmon/abituguru-datasheet +4 −4
  129. Documentation/hwmon/abituguru3 +1 −1
  130. Documentation/hwmon/adm1021 +19 −17
  131. Documentation/hwmon/adm1275 +60 −0
  132. Documentation/hwmon/coretemp +14 −7
  133. Documentation/hwmon/emc6w201 +42 −0
  134. Documentation/hwmon/f71882fg +4 −0
  135. Documentation/hwmon/fam15h_power +37 −0
  136. Documentation/hwmon/k10temp +2 −1
  137. Documentation/hwmon/lm90 +20 −9
  138. Documentation/hwmon/max16064 +62 −0
  139. Documentation/hwmon/max16065 +98 −0
  140. Documentation/hwmon/max34440 +79 −0
  141. Documentation/hwmon/max6642 +21 −0
  142. Documentation/hwmon/max6650 +16 −5
  143. Documentation/hwmon/max8688 +69 −0
  144. Documentation/hwmon/pkgtemp +0 −36
  145. Documentation/hwmon/pmbus +11 −29
  146. Documentation/hwmon/sht15 +74 −0
  147. Documentation/hwmon/smm665 +4 −4
  148. Documentation/hwmon/submitting-patches +109 −0
  149. Documentation/hwmon/sysfs-interface +1 −1
  150. Documentation/hwmon/ucd9000 +110 −0
  151. Documentation/hwmon/ucd9200 +112 −0
  152. Documentation/hwmon/w83781d +1 −1
  153. Documentation/hwmon/w83791d +1 −1
  154. Documentation/i2c/busses/i2c-i801 +1 −0
  155. Documentation/i2c/busses/i2c-parport-light +1 −1
  156. Documentation/i2c/busses/i2c-sis96x +1 −1
  157. Documentation/i2c/busses/i2c-taos-evm +1 −1
  158. Documentation/i2c/writing-clients +1 −1
  159. Documentation/i2o/README +1 −1
  160. Documentation/ia64/aliasing-test.c +1 −1
  161. Documentation/input/elantech.txt +100 −23
  162. Documentation/input/event-codes.txt +262 −0
  163. Documentation/input/joystick-parport.txt +1 −1
  164. Documentation/input/rotary-encoder.txt +14 −1
  165. Documentation/input/walkera0701.txt +1 −1
  166. Documentation/ioctl/ioctl-number.txt +2 −1
  167. Documentation/irqflags-tracing.txt +1 −1
  168. Documentation/isdn/INTERFACE.CAPI +1 −1
  169. Documentation/ja_JP/HOWTO +43 −86
  170. Documentation/kbuild/kbuild.txt +4 −4
  171. Documentation/kbuild/kconfig-language.txt +31 −1
  172. Documentation/kbuild/kconfig.txt +0 −5
  173. Documentation/kernel-parameters.txt +19 −12
  174. Documentation/kmemleak.txt +2 −2
  175. Documentation/laptops/acer-wmi.txt +0 −184
  176. Documentation/laptops/asus-laptop.txt +2 −2
  177. Documentation/leds/00-INDEX +8 −0
  178. Documentation/leds/leds-class.txt +0 −1
  179. Documentation/leds/leds-lp3944.txt +0 −0
  180. Documentation/lockstat.txt +35 −3
  181. Documentation/md.txt +10 −0
  182. Documentation/media-framework.txt +2 −2
  183. Documentation/mips/AU1xxx_IDE.README +2 −2
  184. Documentation/misc-devices/ics932s401 +1 −1
  185. Documentation/mmc/00-INDEX +2 −0
  186. Documentation/mmc/mmc-dev-attrs.txt +10 −0
  187. Documentation/mmc/mmc-dev-parts.txt +27 −0
  188. Documentation/networking/3c359.txt +1 −1
  189. Documentation/networking/README.ipw2200 +1 −1
  190. Documentation/networking/batman-adv.txt +7 −6
  191. Documentation/networking/bonding.txt +27 −20
  192. Documentation/networking/caif/Linux-CAIF.txt +1 −1
  193. Documentation/networking/caif/spi_porting.txt +1 −1
  194. Documentation/networking/can.txt +1 −1
  195. Documentation/networking/dns_resolver.txt +2 −2
  196. Documentation/networking/ieee802154.txt +1 −1
  197. Documentation/networking/igb.txt +13 −0
  198. Documentation/networking/olympic.txt +1 −1
  199. Documentation/networking/packet_mmap.txt +1 −1
  200. Documentation/networking/s2io.txt +2 −2
  201. Documentation/networking/tc-actions-env-rules.txt +2 −2
  202. Documentation/power/devices.txt +10 −6
  203. Documentation/power/notifiers.txt +24 −29
  204. Documentation/power/opp.txt +1 −1
  205. Documentation/power/regulator/machine.txt +2 −2
  206. Documentation/power/swsusp.txt +2 −2
  207. Documentation/power/userland-swsusp.txt +3 −3
  208. Documentation/powerpc/hvcs.txt +1 −1
  209. Documentation/pti/pti_intel_mid.txt +99 −0
  210. Documentation/ptp/ptp.txt +89 −0
  211. Documentation/ptp/testptp.c +381 −0
  212. Documentation/ptp/testptp.mk +33 −0
  213. Documentation/s390/Debugging390.txt +1 −1
  214. Documentation/scheduler/sched-domains.txt +23 −9
  215. Documentation/scsi/ChangeLog.lpfc +9 −9
  216. Documentation/scsi/ChangeLog.megaraid +1 −1
  217. Documentation/scsi/ChangeLog.megaraid_sas +14 −0
  218. Documentation/scsi/ChangeLog.ncr53c8xx +1 −1
  219. Documentation/scsi/ChangeLog.sym53c8xx +1 −1
  220. Documentation/scsi/LICENSE.qla2xxx +287 −5
  221. Documentation/scsi/aha152x.txt +1 −1
  222. Documentation/scsi/aic79xx.txt +6 −6
  223. Documentation/scsi/ibmmca.txt +2 −2
  224. Documentation/scsi/scsi-changer.txt +1 −1
  225. Documentation/scsi/scsi_eh.txt +1 −1
  226. Documentation/scsi/scsi_fc_transport.txt +1 −1
  227. Documentation/scsi/sym53c8xx_2.txt +1 −1
  228. Documentation/security/00-INDEX +18 −0
  229. Documentation/security/SELinux.txt +0 −0
  230. Documentation/security/Smack.txt +0 −0
  231. Documentation/security/apparmor.txt +0 −0
  232. Documentation/security/credentials.txt +1 −1
  233. Documentation/security/keys-request-key.txt +2 −2
  234. Documentation/security/keys-trusted-encrypted.txt +0 −0
  235. Documentation/security/keys.txt +2 −2
  236. Documentation/security/tomoyo.txt +0 −0
  237. Documentation/serial/moxa-smartio +1 −1
  238. Documentation/serial/n_gsm.txt +1 −1
  239. Documentation/sound/alsa/ALSA-Configuration.txt +10 −3
  240. Documentation/sound/alsa/HD-Audio-Models.txt +1 −1
  241. Documentation/sound/alsa/SB-Live-mixer.txt +3 −3
  242. Documentation/sound/oss/AudioExcelDSP16 +3 −3
  243. Documentation/sound/oss/README.OSS +1 −1
  244. Documentation/sound/oss/README.ymfsb +1 −1
  245. Documentation/spi/pxa2xx +1 −1
  246. Documentation/spi/spi-lm70llp +1 −1
  247. Documentation/stable_api_nonsense.txt +1 −1
  248. Documentation/sysctl/fs.txt +0 −7
  249. Documentation/sysctl/kernel.txt +2 −1
  250. Documentation/sysctl/net.txt +11 −0
  251. Documentation/sysctl/vm.txt +2 −2
  252. Documentation/telephony/ixj.txt +1 −1
  253. Documentation/timers/timers-howto.txt +1 −1
  254. Documentation/trace/kprobetrace.txt +0 −1
  255. Documentation/trace/ring-buffer-design.txt +1 −1
  256. Documentation/usb/callbacks.txt +5 −3
  257. Documentation/usb/linux-cdc-acm.inf +2 −2
  258. Documentation/usb/linux.inf +3 −3
  259. Documentation/vgaarbiter.txt +9 −11
  260. Documentation/video4linux/CARDLIST.em28xx +1 −1
  261. Documentation/video4linux/README.pvrusb2 +1 −1
  262. Documentation/video4linux/Zoran +0 −1
  263. Documentation/video4linux/bttv/Insmod-options +1 −1
  264. Documentation/video4linux/bttv/README +1 −1
  265. Documentation/video4linux/bttv/README.freeze +1 −1
  266. Documentation/video4linux/bttv/Sound-FAQ +2 −2
  267. Documentation/video4linux/et61x251.txt +2 −2
  268. Documentation/video4linux/gspca.txt +1 −0
  269. Documentation/video4linux/pxa_camera.txt +4 −4
  270. Documentation/video4linux/sh_mobile_ceu_camera.txt +3 −3
  271. Documentation/video4linux/sn9c102.txt +2 −2
  272. Documentation/video4linux/uvcvideo.txt +239 −0
  273. Documentation/video4linux/v4l2-framework.txt +1 −1
  274. Documentation/video4linux/w9968cf.txt +1 −1
  275. Documentation/video4linux/zc0301.txt +3 −3
  276. Documentation/virtual/00-INDEX +10 −0
  277. Documentation/virtual/kvm/api.txt +31 −3
  278. Documentation/virtual/kvm/cpuid.txt +0 −0
  279. Documentation/virtual/kvm/locking.txt +0 −0
  280. Documentation/virtual/kvm/mmu.txt +1 −1
  281. Documentation/virtual/kvm/msr.txt +0 −0
  282. Documentation/virtual/kvm/ppc-pv.txt +1 −1
  283. Documentation/virtual/kvm/review-checklist.txt +1 −1
  284. Documentation/virtual/kvm/timekeeping.txt +1 −1
  285. Documentation/virtual/lguest/.gitignore +0 −0
  286. Documentation/virtual/lguest/Makefile +0 −0
  287. Documentation/virtual/lguest/extract +0 −0
  288. Documentation/virtual/lguest/lguest.c +0 −0
  289. Documentation/virtual/lguest/lguest.txt +2 −1
  290. Documentation/virtual/uml/UserModeLinux-HOWTO.txt +10 −0
  291. Documentation/vm/active_mm.txt +1 −1
  292. Documentation/vm/cleancache.txt +278 −0
  293. Documentation/vm/hugetlbpage.txt +1 −1
  294. Documentation/vm/locking +1 −1
  295. Documentation/vm/overcommit-accounting +1 −1
  296. Documentation/w1/slaves/w1_ds2423 +3 −3
  297. Documentation/w1/w1.netlink +1 −1
  298. Documentation/watchdog/hpwdt.txt +1 −1
  299. Documentation/workqueue.txt +40 −0
  300. Documentation/x86/x86_64/boot-options.txt +1 −1
  301. Documentation/zh_CN/email-clients.txt +210 −0
  302. MAINTAINERS +210 −136
  303. Makefile +19 −7
  304. arch/Kconfig +3 −3
  305. arch/alpha/Kconfig +4 −5
  306. arch/alpha/include/asm/elf.h +1 −1
  307. arch/alpha/include/asm/gpio.h +55 −0
  308. arch/alpha/include/asm/smp.h +0 −2
  309. arch/alpha/include/asm/unistd.h +6 −1
  310. arch/alpha/kernel/Makefile +1 −1
  311. arch/alpha/kernel/core_lca.c +2 −2
  312. arch/alpha/kernel/core_mcpcia.c +5 −7
  313. arch/alpha/kernel/err_marvel.c +1 −1
  314. arch/alpha/kernel/err_titan.c +1 −3
  315. arch/alpha/kernel/irq_alpha.c +1 −1
  316. arch/alpha/kernel/process.c +1 −1
  317. arch/alpha/kernel/setup.c +4 −4
  318. arch/alpha/kernel/smc37c93x.c +1 −2
  319. arch/alpha/kernel/smp.c +5 −5
  320. arch/alpha/kernel/sys_dp264.c +1 −1
  321. arch/alpha/kernel/sys_titan.c +7 −6
  322. arch/alpha/kernel/sys_wildfire.c +3 −2
  323. arch/alpha/kernel/systbls.S +9 −4
  324. arch/alpha/kernel/time.c +2 −2
  325. arch/alpha/kernel/vmlinux.lds.S +2 −1
  326. arch/alpha/lib/ev67-strrchr.S +1 −1
  327. arch/alpha/lib/fls.c +1 −1
  328. arch/alpha/lib/strrchr.S +1 −1
  329. arch/alpha/mm/init.c +0 −2
  330. arch/alpha/mm/numa.c +1 −0
  331. arch/alpha/oprofile/op_model_ev67.c +1 −1
  332. arch/arm/Kconfig +67 −55
  333. arch/arm/Kconfig-nommu +1 −1
  334. arch/arm/Kconfig.debug +0 −18
  335. arch/arm/Makefile +1 −7
  336. arch/arm/boot/compressed/Makefile +15 −4
  337. arch/arm/boot/compressed/decompress.c +2 −2
  338. arch/arm/boot/compressed/head.S +59 −30
  339. arch/arm/boot/compressed/misc.c +11 −25
  340. arch/arm/boot/compressed/vmlinux.lds.in +1 −0
  341. arch/arm/common/Kconfig +1 −1
  342. arch/arm/common/Makefile +0 −1
  343. arch/arm/common/gic.c +45 −39
  344. arch/arm/common/pl330.c +2 −2
  345. arch/arm/common/sa1111.c +0 −8
  346. arch/arm/common/timer-sp.c +51 −31
  347. arch/arm/common/vic.c +25 −44
  348. arch/arm/configs/at572d940hfek_defconfig +0 −358
  349. arch/arm/configs/at91sam9261_defconfig +74 −11
  350. arch/arm/configs/at91sam9263_defconfig +73 −11
  351. arch/arm/configs/at91x40_defconfig +48 −0
  352. arch/arm/configs/dove_defconfig +1 −11
  353. arch/arm/configs/exynos4_defconfig +2 −0
  354. arch/arm/configs/mx1_defconfig +1 −0
  355. arch/arm/configs/mx51_defconfig +1 −1
  356. arch/arm/configs/mxs_defconfig +129 −0
  357. arch/arm/configs/neocore926_defconfig +0 −104
  358. arch/arm/configs/ns9xxx_defconfig +0 −56
  359. arch/arm/configs/omap2plus_defconfig +7 −76
  360. arch/arm/configs/realview-smp_defconfig +1 −1
  361. arch/arm/configs/realview_defconfig +1 −1
  362. arch/arm/configs/s5p6442_defconfig +0 −65
  363. arch/arm/configs/spear300_defconfig +0 −51
  364. arch/arm/configs/spear320_defconfig +0 −52
  365. arch/arm/configs/spear3xx_defconfig +3 −2
  366. arch/arm/configs/spear6xx_defconfig +1 −1
  367. arch/arm/configs/stmp378x_defconfig +0 −128
  368. arch/arm/configs/stmp37xx_defconfig +0 −108
  369. arch/arm/configs/usb-a9263_defconfig +0 −106
  370. arch/arm/configs/versatile_defconfig +1 −1
  371. arch/arm/include/asm/bitops.h +8 −38
  372. arch/arm/include/asm/cputype.h +1 −0
  373. arch/arm/include/asm/dma.h +3 −1
  374. arch/arm/include/asm/elf.h +1 −0
  375. arch/arm/include/asm/fiq.h +21 −2
  376. arch/arm/include/asm/fpstate.h +1 −1
  377. arch/arm/include/asm/futex.h +90 −47
  378. arch/arm/include/asm/glue-cache.h +1 −1
  379. arch/arm/include/asm/glue.h +2 −2
  380. arch/arm/include/asm/hardware/pl080.h +1 −1
  381. arch/arm/include/asm/hardware/timer-sp.h +2 −2
  382. arch/arm/include/asm/i8253.h +15 −0
  383. arch/arm/include/asm/kprobes.h +3 −0
  384. arch/arm/include/asm/mach/arch.h +9 −0
  385. arch/arm/include/asm/mach/time.h +0 −1
  386. arch/arm/include/asm/mach/udc_pxa2xx.h +0 −2
  387. arch/arm/include/asm/memory.h +3 −7
  388. arch/arm/include/asm/page.h +1 −1
  389. arch/arm/include/asm/prom.h +37 −0
  390. arch/arm/include/asm/ptrace.h +6 −0
  391. arch/arm/include/asm/setup.h +4 −0
  392. arch/arm/include/asm/sizes.h +2 −40
  393. arch/arm/include/asm/smp.h +3 −10
  394. arch/arm/include/asm/spinlock.h +2 −0
  395. arch/arm/include/asm/system.h +2 −2
  396. arch/arm/include/asm/thread_notify.h +1 −0
  397. arch/arm/include/asm/tlb.h +37 −16
  398. arch/arm/include/asm/ucontext.h +1 −1
  399. arch/arm/include/asm/unistd.h +6 −0
  400. arch/arm/kernel/Makefile +3 −2
  401. arch/arm/kernel/calls.S +6 −0
  402. arch/arm/kernel/debug.S +1 −18
  403. arch/arm/kernel/devtree.c +145 −0
  404. arch/arm/kernel/elf.c +12 −5
  405. arch/arm/kernel/etm.c +2 −2
  406. arch/arm/kernel/fiq.c +2 −43
  407. arch/arm/kernel/fiqasm.S +49 −0
  408. arch/arm/kernel/head-common.S +18 −6
  409. arch/arm/kernel/head.S +9 −6
  410. arch/arm/kernel/hw_breakpoint.c +7 −0
  411. arch/arm/kernel/kprobes-decode.c +463 −324
  412. arch/arm/kernel/kprobes.c +2 −1
  413. arch/arm/kernel/leds.c +16 −12
  414. arch/arm/kernel/perf_event.c +27 −14
  415. arch/arm/kernel/perf_event_v6.c +1 −1
  416. arch/arm/kernel/perf_event_v7.c +19 −7
  417. arch/arm/kernel/perf_event_xscale.c +2 −2
  418. arch/arm/kernel/process.c +2 −0
  419. arch/arm/kernel/ptrace.c +247 −109
  420. arch/arm/kernel/setup.c +67 −36
  421. arch/arm/kernel/signal.c +53 −37
  422. arch/arm/kernel/sleep.S +11 −3
  423. arch/arm/kernel/smp.c +10 −5
  424. arch/arm/kernel/swp_emulate.c +1 −1
  425. arch/arm/kernel/sys_oabi-compat.c +1 −1
  426. arch/arm/kernel/time.c +12 −23
  427. arch/arm/kernel/traps.c +1 −3
  428. arch/arm/kernel/vmlinux.lds.S +1 −1
  429. arch/arm/lib/lib1funcs.S +20 −5
  430. arch/arm/mach-at91/Kconfig +1 −40
  431. arch/arm/mach-at91/Makefile +0 −4
  432. arch/arm/mach-at91/at572d940hf.c +0 −377
  433. arch/arm/mach-at91/at572d940hf_devices.c +0 −970
  434. arch/arm/mach-at91/at91cap9.c +40 −1
  435. arch/arm/mach-at91/at91cap9_devices.c +7 −19
  436. arch/arm/mach-at91/at91rm9200.c +51 −2
  437. arch/arm/mach-at91/at91rm9200_devices.c +6 −18
  438. arch/arm/mach-at91/at91sam9260.c +45 −3
  439. arch/arm/mach-at91/at91sam9260_devices.c +6 −20
  440. arch/arm/mach-at91/at91sam9261.c +39 −2
  441. arch/arm/mach-at91/at91sam9261_devices.c +6 −15
  442. arch/arm/mach-at91/at91sam9263.c +38 −1
  443. arch/arm/mach-at91/at91sam9263_devices.c +6 −14
  444. arch/arm/mach-at91/at91sam9g45.c +45 −19
  445. arch/arm/mach-at91/at91sam9g45_devices.c +7 −22
  446. arch/arm/mach-at91/at91sam9rl.c +39 −1
  447. arch/arm/mach-at91/at91sam9rl_devices.c +7 −18
  448. arch/arm/mach-at91/at91x40.c +0 −5
  449. arch/arm/mach-at91/board-1arm.c +8 −4
  450. arch/arm/mach-at91/board-afeb-9260v1.c +3 −3
  451. arch/arm/mach-at91/board-at572d940hf_ek.c +0 −326
  452. arch/arm/mach-at91/board-cam60.c +3 −3
  453. arch/arm/mach-at91/board-cap9adk.c +5 −8
  454. arch/arm/mach-at91/board-carmeva.c +5 −5
  455. arch/arm/mach-at91/board-cpu9krea.c +3 −3
  456. arch/arm/mach-at91/board-cpuat91.c +8 −4
  457. arch/arm/mach-at91/board-csb337.c +4 −4
  458. arch/arm/mach-at91/board-csb637.c +4 −4
  459. arch/arm/mach-at91/board-eb01.c +8 −3
  460. arch/arm/mach-at91/board-eb9200.c +4 −4
  461. arch/arm/mach-at91/board-ecbat91.c +8 −4
  462. arch/arm/mach-at91/board-eco920.c +9 −23
  463. arch/arm/mach-at91/board-flexibity.c +3 −3
  464. arch/arm/mach-at91/board-foxg20.c +3 −3
  465. arch/arm/mach-at91/board-gsia18s.c +4 −4
  466. arch/arm/mach-at91/board-kafa.c +8 −4
  467. arch/arm/mach-at91/board-kb9202.c +8 −5
  468. arch/arm/mach-at91/board-neocore926.c +3 −3
  469. arch/arm/mach-at91/board-pcontrol-g20.c +4 −4
  470. arch/arm/mach-at91/board-picotux200.c +4 −4
  471. arch/arm/mach-at91/board-qil-a9260.c +3 −3
  472. arch/arm/mach-at91/board-rm9200dk.c +4 −4
  473. arch/arm/mach-at91/board-rm9200ek.c +4 −4
  474. arch/arm/mach-at91/board-sam9-l9260.c +3 −3
  475. arch/arm/mach-at91/board-sam9260ek.c +5 −8
  476. arch/arm/mach-at91/board-sam9261ek.c +5 −8
  477. arch/arm/mach-at91/board-sam9263ek.c +5 −8
  478. arch/arm/mach-at91/board-sam9g20ek.c +7 −10
  479. arch/arm/mach-at91/board-sam9m10g45ek.c +5 −8
  480. arch/arm/mach-at91/board-sam9rlek.c +3 −3
  481. arch/arm/mach-at91/board-snapper9260.c +3 −3
  482. arch/arm/mach-at91/board-stamp9g20.c +9 −9
  483. arch/arm/mach-at91/board-usb-a9260.c +3 −3
  484. arch/arm/mach-at91/board-usb-a9263.c +3 −3
  485. arch/arm/mach-at91/board-yl-9200.c +8 −4
  486. arch/arm/mach-at91/clock.c +19 −50
  487. arch/arm/mach-at91/clock.h +18 −2
  488. arch/arm/mach-at91/generic.h +26 −4
  489. arch/arm/mach-at91/include/mach/at572d940hf.h +0 −123
  490. arch/arm/mach-at91/include/mach/at572d940hf_matrix.h +0 −123
  491. arch/arm/mach-at91/include/mach/at91_mci.h +1 −1
  492. arch/arm/mach-at91/include/mach/at91cap9.h +0 −4
  493. arch/arm/mach-at91/include/mach/at91rm9200.h +0 −2
  494. arch/arm/mach-at91/include/mach/at91sam9260.h +0 −2
  495. arch/arm/mach-at91/include/mach/at91sam9261.h +0 −2
  496. arch/arm/mach-at91/include/mach/at91sam9263.h +0 −2
  497. arch/arm/mach-at91/include/mach/at91sam9g45.h +0 −4
  498. arch/arm/mach-at91/include/mach/at91sam9rl.h +0 −2
  499. arch/arm/mach-at91/include/mach/at91x40.h +0 −2
  500. arch/arm/mach-at91/include/mach/board.h +2 −4
  501. arch/arm/mach-at91/include/mach/clkdev.h +7 −0
  502. arch/arm/mach-at91/include/mach/cpu.h +35 −8
  503. arch/arm/mach-at91/include/mach/gpio.h +1 −1
  504. arch/arm/mach-at91/include/mach/hardware.h +6 −9
  505. arch/arm/mach-at91/include/mach/memory.h +0 −2
  506. arch/arm/mach-at91/include/mach/stamp9g20.h +1 −1
  507. arch/arm/mach-at91/include/mach/system_rev.h +25 −0
  508. arch/arm/mach-at91/include/mach/timex.h +0 −5
  509. arch/arm/mach-bcmring/arch.c +1 −0
  510. arch/arm/mach-bcmring/core.c +54 −173
  511. arch/arm/mach-bcmring/core.h +1 −0
  512. arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c +3 −3
  513. arch/arm/mach-bcmring/dma.c +2 −2
  514. arch/arm/mach-bcmring/include/csp/dmacHw.h +3 −3
  515. arch/arm/mach-bcmring/include/mach/csp/chipcHw_def.h +1 −1
  516. arch/arm/mach-bcmring/include/mach/csp/chipcHw_inline.h +1 −1
  517. arch/arm/mach-bcmring/include/mach/csp/intcHw_reg.h +2 −2
  518. arch/arm/mach-bcmring/include/mach/reg_umi.h +1 −1
  519. arch/arm/mach-davinci/Kconfig +6 −0
  520. arch/arm/mach-davinci/board-mityomapl138.c +2 −2
  521. arch/arm/mach-davinci/board-neuros-osd2.c +1 −1
  522. arch/arm/mach-davinci/cpufreq.c +2 −4
  523. arch/arm/mach-davinci/da850.c +2 −2
  524. arch/arm/mach-davinci/devices-da8xx.c +17 −9
  525. arch/arm/mach-davinci/devices.c +3 −0
  526. arch/arm/mach-davinci/dm355.c +1 −1
  527. arch/arm/mach-davinci/dm644x.c +1 −1
  528. arch/arm/mach-davinci/include/mach/cputype.h +1 −1
  529. arch/arm/mach-davinci/include/mach/da8xx.h +0 −4
  530. arch/arm/mach-davinci/include/mach/debug-macro.S +8 −5
  531. arch/arm/mach-davinci/include/mach/hardware.h +0 −3
  532. arch/arm/mach-davinci/include/mach/memory.h +1 −17
  533. arch/arm/mach-davinci/include/mach/serial.h +1 −1
  534. arch/arm/mach-davinci/include/mach/uncompress.h +3 −2
  535. arch/arm/mach-davinci/irq.c +20 −73
  536. arch/arm/mach-dove/common.c +32 −584
  537. arch/arm/mach-dove/mpp.c +43 −91
  538. arch/arm/mach-dove/mpp.h +169 −193
  539. arch/arm/mach-ep93xx/gpio.c +1 −25
  540. arch/arm/mach-exynos4/Kconfig +3 −0
  541. arch/arm/mach-exynos4/Makefile +4 −1
  542. arch/arm/mach-exynos4/cpu.c +6 −1
  543. arch/arm/mach-exynos4/cpuidle.c +86 −0
  544. arch/arm/mach-exynos4/include/mach/gpio.h +1 −1
  545. arch/arm/mach-exynos4/include/mach/map.h +4 −0
  546. arch/arm/mach-exynos4/include/mach/regs-pmu.h +3 −0
  547. arch/arm/mach-exynos4/include/mach/regs-usb-phy.h +64 −0
  548. arch/arm/mach-exynos4/include/mach/smp.h +0 −19
  549. arch/arm/mach-exynos4/irq-combiner.c +2 −4
  550. arch/arm/mach-exynos4/mach-nuri.c +105 −0
  551. arch/arm/mach-exynos4/mct.c +1 −1
  552. arch/arm/mach-exynos4/platsmp.c +4 −1
  553. arch/arm/mach-exynos4/pm.c +27 −18
  554. arch/arm/mach-exynos4/setup-sdhci-gpio.c +2 −2
  555. arch/arm/mach-exynos4/setup-sdhci.c +1 −1
  556. arch/arm/mach-exynos4/usb-phy.c +136 −0
  557. arch/arm/mach-footbridge/Kconfig +2 −0
  558. arch/arm/mach-footbridge/isa-timer.c +4 −41
  559. arch/arm/mach-gemini/board-wbd111.c +1 −6
  560. arch/arm/mach-gemini/board-wbd222.c +1 −6
  561. arch/arm/mach-gemini/include/mach/uncompress.h +1 −1
  562. arch/arm/mach-h720x/include/mach/memory.h +1 −2
  563. arch/arm/mach-imx/Kconfig +287 −0
  564. arch/arm/mach-imx/Makefile +31 −7
  565. arch/arm/mach-imx/Makefile.boot +4 −0
  566. arch/arm/mach-imx/cache-l2x0.c +56 −0
  567. arch/arm/mach-imx/clock-imx31.c +1 −2
  568. arch/arm/mach-imx/clock-imx35.c +0 −1
  569. arch/arm/mach-imx/cpu-imx31.c +3 −35
  570. arch/arm/mach-imx/cpu-imx35.c +44 −0
  571. arch/arm/mach-imx/crmregs-imx31.h +0 −0
  572. arch/arm/mach-imx/devices-imx1.h +4 −4
  573. arch/arm/mach-imx/devices-imx21.h +11 −11
  574. arch/arm/mach-imx/devices-imx25.h +17 −18
  575. arch/arm/mach-imx/devices-imx27.h +15 −15
  576. arch/arm/mach-imx/devices-imx31.h +24 −12
  577. arch/arm/mach-imx/devices-imx35.h +22 −15
  578. arch/arm/mach-imx/ehci-imx31.c +0 −1
  579. arch/arm/mach-imx/ehci-imx35.c +0 −1
  580. arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +0 −1
  581. arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +9 −14
  582. arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +17 −24
  583. arch/arm/mach-imx/iomux-imx31.c +0 −0
  584. arch/arm/mach-imx/mach-apf9328.c +144 −0
  585. arch/arm/mach-imx/mach-armadillo5x0.c +8 −21
  586. arch/arm/mach-imx/mach-bug.c +0 −1
  587. arch/arm/mach-imx/mach-cpuimx27.c +0 −1
  588. arch/arm/mach-imx/mach-cpuimx35.c +0 −2
  589. arch/arm/mach-imx/mach-eukrea_cpuimx25.c +0 −2
  590. arch/arm/mach-imx/mach-imx27_visstrim_m10.c +3 −11
  591. arch/arm/mach-imx/mach-kzm_arm11_01.c +0 −1
  592. arch/arm/mach-imx/mach-mx1ads.c +0 −1
  593. arch/arm/mach-imx/mach-mx21ads.c +0 −1
  594. arch/arm/mach-imx/mach-mx25_3ds.c +11 −2
  595. arch/arm/mach-imx/mach-mx27ads.c +0 −1
  596. arch/arm/mach-imx/mach-mx31_3ds.c +25 −25
  597. arch/arm/mach-imx/mach-mx31ads.c +0 −1
  598. arch/arm/mach-imx/mach-mx31lilly.c +0 −1
  599. arch/arm/mach-imx/mach-mx31lite.c +0 −1
  600. arch/arm/mach-imx/mach-mx31moboard.c +41 −34
  601. arch/arm/mach-imx/mach-mx35_3ds.c +0 −1
  602. arch/arm/mach-imx/mach-mxt_td60.c +0 −1
  603. arch/arm/mach-imx/mach-pca100.c +0 −1
  604. arch/arm/mach-imx/mach-pcm037.c +35 −30
  605. arch/arm/mach-imx/mach-pcm037_eet.c +3 −14
  606. arch/arm/mach-imx/mach-pcm038.c +0 −1
  607. arch/arm/mach-imx/mach-pcm043.c +16 −11
  608. arch/arm/mach-imx/mach-qong.c +7 −8
  609. arch/arm/mach-imx/mach-vpr200.c +15 −21
  610. arch/arm/mach-imx/mm-imx31.c +66 −0
  611. arch/arm/mach-imx/mm-imx35.c +63 −0
  612. arch/arm/mach-imx/mx31lilly-db.c +4 −9
  613. arch/arm/mach-imx/mx31lite-db.c +1 −2
  614. arch/arm/mach-imx/mx31moboard-devboard.c +0 −1
  615. arch/arm/mach-imx/mx31moboard-marxbot.c +0 −2
  616. arch/arm/mach-imx/mx31moboard-smartbot.c +0 −1
  617. arch/arm/mach-imx/pcm037.h +0 −0
  618. arch/arm/mach-integrator/Kconfig +1 −0
  619. arch/arm/mach-integrator/integrator_ap.c +18 −42
  620. arch/arm/mach-integrator/integrator_cp.c +15 −9
  621. arch/arm/mach-iop13xx/pci.c +2 −2
  622. arch/arm/mach-iop32x/include/mach/uncompress.h +1 −1
  623. arch/arm/mach-iop33x/include/mach/uncompress.h +1 −1
  624. arch/arm/mach-ixp4xx/common-pci.c +0 −23
  625. arch/arm/mach-ixp4xx/common.c +2 −14
  626. arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h +78 −0
  627. arch/arm/mach-ixp4xx/include/mach/memory.h +2 −10
  628. arch/arm/mach-ixp4xx/include/mach/uncompress.h +1 −1
  629. arch/arm/mach-ixp4xx/ixdp425-setup.c +0 −4
  630. arch/arm/mach-kirkwood/common.c +32 −569
  631. arch/arm/mach-kirkwood/include/mach/irqs.h +1 −0
  632. arch/arm/mach-kirkwood/mpp.c +3 −55
  633. arch/arm/mach-kirkwood/mpp.h +0 −6
  634. arch/arm/mach-kirkwood/sheevaplug-setup.c +7 −0
  635. arch/arm/mach-kirkwood/tsx1x-common.c +1 −1
  636. arch/arm/mach-loki/common.c +17 −173
  637. arch/arm/mach-lpc32xx/pm.c +1 −1
  638. arch/arm/mach-lpc32xx/timer.c +3 −14
  639. arch/arm/mach-mmp/include/mach/gpio.h +1 −1
  640. arch/arm/mach-mmp/include/mach/mfp-pxa168.h +9 −0
  641. arch/arm/mach-mmp/include/mach/uncompress.h +1 −1
  642. arch/arm/mach-mmp/time.c +1 −1
  643. arch/arm/mach-msm/acpuclock-arm11.c +1 −1
  644. arch/arm/mach-msm/board-qsd8x50.c +1 −4
  645. arch/arm/mach-msm/gpio-v2.c +8 −2
  646. arch/arm/mach-msm/include/mach/msm_iomap.h +1 −1
  647. arch/arm/mach-msm/platsmp.c +3 −1
  648. arch/arm/mach-msm/scm.c +1 −1
  649. arch/arm/mach-msm/timer.c +1 −1
  650. arch/arm/mach-mv78xx0/common.c +33 −537
  651. arch/arm/mach-mv78xx0/mpp.c +3 −55
  652. arch/arm/mach-mv78xx0/mpp.h +0 −6
  653. arch/arm/mach-mx3/Kconfig +0 −257
  654. arch/arm/mach-mx3/Makefile +0 −26
  655. arch/arm/mach-mx3/Makefile.boot +0 −3
  656. arch/arm/mach-mx3/devices.c +0 −115
  657. arch/arm/mach-mx3/devices.h +0 −4
  658. arch/arm/mach-mx3/mm.c +0 −141
  659. arch/arm/mach-mx5/Kconfig +41 −18
  660. arch/arm/mach-mx5/Makefile +1 −1
  661. arch/arm/mach-mx5/board-cpuimx51.c +0 −2
  662. arch/arm/mach-mx5/board-cpuimx51sd.c +0 −2
  663. arch/arm/mach-mx5/board-mx50_rdp.c +0 −1
  664. arch/arm/mach-mx5/board-mx51_babbage.c +8 −15
  665. arch/arm/mach-mx5/board-mx51_efikamx.c +1 −4
  666. arch/arm/mach-mx5/board-mx51_efikasb.c +1 −4
  667. arch/arm/mach-mx5/board-mx53_evk.c +4 −7
  668. arch/arm/mach-mx5/board-mx53_loco.c +25 −2
  669. arch/arm/mach-mx5/board-mx53_smd.c +28 −2
  670. arch/arm/mach-mx5/clock-mx51-mx53.c +10 −0
  671. arch/arm/mach-mx5/cpu.c +82 −0
  672. arch/arm/mach-mx5/devices-imx50.h +3 −3
  673. arch/arm/mach-mx5/devices-imx51.h +11 −14
  674. arch/arm/mach-mx5/devices-imx53.h +6 −7
  675. arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c +0 −2
  676. arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c +7 −13
  677. arch/arm/mach-mx5/mx51_efika.c +0 −4
  678. arch/arm/mach-mx5/system.c +84 −0
  679. arch/arm/mach-mxc91231/Kconfig +0 −11
  680. arch/arm/mach-mxc91231/Makefile +0 −2
  681. arch/arm/mach-mxc91231/Makefile.boot +0 −3
  682. arch/arm/mach-mxc91231/clock.c +0 −640
  683. arch/arm/mach-mxc91231/crm_regs.h +0 −394
  684. arch/arm/mach-mxc91231/devices.c +0 −251
  685. arch/arm/mach-mxc91231/devices.h +0 −13
  686. arch/arm/mach-mxc91231/iomux.c +0 −177
  687. arch/arm/mach-mxc91231/magx-zn5.c +0 −62
  688. arch/arm/mach-mxc91231/mm.c +0 −62
  689. arch/arm/mach-mxc91231/system.c +0 −51
  690. arch/arm/mach-mxs/Kconfig +12 −2
  691. arch/arm/mach-mxs/Makefile +1 −0
  692. arch/arm/mach-mxs/clock-mx23.c +17 −0
  693. arch/arm/mach-mxs/clock-mx28.c +24 −1
  694. arch/arm/mach-mxs/devices-mx23.h +4 −0
  695. arch/arm/mach-mxs/devices-mx28.h +5 −1
  696. arch/arm/mach-mxs/devices/Kconfig +3 −0
  697. arch/arm/mach-mxs/devices/Makefile +1 −0
  698. arch/arm/mach-mxs/devices/platform-mxs-i2c.c +3 −2
  699. arch/arm/mach-mxs/devices/platform-mxs-mmc.c +73 −0
  700. arch/arm/mach-mxs/include/mach/devices-common.h +16 −2
  701. arch/arm/mach-mxs/include/mach/mx23.h +1 −1
  702. arch/arm/mach-mxs/include/mach/uncompress.h +1 −1
  703. arch/arm/mach-mxs/mach-mx23evk.c +44 −0
  704. arch/arm/mach-mxs/mach-mx28evk.c +89 −0
  705. arch/arm/mach-mxs/mach-stmp378x_devb.c +120 −0
  706. arch/arm/mach-mxs/module-tx28.c +35 −6
  707. arch/arm/mach-mxs/module-tx28.h +1 −0
  708. arch/arm/mach-mxs/timer.c +7 −13
  709. arch/arm/mach-netx/fb.c +0 −1
  710. arch/arm/mach-netx/time.c +2 −14
  711. arch/arm/mach-nomadik/Kconfig +0 −1
  712. arch/arm/mach-ns9xxx/Kconfig +0 −40
  713. arch/arm/mach-ns9xxx/Makefile +0 −12
  714. arch/arm/mach-ns9xxx/Makefile.boot +0 −2
  715. arch/arm/mach-ns9xxx/board-a9m9750dev.c +0 −156
  716. arch/arm/mach-ns9xxx/board-a9m9750dev.h +0 −15
  717. arch/arm/mach-ns9xxx/board-jscc9p9360.c +0 −17
  718. arch/arm/mach-ns9xxx/board-jscc9p9360.h +0 −13
  719. arch/arm/mach-ns9xxx/clock.c +0 −215
  720. arch/arm/mach-ns9xxx/clock.h +0 −35
  721. arch/arm/mach-ns9xxx/generic.c +0 −19
  722. arch/arm/mach-ns9xxx/generic.h +0 −16
  723. arch/arm/mach-ns9xxx/gpio-ns9360.c +0 −118
  724. arch/arm/mach-ns9xxx/gpio-ns9360.h +0 −13
  725. arch/arm/mach-ns9xxx/gpio.c +0 −147
  726. arch/arm/mach-ns9xxx/include/mach/board.h +0 −40
  727. arch/arm/mach-ns9xxx/include/mach/debug-macro.S +0 −21
  728. arch/arm/mach-ns9xxx/include/mach/entry-macro.S +0 −28
  729. arch/arm/mach-ns9xxx/include/mach/gpio.h +0 −47
  730. arch/arm/mach-ns9xxx/include/mach/hardware.h +0 −77
  731. arch/arm/mach-ns9xxx/include/mach/io.h +0 −20
  732. arch/arm/mach-ns9xxx/include/mach/irqs.h +0 −86
  733. arch/arm/mach-ns9xxx/include/mach/memory.h +0 −24
  734. arch/arm/mach-ns9xxx/include/mach/module.h +0 −55
  735. arch/arm/mach-ns9xxx/include/mach/processor-ns9360.h +0 −32
  736. arch/arm/mach-ns9xxx/include/mach/processor.h +0 −42
  737. arch/arm/mach-ns9xxx/include/mach/regs-bbu.h +0 −45
  738. arch/arm/mach-ns9xxx/include/mach/regs-board-a9m9750dev.h +0 −24
  739. arch/arm/mach-ns9xxx/include/mach/regs-mem.h +0 −135
  740. arch/arm/mach-ns9xxx/include/mach/regs-sys-common.h +0 −31
  741. arch/arm/mach-ns9xxx/include/mach/regs-sys-ns9360.h +0 −148
  742. arch/arm/mach-ns9xxx/include/mach/system.h +0 −35
  743. arch/arm/mach-ns9xxx/include/mach/timex.h +0 −20
  744. arch/arm/mach-ns9xxx/include/mach/uncompress.h +0 −164
  745. arch/arm/mach-ns9xxx/include/mach/vmalloc.h +0 −16
  746. arch/arm/mach-ns9xxx/irq.c +0 −74
  747. arch/arm/mach-ns9xxx/mach-cc9p9360dev.c +0 −43
  748. arch/arm/mach-ns9xxx/mach-cc9p9360js.c +0 −31
  749. arch/arm/mach-ns9xxx/plat-serial8250.c +0 −70
  750. arch/arm/mach-ns9xxx/processor-ns9360.c +0 −53
  751. arch/arm/mach-ns9xxx/time-ns9360.c +0 −181
  752. arch/arm/mach-nuc93x/include/mach/uncompress.h +1 −1
  753. arch/arm/mach-omap1/ams-delta-fiq-handler.S +1 −1
  754. arch/arm/mach-omap1/board-sx1.c +1 −1
  755. arch/arm/mach-omap1/devices.c +1 −1
  756. arch/arm/mach-omap1/flash.c +1 −1
  757. arch/arm/mach-omap1/include/mach/ams-delta-fiq.h +1 −1
  758. arch/arm/mach-omap1/pm_bus.c +22 −47
  759. arch/arm/mach-omap1/time.c +22 −47
  760. arch/arm/mach-omap2/Kconfig +1 −0
  761. arch/arm/mach-omap2/Makefile +6 −6
  762. arch/arm/mach-omap2/board-2430sdp.c +5 −22
  763. arch/arm/mach-omap2/board-3430sdp.c +25 −130
  764. arch/arm/mach-omap2/board-4430sdp.c +35 −90
  765. arch/arm/mach-omap2/board-am3517crane.c +2 −8
  766. arch/arm/mach-omap2/board-am3517evm.c +19 −41
  767. arch/arm/mach-omap2/board-apollon.c +13 −16
  768. arch/arm/mach-omap2/board-cm-t35.c +41 −199
  769. arch/arm/mach-omap2/board-cm-t3517.c +4 −5
  770. arch/arm/mach-omap2/board-devkit8000.c +14 −121
  771. arch/arm/mach-omap2/board-igep0020.c +230 −225
  772. arch/arm/mach-omap2/board-igep0030.c +0 −458
  773. arch/arm/mach-omap2/board-ldp.c +11 −127
  774. arch/arm/mach-omap2/board-n8x0.c +11 −17
  775. arch/arm/mach-omap2/board-omap3beagle.c +52 −146
  776. arch/arm/mach-omap2/board-omap3evm.c +46 −200
  777. arch/arm/mach-omap2/board-omap3logic.c +2 −12
  778. arch/arm/mach-omap2/board-omap3pandora.c +8 −84
  779. arch/arm/mach-omap2/board-omap3stalker.c +18 −119
  780. arch/arm/mach-omap2/board-omap3touchbook.c +13 −108
  781. arch/arm/mach-omap2/board-omap4panda.c +25 −58
  782. arch/arm/mach-omap2/board-overo.c +48 −221
  783. arch/arm/mach-omap2/board-rm680.c +3 −18
  784. arch/arm/mach-omap2/board-rx51-peripherals.c +37 −34
  785. arch/arm/mach-omap2/board-rx51-video.c +3 −4
  786. arch/arm/mach-omap2/board-rx51.c +18 −9
  787. arch/arm/mach-omap2/board-zoom-debugboard.c +9 −56
  788. arch/arm/mach-omap2/board-zoom-display.c +9 −24
  789. arch/arm/mach-omap2/board-zoom-peripherals.c +6 −23
  790. arch/arm/mach-omap2/clkt34xx_dpll3m2.c +1 −0
  791. arch/arm/mach-omap2/clock44xx_data.c +2 −7
  792. arch/arm/mach-omap2/clockdomain.c +1 −1
  793. arch/arm/mach-omap2/clockdomain.h +1 −1
  794. arch/arm/mach-omap2/cm2xxx_3xxx.c +17 −0
  795. arch/arm/mach-omap2/common-board-devices.c +163 −0
  796. arch/arm/mach-omap2/common-board-devices.h +35 −0
  797. arch/arm/mach-omap2/control.c +7 −1
  798. arch/arm/mach-omap2/control.h +1 −1
  799. arch/arm/mach-omap2/cpuidle34xx.c +146 −290
  800. arch/arm/mach-omap2/devices.c +3 −3
  801. arch/arm/mach-omap2/display.c +50 −27
  802. arch/arm/mach-omap2/dma.c +1 −1
  803. arch/arm/mach-omap2/gpio.c +1 −1
  804. arch/arm/mach-omap2/gpmc-smc91x.c +5 −6
  805. arch/arm/mach-omap2/gpmc-smsc911x.c +19 −25
  806. arch/arm/mach-omap2/hsmmc.c +1 −1
  807. arch/arm/mach-omap2/include/mach/board-zoom.h +1 −1
  808. arch/arm/mach-omap2/include/mach/omap4-common.h +7 −0
  809. arch/arm/mach-omap2/irq.c +25 −72
  810. arch/arm/mach-omap2/mcbsp.c +1 −1
  811. arch/arm/mach-omap2/mux.c +1 −1
  812. arch/arm/mach-omap2/mux2430.h +1 −1
  813. arch/arm/mach-omap2/omap-smp.c +4 −1
  814. arch/arm/mach-omap2/omap_hwmod_2420_data.c +5 −1
  815. arch/arm/mach-omap2/omap_hwmod_2430_data.c +7 −2
  816. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +7 −1
  817. arch/arm/mach-omap2/omap_hwmod_44xx_data.c +1 −1
  818. arch/arm/mach-omap2/omap_l3_noc.c +23 −28
  819. arch/arm/mach-omap2/omap_l3_smx.c +17 −29
  820. arch/arm/mach-omap2/omap_phy_internal.c +8 −5
  821. arch/arm/mach-omap2/omap_twl.c +1 −1
  822. arch/arm/mach-omap2/pm.c +1 −0
  823. arch/arm/mach-omap2/pm.h +9 −8
  824. arch/arm/mach-omap2/pm34xx.c +0 −14
  825. arch/arm/mach-omap2/pm44xx.c +0 −2
  826. arch/arm/mach-omap2/pm_bus.c +0 −85
  827. arch/arm/mach-omap2/powerdomain.c +1 −1
  828. arch/arm/mach-omap2/powerdomain.h +1 −1
  829. arch/arm/mach-omap2/powerdomains3xxx_data.c +1 −1
  830. arch/arm/mach-omap2/smartreflex.c +19 −6
  831. arch/arm/mach-omap2/usb-musb.c +17 −5
  832. arch/arm/mach-omap2/usb-tusb6010.c +1 −2
  833. arch/arm/mach-omap2/voltage.c +2 −4
  834. arch/arm/mach-orion5x/addr-map.c +1 −1
  835. arch/arm/mach-orion5x/common.c +32 −446
  836. arch/arm/mach-orion5x/d2net-setup.c +22 −22
  837. arch/arm/mach-orion5x/db88f5281-setup.c +22 −22
  838. arch/arm/mach-orion5x/dns323-setup.c +66 −66
  839. arch/arm/mach-orion5x/edmini_v2-setup.c +22 −22
  840. arch/arm/mach-orion5x/kurobox_pro-setup.c +22 −22
  841. arch/arm/mach-orion5x/ls-chl-setup.c +22 −22
  842. arch/arm/mach-orion5x/ls_hgl-setup.c +22 −22
  843. arch/arm/mach-orion5x/lsmini-setup.c +22 −22
  844. arch/arm/mach-orion5x/mpp.c +15 −135
  845. arch/arm/mach-orion5x/mpp.h +123 −68
  846. arch/arm/mach-orion5x/mss2-setup.c +22 −22
  847. arch/arm/mach-orion5x/mv2120-setup.c +22 −22
  848. arch/arm/mach-orion5x/net2big-setup.c +23 −23
  849. arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +22 −22
  850. arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +22 −22
  851. arch/arm/mach-orion5x/rd88f5182-setup.c +22 −22
  852. arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +0 −1
  853. arch/arm/mach-orion5x/terastation_pro2-setup.c +22 −22
  854. arch/arm/mach-orion5x/ts209-setup.c +23 −23
  855. arch/arm/mach-orion5x/ts409-setup.c +23 −23
  856. arch/arm/mach-orion5x/ts78xx-setup.c +31 −31
  857. arch/arm/mach-orion5x/wnr854t-setup.c +22 −22
  858. arch/arm/mach-orion5x/wrt350n-v2-setup.c +22 −22
  859. arch/arm/mach-pxa/Kconfig +0 −1
  860. arch/arm/mach-pxa/am200epd.c +4 −4
  861. arch/arm/mach-pxa/am300epd.c +7 −6
  862. arch/arm/mach-pxa/balloon3.c +1 −2
  863. arch/arm/mach-pxa/clock-pxa2xx.c +4 −14
  864. arch/arm/mach-pxa/clock-pxa3xx.c +4 −13
  865. arch/arm/mach-pxa/clock.h +4 −3
  866. arch/arm/mach-pxa/cm-x270.c +0 −1
  867. arch/arm/mach-pxa/cm-x2xx-pci.c +0 −27
  868. arch/arm/mach-pxa/cm-x2xx.c +8 −17
  869. arch/arm/mach-pxa/cm-x300.c +1 −1
  870. arch/arm/mach-pxa/colibri-evalboard.c +0 −1
  871. arch/arm/mach-pxa/colibri-pxa270-income.c +1 −2
  872. arch/arm/mach-pxa/colibri-pxa270.c +0 −1
  873. arch/arm/mach-pxa/colibri-pxa3xx.c +1 −1
  874. arch/arm/mach-pxa/corgi.c +0 −1
  875. arch/arm/mach-pxa/devices.c +2 −7
  876. arch/arm/mach-pxa/em-x270.c +1 −1
  877. arch/arm/mach-pxa/eseries.c +27 −9
  878. arch/arm/mach-pxa/ezx.c +6 −6
  879. arch/arm/mach-pxa/generic.h +4 −4
  880. arch/arm/mach-pxa/gumstix.c +11 −2
  881. arch/arm/mach-pxa/hx4700.c +2 −2
  882. arch/arm/mach-pxa/idp.c +1 −1
  883. arch/arm/mach-pxa/include/mach/gpio.h +15 −2
  884. arch/arm/mach-pxa/include/mach/irqs.h +0 −3
  885. arch/arm/mach-pxa/include/mach/memory.h +2 −8
  886. arch/arm/mach-pxa/include/mach/palmz72.h +5 −0
  887. arch/arm/mach-pxa/include/mach/pxa3xx-regs.h +1 −1
  888. arch/arm/mach-pxa/include/mach/pxafb.h +2 −2
  889. arch/arm/mach-pxa/include/mach/uncompress.h +3 −3
  890. arch/arm/mach-pxa/include/mach/z2.h +1 −2
  891. arch/arm/mach-pxa/include/mach/zeus.h +1 −1
  892. arch/arm/mach-pxa/irq.c +4 −13
  893. arch/arm/mach-pxa/littleton.c +1 −1
  894. arch/arm/mach-pxa/lpd270.c +7 −15
  895. arch/arm/mach-pxa/lubbock.c +7 −16
  896. arch/arm/mach-pxa/magician.c +3 −3
  897. arch/arm/mach-pxa/mainstone.c +7 −17
  898. arch/arm/mach-pxa/mfp-pxa2xx.c +5 −7
  899. arch/arm/mach-pxa/mfp-pxa3xx.c +5 −16
  900. arch/arm/mach-pxa/mioa701.c +10 −37
  901. arch/arm/mach-pxa/palm27x.c +2 −3
  902. arch/arm/mach-pxa/palmld.c +0 −1
  903. arch/arm/mach-pxa/palmtc.c +1 −1
  904. arch/arm/mach-pxa/palmte2.c +8 −25
  905. arch/arm/mach-pxa/palmtreo.c +0 −1
  906. arch/arm/mach-pxa/palmz72.c +135 −16
  907. arch/arm/mach-pxa/pcm990-baseboard.c +1 −1
  908. arch/arm/mach-pxa/poodle.c +1 −2
  909. arch/arm/mach-pxa/pxa25x.c +7 −20
  910. arch/arm/mach-pxa/pxa27x.c +7 −20
  911. arch/arm/mach-pxa/pxa3xx.c +6 −19
  912. arch/arm/mach-pxa/pxa95x.c +4 −16
  913. arch/arm/mach-pxa/raumfeld.c +1 −2
  914. arch/arm/mach-pxa/saar.c +1 −1
  915. arch/arm/mach-pxa/smemc.c +7 −22
  916. arch/arm/mach-pxa/spitz.c +1 −1
  917. arch/arm/mach-pxa/tavorevb.c +1 −1
  918. arch/arm/mach-pxa/time.c +3 −17
  919. arch/arm/mach-pxa/tosa.c +11 −2
  920. arch/arm/mach-pxa/trizeps4.c +2 −3
  921. arch/arm/mach-pxa/viper.c +7 −7
  922. arch/arm/mach-pxa/vpac270.c +1 −2
  923. arch/arm/mach-pxa/z2.c +38 −39
  924. arch/arm/mach-pxa/zeus.c +1 −1
  925. arch/arm/mach-pxa/zylonite.c +2 −2
  926. arch/arm/mach-realview/core.c +14 −49
  927. arch/arm/mach-realview/include/mach/barriers.h +1 −1
  928. arch/arm/mach-realview/include/mach/memory.h +2 −7
  929. arch/arm/mach-realview/include/mach/smp.h +0 −14
  930. arch/arm/mach-realview/platsmp.c +3 −0
  931. arch/arm/mach-realview/realview_eb.c +1 −1
  932. arch/arm/mach-rpc/include/mach/uncompress.h +6 −6
  933. arch/arm/mach-s3c2410/include/mach/dma.h +1 −1
  934. arch/arm/mach-s3c2410/include/mach/map.h +4 −0
  935. arch/arm/mach-s3c2410/include/mach/regs-mem.h +1 −1
  936. arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h +25 −0
  937. arch/arm/mach-s3c2410/irq.c +2 −28
  938. arch/arm/mach-s3c2410/mach-amlm5900.c +0 −5
  939. arch/arm/mach-s3c2410/mach-bast.c +5 −12
  940. arch/arm/mach-s3c2410/mach-n30.c +1 −1
  941. arch/arm/mach-s3c2410/mach-tct_hammer.c +0 −6
  942. arch/arm/mach-s3c2410/nor-simtec.c +1 −1
  943. arch/arm/mach-s3c2410/pm.c +6 −7
  944. arch/arm/mach-s3c2410/s3c2410.c +5 −0
  945. arch/arm/mach-s3c2412/irq.c +0 −2
  946. arch/arm/mach-s3c2412/mach-jive.c +6 −13
  947. arch/arm/mach-s3c2412/pm.c +15 −12
  948. arch/arm/mach-s3c2412/s3c2412.c +4 −0
  949. arch/arm/mach-s3c2416/irq.c +0 −2
  950. arch/arm/mach-s3c2416/mach-smdk2416.c +27 −0
  951. arch/arm/mach-s3c2416/pm.c +12 −15
  952. arch/arm/mach-s3c2416/s3c2416.c +5 −0
  953. arch/arm/mach-s3c2440/mach-gta02.c +5 −0
  954. arch/arm/mach-s3c2440/mach-mini2440.c +1 −1
  955. arch/arm/mach-s3c2440/mach-osiris.c +5 −13
  956. arch/arm/mach-s3c2440/s3c2440.c +8 −0
  957. arch/arm/mach-s3c2440/s3c2442.c +6 −0
  958. arch/arm/mach-s3c2440/s3c244x-irq.c +0 −4
  959. arch/arm/mach-s3c2440/s3c244x.c +31 −31
  960. arch/arm/mach-s3c64xx/dev-spi.c +7 −13
  961. arch/arm/mach-s3c64xx/dma.c +1 −1
  962. arch/arm/mach-s3c64xx/include/mach/gpio-bank-a.h +0 −48
  963. arch/arm/mach-s3c64xx/include/mach/gpio-bank-b.h +0 −60
  964. arch/arm/mach-s3c64xx/include/mach/gpio-bank-c.h +0 −53
  965. arch/arm/mach-s3c64xx/include/mach/gpio-bank-d.h +0 −49
  966. arch/arm/mach-s3c64xx/include/mach/gpio-bank-e.h +0 −44
  967. arch/arm/mach-s3c64xx/include/mach/gpio-bank-f.h +0 −71
  968. arch/arm/mach-s3c64xx/include/mach/gpio-bank-g.h +0 −42
  969. arch/arm/mach-s3c64xx/include/mach/gpio-bank-h.h +0 −74
  970. arch/arm/mach-s3c64xx/include/mach/gpio-bank-i.h +0 −40
  971. arch/arm/mach-s3c64xx/include/mach/gpio-bank-j.h +0 −36
  972. arch/arm/mach-s3c64xx/include/mach/gpio-bank-n.h +0 −54
  973. arch/arm/mach-s3c64xx/include/mach/gpio-bank-o.h +0 −70
  974. arch/arm/mach-s3c64xx/include/mach/gpio-bank-p.h +0 −69
  975. arch/arm/mach-s3c64xx/include/mach/gpio-bank-q.h +0 −46
  976. arch/arm/mach-s3c64xx/irq-pm.c +9 −9
  977. arch/arm/mach-s3c64xx/irq.c +1 −6
  978. arch/arm/mach-s3c64xx/mach-smdk6410.c +0 −1
  979. arch/arm/mach-s3c64xx/pm.c +19 −15
  980. arch/arm/mach-s3c64xx/setup-i2c0.c +2 −5
  981. arch/arm/mach-s3c64xx/setup-i2c1.c +2 −5
  982. arch/arm/mach-s3c64xx/sleep.S +7 −1
  983. arch/arm/mach-s5p6442/Kconfig +0 −25
  984. arch/arm/mach-s5p6442/Makefile +0 −24
  985. arch/arm/mach-s5p6442/Makefile.boot +0 −2
  986. arch/arm/mach-s5p6442/clock.c +0 −420
  987. arch/arm/mach-s5p6442/cpu.c +0 −143
  988. arch/arm/mach-s5p6442/dev-audio.c +0 −217
  989. arch/arm/mach-s5p6442/dev-spi.c +0 −121
  990. arch/arm/mach-s5p6442/dma.c +0 −105
  991. arch/arm/mach-s5p6442/include/mach/debug-macro.S +0 −35
  992. arch/arm/mach-s5p6442/include/mach/dma.h +0 −26
  993. arch/arm/mach-s5p6442/include/mach/entry-macro.S +0 −48
  994. arch/arm/mach-s5p6442/include/mach/gpio.h +0 −123
  995. arch/arm/mach-s5p6442/include/mach/hardware.h +0 −18
  996. arch/arm/mach-s5p6442/include/mach/io.h +0 −17
  997. arch/arm/mach-s5p6442/include/mach/irqs.h +0 −87
  998. arch/arm/mach-s5p6442/include/mach/map.h +0 −76
  999. arch/arm/mach-s5p6442/include/mach/memory.h +0 −19
  1000. arch/arm/mach-s5p6442/include/mach/pwm-clock.h +0 −70
  1001. arch/arm/mach-s5p6442/include/mach/regs-clock.h +0 −104
  1002. arch/arm/mach-s5p6442/include/mach/regs-irq.h +0 −19
  1003. arch/arm/mach-s5p6442/include/mach/spi-clocks.h +0 −17
  1004. arch/arm/mach-s5p6442/include/mach/system.h +0 −23
  1005. arch/arm/mach-s5p6442/include/mach/tick.h +0 −26
  1006. arch/arm/mach-s5p6442/include/mach/timex.h +0 −24
  1007. arch/arm/mach-s5p6442/include/mach/uncompress.h +0 −24
  1008. arch/arm/mach-s5p6442/include/mach/vmalloc.h +0 −17
  1009. arch/arm/mach-s5p6442/init.c +0 −44
  1010. arch/arm/mach-s5p6442/mach-smdk6442.c +0 −102
  1011. arch/arm/mach-s5p6442/setup-i2c0.c +0 −28
  1012. arch/arm/mach-s5p64x0/include/mach/uncompress.h +3 −3
  1013. arch/arm/mach-s5pc100/Makefile +1 −1
  1014. arch/arm/mach-s5pc100/include/mach/regs-fb.h +1 −1
  1015. arch/arm/mach-s5pc100/setup-sdhci.c +1 −1
  1016. arch/arm/mach-s5pv210/Makefile +1 −1
  1017. arch/arm/mach-s5pv210/include/mach/gpio.h +1 −1
  1018. arch/arm/mach-s5pv210/pm.c +17 −8
  1019. arch/arm/mach-s5pv210/setup-sdhci-gpio.c +2 −2
  1020. arch/arm/mach-s5pv210/setup-sdhci.c +1 −1
  1021. arch/arm/mach-sa1100/Makefile +1 −1
  1022. arch/arm/mach-sa1100/cpu-sa1100.c +1 −1
  1023. arch/arm/mach-sa1100/include/mach/SA-1100.h +1 −1
  1024. arch/arm/mach-sa1100/include/mach/memory.h +1 −11
  1025. arch/arm/mach-sa1100/irq.c +6 −13
  1026. arch/arm/mach-sa1100/jornada720_ssp.c +2 −2
  1027. arch/arm/mach-sa1100/time.c +5 −19
  1028. arch/arm/mach-shark/include/mach/memory.h +1 −19
  1029. arch/arm/mach-shmobile/Makefile +5 −0
  1030. arch/arm/mach-shmobile/board-ag5evm.c +118 −0
  1031. arch/arm/mach-shmobile/board-ap4evb.c +28 −21
  1032. arch/arm/mach-shmobile/board-g4evm.c +1 −1
  1033. arch/arm/mach-shmobile/board-mackerel.c +242 −40
  1034. arch/arm/mach-shmobile/clock-sh7372.c +17 −4
  1035. arch/arm/mach-shmobile/clock-sh73a0.c +18 −1
  1036. arch/arm/mach-shmobile/cpuidle.c +92 −0
  1037. arch/arm/mach-shmobile/headsmp.S +1 −1
  1038. arch/arm/mach-shmobile/include/mach/common.h +7 −0
  1039. arch/arm/mach-shmobile/include/mach/head-ap4evb.txt +1 −2
  1040. arch/arm/mach-shmobile/include/mach/head-mackerel.txt +1 −2
  1041. arch/arm/mach-shmobile/include/mach/mmc.h +1 −1
  1042. arch/arm/mach-shmobile/include/mach/sh7372.h +1 −0
  1043. arch/arm/mach-shmobile/include/mach/sh73a0.h +30 −0
  1044. arch/arm/mach-shmobile/include/mach/smp.h +0 −16
  1045. arch/arm/mach-shmobile/include/mach/zboot.h +1 −1
  1046. arch/arm/mach-shmobile/intc-sh7372.c +23 −23
  1047. arch/arm/mach-shmobile/platsmp.c +3 −0
  1048. arch/arm/mach-shmobile/pm-sh7372.c +108 −0
  1049. arch/arm/mach-shmobile/pm_runtime.c +17 −128
  1050. arch/arm/mach-shmobile/setup-sh7367.c +223 −0
  1051. arch/arm/mach-shmobile/setup-sh7372.c +217 −0
  1052. arch/arm/mach-shmobile/setup-sh7377.c +231 −8
  1053. arch/arm/mach-shmobile/setup-sh73a0.c +244 −0
  1054. arch/arm/mach-shmobile/sleep-sh7372.S +260 −0
  1055. arch/arm/mach-shmobile/smp-sh73a0.c +5 −4
  1056. arch/arm/mach-shmobile/suspend.c +47 −0
  1057. arch/arm/mach-spear3xx/Kconfig +20 −10
  1058. arch/arm/mach-spear3xx/Kconfig300 +0 −17
  1059. arch/arm/mach-spear3xx/Kconfig310 +0 −17
  1060. arch/arm/mach-spear3xx/Kconfig320 +0 −17
  1061. arch/arm/mach-spear3xx/clock.c +45 −29
  1062. arch/arm/mach-spear3xx/include/mach/generic.h +103 −102
  1063. arch/arm/mach-spear3xx/include/mach/irqs.h +104 −102
  1064. arch/arm/mach-spear3xx/include/mach/spear300.h +13 −13
  1065. arch/arm/mach-spear3xx/include/mach/spear310.h +22 −22
  1066. arch/arm/mach-spear3xx/include/mach/spear320.h +24 −24
  1067. arch/arm/mach-spear3xx/spear300.c +84 −79
  1068. arch/arm/mach-spear3xx/spear300_evb.c +14 −18
  1069. arch/arm/mach-spear3xx/spear310.c +77 −72
  1070. arch/arm/mach-spear3xx/spear310_evb.c +20 −25
  1071. arch/arm/mach-spear3xx/spear320.c +128 −123
  1072. arch/arm/mach-spear3xx/spear320_evb.c +18 −22
  1073. arch/arm/mach-spear3xx/spear3xx.c +66 −66
  1074. arch/arm/mach-spear6xx/Kconfig +8 −7
  1075. arch/arm/mach-spear6xx/Kconfig600 +0 −17
  1076. arch/arm/mach-spear6xx/clock.c +2 −2
  1077. arch/arm/mach-spear6xx/include/mach/generic.h +1 −1
  1078. arch/arm/mach-spear6xx/spear6xx.c +1 −1
  1079. arch/arm/mach-stmp378x/Makefile +0 −2
  1080. arch/arm/mach-stmp378x/Makefile.boot +0 −3
  1081. arch/arm/mach-stmp378x/include/mach/entry-macro.S +0 −35
  1082. arch/arm/mach-stmp378x/include/mach/irqs.h +0 −95
  1083. arch/arm/mach-stmp378x/include/mach/pins.h +0 −151
  1084. arch/arm/mach-stmp378x/include/mach/regs-apbh.h +0 −101
  1085. arch/arm/mach-stmp378x/include/mach/regs-apbx.h +0 −119
  1086. arch/arm/mach-stmp378x/include/mach/regs-audioin.h +0 −63
  1087. arch/arm/mach-stmp378x/include/mach/regs-audioout.h +0 −104
  1088. arch/arm/mach-stmp378x/include/mach/regs-bch.h +0 −56
  1089. arch/arm/mach-stmp378x/include/mach/regs-clkctrl.h +0 −88
  1090. arch/arm/mach-stmp378x/include/mach/regs-dcp.h +0 −87
  1091. arch/arm/mach-stmp378x/include/mach/regs-digctl.h +0 −38
  1092. arch/arm/mach-stmp378x/include/mach/regs-dram.h +0 −27
  1093. arch/arm/mach-stmp378x/include/mach/regs-dri.h +0 −45
  1094. arch/arm/mach-stmp378x/include/mach/regs-ecc8.h +0 −39
  1095. arch/arm/mach-stmp378x/include/mach/regs-emi.h +0 −25
  1096. arch/arm/mach-stmp378x/include/mach/regs-gpmi.h +0 −78
  1097. arch/arm/mach-stmp378x/include/mach/regs-i2c.h +0 −55
  1098. arch/arm/mach-stmp378x/include/mach/regs-icoll.h +0 −45
  1099. arch/arm/mach-stmp378x/include/mach/regs-ir.h +0 −23
  1100. arch/arm/mach-stmp378x/include/mach/regs-lcdif.h +0 −195
  1101. arch/arm/mach-stmp378x/include/mach/regs-lradc.h +0 −99
  1102. arch/arm/mach-stmp378x/include/mach/regs-ocotp.h +0 −40
  1103. arch/arm/mach-stmp378x/include/mach/regs-pinctrl.h +0 −90
  1104. arch/arm/mach-stmp378x/include/mach/regs-power.h +0 −63
  1105. arch/arm/mach-stmp378x/include/mach/regs-pwm.h +0 −53
  1106. arch/arm/mach-stmp378x/include/mach/regs-pxp.h +0 −140
  1107. arch/arm/mach-stmp378x/include/mach/regs-rtc.h +0 −59
  1108. arch/arm/mach-stmp378x/include/mach/regs-spdif.h +0 −49
  1109. arch/arm/mach-stmp378x/include/mach/regs-ssp.h +0 −102
  1110. arch/arm/mach-stmp378x/include/mach/regs-sydma.h +0 −23
  1111. arch/arm/mach-stmp378x/include/mach/regs-timrot.h +0 −68
  1112. arch/arm/mach-stmp378x/include/mach/regs-tvenc.h +0 −67
  1113. arch/arm/mach-stmp378x/include/mach/regs-uartapp.h +0 −87
  1114. arch/arm/mach-stmp378x/include/mach/regs-uartdbg.h +0 −268
  1115. arch/arm/mach-stmp378x/include/mach/regs-usbctrl.h +0 −40
  1116. arch/arm/mach-stmp378x/include/mach/regs-usbphy.h +0 −37
  1117. arch/arm/mach-stmp378x/stmp378x.c +0 −299
  1118. arch/arm/mach-stmp378x/stmp378x.h +0 −25
  1119. arch/arm/mach-stmp378x/stmp378x_devb.c +0 −332
  1120. arch/arm/mach-stmp37xx/Makefile +0 −2
  1121. arch/arm/mach-stmp37xx/Makefile.boot +0 −3
  1122. arch/arm/mach-stmp37xx/include/mach/entry-macro.S +0 −37
  1123. arch/arm/mach-stmp37xx/include/mach/irqs.h +0 −99
  1124. arch/arm/mach-stmp37xx/include/mach/pins.h +0 −147
  1125. arch/arm/mach-stmp37xx/include/mach/regs-apbh.h +0 −97
  1126. arch/arm/mach-stmp37xx/include/mach/regs-apbx.h +0 −113
  1127. arch/arm/mach-stmp37xx/include/mach/regs-audioin.h +0 −61
  1128. arch/arm/mach-stmp37xx/include/mach/regs-audioout.h +0 −111
  1129. arch/arm/mach-stmp37xx/include/mach/regs-clkctrl.h +0 −72
  1130. arch/arm/mach-stmp37xx/include/mach/regs-digctl.h +0 −24
  1131. arch/arm/mach-stmp37xx/include/mach/regs-ecc8.h +0 −37
  1132. arch/arm/mach-stmp37xx/include/mach/regs-gpmi.h +0 −63
  1133. arch/arm/mach-stmp37xx/include/mach/regs-i2c.h +0 −55
  1134. arch/arm/mach-stmp37xx/include/mach/regs-icoll.h +0 −43
  1135. arch/arm/mach-stmp37xx/include/mach/regs-lcdif.h +0 −89
  1136. arch/arm/mach-stmp37xx/include/mach/regs-lradc.h +0 −97
  1137. arch/arm/mach-stmp37xx/include/mach/regs-pinctrl.h +0 −88
  1138. arch/arm/mach-stmp37xx/include/mach/regs-power.h +0 −56
  1139. arch/arm/mach-stmp37xx/include/mach/regs-pwm.h +0 −51
  1140. arch/arm/mach-stmp37xx/include/mach/regs-rtc.h +0 −57
  1141. arch/arm/mach-stmp37xx/include/mach/regs-ssp.h +0 −101
  1142. arch/arm/mach-stmp37xx/include/mach/regs-timrot.h +0 −49
  1143. arch/arm/mach-stmp37xx/include/mach/regs-uartapp.h +0 −85
  1144. arch/arm/mach-stmp37xx/include/mach/regs-uartdbg.h +0 −268
  1145. arch/arm/mach-stmp37xx/include/mach/regs-usbctl.h +0 −22
  1146. arch/arm/mach-stmp37xx/include/mach/regs-usbctrl.h +0 −22
  1147. arch/arm/mach-stmp37xx/include/mach/regs-usbphy.h +0 −37
  1148. arch/arm/mach-stmp37xx/stmp37xx.c +0 −219
  1149. arch/arm/mach-stmp37xx/stmp37xx.h +0 −24
  1150. arch/arm/mach-stmp37xx/stmp37xx_devb.c +0 −99
  1151. arch/arm/mach-tcc8k/time.c +2 −14
  1152. arch/arm/mach-tegra/Kconfig +3 −0
  1153. arch/arm/mach-tegra/Makefile +1 −1
  1154. arch/arm/mach-tegra/board-harmony.c +4 −3
  1155. arch/arm/mach-tegra/dma.c +2 −2
  1156. arch/arm/mach-tegra/gpio.c +10 −5
  1157. arch/arm/mach-tegra/include/mach/barriers.h +1 −1
  1158. arch/arm/mach-tegra/include/mach/dma.h +2 −2
  1159. arch/arm/mach-tegra/include/mach/kbc.h +1 −3
  1160. arch/arm/mach-tegra/include/mach/legacy_irq.h +0 −35
  1161. arch/arm/mach-tegra/include/mach/sdhci.h +1 −0
  1162. arch/arm/mach-tegra/include/mach/smp.h +0 −14
  1163. arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h +3 −2
  1164. arch/arm/mach-tegra/irq.c +74 −100
  1165. arch/arm/mach-tegra/legacy_irq.c +0 −215
  1166. arch/arm/mach-tegra/platsmp.c +3 −0
  1167. arch/arm/mach-tegra/tegra2_clocks.c +6 −5
  1168. arch/arm/mach-tegra/timer.c +2 −14
  1169. arch/arm/mach-u300/Makefile +1 −1
  1170. arch/arm/mach-u300/clock.c +3 −3
  1171. arch/arm/mach-u300/timer.c +3 −15
  1172. arch/arm/mach-ux500/Kconfig +3 −1
  1173. arch/arm/mach-ux500/Makefile +2 −2
  1174. arch/arm/mach-ux500/board-mop500-sdi.c +12 −4
  1175. arch/arm/mach-ux500/board-mop500.c +19 −16
  1176. arch/arm/mach-ux500/cpu-db5500.c +2 −0
  1177. arch/arm/mach-ux500/cpu-db8500.c +7 −0
  1178. arch/arm/mach-ux500/cpu.c +6 −1
  1179. arch/arm/mach-ux500/cpufreq.c +0 −211
  1180. arch/arm/mach-ux500/devices-common.h +6 −4
  1181. arch/arm/mach-ux500/devices-db5500.h +19 −9
  1182. arch/arm/mach-ux500/devices-db8500.h +17 −17
  1183. arch/arm/mach-ux500/include/mach/db5500-regs.h +18 −2
  1184. arch/arm/mach-ux500/include/mach/db8500-regs.h +35 −12
  1185. arch/arm/mach-ux500/include/mach/hardware.h +1 −3
  1186. arch/arm/mach-ux500/include/mach/id.h +20 −0
  1187. arch/arm/mach-ux500/include/mach/irqs-board-mop500.h +5 −0
  1188. arch/arm/mach-ux500/include/mach/irqs-board-u5500.h +21 −0
  1189. arch/arm/mach-ux500/include/mach/irqs-db5500.h +27 −0
  1190. arch/arm/mach-ux500/include/mach/irqs-db8500.h +54 −0
  1191. arch/arm/mach-ux500/include/mach/irqs.h +22 −24
  1192. arch/arm/mach-ux500/include/mach/prcmu-defs.h +0 −30
  1193. arch/arm/mach-ux500/include/mach/prcmu.h +0 −28
  1194. arch/arm/mach-ux500/include/mach/smp.h +0 −24
  1195. arch/arm/mach-ux500/include/mach/uncompress.h +1 −1
  1196. arch/arm/mach-ux500/mbox-db5500.c +2 −4
  1197. arch/arm/mach-ux500/platsmp.c +7 −1
  1198. arch/arm/mach-ux500/prcmu.c +0 −394
  1199. arch/arm/mach-versatile/core.c +15 −31
  1200. arch/arm/mach-vexpress/ct-ca9x4.c +17 −2
  1201. arch/arm/mach-vexpress/include/mach/smp.h +0 −13
  1202. arch/arm/mach-vexpress/v2m.c +19 −20
  1203. arch/arm/mach-w90x900/include/mach/uncompress.h +1 −1
  1204. arch/arm/mach-w90x900/time.c +2 −15
  1205. arch/arm/mm/cache-v4wb.S +1 −1
  1206. arch/arm/mm/cache-v4wt.S +1 −1
  1207. arch/arm/mm/cache-v6.S +1 −0
  1208. arch/arm/mm/cache-v7.S +3 −1
  1209. arch/arm/mm/context.c +9 −8
  1210. arch/arm/mm/flush.c +4 −3
  1211. arch/arm/mm/init.c +52 −4
  1212. arch/arm/mm/mm.h +1 −6
  1213. arch/arm/mm/mmap.c +3 −1
  1214. arch/arm/mm/mmu.c +5 −6
  1215. arch/arm/mm/proc-arm1020.S +1 −1
  1216. arch/arm/mm/proc-arm1020e.S +1 −1
  1217. arch/arm/mm/proc-arm1022.S +1 −1
  1218. arch/arm/mm/proc-arm1026.S +1 −1
  1219. arch/arm/mm/proc-arm720.S +1 −1
  1220. arch/arm/mm/proc-arm920.S +2 −2
  1221. arch/arm/mm/proc-arm922.S +1 −1
  1222. arch/arm/mm/proc-arm925.S +1 −1
  1223. arch/arm/mm/proc-arm926.S +1 −1
  1224. arch/arm/mm/proc-macros.S +1 −1
  1225. arch/arm/mm/proc-sa1100.S +1 −1
  1226. arch/arm/mm/proc-v6.S +6 −38
  1227. arch/arm/mm/proc-v7.S +9 −9
  1228. arch/arm/mm/proc-xsc3.S +1 −1
  1229. arch/arm/mm/proc-xscale.S +2 −2
  1230. arch/arm/plat-iop/time.c +0 −1
  1231. arch/arm/plat-mxc/Kconfig +15 −13
  1232. arch/arm/plat-mxc/cpufreq.c +3 −3
  1233. arch/arm/plat-mxc/devices/Kconfig +6 −1
  1234. arch/arm/plat-mxc/devices/Makefile +2 −0
  1235. arch/arm/plat-mxc/devices/platform-fec.c +1 −1
  1236. arch/arm/plat-mxc/devices/platform-imxdi_rtc.c +1 −1
  1237. arch/arm/plat-mxc/devices/platform-ipu-core.c +129 −0
  1238. arch/arm/plat-mxc/devices/platform-mxc_rtc.c +40 −0
  1239. arch/arm/plat-mxc/devices/platform-spi_imx.c +1 −1
  1240. arch/arm/plat-mxc/epit.c +2 −16
  1241. arch/arm/plat-mxc/gpio.c +7 −0
  1242. arch/arm/plat-mxc/include/mach/audmux.h +9 −1
  1243. arch/arm/plat-mxc/include/mach/common.h +1 −7
  1244. arch/arm/plat-mxc/include/mach/debug-macro.S +0 −7
  1245. arch/arm/plat-mxc/include/mach/devices-common.h +27 −0
  1246. arch/arm/plat-mxc/include/mach/entry-macro.S +2 −2
  1247. arch/arm/plat-mxc/include/mach/hardware.h +2 −15
  1248. arch/arm/plat-mxc/include/mach/io.h +15 −8
  1249. arch/arm/plat-mxc/include/mach/iomux-mx25.h +3 −0
  1250. arch/arm/plat-mxc/include/mach/iomux-mx2x.h +6 −6
  1251. arch/arm/plat-mxc/include/mach/iomux-mxc91231.h +0 −283
  1252. arch/arm/plat-mxc/include/mach/irqs.h +0 −2
  1253. arch/arm/plat-mxc/include/mach/memory.h +0 −3
  1254. arch/arm/plat-mxc/include/mach/mx27.h +2 −2
  1255. arch/arm/plat-mxc/include/mach/mx50.h +4 −0
  1256. arch/arm/plat-mxc/include/mach/mx51.h +1 −0
  1257. arch/arm/plat-mxc/include/mach/mx53.h +0 −13
  1258. arch/arm/plat-mxc/include/mach/mxc.h +24 −21
  1259. arch/arm/plat-mxc/include/mach/mxc91231.h +0 −256
  1260. arch/arm/plat-mxc/include/mach/mxc_nand.h +1 −1
  1261. arch/arm/plat-mxc/include/mach/system.h +5 −7
  1262. arch/arm/plat-mxc/include/mach/timex.h +0 −2
  1263. arch/arm/plat-mxc/include/mach/uncompress.h +1 −1
  1264. arch/arm/plat-mxc/ssi-fiq.S +2 −0
  1265. arch/arm/plat-mxc/system.c +0 −6
  1266. arch/arm/plat-mxc/time.c +17 −18
  1267. arch/arm/plat-nomadik/Kconfig +1 −5
  1268. arch/arm/plat-nomadik/Makefile +0 −1
  1269. arch/arm/plat-nomadik/include/plat/gpio.h +2 −0
  1270. arch/arm/plat-nomadik/include/plat/i2c.h +5 −3
  1271. arch/arm/plat-nomadik/timer.c +3 −28
  1272. arch/arm/plat-omap/Kconfig +2 −0
  1273. arch/arm/plat-omap/Makefile +1 −1
  1274. arch/arm/plat-omap/devices.c +1 −1
  1275. arch/arm/plat-omap/dma.c +2 −2
  1276. arch/arm/plat-omap/include/plat/flash.h +1 −1
  1277. arch/arm/plat-omap/include/plat/gpio.h +104 −1
  1278. arch/arm/plat-omap/include/plat/gpmc-smsc911x.h +2 −2
  1279. arch/arm/plat-omap/include/plat/gpmc.h +1 −1
  1280. arch/arm/plat-omap/include/plat/smp.h +0 −36
  1281. arch/arm/plat-omap/include/plat/uncompress.h +2 −3
  1282. arch/arm/plat-omap/include/plat/usb.h +1 −1
  1283. arch/arm/plat-omap/iommu.c +2 −0
  1284. arch/arm/plat-omap/mcbsp.c +1 −1
  1285. arch/arm/plat-omap/omap_device.c +23 −0
  1286. arch/arm/plat-orion/Makefile +1 −1
  1287. arch/arm/plat-orion/common.c +957 −0
  1288. arch/arm/plat-orion/gpio.c +36 −76
  1289. arch/arm/plat-orion/include/plat/common.h +117 −0
  1290. arch/arm/plat-orion/include/plat/gpio.h +0 −1
  1291. arch/arm/plat-orion/include/plat/mpp.h +34 −0
  1292. arch/arm/plat-orion/irq.c +9 −40
  1293. arch/arm/plat-orion/mpp.c +78 −0
  1294. arch/arm/plat-orion/time.c +2 −19
  1295. arch/arm/plat-pxa/gpio.c +4 −13
  1296. arch/arm/plat-pxa/include/plat/mfp.h +1 −1
  1297. arch/arm/plat-pxa/mfp.c +0 −1
  1298. arch/arm/plat-s3c24xx/Makefile +1 −1
  1299. arch/arm/plat-s3c24xx/cpu-freq.c +1 −1
  1300. arch/arm/plat-s3c24xx/devs.c +41 −0
  1301. arch/arm/plat-s3c24xx/dma.c +27 −43
  1302. arch/arm/plat-s3c24xx/include/plat/udc.h +17 −0
  1303. arch/arm/plat-s3c24xx/irq-pm.c +2 −5
  1304. arch/arm/plat-s5p/Kconfig +6 −1
  1305. arch/arm/plat-s5p/Makefile +1 −0
  1306. arch/arm/plat-s5p/cpu.c +0 −10
  1307. arch/arm/plat-s5p/dev-ehci.c +57 −0
  1308. arch/arm/plat-s5p/include/plat/ehci.h +21 −0
  1309. arch/arm/plat-s5p/include/plat/map-s5p.h +1 −1
  1310. arch/arm/plat-s5p/include/plat/s5p6442.h +0 −33
  1311. arch/arm/plat-s5p/include/plat/usb-phy.h +22 −0
  1312. arch/arm/plat-s5p/irq-gpioint.c +28 −90
  1313. arch/arm/plat-s5p/irq-pm.c +2 −5
  1314. arch/arm/plat-s5p/irq.c +1 −5
  1315. arch/arm/plat-s5p/pm.c +0 −11
  1316. arch/arm/plat-s5p/s5p-time.c +17 −41
  1317. arch/arm/plat-samsung/Kconfig +1 −0
  1318. arch/arm/plat-samsung/Makefile +0 −1
  1319. arch/arm/plat-samsung/include/plat/clock.h +1 −1
  1320. arch/arm/plat-samsung/include/plat/cpu.h +6 −1
  1321. arch/arm/plat-samsung/include/plat/debug-macro.S +1 −1
  1322. arch/arm/plat-samsung/include/plat/devs.h +3 −6
  1323. arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h +1 −1
  1324. arch/arm/plat-samsung/include/plat/gpio-cfg.h +3 −3
  1325. arch/arm/plat-samsung/include/plat/gpio-core.h +1 −1
  1326. arch/arm/plat-samsung/include/plat/irq-vic-timer.h +1 −1
  1327. arch/arm/plat-samsung/include/plat/pm.h +4 −2
  1328. arch/arm/plat-samsung/include/plat/regs-serial.h +1 −1
  1329. arch/arm/plat-samsung/include/plat/s3c64xx-spi.h +0 −1
  1330. arch/arm/plat-samsung/include/plat/sdhci.h +2 −2
  1331. arch/arm/plat-samsung/include/plat/uncompress.h +2 −2
  1332. arch/arm/plat-samsung/irq-uart.c +12 −71
  1333. arch/arm/plat-samsung/irq-vic-timer.c +26 −43
  1334. arch/arm/plat-samsung/pm-check.c +0 −6
  1335. arch/arm/plat-samsung/pm.c +3 −2
  1336. arch/arm/plat-samsung/s3c-pl330.c +1 −1
  1337. arch/arm/plat-spear/clock.c +5 −0
  1338. arch/arm/plat-spear/include/plat/clock.h +2 −1
  1339. arch/arm/plat-spear/time.c +2 −14
  1340. arch/arm/plat-stmp3xxx/Kconfig +0 −37
  1341. arch/arm/plat-stmp3xxx/Makefile +0 −5
  1342. arch/arm/plat-stmp3xxx/clock.c +0 −1134
  1343. arch/arm/plat-stmp3xxx/clock.h +0 −61
  1344. arch/arm/plat-stmp3xxx/core.c +0 −128
  1345. arch/arm/plat-stmp3xxx/devices.c +0 −389
  1346. arch/arm/plat-stmp3xxx/dma.c +0 −464
  1347. arch/arm/plat-stmp3xxx/include/mach/clkdev.h +0 −18
  1348. arch/arm/plat-stmp3xxx/include/mach/cputype.h +0 −33
  1349. arch/arm/plat-stmp3xxx/include/mach/debug-macro.S +0 −39
  1350. arch/arm/plat-stmp3xxx/include/mach/dma.h +0 −153
  1351. arch/arm/plat-stmp3xxx/include/mach/gpio.h +0 −28
  1352. arch/arm/plat-stmp3xxx/include/mach/gpmi.h +0 −12
  1353. arch/arm/plat-stmp3xxx/include/mach/hardware.h +0 −32
  1354. arch/arm/plat-stmp3xxx/include/mach/io.h +0 −25
  1355. arch/arm/plat-stmp3xxx/include/mach/memory.h +0 −22
  1356. arch/arm/plat-stmp3xxx/include/mach/mmc.h +0 −14
  1357. arch/arm/plat-stmp3xxx/include/mach/pinmux.h +0 −157
  1358. arch/arm/plat-stmp3xxx/include/mach/pins.h +0 −30
  1359. arch/arm/plat-stmp3xxx/include/mach/platform.h +0 −68
  1360. arch/arm/plat-stmp3xxx/include/mach/stmp3xxx.h +0 −54
  1361. arch/arm/plat-stmp3xxx/include/mach/system.h +0 −49
  1362. arch/arm/plat-stmp3xxx/include/mach/timex.h +0 −20
  1363. arch/arm/plat-stmp3xxx/include/mach/uncompress.h +0 −53
  1364. arch/arm/plat-stmp3xxx/include/mach/vmalloc.h +0 −12
  1365. arch/arm/plat-stmp3xxx/irq.c +0 −50
  1366. arch/arm/plat-stmp3xxx/pinmux.c +0 −550
  1367. arch/arm/plat-stmp3xxx/timer.c +0 −186
  1368. arch/arm/plat-versatile/platsmp.c +2 −1
  1369. arch/arm/tools/mach-types +78 −64
  1370. arch/arm/vfp/vfpmodule.c +32 −21
  1371. arch/avr32/Kconfig +0 −1
  1372. arch/avr32/include/asm/bitops.h +15 −0
  1373. arch/avr32/include/asm/setup.h +9 −0
  1374. arch/avr32/include/asm/unistd.h +2 −1
  1375. arch/avr32/kernel/setup.c +15 −0
  1376. arch/avr32/kernel/syscall_table.S +1 −0
  1377. arch/avr32/kernel/traps.c +0 −22
  1378. arch/avr32/mach-at32ap/at32ap700x.c +3 −1
  1379. arch/avr32/mach-at32ap/clock.c +16 −8
  1380. arch/avr32/mach-at32ap/extint.c +11 −11
  1381. arch/avr32/mach-at32ap/include/mach/board.h +1 −0
  1382. arch/avr32/mach-at32ap/intc.c +12 −26
  1383. arch/avr32/mach-at32ap/pio.c +2 −2
  1384. arch/avr32/mach-at32ap/pm-at32ap700x.S +1 −1
  1385. arch/avr32/mm/init.c +0 −2
  1386. arch/blackfin/Kconfig +2 −4
  1387. arch/blackfin/Kconfig.debug +2 −11
  1388. arch/blackfin/configs/BF527-AD7160-EVAL_defconfig +0 −1
  1389. arch/blackfin/configs/BF527-EZKIT-V2_defconfig +5 −7
  1390. arch/blackfin/configs/BF527-EZKIT_defconfig +6 −8
  1391. arch/blackfin/configs/BF533-STAMP_defconfig +0 −2
  1392. arch/blackfin/configs/BF537-STAMP_defconfig +0 −2
  1393. arch/blackfin/configs/BF538-EZKIT_defconfig +0 −1
  1394. arch/blackfin/configs/BF561-ACVILON_defconfig +0 −1
  1395. arch/blackfin/configs/BlackStamp_defconfig +1 −0
  1396. arch/blackfin/configs/CM-BF527_defconfig +0 −1
  1397. arch/blackfin/configs/CM-BF533_defconfig +0 −1
  1398. arch/blackfin/configs/CM-BF548_defconfig +0 −1
  1399. arch/blackfin/configs/DNP5370_defconfig +0 −1
  1400. arch/blackfin/configs/H8606_defconfig +1 −0
  1401. arch/blackfin/configs/SRV1_defconfig +1 −0
  1402. arch/blackfin/include/asm/bfin-global.h +0 −10
  1403. arch/blackfin/include/asm/bfin_pfmon.h +44 −0
  1404. arch/blackfin/include/asm/bfin_serial.h +3 −3
  1405. arch/blackfin/include/asm/bfin_sport.h +4 −0
  1406. arch/blackfin/include/asm/bitops.h +3 −1
  1407. arch/blackfin/include/asm/cacheflush.h +18 −5
  1408. arch/blackfin/include/asm/cpu.h +0 −3
  1409. arch/blackfin/include/asm/def_LPBlackfin.h +6 −6
  1410. arch/blackfin/include/asm/gptimers.h +18 −0
  1411. arch/blackfin/include/asm/irq_handler.h +25 −0
  1412. arch/blackfin/include/asm/kgdb.h +6 −1
  1413. arch/blackfin/include/asm/perf_event.h +1 −0
  1414. arch/blackfin/include/asm/ptrace.h +2 −5
  1415. arch/blackfin/include/asm/system.h +18 −18
  1416. arch/blackfin/include/asm/traps.h +1 −1
  1417. arch/blackfin/include/asm/unistd.h +3 −1
  1418. arch/blackfin/include/mach-common/irq.h +57 −0
  1419. arch/blackfin/kernel/Makefile +3 −0
  1420. arch/blackfin/kernel/bfin_dma_5xx.c +5 −0
  1421. arch/blackfin/kernel/bfin_gpio.c +22 −12
  1422. arch/blackfin/kernel/bfin_ksyms.c +1 −0
  1423. arch/blackfin/kernel/debug-mmrs.c +1860 −0
  1424. arch/blackfin/kernel/gptimers.c +1 −1
  1425. arch/blackfin/kernel/ipipe.c +1 −0
  1426. arch/blackfin/kernel/irqchip.c +1 −0
  1427. arch/blackfin/kernel/kgdb.c +1 −1
  1428. arch/blackfin/kernel/module.c +18 −27
  1429. arch/blackfin/kernel/nmi.c +13 −25
  1430. arch/blackfin/kernel/perf_event.c +498 −0
  1431. arch/blackfin/kernel/process.c +2 −4
  1432. arch/blackfin/kernel/reboot.c +31 −34
  1433. arch/blackfin/kernel/setup.c +26 −28
  1434. arch/blackfin/kernel/time-ts.c +9 −34
  1435. arch/blackfin/kernel/traps.c +1 −1
  1436. arch/blackfin/kernel/vmlinux.lds.S +2 −8
  1437. arch/blackfin/lib/ins.S +1 −1
  1438. arch/blackfin/lib/memmove.S +1 −1
  1439. arch/blackfin/mach-bf518/include/mach/anomaly.h +3 −1
  1440. arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h +0 −79
  1441. arch/blackfin/mach-bf518/include/mach/cdefBF512.h +8 −8
  1442. arch/blackfin/mach-bf518/include/mach/defBF512.h +4 −4
  1443. arch/blackfin/mach-bf518/include/mach/defBF514.h +8 −8
  1444. arch/blackfin/mach-bf518/include/mach/irq.h +111 −151
  1445. arch/blackfin/mach-bf527/boards/ezkit.c +72 −2
  1446. arch/blackfin/mach-bf527/include/mach/anomaly.h +6 −2
  1447. arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h +0 −79
  1448. arch/blackfin/mach-bf527/include/mach/cdefBF522.h +8 −8
  1449. arch/blackfin/mach-bf527/include/mach/defBF522.h +4 −4
  1450. arch/blackfin/mach-bf527/include/mach/defBF525.h +2 −2
  1451. arch/blackfin/mach-bf527/include/mach/irq.h +113 −153
  1452. arch/blackfin/mach-bf533/include/mach/anomaly.h +9 −2
  1453. arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h +0 −52
  1454. arch/blackfin/mach-bf533/include/mach/irq.h +55 −113
  1455. arch/blackfin/mach-bf537/boards/stamp.c +98 −14
  1456. arch/blackfin/mach-bf537/include/mach/anomaly.h +8 −2
  1457. arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h +0 −79
  1458. arch/blackfin/mach-bf537/include/mach/irq.h +175 −190
  1459. arch/blackfin/mach-bf537/ints-priority.c +163 −0
  1460. arch/blackfin/mach-bf538/include/mach/anomaly.h +6 −3
  1461. arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h +0 −93
  1462. arch/blackfin/mach-bf538/include/mach/irq.h +25 −64
  1463. arch/blackfin/mach-bf548/boards/ezkit.c +109 −7
  1464. arch/blackfin/mach-bf548/include/mach/anomaly.h +6 −2
  1465. arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h +0 −94
  1466. arch/blackfin/mach-bf548/include/mach/defBF547.h +10 −9
  1467. arch/blackfin/mach-bf548/include/mach/irq.h +24 −65
  1468. arch/blackfin/mach-bf561/boards/acvilon.c +0 −4
  1469. arch/blackfin/mach-bf561/boards/ezkit.c +9 −1
  1470. arch/blackfin/mach-bf561/include/mach/anomaly.h +12 −3
  1471. arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h +0 −52
  1472. arch/blackfin/mach-bf561/include/mach/irq.h +159 −346
  1473. arch/blackfin/mach-bf561/smp.c +10 −7
  1474. arch/blackfin/mach-common/dpmc.c +4 −6
  1475. arch/blackfin/mach-common/entry.S +4 −2
  1476. arch/blackfin/mach-common/head.S +1 −1
  1477. arch/blackfin/mach-common/ints-priority.c +131 −345
  1478. arch/blackfin/mach-common/smp.c +34 −16
  1479. arch/blackfin/mm/maccess.c +2 −2
  1480. arch/blackfin/mm/sram-alloc.c +26 −17
  1481. arch/cris/Kconfig +0 −6
  1482. arch/cris/arch-v10/README.mm +1 −1
  1483. arch/cris/arch-v10/drivers/axisflashmap.c +6 −4
  1484. arch/cris/arch-v10/drivers/sync_serial.c +1 −1
  1485. arch/cris/arch-v10/kernel/entry.S +1 −0
  1486. arch/cris/arch-v32/drivers/Kconfig +0 −1
  1487. arch/cris/arch-v32/drivers/axisflashmap.c +5 −4
  1488. arch/cris/arch-v32/drivers/mach-a3/nandflash.c +1 −1
  1489. arch/cris/arch-v32/drivers/mach-fs/nandflash.c +1 −1
  1490. arch/cris/arch-v32/drivers/sync_serial.c +1 −1
  1491. arch/cris/arch-v32/kernel/entry.S +2 −1
  1492. arch/cris/arch-v32/kernel/irq.c +3 −3
  1493. arch/cris/arch-v32/kernel/kgdb.c +1 −1
  1494. arch/cris/arch-v32/kernel/process.c +1 −1
  1495. arch/cris/arch-v32/kernel/signal.c +1 −1
  1496. arch/cris/arch-v32/kernel/smp.c +26 −20
  1497. arch/cris/arch-v32/mach-a3/arbiter.c +2 −2
  1498. arch/cris/arch-v32/mach-fs/Makefile +1 −1
  1499. arch/cris/arch-v32/mach-fs/arbiter.c +1 −1
  1500. arch/cris/boot/rescue/head_v10.S +1 −1
  1501. arch/cris/include/arch-v32/arch/hwregs/Makefile +1 −1
  1502. arch/cris/include/arch-v32/arch/hwregs/iop/Makefile +1 −1
  1503. arch/cris/include/asm/pgtable.h +1 −1
  1504. arch/cris/include/asm/unistd.h +2 −1
  1505. arch/cris/kernel/traps.c +1 −1
  1506. arch/cris/kernel/vmlinux.lds.S +1 −1
  1507. arch/cris/mm/init.c +0 −2
  1508. arch/frv/Kconfig +0 −9
  1509. arch/frv/include/asm/pci.h +1 −1
  1510. arch/frv/include/asm/spr-regs.h +1 −1
  1511. arch/frv/include/asm/suspend.h +0 −20
  1512. arch/frv/include/asm/unistd.h +2 −1
  1513. arch/frv/include/asm/virtconvert.h +1 −1
  1514. arch/frv/kernel/entry-table.S +2 −2
  1515. arch/frv/kernel/entry.S +1 −0
  1516. arch/frv/kernel/vmlinux.lds.S +1 −1
  1517. arch/frv/mm/init.c +0 −2
  1518. arch/h8300/Kconfig +0 −9
  1519. arch/h8300/include/asm/unistd.h +2 −1
  1520. arch/h8300/kernel/syscalls.S +1 −0
  1521. arch/ia64/Kconfig +2 −6
  1522. arch/ia64/hp/common/sba_iommu.c +2 −1
  1523. arch/ia64/include/asm/pal.h +1 −1
  1524. arch/ia64/include/asm/perfmon_default_smpl.h +2 −2
  1525. arch/ia64/include/asm/sn/bte.h +1 −1
  1526. arch/ia64/include/asm/sn/shub_mmr.h +1 −1
  1527. arch/ia64/include/asm/sn/shubio.h +2 −2
  1528. arch/ia64/include/asm/tlb.h +46 −20
  1529. arch/ia64/include/asm/unistd.h +2 −1
  1530. arch/ia64/kernel/cpufreq/acpi-cpufreq.c +21 −23
  1531. arch/ia64/kernel/cyclone.c +1 −5
  1532. arch/ia64/kernel/entry.S +1 −0
  1533. arch/ia64/kernel/irq_ia64.c +2 −0
  1534. arch/ia64/kernel/perfmon_default_smpl.c +1 −1
  1535. arch/ia64/kernel/smpboot.c +1 −1
  1536. arch/ia64/kernel/time.c +3 −8
  1537. arch/ia64/kernel/topology.c +1 −1
  1538. arch/ia64/kernel/vmlinux.lds.S +1 −0
  1539. arch/ia64/kvm/process.c +1 −1
  1540. arch/ia64/kvm/vti.h +13 −13
  1541. arch/ia64/lib/do_csum.S +1 −1
  1542. arch/ia64/mm/contig.c +6 −4
  1543. arch/ia64/mm/discontig.c +6 −4
  1544. arch/ia64/mm/fault.c +1 −0
  1545. arch/ia64/mm/init.c +0 −2
  1546. arch/ia64/oprofile/backtrace.c +1 −1
  1547. arch/ia64/sn/kernel/irq.c +3 −3
  1548. arch/ia64/sn/kernel/sn2/sn_proc_fs.c +0 −42
  1549. arch/ia64/sn/kernel/sn2/timer.c +1 −5
  1550. arch/ia64/sn/pci/pcibr/pcibr_dma.c +1 −1
  1551. arch/ia64/xen/irq_xen.c +9 −1
  1552. arch/m32r/Kconfig +0 −9
  1553. arch/m32r/Kconfig.debug +0 −9
  1554. arch/m32r/include/asm/m32104ut/m32104ut_pld.h +1 −1
  1555. arch/m32r/include/asm/m32700ut/m32700ut_pld.h +1 −1
  1556. arch/m32r/include/asm/opsput/opsput_pld.h +1 −1
  1557. arch/m32r/include/asm/pgtable-2level.h +1 −1
  1558. arch/m32r/include/asm/smp.h +2 −4
  1559. arch/m32r/include/asm/unistd.h +2 −1
  1560. arch/m32r/kernel/smp.c +28 −40
  1561. arch/m32r/kernel/smpboot.c +24 −24
  1562. arch/m32r/kernel/syscall_table.S +1 −0
  1563. arch/m32r/kernel/vmlinux.lds.S +2 −1
  1564. arch/m32r/mm/discontig.c +1 −0
  1565. arch/m32r/mm/fault.c +2 −2
  1566. arch/m32r/mm/init.c +0 −2
  1567. arch/m68k/Kconfig +1 −1
  1568. arch/m68k/Kconfig.nommu +0 −4
  1569. arch/m68k/atari/atakeyb.c +4 −7
  1570. arch/m68k/atari/stdma.c +1 −1
  1571. arch/m68k/fpsp040/bindec.S +1 −1
  1572. arch/m68k/ifpsp060/src/fpsp.S +5 −5
  1573. arch/m68k/ifpsp060/src/pfpsp.S +4 −4
  1574. arch/m68k/include/asm/MC68EZ328.h +1 −1
  1575. arch/m68k/include/asm/MC68VZ328.h +1 −1
  1576. arch/m68k/include/asm/atariints.h +1 −1
  1577. arch/m68k/include/asm/atarikb.h +0 −2
  1578. arch/m68k/include/asm/bitops_mm.h +65 −30
  1579. arch/m68k/include/asm/bitops_no.h +5 −17
  1580. arch/m68k/include/asm/bootstd.h +1 −1
  1581. arch/m68k/include/asm/commproc.h +2 −2
  1582. arch/m68k/include/asm/delay_no.h +1 −1
  1583. arch/m68k/include/asm/gpio.h +1 −1
  1584. arch/m68k/include/asm/io_no.h +5 −3
  1585. arch/m68k/include/asm/m520xsim.h +1 −1
  1586. arch/m68k/include/asm/m523xsim.h +1 −1
  1587. arch/m68k/include/asm/m527xsim.h +1 −1
  1588. arch/m68k/include/asm/m5307sim.h +1 −1
  1589. arch/m68k/include/asm/m5407sim.h +1 −1
  1590. arch/m68k/include/asm/m68360_quicc.h +1 −1
  1591. arch/m68k/include/asm/mac_oss.h +1 −1
  1592. arch/m68k/include/asm/mac_via.h +1 −1
  1593. arch/m68k/include/asm/macintosh.h +1 −1
  1594. arch/m68k/include/asm/mcftimer.h +1 −1
  1595. arch/m68k/include/asm/unistd.h +30 −23
  1596. arch/m68k/kernel/Makefile_mm +1 −1
  1597. arch/m68k/kernel/asm-offsets.c +103 −3
  1598. arch/m68k/kernel/asm-offsets_mm.c +0 −100
  1599. arch/m68k/kernel/asm-offsets_no.c +0 −76
  1600. arch/m68k/kernel/entry_mm.S +0 −344
  1601. arch/m68k/kernel/entry_no.S +0 −1
  1602. arch/m68k/kernel/head.S +6 −6
  1603. arch/m68k/kernel/irq.c +0 −28
  1604. arch/m68k/kernel/m68k_ksyms.c +32 −4
  1605. arch/m68k/kernel/m68k_ksyms_mm.c +0 −16
  1606. arch/m68k/kernel/m68k_ksyms_no.c +0 −78
  1607. arch/m68k/kernel/process_no.c +2 −0
  1608. arch/m68k/kernel/sys_m68k.c +578 −3
  1609. arch/m68k/kernel/sys_m68k_mm.c +0 −546
  1610. arch/m68k/kernel/sys_m68k_no.c +0 −94
  1611. arch/m68k/kernel/syscalltable.S +102 −99
  1612. arch/m68k/kernel/vmlinux-std.lds +2 −0
  1613. arch/m68k/kernel/vmlinux-sun3.lds +1 −0
  1614. arch/m68k/kernel/vmlinux.lds_no.S +1 −1
  1615. arch/m68k/lib/Makefile +11 −2
  1616. arch/m68k/lib/Makefile_mm +0 −6
  1617. arch/m68k/lib/Makefile_no +0 −7
  1618. arch/m68k/lib/checksum.c +0 −5
  1619. arch/m68k/lib/checksum_no.c +3 −0
  1620. arch/m68k/lib/memcpy.c +73 −55
  1621. arch/m68k/lib/memmove.c +0 −2
  1622. arch/m68k/lib/memset.c +71 −43
  1623. arch/m68k/lib/muldi3.c +96 −3
  1624. arch/m68k/lib/muldi3_mm.c +0 −63
  1625. arch/m68k/lib/muldi3_no.c +0 −86
  1626. arch/m68k/lib/string.c +0 −223
  1627. arch/m68k/mm/Makefile +9 −5
  1628. arch/m68k/mm/Makefile_mm +0 −8
  1629. arch/m68k/mm/Makefile_no +0 −5
  1630. arch/m68k/mm/init_mm.c +0 −2
  1631. arch/m68k/mm/init_no.c +4 −47
  1632. arch/m68k/mm/kmap.c +365 −3
  1633. arch/m68k/mm/kmap_mm.c +0 −367
  1634. arch/m68k/mm/kmap_no.c +0 −45
  1635. arch/m68k/mm/motorola.c +2 −0
  1636. arch/m68k/platform/523x/config.c +1 −1
  1637. arch/m68k/platform/5272/intc.c +1 −1
  1638. arch/m68k/platform/527x/config.c +1 −1
  1639. arch/m68k/platform/528x/config.c +1 −1
  1640. arch/m68k/platform/68328/entry.S +3 −4
  1641. arch/m68k/platform/68360/entry.S +3 −4
  1642. arch/m68k/platform/coldfire/cache.c +1 −1
  1643. arch/m68k/platform/coldfire/dma.c +3 −0
  1644. arch/m68k/platform/coldfire/entry.S +6 −7
  1645. arch/m68k/platform/coldfire/head.S +1 −2
  1646. arch/m68k/platform/coldfire/intc.c +1 −1
  1647. arch/m68k/platform/coldfire/sltimers.c +1 −1
  1648. arch/m68k/q40/README +1 −1
  1649. arch/microblaze/Kconfig +0 −8
  1650. arch/microblaze/Makefile +1 −1
  1651. arch/microblaze/include/asm/io.h +1 −1
  1652. arch/microblaze/include/asm/pci-bridge.h +1 −1
  1653. arch/microblaze/include/asm/pci.h +1 −1
  1654. arch/microblaze/include/asm/unistd.h +6 −1
  1655. arch/microblaze/kernel/Makefile +1 −0
  1656. arch/microblaze/kernel/cpu/cache.c +1 −1
  1657. arch/microblaze/kernel/ftrace.c +6 −4
  1658. arch/microblaze/kernel/intc.c +2 −2
  1659. arch/microblaze/kernel/prom.c +1 −1
  1660. arch/microblaze/kernel/syscall_table.S +5 −0
  1661. arch/microblaze/kernel/timer.c +1 −5
  1662. arch/microblaze/lib/Makefile +6 −0
  1663. arch/microblaze/lib/memcpy.c +4 −4
  1664. arch/microblaze/lib/memmove.c +3 −3
  1665. arch/microblaze/lib/memset.c +1 −1
  1666. arch/microblaze/mm/init.c +0 −2
  1667. arch/microblaze/pci/indirect_pci.c +1 −1
  1668. arch/microblaze/platform/generic/Kconfig.auto +1 −1
  1669. arch/mips/Kbuild.platforms +1 −0
  1670. arch/mips/Kconfig +63 −14
  1671. arch/mips/Kconfig.debug +0 −9
  1672. arch/mips/Makefile +14 −2
  1673. arch/mips/alchemy/common/clocks.c +1 −1
  1674. arch/mips/alchemy/common/dbdma.c +45 −78
  1675. arch/mips/alchemy/common/dma.c +25 −21
  1676. arch/mips/alchemy/common/irq.c +173 −172
  1677. arch/mips/alchemy/common/platform.c +155 −95
  1678. arch/mips/alchemy/common/setup.c +2 −2
  1679. arch/mips/alchemy/common/time.c +1 −2
  1680. arch/mips/alchemy/devboards/db1200/setup.c +7 −0
  1681. arch/mips/alchemy/devboards/db1x00/board_setup.c +33 −28
  1682. arch/mips/alchemy/devboards/pb1000/board_setup.c +1 −1
  1683. arch/mips/alchemy/devboards/pb1500/board_setup.c +1 −1
  1684. arch/mips/alchemy/devboards/prom.c +1 −1
  1685. arch/mips/alchemy/gpr/board_setup.c +4 −10
  1686. arch/mips/alchemy/gpr/init.c +1 −1
  1687. arch/mips/alchemy/mtx-1/board_setup.c +1 −1
  1688. arch/mips/alchemy/mtx-1/init.c +1 −1
  1689. arch/mips/alchemy/mtx-1/platform.c +2 −2
  1690. arch/mips/alchemy/xxs1500/board_setup.c +4 −7
  1691. arch/mips/alchemy/xxs1500/init.c +3 −4
  1692. arch/mips/ar7/gpio.c +1 −3
  1693. arch/mips/ath79/Kconfig +5 −0
  1694. arch/mips/bcm47xx/nvram.c +2 −1
  1695. arch/mips/bcm47xx/setup.c +108 −22
  1696. arch/mips/bcm63xx/boards/board_bcm963xx.c +14 −2
  1697. arch/mips/boot/compressed/calc_vmlinuz_load_addr.c +1 −1
  1698. arch/mips/boot/compressed/uart-alchemy.c +1 −1
  1699. arch/mips/cavium-octeon/Kconfig +4 −11
  1700. arch/mips/cavium-octeon/csrc-octeon.c +1 −2
  1701. arch/mips/cavium-octeon/executive/octeon-model.c +1 −1
  1702. arch/mips/cavium-octeon/flash_setup.c +1 −10
  1703. arch/mips/cavium-octeon/octeon-platform.c +1 −1
  1704. arch/mips/cavium-octeon/setup.c +1 −8
  1705. arch/mips/cavium-octeon/smp.c +9 −8
  1706. arch/mips/configs/bcm47xx_defconfig +0 −1
  1707. arch/mips/configs/lemote2f_defconfig +3 −3
  1708. arch/mips/configs/malta_defconfig +1 −1
  1709. arch/mips/configs/mtx1_defconfig +2 −2
  1710. arch/mips/configs/nlm_xlr_defconfig +574 −0
  1711. arch/mips/fw/arc/cmdline.c +1 −1
  1712. arch/mips/fw/arc/env.c +1 −1
  1713. arch/mips/fw/arc/identify.c +1 −1
  1714. arch/mips/fw/arc/init.c +1 −1
  1715. arch/mips/fw/arc/misc.c +1 −1
  1716. arch/mips/fw/arc/promlib.c +1 −1
  1717. arch/mips/fw/arc/salone.c +1 −1
  1718. arch/mips/fw/arc/time.c +1 −1
  1719. arch/mips/fw/arc/tree.c +1 −1
  1720. arch/mips/include/asm/asmmacro-32.h +1 −1
  1721. arch/mips/include/asm/asmmacro-64.h +1 −1
  1722. arch/mips/include/asm/cache.h +1 −1
  1723. arch/mips/include/asm/cevt-r4k.h +3 −0
  1724. arch/mips/include/asm/cpu.h +28 −1
  1725. arch/mips/include/asm/dec/prom.h +1 −1
  1726. arch/mips/include/asm/dma-mapping.h +2 −0
  1727. arch/mips/include/asm/floppy.h +1 −1
  1728. arch/mips/include/asm/hugetlb.h +1 −0
  1729. arch/mips/include/asm/hw_irq.h +1 −1
  1730. arch/mips/include/asm/i8253.h +5 −0
  1731. arch/mips/include/asm/io.h +1 −1
  1732. arch/mips/include/asm/irqflags.h +1 −1
  1733. arch/mips/include/asm/jump_label.h +12 −10
  1734. arch/mips/include/asm/mach-au1x00/au1000.h +80 −254
  1735. arch/mips/include/asm/mach-au1x00/au1000_dma.h +0 −4
  1736. arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h +0 −8
  1737. arch/mips/include/asm/mach-au1x00/gpio-au1000.h +100 −22
  1738. arch/mips/include/asm/mach-bcm47xx/nvram.h +10 −2
  1739. arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h +2 −2
  1740. arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h +5 −0
  1741. arch/mips/include/asm/mach-ip32/mc146818rtc.h +1 −1
  1742. arch/mips/include/asm/mach-lantiq/lantiq.h +63 −0
  1743. arch/mips/include/asm/mach-lantiq/lantiq_platform.h +53 −0
  1744. arch/mips/include/asm/mach-lantiq/war.h +24 −0
  1745. arch/mips/include/asm/mach-lantiq/xway/irq.h +18 −0
  1746. arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h +66 −0
  1747. arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h +141 −0
  1748. arch/mips/include/asm/mach-lantiq/xway/xway_dma.h +60 −0
  1749. arch/mips/include/asm/mach-loongson/cs5536/cs5536.h +1 −1
  1750. arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h +47 −0
  1751. arch/mips/include/asm/mach-netlogic/irq.h +14 −0
  1752. arch/mips/include/asm/mach-netlogic/war.h +26 −0
  1753. arch/mips/include/asm/mach-pb1x00/pb1000.h +1 −1
  1754. arch/mips/include/asm/mach-pb1x00/pb1200.h +1 −1
  1755. arch/mips/include/asm/mach-pb1x00/pb1550.h +1 −1
  1756. arch/mips/include/asm/mach-powertv/dma-coherence.h +1 −1
  1757. arch/mips/include/asm/mipsregs.h +2 −2
  1758. arch/mips/include/asm/module.h +2 −0
  1759. arch/mips/include/asm/netlogic/interrupt.h +45 −0
  1760. arch/mips/include/asm/netlogic/mips-extns.h +76 −0
  1761. arch/mips/include/asm/netlogic/psb-bootinfo.h +109 −0
  1762. arch/mips/include/asm/netlogic/xlr/gpio.h +73 −0
  1763. arch/mips/include/asm/netlogic/xlr/iomap.h +131 −0
  1764. arch/mips/include/asm/netlogic/xlr/pic.h +231 −0
  1765. arch/mips/include/asm/netlogic/xlr/xlr.h +75 −0
  1766. arch/mips/include/asm/octeon/cvmx-bootinfo.h +1 −1
  1767. arch/mips/include/asm/octeon/cvmx-bootmem.h +1 −1
  1768. arch/mips/include/asm/octeon/cvmx-l2c.h +1 −1
  1769. arch/mips/include/asm/octeon/cvmx.h +1 −1
  1770. arch/mips/include/asm/paccess.h +1 −1
  1771. arch/mips/include/asm/pci/bridge.h +1 −1
  1772. arch/mips/include/asm/pmc-sierra/msp71xx/msp_regops.h +1 −1
  1773. arch/mips/include/asm/processor.h +1 −1
  1774. arch/mips/include/asm/prom.h +0 −3
  1775. arch/mips/include/asm/ptrace.h +2 −1
  1776. arch/mips/include/asm/r4kcache.h +1 −1
  1777. arch/mips/include/asm/sgi/ioc.h +1 −1
  1778. arch/mips/include/asm/sgialib.h +1 −1
  1779. arch/mips/include/asm/sgiarcs.h +1 −1
  1780. arch/mips/include/asm/sibyte/sb1250_mac.h +2 −2
  1781. arch/mips/include/asm/siginfo.h +1 −1
  1782. arch/mips/include/asm/sn/klconfig.h +2 −2
  1783. arch/mips/include/asm/sn/sn0/hubio.h +1 −1
  1784. arch/mips/include/asm/stackframe.h +1 −1
  1785. arch/mips/include/asm/suspend.h +0 −2
  1786. arch/mips/include/asm/thread_info.h +3 −0
  1787. arch/mips/include/asm/time.h +0 −6
  1788. arch/mips/include/asm/unistd.h +9 −6
  1789. arch/mips/include/asm/war.h +1 −1
  1790. arch/mips/jazz/jazzdma.c +2 −3
  1791. arch/mips/jz4740/board-qi_lb60.c +2 −2
  1792. arch/mips/jz4740/dma.c +1 −3
  1793. arch/mips/jz4740/setup.c +32 −0
  1794. arch/mips/jz4740/time.c +2 −3
  1795. arch/mips/jz4740/timer.c +2 −0
  1796. arch/mips/kernel/Makefile +1 −0
  1797. arch/mips/kernel/cevt-txx9.c +1 −2
  1798. arch/mips/kernel/cpu-bugs64.c +1 −1
  1799. arch/mips/kernel/cpu-probe.c +79 −4
  1800. arch/mips/kernel/csrc-bcm1480.c +1 −2
  1801. arch/mips/kernel/csrc-ioasic.c +1 −3
  1802. arch/mips/kernel/csrc-powertv.c +3 −32
  1803. arch/mips/kernel/csrc-r4k.c +1 −3
  1804. arch/mips/kernel/csrc-sb1250.c +1 −2
  1805. arch/mips/kernel/entry.S +3 −4
  1806. arch/mips/kernel/ftrace.c +3 −2
  1807. arch/mips/kernel/i8253.c +1 −77
  1808. arch/mips/kernel/octeon_switch.S +1 −1
  1809. arch/mips/kernel/perf_event_mipsxx.c +1 −1
  1810. arch/mips/kernel/process.c +1 −1
  1811. arch/mips/kernel/prom.c +2 −1
  1812. arch/mips/kernel/ptrace.c +35 −8
  1813. arch/mips/kernel/r2300_fpu.S +1 −1
  1814. arch/mips/kernel/r2300_switch.S +1 −1
  1815. arch/mips/kernel/r4k_fpu.S +1 −1
  1816. arch/mips/kernel/r4k_switch.S +1 −1
  1817. arch/mips/kernel/r6000_fpu.S +1 −1
  1818. arch/mips/kernel/scall32-o32.S +3 −3
  1819. arch/mips/kernel/scall64-64.S +3 −3
  1820. arch/mips/kernel/scall64-n32.S +3 −3
  1821. arch/mips/kernel/scall64-o32.S +3 −3
  1822. arch/mips/kernel/smp-mt.c +1 −1
  1823. arch/mips/kernel/smtc.c +1 −1
  1824. arch/mips/kernel/syscall.c +0 −120
  1825. arch/mips/kernel/time.c +1 −1
  1826. arch/mips/kernel/traps.c +2 −4
  1827. arch/mips/kernel/vmlinux.lds.S +4 −1
  1828. arch/mips/kernel/vpe.c +1 −1
  1829. arch/mips/lantiq/Kconfig +23 −0
  1830. arch/mips/lantiq/Makefile +11 −0
  1831. arch/mips/lantiq/Platform +8 −0
  1832. arch/mips/lantiq/clk.c +140 −0
  1833. arch/mips/lantiq/clk.h +18 −0
  1834. arch/mips/lantiq/devices.c +122 −0
  1835. arch/mips/lantiq/devices.h +23 −0
  1836. arch/mips/lantiq/early_printk.c +33 −0
  1837. arch/mips/lantiq/irq.c +326 −0
  1838. arch/mips/lantiq/machtypes.h +20 −0
  1839. arch/mips/lantiq/prom.c +71 −0
  1840. arch/mips/lantiq/prom.h +25 −0
  1841. arch/mips/lantiq/setup.c +66 −0
  1842. arch/mips/lantiq/xway/Kconfig +23 −0
  1843. arch/mips/lantiq/xway/Makefile +7 −0
  1844. arch/mips/lantiq/xway/clk-ase.c +48 −0
  1845. arch/mips/lantiq/xway/clk-xway.c +223 −0
  1846. arch/mips/lantiq/xway/devices.c +121 −0
  1847. arch/mips/lantiq/xway/devices.h +20 −0
  1848. arch/mips/lantiq/xway/dma.c +253 −0
  1849. arch/mips/lantiq/xway/ebu.c +53 −0
  1850. arch/mips/lantiq/xway/gpio.c +195 −0
  1851. arch/mips/lantiq/xway/gpio_ebu.c +126 −0
  1852. arch/mips/lantiq/xway/gpio_stp.c +157 −0
  1853. arch/mips/lantiq/xway/mach-easy50601.c +57 −0
  1854. arch/mips/lantiq/xway/mach-easy50712.c +74 −0
  1855. arch/mips/lantiq/xway/pmu.c +70 −0
  1856. arch/mips/lantiq/xway/prom-ase.c +39 −0
  1857. arch/mips/lantiq/xway/prom-xway.c +54 −0
  1858. arch/mips/lantiq/xway/reset.c +91 −0
  1859. arch/mips/lantiq/xway/setup-ase.c +19 −0
  1860. arch/mips/lantiq/xway/setup-xway.c +20 −0
  1861. arch/mips/lib/Makefile +1 −0
  1862. arch/mips/lib/strnlen_user.S +1 −1
  1863. arch/mips/loongson/common/cs5536/cs5536_mfgpt.c +1 −4
  1864. arch/mips/loongson/common/env.c +3 −2
  1865. arch/mips/math-emu/dp_fsp.c +1 −1
  1866. arch/mips/math-emu/dp_mul.c +1 −1
  1867. arch/mips/math-emu/dsemul.c +1 −1
  1868. arch/mips/math-emu/sp_mul.c +1 −1
  1869. arch/mips/mm/Makefile +3 −1
  1870. arch/mips/mm/c-r3k.c +1 −1
  1871. arch/mips/mm/c-r4k.c +2 −3
  1872. arch/mips/mm/c-tx39.c +1 −1
  1873. arch/mips/mm/cex-sb1.S +1 −1
  1874. arch/mips/mm/init.c +0 −2
  1875. arch/mips/mm/mmap.c +122 −0
  1876. arch/mips/mm/sc-ip22.c +1 −1
  1877. arch/mips/mm/sc-r5k.c +1 −1
  1878. arch/mips/mm/tlb-r3k.c +1 −1
  1879. arch/mips/mm/tlb-r4k.c +1 −1
  1880. arch/mips/mm/tlb-r8k.c +1 −1
  1881. arch/mips/mm/tlbex.c +4 −3
  1882. arch/mips/mti-malta/malta-init.c +3 −11
  1883. arch/mips/mti-malta/malta-int.c +3 −2
  1884. arch/mips/mti-malta/malta-smtc.c +1 −1
  1885. arch/mips/netlogic/Kconfig +5 −0
  1886. arch/mips/netlogic/xlr/Makefile +5 −0
  1887. arch/mips/netlogic/xlr/irq.c +300 −0
  1888. arch/mips/netlogic/xlr/platform.c +98 −0
  1889. arch/mips/netlogic/xlr/setup.c +188 −0
  1890. arch/mips/netlogic/xlr/smp.c +225 −0
  1891. arch/mips/netlogic/xlr/smpboot.S +94 −0
  1892. arch/mips/netlogic/xlr/time.c +51 −0
  1893. arch/mips/netlogic/xlr/xlr_console.c +46 −0
  1894. arch/mips/pci/Makefile +2 −0
  1895. arch/mips/pci/ops-lantiq.c +116 −0
  1896. arch/mips/pci/ops-pmcmsp.c +2 −2
  1897. arch/mips/pci/pci-bcm1480.c +1 −1
  1898. arch/mips/pci/pci-lantiq.c +297 −0
  1899. arch/mips/pci/pci-lantiq.h +18 −0
  1900. arch/mips/pci/pci-octeon.c +2 −2
  1901. arch/mips/pci/pci-xlr.c +214 −0
  1902. arch/mips/pci/pci.c +1 −1
  1903. arch/mips/pmc-sierra/msp71xx/msp_irq_per.c +1 −1
  1904. arch/mips/pmc-sierra/msp71xx/msp_setup.c +1 −1
  1905. arch/mips/pmc-sierra/yosemite/smp.c +4 −0
  1906. arch/mips/pnx833x/common/platform.c +1 −1
  1907. arch/mips/power/hibernate.S +1 −1
  1908. arch/mips/rb532/gpio.c +1 −1
  1909. arch/mips/sgi-ip22/ip22-hpc.c +1 −1
  1910. arch/mips/sgi-ip22/ip22-int.c +1 −1
  1911. arch/mips/sgi-ip22/ip22-mc.c +1 −1
  1912. arch/mips/sgi-ip22/ip22-platform.c +2 −2
  1913. arch/mips/sgi-ip22/ip22-setup.c +1 −1
  1914. arch/mips/sgi-ip22/ip22-time.c +2 −2
  1915. arch/mips/sgi-ip27/Kconfig +1 −1
  1916. arch/mips/sgi-ip27/TODO +1 −1
  1917. arch/mips/sgi-ip27/ip27-hubio.c +1 −2
  1918. arch/mips/sgi-ip27/ip27-init.c +1 −1
  1919. arch/mips/sgi-ip27/ip27-irq.c +3 −1
  1920. arch/mips/sgi-ip27/ip27-klnuma.c +0 −3
  1921. arch/mips/sgi-ip27/ip27-timer.c +2 −14
  1922. arch/mips/sibyte/bcm1480/smp.c +3 −4
  1923. arch/mips/sibyte/sb1250/smp.c +3 −4
  1924. arch/mips/sni/time.c +2 −2
  1925. arch/mips/txx9/generic/setup.c +1 −2
  1926. arch/mips/txx9/generic/setup_tx4939.c +8 −13
  1927. arch/mn10300/Kconfig +0 −4
  1928. arch/mn10300/configs/asb2364_defconfig +0 −1
  1929. arch/mn10300/include/asm/cpu-regs.h +1 −1
  1930. arch/mn10300/include/asm/unistd.h +2 −1
  1931. arch/mn10300/kernel/entry.S +1 −0
  1932. arch/mn10300/kernel/irq.c +9 −7
  1933. arch/mn10300/kernel/smp.c +40 −40
  1934. arch/mn10300/kernel/vmlinux.lds.S +1 −1
  1935. arch/mn10300/mm/cache-smp.c +4 −4
  1936. arch/mn10300/mm/init.c +0 −2
  1937. arch/mn10300/mm/tlb-smp.c +16 −16
  1938. arch/parisc/Kconfig +0 −9
  1939. arch/parisc/include/asm/cacheflush.h +4 −1
  1940. arch/parisc/include/asm/eisa_eeprom.h +1 −1
  1941. arch/parisc/include/asm/pgtable.h +7 −2
  1942. arch/parisc/include/asm/smp.h +0 −9
  1943. arch/parisc/include/asm/unistd.h +9 −2
  1944. arch/parisc/kernel/cache.c +12 −1
  1945. arch/parisc/kernel/entry.S +8 −5
  1946. arch/parisc/kernel/head.S +4 −3
  1947. arch/parisc/kernel/inventory.c +1 −1
  1948. arch/parisc/kernel/module.c +9 −1
  1949. arch/parisc/kernel/pacache.S +2 −4
  1950. arch/parisc/kernel/signal.c +1 −1
  1951. arch/parisc/kernel/smp.c +1 −4
  1952. arch/parisc/kernel/sys_parisc32.c +8 −0
  1953. arch/parisc/kernel/syscall.S +1 −1
  1954. arch/parisc/kernel/syscall_table.S +8 −1
  1955. arch/parisc/kernel/vmlinux.lds.S +5 −1
  1956. arch/parisc/math-emu/dfadd.c +1 −1
  1957. arch/parisc/math-emu/dfsub.c +1 −1
  1958. arch/parisc/math-emu/fmpyfadd.c +4 −4
  1959. arch/parisc/math-emu/sfadd.c +1 −1
  1960. arch/parisc/math-emu/sfsub.c +1 −1
  1961. arch/parisc/mm/init.c +147 −121
  1962. arch/powerpc/Kconfig +9 −10
  1963. arch/powerpc/Kconfig.debug +5 −21
  1964. arch/powerpc/boot/Makefile +4 −2
  1965. arch/powerpc/boot/crt0.S +74 −42
  1966. arch/powerpc/boot/dts/canyonlands.dts +18 −0
  1967. arch/powerpc/boot/dts/katmai.dts +18 −0
  1968. arch/powerpc/boot/dts/kilauea.dts +28 −0
  1969. arch/powerpc/boot/dts/mpc8313erdb.dts +13 −0
  1970. arch/powerpc/boot/dts/mpc8572ds.dts +13 −0
  1971. arch/powerpc/boot/dts/p1020rdb.dts +25 −319
  1972. arch/powerpc/boot/dts/p1020rdb_camp_core0.dts +213 −0
  1973. arch/powerpc/boot/dts/p1020rdb_camp_core1.dts +148 −0
  1974. arch/powerpc/boot/dts/p1020si.dtsi +377 −0
  1975. arch/powerpc/boot/dts/p1022ds.dts +59 −47
  1976. arch/powerpc/boot/dts/p2020ds.dts +40 −345
  1977. arch/powerpc/boot/dts/p2020rdb.dts +64 −337
  1978. arch/powerpc/boot/dts/p2020rdb_camp_core0.dts +45 −204
  1979. arch/powerpc/boot/dts/p2020rdb_camp_core1.dts +102 −58
  1980. arch/powerpc/boot/dts/p2020si.dtsi +382 −0
  1981. arch/powerpc/boot/dts/p4080ds.dts +85 −1
  1982. arch/powerpc/boot/dts/redwood.dts +20 −0
  1983. arch/powerpc/boot/epapr.c +66 −0
  1984. arch/powerpc/boot/wrapper +13 −6
  1985. arch/powerpc/boot/zImage.coff.lds.S +2 −4
  1986. arch/powerpc/boot/zImage.lds.S +36 −21
  1987. arch/powerpc/configs/44x/warp_defconfig +1 −0
  1988. arch/powerpc/configs/52xx/motionpro_defconfig +1 −0
  1989. arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +0 −1
  1990. arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +0 −1
  1991. arch/powerpc/configs/85xx/mpc8540_ads_defconfig +0 −1
  1992. arch/powerpc/configs/85xx/mpc8560_ads_defconfig +0 −1
  1993. arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +0 −1
  1994. arch/powerpc/configs/86xx/gef_ppc9a_defconfig +1 −0
  1995. arch/powerpc/configs/86xx/gef_sbc310_defconfig +1 −0
  1996. arch/powerpc/configs/86xx/gef_sbc610_defconfig +1 −0
  1997. arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +1 −1
  1998. arch/powerpc/configs/c2k_defconfig +2 −2
  1999. arch/powerpc/configs/e55xx_smp_defconfig +30 −10
  2000. arch/powerpc/configs/linkstation_defconfig +1 −0
  2001. arch/powerpc/configs/mpc512x_defconfig +1 −0
  2002. arch/powerpc/configs/mpc5200_defconfig +1 −0
  2003. arch/powerpc/configs/mpc85xx_defconfig +1 −1
  2004. arch/powerpc/configs/mpc85xx_smp_defconfig +1 −1
  2005. arch/powerpc/configs/mpc86xx_defconfig +1 −1
  2006. arch/powerpc/configs/pasemi_defconfig +1 −0
  2007. arch/powerpc/configs/pmac32_defconfig +2 −2
  2008. arch/powerpc/configs/ppc6xx_defconfig +3 −3
  2009. arch/powerpc/configs/ps3_defconfig +2 −2
  2010. arch/powerpc/configs/pseries_defconfig +11 −1
  2011. arch/powerpc/include/asm/8xx_immap.h +2 −2
  2012. arch/powerpc/include/asm/bitops.h +2 −2
  2013. arch/powerpc/include/asm/compat.h +1 −1
  2014. arch/powerpc/include/asm/cpm.h +1 −1
  2015. arch/powerpc/include/asm/cpm1.h +1 −1
  2016. arch/powerpc/include/asm/cputable.h +39 −26
  2017. arch/powerpc/include/asm/cputhreads.h +6 −6
  2018. arch/powerpc/include/asm/dbell.h +1 −2
  2019. arch/powerpc/include/asm/dma-mapping.h +6 −0
  2020. arch/powerpc/include/asm/emulated_ops.h +4 −0
  2021. arch/powerpc/include/asm/exception-64s.h +67 −46
  2022. arch/powerpc/include/asm/feature-fixups.h +14 −1
  2023. arch/powerpc/include/asm/firmware.h +2 −1
  2024. arch/powerpc/include/asm/fsl_lbc.h +2 −0
  2025. arch/powerpc/include/asm/ftrace.h +14 −0
  2026. arch/powerpc/include/asm/hvcall.h +14 −2
  2027. arch/powerpc/include/asm/io-workarounds.h +0 −1
  2028. arch/powerpc/include/asm/io.h +21 −12
  2029. arch/powerpc/include/asm/io_event_irq.h +54 −0
  2030. arch/powerpc/include/asm/irq.h +3 −15
  2031. arch/powerpc/include/asm/kexec.h +1 −1
  2032. arch/powerpc/include/asm/kprobes.h +1 −1
  2033. arch/powerpc/include/asm/kvm.h +184 −0
  2034. arch/powerpc/include/asm/kvm_44x.h +0 −1
  2035. arch/powerpc/include/asm/kvm_asm.h +1 −0
  2036. arch/powerpc/include/asm/kvm_book3s_asm.h +1 −0
  2037. arch/powerpc/include/asm/kvm_e500.h +2 −0
  2038. arch/powerpc/include/asm/kvm_host.h +5 −0
  2039. arch/powerpc/include/asm/kvm_ppc.h +9 −0
  2040. arch/powerpc/include/asm/lppaca.h +3 −1
  2041. arch/powerpc/include/asm/machdep.h +1 −22
  2042. arch/powerpc/include/asm/mmu-book3e.h +20 −0
  2043. arch/powerpc/include/asm/mmu-hash64.h +7 −1
  2044. arch/powerpc/include/asm/mmu.h +47 −5
  2045. arch/powerpc/include/asm/mmu_context.h +11 −1
  2046. arch/powerpc/include/asm/mpic.h +4 −4
  2047. arch/powerpc/include/asm/pSeries_reconfig.h +5 −0
  2048. arch/powerpc/include/asm/paca.h +6 −5
  2049. arch/powerpc/include/asm/page.h +1 −1
  2050. arch/powerpc/include/asm/page_64.h +3 −20
  2051. arch/powerpc/include/asm/pasemi_dma.h +1 −1
  2052. arch/powerpc/include/asm/pci-bridge.h +1 −1
  2053. arch/powerpc/include/asm/pgalloc.h +18 −3
  2054. arch/powerpc/include/asm/pgtable-ppc64.h +6 −7
  2055. arch/powerpc/include/asm/pmac_feature.h +2 −2
  2056. arch/powerpc/include/asm/ppc-opcode.h +35 −0
  2057. arch/powerpc/include/asm/ppc_asm.h +1 −0
  2058. arch/powerpc/include/asm/processor.h +4 −0
  2059. arch/powerpc/include/asm/pte-common.h +3 −3
  2060. arch/powerpc/include/asm/pte-hash64-64k.h +1 −1
  2061. arch/powerpc/include/asm/qe_ic.h +8 −8
  2062. arch/powerpc/include/asm/reg.h +100 −4
  2063. arch/powerpc/include/asm/reg_a2.h +165 −0
  2064. arch/powerpc/include/asm/reg_booke.h +10 −4
  2065. arch/powerpc/include/asm/rio.h +5 −0
  2066. arch/powerpc/include/asm/rtas.h +44 −1
  2067. arch/powerpc/include/asm/scom.h +156 −0
  2068. arch/powerpc/include/asm/smp.h +32 −9
  2069. arch/powerpc/include/asm/spu_priv1.h +1 −1
  2070. arch/powerpc/include/asm/suspend.h +0 −6
  2071. arch/powerpc/include/asm/syscall.h +5 −0
  2072. arch/powerpc/include/asm/systbl.h +6 −0
  2073. arch/powerpc/include/asm/system.h +0 −2
  2074. arch/powerpc/include/asm/thread_info.h +7 −2
  2075. arch/powerpc/include/asm/tlbflush.h +2 −0
  2076. arch/powerpc/include/asm/udbg.h +1 −0
  2077. arch/powerpc/include/asm/uninorth.h +1 −1
  2078. arch/powerpc/include/asm/unistd.h +7 −1
  2079. arch/powerpc/include/asm/vdso_datapage.h +1 −1
  2080. arch/powerpc/include/asm/wsp.h +14 −0
  2081. arch/powerpc/include/asm/xics.h +142 −0
  2082. arch/powerpc/kernel/Makefile +6 −1
  2083. arch/powerpc/kernel/asm-offsets.c +2 −0
  2084. arch/powerpc/kernel/btext.c +1 −1
  2085. arch/powerpc/kernel/cpu_setup_a2.S +114 −0
  2086. arch/powerpc/kernel/cpu_setup_fsl_booke.S +3 −0
  2087. arch/powerpc/kernel/cpu_setup_power7.S +91 −0
  2088. arch/powerpc/kernel/cputable.c +44 −24
  2089. arch/powerpc/kernel/crash.c +49 −48
  2090. arch/powerpc/kernel/dbell.c +8 −57
  2091. arch/powerpc/kernel/dma.c +18 −0
  2092. arch/powerpc/kernel/entry_64.S +21 −6
  2093. arch/powerpc/kernel/exceptions-64e.S +197 −7
  2094. arch/powerpc/kernel/exceptions-64s.S +177 −69
  2095. arch/powerpc/kernel/ftrace.c +8 −0
  2096. arch/powerpc/kernel/head_32.S +0 −13
  2097. arch/powerpc/kernel/head_40x.S +1 −1
  2098. arch/powerpc/kernel/head_44x.S +1 −1
  2099. arch/powerpc/kernel/head_64.S +39 −19
  2100. arch/powerpc/kernel/head_fsl_booke.S +1 −1
  2101. arch/powerpc/kernel/ibmebus.c +3 −3
  2102. arch/powerpc/kernel/idle_power4.S +0 −21
  2103. arch/powerpc/kernel/idle_power7.S +97 −0
  2104. arch/powerpc/kernel/io-workarounds.c +17 −14
  2105. arch/powerpc/kernel/irq.c +91 −124
  2106. arch/powerpc/kernel/kgdb.c +2 −2
  2107. arch/powerpc/kernel/l2cr_6xx.S +1 −1
  2108. arch/powerpc/kernel/legacy_serial.c +5 −3
  2109. arch/powerpc/kernel/lparcfg.c +26 −29
  2110. arch/powerpc/kernel/misc_32.S +11 −0
  2111. arch/powerpc/kernel/misc_64.S +8 −5
  2112. arch/powerpc/kernel/paca.c +19 −13
  2113. arch/powerpc/kernel/pci_dn.c +1 −2
  2114. arch/powerpc/kernel/perf_event.c +31 −8
  2115. arch/powerpc/kernel/ppc_ksyms.c +1 −4
  2116. arch/powerpc/kernel/ppc_save_regs.S +1 −1
  2117. arch/powerpc/kernel/process.c +40 −3
  2118. arch/powerpc/kernel/prom.c +37 −33
  2119. arch/powerpc/kernel/prom_init.c +28 −2
  2120. arch/powerpc/kernel/ptrace.c +22 −2
  2121. arch/powerpc/kernel/rtas.c +3 −1
  2122. arch/powerpc/kernel/rtasd.c +1 −1
  2123. arch/powerpc/kernel/setup-common.c +15 −8
  2124. arch/powerpc/kernel/setup_32.c +1 −0
  2125. arch/powerpc/kernel/setup_64.c +38 −6
  2126. arch/powerpc/kernel/signal_64.c +2 −2
  2127. arch/powerpc/kernel/smp.c +192 −99
  2128. arch/powerpc/kernel/swsusp.c +0 −1
  2129. arch/powerpc/kernel/swsusp_32.S +1 −1
  2130. arch/powerpc/kernel/sysfs.c +38 −0
  2131. arch/powerpc/kernel/time.c +15 −5
  2132. arch/powerpc/kernel/traps.c +40 −4
  2133. arch/powerpc/kernel/udbg.c +2 −0
  2134. arch/powerpc/kernel/udbg_16550.c +52 −1
  2135. arch/powerpc/kernel/vdso32/sigtramp.S +1 −1
  2136. arch/powerpc/kernel/vdso64/sigtramp.S +1 −1
  2137. arch/powerpc/kernel/vector.S +1 −1
  2138. arch/powerpc/kernel/vmlinux.lds.S +1 −1
  2139. arch/powerpc/kvm/44x.c +10 −0
  2140. arch/powerpc/kvm/44x_emulate.c +0 −2
  2141. arch/powerpc/kvm/book3s.c +1 −1
  2142. arch/powerpc/kvm/book3s_rmhandlers.S +7 −6
  2143. arch/powerpc/kvm/book3s_segment.S +9 −3
  2144. arch/powerpc/kvm/booke.c +152 −2
  2145. arch/powerpc/kvm/booke_interrupts.S +0 −1
  2146. arch/powerpc/kvm/e500.c +76 −0
  2147. arch/powerpc/kvm/e500_emulate.c +4 −3
  2148. arch/powerpc/kvm/e500_tlb.c +12 −1
  2149. arch/powerpc/kvm/emulate.c +10 −5
  2150. arch/powerpc/kvm/powerpc.c +21 −0
  2151. arch/powerpc/kvm/timing.c +24 −7
  2152. arch/powerpc/lib/alloc.c +0 −8
  2153. arch/powerpc/lib/copypage_64.S +4 −3
  2154. arch/powerpc/lib/devres.c +3 −3
  2155. arch/powerpc/lib/sstep.c +28 −34
  2156. arch/powerpc/mm/dma-noncoherent.c +20 −0
  2157. arch/powerpc/mm/hash_low_64.S +16 −16
  2158. arch/powerpc/mm/hash_native_64.c +8 −10
  2159. arch/powerpc/mm/hash_utils_64.c +37 −27
  2160. arch/powerpc/mm/hugetlbpage.c +1 −1
  2161. arch/powerpc/mm/mem.c +1 −1
  2162. arch/powerpc/mm/mmu_context_hash64.c +212 −2
  2163. arch/powerpc/mm/mmu_context_nohash.c +15 −3
  2164. arch/powerpc/mm/numa.c +13 −14
  2165. arch/powerpc/mm/pgtable.c +0 −104
  2166. arch/powerpc/mm/pgtable_32.c +10 −2
  2167. arch/powerpc/mm/pgtable_64.c +13 −2
  2168. arch/powerpc/mm/slb.c +5 −5
  2169. arch/powerpc/mm/slb_low.S +4 −4
  2170. arch/powerpc/mm/stab.c +1 −1
  2171. arch/powerpc/mm/tlb_hash32.c +0 −3
  2172. arch/powerpc/mm/tlb_hash64.c +2 −3
  2173. arch/powerpc/mm/tlb_low_64e.S +3 −3
  2174. arch/powerpc/mm/tlb_nohash.c +0 −3
  2175. arch/powerpc/oprofile/op_model_cell.c +3 −3
  2176. arch/powerpc/oprofile/op_model_power4.c +24 −2
  2177. arch/powerpc/platforms/40x/Kconfig +2 −0
  2178. arch/powerpc/platforms/44x/Kconfig +6 −0
  2179. arch/powerpc/platforms/44x/iss4xx.c +4 −2
  2180. arch/powerpc/platforms/512x/mpc5121_ads_cpld.c +5 −5
  2181. arch/powerpc/platforms/52xx/media5200.c +2 −2
  2182. arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +3 −3
  2183. arch/powerpc/platforms/52xx/mpc52xx_pic.c +17 −68
  2184. arch/powerpc/platforms/82xx/pq2ads-pci-pic.c +2 −10
  2185. arch/powerpc/platforms/83xx/suspend.c +5 −2
  2186. arch/powerpc/platforms/85xx/smp.c +8 −4
  2187. arch/powerpc/platforms/85xx/socrates_fpga_pic.c +6 −20
  2188. arch/powerpc/platforms/86xx/gef_pic.c +2 −8
  2189. arch/powerpc/platforms/86xx/mpc8610_hpcd.c +65 −34
  2190. arch/powerpc/platforms/86xx/mpc86xx_smp.c +4 −2
  2191. arch/powerpc/platforms/8xx/m8xx_setup.c +1 −1
  2192. arch/powerpc/platforms/Kconfig +25 −8
  2193. arch/powerpc/platforms/Kconfig.cputype +24 −0
  2194. arch/powerpc/platforms/Makefile +1 −0
  2195. arch/powerpc/platforms/cell/Kconfig +3 −1
  2196. arch/powerpc/platforms/cell/Makefile +4 −5
  2197. arch/powerpc/platforms/cell/axon_msi.c +2 −1
  2198. arch/powerpc/platforms/cell/beat_interrupt.c +0 −27
  2199. arch/powerpc/platforms/cell/beat_interrupt.h +0 −3
  2200. arch/powerpc/platforms/cell/beat_smp.c +0 −124
  2201. arch/powerpc/platforms/cell/cbe_regs.c +6 −5
  2202. arch/powerpc/platforms/cell/celleb_pci.c +8 −17
  2203. arch/powerpc/platforms/cell/celleb_pci.h +2 −1
  2204. arch/powerpc/platforms/cell/celleb_setup.c +0 −4
  2205. arch/powerpc/platforms/cell/interrupt.c +19 −26
  2206. arch/powerpc/platforms/cell/interrupt.h +1 −1
  2207. arch/powerpc/platforms/cell/qpace_setup.c +0 −1
  2208. arch/powerpc/platforms/cell/setup.c +1 −3
  2209. arch/powerpc/platforms/cell/smp.c +11 −26
  2210. arch/powerpc/platforms/cell/spider-pci.c +1 −2
  2211. arch/powerpc/platforms/cell/spider-pic.c +11 −10
  2212. arch/powerpc/platforms/cell/spu_base.c +18 −10
  2213. arch/powerpc/platforms/cell/spufs/lscsa_alloc.c +1 −1
  2214. arch/powerpc/platforms/cell/spufs/sched.c +2 −2
  2215. arch/powerpc/platforms/cell/spufs/spu_restore.c +1 −1
  2216. arch/powerpc/platforms/chrp/smp.c +3 −1
  2217. arch/powerpc/platforms/embedded6xx/flipper-pic.c +4 −11
  2218. arch/powerpc/platforms/embedded6xx/hlwd-pic.c +4 −11
  2219. arch/powerpc/platforms/iseries/Kconfig +3 −1
  2220. arch/powerpc/platforms/iseries/exception.S +37 −25
  2221. arch/powerpc/platforms/iseries/irq.c +6 −7
  2222. arch/powerpc/platforms/iseries/mf.c +1 −1
  2223. arch/powerpc/platforms/iseries/setup.c +7 −2
  2224. arch/powerpc/platforms/iseries/smp.c +7 −38
  2225. arch/powerpc/platforms/iseries/smp.h +0 −6
  2226. arch/powerpc/platforms/iseries/viopath.c +4 −4
  2227. arch/powerpc/platforms/pasemi/dma_lib.c +2 −2
  2228. arch/powerpc/platforms/powermac/Kconfig +10 −1
  2229. arch/powerpc/platforms/powermac/Makefile +1 −1
  2230. arch/powerpc/platforms/powermac/low_i2c.c +1 −1
  2231. arch/powerpc/platforms/powermac/pci.c +1 −1
  2232. arch/powerpc/platforms/powermac/pic.c +22 −45
  2233. arch/powerpc/platforms/powermac/pic.h +0 −11
  2234. arch/powerpc/platforms/powermac/pmac.h +1 −1
  2235. arch/powerpc/platforms/powermac/setup.c +0 −56
  2236. arch/powerpc/platforms/powermac/smp.c +164 −87
  2237. arch/powerpc/platforms/ps3/interrupt.c +1 −7
  2238. arch/powerpc/platforms/ps3/smp.c +3 −19
  2239. arch/powerpc/platforms/ps3/spu.c +2 −2
  2240. arch/powerpc/platforms/pseries/Kconfig +22 −1
  2241. arch/powerpc/platforms/pseries/Makefile +1 −1
  2242. arch/powerpc/platforms/pseries/dlpar.c +1 −1
  2243. arch/powerpc/platforms/pseries/dtl.c +11 −9
  2244. arch/powerpc/platforms/pseries/eeh.c +70 −14
  2245. arch/powerpc/platforms/pseries/eeh_driver.c +13 −9
  2246. arch/powerpc/platforms/pseries/hotplug-cpu.c +4 −3
  2247. arch/powerpc/platforms/pseries/io_event_irq.c +231 −0
  2248. arch/powerpc/platforms/pseries/iommu.c +68 −55
  2249. arch/powerpc/platforms/pseries/kexec.c +4 −1
  2250. arch/powerpc/platforms/pseries/lpar.c +47 −1
  2251. arch/powerpc/platforms/pseries/nvram.c +24 −0
  2252. arch/powerpc/platforms/pseries/offline_states.h +0 −2
  2253. arch/powerpc/platforms/pseries/plpar_wrappers.h +0 −27
  2254. arch/powerpc/platforms/pseries/ras.c +3 −3
  2255. arch/powerpc/platforms/pseries/setup.c +42 −8
  2256. arch/powerpc/platforms/pseries/smp.c +24 −21
  2257. arch/powerpc/platforms/pseries/xics.c +0 −948
  2258. arch/powerpc/platforms/pseries/xics.h +0 −23
  2259. arch/powerpc/platforms/wsp/Kconfig +28 −0
  2260. arch/powerpc/platforms/wsp/Makefile +6 −0
  2261. arch/powerpc/platforms/wsp/ics.c +712 −0
  2262. arch/powerpc/platforms/wsp/ics.h +20 −0
  2263. arch/powerpc/platforms/wsp/opb_pic.c +332 −0
  2264. arch/powerpc/platforms/wsp/psr2.c +95 −0
  2265. arch/powerpc/platforms/wsp/scom_smp.c +427 −0
  2266. arch/powerpc/platforms/wsp/scom_wsp.c +77 −0
  2267. arch/powerpc/platforms/wsp/setup.c +36 −0
  2268. arch/powerpc/platforms/wsp/smp.c +88 −0
  2269. arch/powerpc/platforms/wsp/wsp.h +17 −0
  2270. arch/powerpc/sysdev/Kconfig +17 −0
  2271. arch/powerpc/sysdev/Makefile +7 −0
  2272. arch/powerpc/sysdev/axonram.c +2 −2
  2273. arch/powerpc/sysdev/bestcomm/bestcomm.h +1 −1
  2274. arch/powerpc/sysdev/bestcomm/bestcomm_priv.h +1 −1
  2275. arch/powerpc/sysdev/cpm1.c +5 −5
  2276. arch/powerpc/sysdev/cpm2_pic.c +5 −5
  2277. arch/powerpc/sysdev/fsl_85xx_cache_sram.c +2 −2
  2278. arch/powerpc/sysdev/fsl_lbc.c +7 −2
  2279. arch/powerpc/sysdev/fsl_msi.c +10 −7
  2280. arch/powerpc/sysdev/fsl_pci.c +5 −0
  2281. arch/powerpc/sysdev/fsl_rio.c +83 −21
  2282. arch/powerpc/sysdev/i8259.c +0 −13
  2283. arch/powerpc/sysdev/indirect_pci.c +1 −1
  2284. arch/powerpc/sysdev/ipic.c +16 −36
  2285. arch/powerpc/sysdev/mmio_nvram.c +2 −0
  2286. arch/powerpc/sysdev/mpc8xx_pic.c +6 −6
  2287. arch/powerpc/sysdev/mpc8xxx_gpio.c +6 −6
  2288. arch/powerpc/sysdev/mpic.c +176 −81
  2289. arch/powerpc/sysdev/mv64x60_pic.c +7 −7
  2290. arch/powerpc/sysdev/ppc4xx_msi.c +276 −0
  2291. arch/powerpc/sysdev/ppc4xx_pci.h +1 −1
  2292. arch/powerpc/sysdev/qe_lib/qe_ic.c +2 −4
  2293. arch/powerpc/sysdev/scom.c +192 −0
  2294. arch/powerpc/sysdev/uic.c +5 −7
  2295. arch/powerpc/sysdev/xics/Kconfig +13 −0
  2296. arch/powerpc/sysdev/xics/Makefile +6 −0
  2297. arch/powerpc/sysdev/xics/icp-hv.c +164 −0
  2298. arch/powerpc/sysdev/xics/icp-native.c +293 −0
  2299. arch/powerpc/sysdev/xics/ics-rtas.c +240 −0
  2300. arch/powerpc/sysdev/xics/xics-common.c +443 −0
  2301. arch/powerpc/sysdev/xilinx_intc.c +4 −4
  2302. arch/powerpc/xmon/xmon.c +21 −17
  2303. arch/s390/Kconfig +2 −12
  2304. arch/s390/appldata/appldata_base.c +0 −2
  2305. arch/s390/appldata/appldata_mem.c +0 −2
  2306. arch/s390/crypto/Makefile +1 −0
  2307. arch/s390/crypto/aes_s390.c +379 −4
  2308. arch/s390/crypto/crypt_s390.h +108 −4
  2309. arch/s390/crypto/des_check_key.c +0 −132
  2310. arch/s390/crypto/des_s390.c +265 −105
  2311. arch/s390/crypto/ghash_s390.c +162 −0
  2312. arch/s390/crypto/prng.c +2 −2
  2313. arch/s390/crypto/sha1_s390.c +1 −1
  2314. arch/s390/crypto/sha256_s390.c +1 −1
  2315. arch/s390/crypto/sha512_s390.c +1 −1
  2316. arch/s390/hypfs/hypfs.h +1 −1
  2317. arch/s390/include/asm/atomic.h +1 −1
  2318. arch/s390/include/asm/bitops.h +10 −35
  2319. arch/s390/include/asm/cacheflush.h +1 −0
  2320. arch/s390/include/asm/cio.h +1 −1
  2321. arch/s390/include/asm/cmpxchg.h +0 −1
  2322. arch/s390/include/asm/delay.h +5 −3
  2323. arch/s390/include/asm/diag.h +15 −2
  2324. arch/s390/include/asm/elf.h +0 −12
  2325. arch/s390/include/asm/ftrace.h +1 −3
  2326. arch/s390/include/asm/hugetlb.h +3 −14
  2327. arch/s390/include/asm/irq.h +9 −0
  2328. arch/s390/include/asm/jump_label.h +37 −0
  2329. arch/s390/include/asm/lowcore.h +2 −2
  2330. arch/s390/include/asm/mmu.h +4 −5
  2331. arch/s390/include/asm/mmu_context.h +2 −6
  2332. arch/s390/include/asm/page.h +54 −6
  2333. arch/s390/include/asm/percpu.h +68 −0
  2334. arch/s390/include/asm/pgalloc.h +9 −48
  2335. arch/s390/include/asm/pgtable.h +312 −295
  2336. arch/s390/include/asm/processor.h +1 −0
  2337. arch/s390/include/asm/s390_ext.h +0 −17
  2338. arch/s390/include/asm/suspend.h +0 −10
  2339. arch/s390/include/asm/tlb.h +37 −25
  2340. arch/s390/include/asm/tlbflush.h +4 −9
  2341. arch/s390/include/asm/topology.h +2 −2
  2342. arch/s390/include/asm/uaccess.h +6 −5
  2343. arch/s390/include/asm/unistd.h +3 −1
  2344. arch/s390/kernel/Makefile +4 −4
  2345. arch/s390/kernel/asm-offsets.c +1 −3
  2346. arch/s390/kernel/compat_wrapper.S +6 −0
  2347. arch/s390/kernel/diag.c +0 −21
  2348. arch/s390/kernel/dis.c +2 −1
  2349. arch/s390/kernel/entry.S +2 −1
  2350. arch/s390/kernel/entry64.S +2 −1
  2351. arch/s390/kernel/head.S +1 −1
  2352. arch/s390/kernel/irq.c +130 −8
  2353. arch/s390/kernel/jump_label.c +59 −0
  2354. arch/s390/kernel/process.c +2 −17
  2355. arch/s390/kernel/reipl64.S +1 −1
  2356. arch/s390/kernel/s390_ext.c +0 −108
  2357. arch/s390/kernel/setup.c +3 −30
  2358. arch/s390/kernel/smp.c +18 −19
  2359. arch/s390/kernel/switch_cpu.S +3 −1
  2360. arch/s390/kernel/switch_cpu64.S +3 −1
  2361. arch/s390/kernel/syscalls.S +1 −0
  2362. arch/s390/kernel/time.c +5 −6
  2363. arch/s390/kernel/topology.c +8 −9
  2364. arch/s390/kernel/traps.c +0 −1
  2365. arch/s390/kernel/vdso32/Makefile +3 −0
  2366. arch/s390/kernel/vdso64/Makefile +3 −0
  2367. arch/s390/kernel/vmlinux.lds.S +1 −1
  2368. arch/s390/kernel/vtime.c +2 −2
  2369. arch/s390/kvm/kvm-s390.c +1 −1
  2370. arch/s390/kvm/priv.c +1 −1
  2371. arch/s390/kvm/sie64a.S +2 −2
  2372. arch/s390/lib/delay.c +15 −0
  2373. arch/s390/mm/cmm.c +1 −1
  2374. arch/s390/mm/extmem.c +2 −4
  2375. arch/s390/mm/fault.c +139 −114
  2376. arch/s390/mm/hugetlbpage.c +0 −10
  2377. arch/s390/mm/init.c +2 −3
  2378. arch/s390/mm/maccess.c +2 −2
  2379. arch/s390/mm/pageattr.c +8 −2
  2380. arch/s390/mm/pgtable.c +25 −67
  2381. arch/s390/mm/vmem.c +7 −7
  2382. arch/s390/oprofile/hwsampler.c +15 −30
  2383. arch/s390/oprofile/hwsampler.h +2 −2
  2384. arch/s390/oprofile/init.c +2 −6
  2385. arch/score/Kconfig +0 −4
  2386. arch/score/Kconfig.debug +0 −9
  2387. arch/score/Makefile +1 −1
  2388. arch/score/mm/init.c +0 −2
  2389. arch/sh/Kconfig +1 −7
  2390. arch/sh/Kconfig.debug +1 −10
  2391. arch/sh/boards/board-sh7757lcr.c +1 −1
  2392. arch/sh/boards/mach-ap325rxa/setup.c +24 −8
  2393. arch/sh/boards/mach-dreamcast/irq.c +1 −1
  2394. arch/sh/boards/mach-ecovec24/setup.c +28 −10
  2395. arch/sh/boards/mach-landisk/setup.c +2 −3
  2396. arch/sh/configs/apsh4ad0a_defconfig +0 −2
  2397. arch/sh/configs/ecovec24_defconfig +1 −1
  2398. arch/sh/configs/sdk7786_defconfig +0 −2
  2399. arch/sh/configs/se7206_defconfig +0 −1
  2400. arch/sh/configs/sh7757lcr_defconfig +1 −1
  2401. arch/sh/configs/shx3_defconfig +0 −1
  2402. arch/sh/configs/urquell_defconfig +0 −1
  2403. arch/sh/drivers/pci/fixups-se7751.c +1 −1
  2404. arch/sh/drivers/pci/pci-sh7751.h +1 −1
  2405. arch/sh/drivers/pci/pci.c +1 −1
  2406. arch/sh/include/asm/kgdb.h +1 −0
  2407. arch/sh/include/asm/page.h +1 −1
  2408. arch/sh/include/asm/pgtable_32.h +1 −1
  2409. arch/sh/include/asm/ptrace.h +4 −2
  2410. arch/sh/include/asm/stacktrace.h +0 −3
  2411. arch/sh/include/asm/suspend.h +0 −1
  2412. arch/sh/include/asm/tlb.h +17 −11
  2413. arch/sh/include/asm/unaligned-sh4a.h +1 −1
  2414. arch/sh/include/asm/unistd_32.h +3 −1
  2415. arch/sh/include/asm/unistd_64.h +3 −1
  2416. arch/sh/include/mach-common/mach/highlander.h +2 −2
  2417. arch/sh/include/mach-common/mach/r2d.h +3 −3
  2418. arch/sh/kernel/cpu/Makefile +1 −3
  2419. arch/sh/kernel/cpu/clock-cpg.c +1 −1
  2420. arch/sh/kernel/cpu/sh4/sq.c +1 −0
  2421. arch/sh/kernel/cpu/sh4a/setup-sh7786.c +1 −1
  2422. arch/sh/kernel/cpu/shmobile/pm_runtime.c +25 −14
  2423. arch/sh/kernel/dumpstack.c +0 −15
  2424. arch/sh/kernel/irq.c +1 −1
  2425. arch/sh/kernel/module.c +2 −0
  2426. arch/sh/kernel/perf_callchain.c +0 −12
  2427. arch/sh/kernel/ptrace_32.c +4 −0
  2428. arch/sh/kernel/setup.c +1 −1
  2429. arch/sh/kernel/smp.c +2 −0
  2430. arch/sh/kernel/stacktrace.c +0 −13
  2431. arch/sh/kernel/syscalls_32.S +2 −0
  2432. arch/sh/kernel/syscalls_64.S +2 −0
  2433. arch/sh/kernel/traps_32.c +0 −1
  2434. arch/sh/kernel/vmlinux.lds.S +1 −1
  2435. arch/sh/lib64/copy_user_memcpy.S +1 −1
  2436. arch/sh/lib64/memcpy.S +1 −1
  2437. arch/sh/mm/init.c +0 −1
  2438. arch/sh/oprofile/backtrace.c +0 −13
  2439. arch/sparc/Kconfig +4 −12
  2440. arch/sparc/Kconfig.debug +0 −9
  2441. arch/sparc/include/asm/cpudata_32.h +5 −0
  2442. arch/sparc/include/asm/floppy_32.h +29 −11
  2443. arch/sparc/include/asm/hypervisor.h +10 −10
  2444. arch/sparc/include/asm/io.h +13 −0
  2445. arch/sparc/include/asm/irq_32.h +5 −1
  2446. arch/sparc/include/asm/jump_label.h +14 −11
  2447. arch/sparc/include/asm/leon.h +10 −31
  2448. arch/sparc/include/asm/ns87303.h +1 −1
  2449. arch/sparc/include/asm/pcic.h +9 −3
  2450. arch/sparc/include/asm/pcr.h +1 −1
  2451. arch/sparc/include/asm/pgalloc_64.h +3 −0
  2452. arch/sparc/include/asm/pgtable_32.h +4 −2
  2453. arch/sparc/include/asm/pgtable_64.h +15 −3
  2454. arch/sparc/include/asm/ptrace.h +1 −1
  2455. arch/sparc/include/asm/setup.h +12 −0
  2456. arch/sparc/include/asm/smp_32.h +19 −18
  2457. arch/sparc/include/asm/smp_64.h +4 −0
  2458. arch/sparc/include/asm/spinlock_32.h +1 −0
  2459. arch/sparc/include/asm/system_32.h +0 −5
  2460. arch/sparc/include/asm/system_64.h +0 −4
  2461. arch/sparc/include/asm/tlb_64.h +6 −85
  2462. arch/sparc/include/asm/tlbflush_64.h +10 −2
  2463. arch/sparc/include/asm/topology_64.h +5 −1
  2464. arch/sparc/include/asm/unistd.h +4 −1
  2465. arch/sparc/include/asm/winmacro.h +9 −0
  2466. arch/sparc/kernel/Makefile +0 −4
  2467. arch/sparc/kernel/apc.c +1 −1
  2468. arch/sparc/kernel/auxio_64.c +1 −1
  2469. arch/sparc/kernel/central.c +2 −2
  2470. arch/sparc/kernel/cpu.c +132 −7
  2471. arch/sparc/kernel/cpumap.c +2 −2
  2472. arch/sparc/kernel/devices.c +1 −3
  2473. arch/sparc/kernel/ds.c +8 −8
  2474. arch/sparc/kernel/entry.S +34 −13
  2475. arch/sparc/kernel/head_32.S +28 −23
  2476. arch/sparc/kernel/head_64.S +1 −1
  2477. arch/sparc/kernel/init_task.c +1 −1
  2478. arch/sparc/kernel/ioport.c +16 −26
  2479. arch/sparc/kernel/irq.h +27 −24
  2480. arch/sparc/kernel/irq_32.c +124 −389
  2481. arch/sparc/kernel/irq_64.c +3 −3
  2482. arch/sparc/kernel/kernel.h +2 −3
  2483. arch/sparc/kernel/leon_kernel.c +239 −126
  2484. arch/sparc/kernel/leon_smp.c +125 −23
  2485. arch/sparc/kernel/mdesc.c +2 −2
  2486. arch/sparc/kernel/of_device_64.c +3 −2
  2487. arch/sparc/kernel/pci_fire.c +1 −1
  2488. arch/sparc/kernel/pci_msi.c +2 −1
  2489. arch/sparc/kernel/pci_psycho.c +1 −1
  2490. arch/sparc/kernel/pci_sabre.c +5 −2
  2491. arch/sparc/kernel/pci_schizo.c +7 −3
  2492. arch/sparc/kernel/pci_sun4v.c +1 −1
  2493. arch/sparc/kernel/pcic.c +56 −27
  2494. arch/sparc/kernel/perf_event.c +2 −1
  2495. arch/sparc/kernel/pmc.c +1 −1
  2496. arch/sparc/kernel/power.c +1 −1
  2497. arch/sparc/kernel/process_32.c +10 −2
  2498. arch/sparc/kernel/prom_32.c +0 −1
  2499. arch/sparc/kernel/setup_32.c +13 −76
  2500. arch/sparc/kernel/setup_64.c +0 −78
  2501. arch/sparc/kernel/smp_32.c +82 −33
  2502. arch/sparc/kernel/smp_64.c +30 −29
  2503. arch/sparc/kernel/sun4c_irq.c +90 −60
  2504. arch/sparc/kernel/sun4d_irq.c +181 −313
  2505. arch/sparc/kernel/sun4d_smp.c +85 −8
  2506. arch/sparc/kernel/sun4m_irq.c +98 −81
  2507. arch/sparc/kernel/sun4m_smp.c +32 −19
  2508. arch/sparc/kernel/sysfs.c +2 −1
  2509. arch/sparc/kernel/systbls_32.S +1 −1
  2510. arch/sparc/kernel/systbls_64.S +2 −0
  2511. arch/sparc/kernel/time_32.c +4 −8
  2512. arch/sparc/kernel/time_64.c +3 −3
  2513. arch/sparc/kernel/us2e_cpufreq.c +2 −2
  2514. arch/sparc/kernel/us3_cpufreq.c +2 −2
  2515. arch/sparc/kernel/vmlinux.lds.S +1 −1
  2516. arch/sparc/lib/Makefile +0 −1
  2517. arch/sparc/lib/checksum_32.S +9 −3
  2518. arch/sparc/lib/rwsem_32.S +0 −204
  2519. arch/sparc/math-emu/Makefile +1 −1
  2520. arch/sparc/mm/init_32.c +1 −3
  2521. arch/sparc/mm/init_64.c +7 −7
  2522. arch/sparc/mm/tlb.c +24 −19
  2523. arch/sparc/mm/tsb.c +8 −7
  2524. arch/tile/Kconfig +10 −3
  2525. arch/tile/Kconfig.debug +0 −9
  2526. arch/tile/configs/tile_defconfig +0 −71
  2527. arch/tile/configs/tilegx_defconfig +1833 −0
  2528. arch/tile/configs/tilepro_defconfig +1163 −0
  2529. arch/tile/include/arch/chip_tilegx.h +258 −0
  2530. arch/tile/include/arch/icache.h +5 −6
  2531. arch/tile/include/arch/interrupts_64.h +276 −0
  2532. arch/tile/include/arch/spr_def.h +11 −2
  2533. arch/tile/include/arch/spr_def_64.h +173 −0
  2534. arch/tile/include/asm/atomic.h +42 −7
  2535. arch/tile/include/asm/atomic_32.h +0 −10
  2536. arch/tile/include/asm/atomic_64.h +156 −0
  2537. arch/tile/include/asm/backtrace.h +23 −59
  2538. arch/tile/include/asm/bitops.h +1 −0
  2539. arch/tile/include/asm/bitops_32.h +0 −1
  2540. arch/tile/include/asm/bitops_64.h +105 −0
  2541. arch/tile/include/asm/cacheflush.h +12 −6
  2542. arch/tile/include/asm/compat.h +2 −2
  2543. arch/tile/include/asm/dma-mapping.h +2 −1
  2544. arch/tile/include/asm/fb.h +1 −0
  2545. arch/tile/include/asm/hardwall.h +12 −3
  2546. arch/tile/include/asm/io.h +18 −0
  2547. arch/tile/include/asm/irq.h +2 −0
  2548. arch/tile/include/asm/mmu_context.h +2 −2
  2549. arch/tile/include/asm/opcode-tile_32.h +7 −0
  2550. arch/tile/include/asm/opcode-tile_64.h +621 −879
  2551. arch/tile/include/asm/opcode_constants_64.h +586 −457
  2552. arch/tile/include/asm/page.h +9 −9
  2553. arch/tile/include/asm/parport.h +1 −0
  2554. arch/tile/include/asm/pci.h +2 −1
  2555. arch/tile/include/asm/pgtable_64.h +175 −0
  2556. arch/tile/include/asm/processor.h +2 −7
  2557. arch/tile/include/asm/serial.h +1 −0
  2558. arch/tile/include/asm/signal.h +4 −0
  2559. arch/tile/include/asm/spinlock_64.h +161 −0
  2560. arch/tile/include/asm/stat.h +1 −1
  2561. arch/tile/include/asm/swab.h +0 −6
  2562. arch/tile/include/asm/thread_info.h +4 −1
  2563. arch/tile/include/asm/topology.h +57 −18
  2564. arch/tile/include/asm/traps.h +4 −0
  2565. arch/tile/include/asm/unistd.h +1 −1
  2566. arch/tile/include/asm/vga.h +21 −14
  2567. arch/tile/include/hv/drv_xgbe_intf.h +1 −1
  2568. arch/tile/include/hv/hypervisor.h +12 −4
  2569. arch/tile/kernel/Makefile +1 −1
  2570. arch/tile/kernel/backtrace.c +43 −60
  2571. arch/tile/kernel/compat.c +1 −12
  2572. arch/tile/kernel/compat_signal.c +2 −2
  2573. arch/tile/kernel/futex_64.S +55 −0
  2574. arch/tile/kernel/hardwall.c +68 −28
  2575. arch/tile/kernel/head_64.S +269 −0
  2576. arch/tile/kernel/intvec_32.S +43 −132
  2577. arch/tile/kernel/intvec_64.S +1231 −0
  2578. arch/tile/kernel/module.c +7 −1
  2579. arch/tile/kernel/pci-dma.c +1 −1
  2580. arch/tile/kernel/pci.c +118 −92
  2581. arch/tile/kernel/proc.c +73 −0
  2582. arch/tile/kernel/process.c +50 −2
  2583. arch/tile/kernel/regs_64.S +145 −0
  2584. arch/tile/kernel/setup.c +6 −0
  2585. arch/tile/kernel/signal.c +124 −4
  2586. arch/tile/kernel/single_step.c +12 −0
  2587. arch/tile/kernel/smp.c +1 −5
  2588. arch/tile/kernel/stack.c +7 −7
  2589. arch/tile/kernel/sys.c +0 −9
  2590. arch/tile/kernel/sysfs.c +185 −0
  2591. arch/tile/kernel/tile-desc_32.c +6 −5
  2592. arch/tile/kernel/tile-desc_64.c +2200 −0
  2593. arch/tile/kernel/time.c +2 −0
  2594. arch/tile/kernel/tlb.c +6 −6
  2595. arch/tile/kernel/traps.c +1 −0
  2596. arch/tile/kernel/vmlinux.lds.S +1 −1
  2597. arch/tile/lib/atomic_asm_32.S +1 −1
  2598. arch/tile/lib/cacheflush.c +18 −0
  2599. arch/tile/lib/memchr_64.c +71 −0
  2600. arch/tile/lib/memcpy_64.c +220 −0
  2601. arch/tile/lib/memcpy_user_64.c +86 −0
  2602. arch/tile/lib/memset_64.c +145 −0
  2603. arch/tile/lib/spinlock_64.c +104 −0
  2604. arch/tile/lib/strchr_64.c +67 −0
  2605. arch/tile/lib/strlen_64.c +38 −0
  2606. arch/tile/lib/usercopy_64.S +196 −0
  2607. arch/tile/mm/fault.c +20 −12
  2608. arch/tile/mm/hugetlbpage.c +1 −1
  2609. arch/tile/mm/init.c +0 −2
  2610. arch/tile/mm/migrate_64.S +187 −0
  2611. arch/um/Kconfig.common +0 −1
  2612. arch/um/Kconfig.debug +8 −8
  2613. arch/um/Kconfig.net +1 −1
  2614. arch/um/Kconfig.um +1 −1
  2615. arch/um/Kconfig.x86 +6 −3
  2616. arch/um/drivers/Makefile +2 −2
  2617. arch/um/drivers/mcast.h +0 −24
  2618. arch/um/drivers/mcast_kern.c +0 −120
  2619. arch/um/drivers/mcast_user.c +0 −165
  2620. arch/um/drivers/mmapper_kern.c +1 −1
  2621. arch/um/drivers/umcast.h +27 −0
  2622. arch/um/drivers/umcast_kern.c +188 −0
  2623. arch/um/drivers/umcast_user.c +186 −0
  2624. arch/um/drivers/xterm.c +1 −1
  2625. arch/um/include/asm/bug.h +6 −0
  2626. arch/um/include/asm/common.lds.S +1 −1
  2627. arch/um/include/asm/processor-generic.h +2 −0
  2628. arch/um/include/asm/smp.h +0 −1
  2629. arch/um/include/asm/thread_info.h +4 −1
  2630. arch/um/include/asm/tlb.h +11 −18
  2631. arch/um/include/shared/os.h +7 −0
  2632. arch/um/kernel/Makefile +1 −0
  2633. arch/um/kernel/early_printk.c +33 −0
  2634. arch/um/kernel/smp.c +1 −4
  2635. arch/um/kernel/trap.c +24 −0
  2636. arch/um/os-Linux/main.c +1 −2
  2637. arch/um/os-Linux/process.c +1 −0
  2638. arch/um/os-Linux/util.c +27 −1
  2639. arch/um/sys-i386/Makefile +1 −1
  2640. arch/um/sys-i386/atomic64_cx8_32.S +225 −0
  2641. arch/unicore32/Kconfig +0 −1
  2642. arch/unicore32/Kconfig.debug +0 −7
  2643. arch/unicore32/Makefile +1 −1
  2644. arch/unicore32/include/asm/futex.h +0 −143
  2645. arch/unicore32/include/asm/suspend.h +0 −1
  2646. arch/unicore32/include/mach/PKUnity.h +0 −10
  2647. arch/unicore32/include/mach/memory.h +0 −1
  2648. arch/unicore32/include/mach/regs-umal.h +2 −2
  2649. arch/unicore32/kernel/head.S +1 −1
  2650. arch/unicore32/kernel/irq.c +8 −15
  2651. arch/unicore32/kernel/puv3-core.c +0 −5
  2652. arch/unicore32/kernel/rtc.c +0 −9
  2653. arch/unicore32/kernel/setup.c +2 −13
  2654. arch/unicore32/kernel/traps.c +0 −2
  2655. arch/unicore32/kernel/vmlinux.lds.S +4 −3
  2656. arch/unicore32/mm/init.c +1 −1
  2657. arch/unicore32/mm/mmu.c +0 −22
  2658. arch/x86/Kbuild +1 −0
  2659. arch/x86/Kconfig +29 −37
  2660. arch/x86/Kconfig.cpu +10 −6
  2661. arch/x86/Kconfig.debug +0 −20
  2662. arch/x86/Makefile_32.cpu +1 −1
  2663. arch/x86/boot/memory.c +1 −1
  2664. arch/x86/configs/i386_defconfig +0 −1
  2665. arch/x86/configs/x86_64_defconfig +0 −1
  2666. arch/x86/crypto/Makefile +1 −3
  2667. arch/x86/crypto/aesni-intel_glue.c +9 −0
  2668. arch/x86/crypto/fpu.c +2 −8
  2669. arch/x86/ia32/ia32entry.S +2 −0
  2670. arch/x86/include/asm/acpi.h +1 −3
  2671. arch/x86/include/asm/alternative-asm.h +9 −0
  2672. arch/x86/include/asm/alternative.h +0 −9
  2673. arch/x86/include/asm/amd_iommu_proto.h +10 −3
  2674. arch/x86/include/asm/amd_iommu_types.h +24 −4
  2675. arch/x86/include/asm/amd_nb.h +0 −1
  2676. arch/x86/include/asm/apic.h +27 −12
  2677. arch/x86/include/asm/apicdef.h +1 −0
  2678. arch/x86/include/asm/bios_ebda.h +26 −2
  2679. arch/x86/include/asm/cpufeature.h +12 −5
  2680. arch/x86/include/asm/desc.h +76 −76
  2681. arch/x86/include/asm/dma.h +4 −9
  2682. arch/x86/include/asm/efi.h +1 −0
  2683. arch/x86/include/asm/ftrace.h +3 −4
  2684. arch/x86/include/asm/gart.h +12 −12
  2685. arch/x86/include/asm/i387.h +1 −1
  2686. arch/x86/include/asm/i8253.h +2 −0
  2687. arch/x86/include/asm/idle.h +1 −1
  2688. arch/x86/include/asm/io.h +2 −22
  2689. arch/x86/include/asm/io_apic.h +11 −19
  2690. arch/x86/include/asm/jump_label.h +16 −11
  2691. arch/x86/include/asm/kgdb.h +1 −0
  2692. arch/x86/include/asm/kvm_emulate.h +146 −47
  2693. arch/x86/include/asm/kvm_host.h +42 −13
  2694. arch/x86/include/asm/linkage.h +0 −5
  2695. arch/x86/include/asm/mce.h +0 −2
  2696. arch/x86/include/asm/mmu.h +2 −2
  2697. arch/x86/include/asm/mmzone_32.h +0 −20
  2698. arch/x86/include/asm/mmzone_64.h +0 −23
  2699. arch/x86/include/asm/module.h +1 −1
  2700. arch/x86/include/asm/msr-index.h +5 −0
  2701. arch/x86/include/asm/nops.h +84 −62
  2702. arch/x86/include/asm/numa.h +31 −3
  2703. arch/x86/include/asm/numa_32.h +0 −10
  2704. arch/x86/include/asm/numa_64.h +0 −36
  2705. arch/x86/include/asm/numaq.h +1 −6
  2706. arch/x86/include/asm/olpc_ofw.h +3 −6
  2707. arch/x86/include/asm/pci.h +0 −2
  2708. arch/x86/include/asm/percpu.h +33 −1
  2709. arch/x86/include/asm/pgtable_types.h +1 −0
  2710. arch/x86/include/asm/probe_roms.h +8 −0
  2711. arch/x86/include/asm/processor-flags.h +1 −0
  2712. arch/x86/include/asm/processor.h +2 −2
  2713. arch/x86/include/asm/ptrace.h +5 −13
  2714. arch/x86/include/asm/setup.h +2 −2
  2715. arch/x86/include/asm/srat.h +0 −39
  2716. arch/x86/include/asm/stacktrace.h +0 −3
  2717. arch/x86/include/asm/suspend_32.h +0 −2
  2718. arch/x86/include/asm/suspend_64.h +0 −5
  2719. arch/x86/include/asm/system.h +71 −14
  2720. arch/x86/include/asm/topology.h +0 −8
  2721. arch/x86/include/asm/tsc.h +4 −0
  2722. arch/x86/include/asm/uaccess.h +1 −2
  2723. arch/x86/include/asm/uaccess_32.h +0 −1
  2724. arch/x86/include/asm/uaccess_64.h +0 −1
  2725. arch/x86/include/asm/unistd_32.h +3 −1
  2726. arch/x86/include/asm/unistd_64.h +4 −0
  2727. arch/x86/include/asm/uv/uv_bau.h +391 −200
  2728. arch/x86/include/asm/uv/uv_hub.h +60 −13
  2729. arch/x86/include/asm/uv/uv_mmrs.h +836 −190
  2730. arch/x86/include/asm/vdso.h +0 −14
  2731. arch/x86/include/asm/vgtod.h +0 −2
  2732. arch/x86/include/asm/vsyscall.h +2 −10
  2733. arch/x86/include/asm/vvar.h +52 −0
  2734. arch/x86/include/asm/x2apic.h +62 −0
  2735. arch/x86/include/asm/x86_init.h +12 −0
  2736. arch/x86/include/asm/xen/hypercall.h +7 −0
  2737. arch/x86/include/asm/xen/page.h +3 −2
  2738. arch/x86/include/asm/xen/pci.h +16 −0
  2739. arch/x86/kernel/Makefile +7 −5
  2740. arch/x86/kernel/acpi/boot.c +4 −4
  2741. arch/x86/kernel/acpi/sleep.c +0 −5
  2742. arch/x86/kernel/alternative.c +121 −82
  2743. arch/x86/kernel/amd_gart_64.c +8 −1
  2744. arch/x86/kernel/amd_iommu.c +307 −220
  2745. arch/x86/kernel/amd_iommu_init.c +40 −8
  2746. arch/x86/kernel/amd_nb.c +1 −1
  2747. arch/x86/kernel/apb_timer.c +2 −10
  2748. arch/x86/kernel/aperture_64.c +20 −16
  2749. arch/x86/kernel/apic/Makefile +11 −6
  2750. arch/x86/kernel/apic/apic.c +51 −66
  2751. arch/x86/kernel/apic/apic_flat_64.c +23 −3
  2752. arch/x86/kernel/apic/apic_noop.c +0 −9
  2753. arch/x86/kernel/apic/bigsmp_32.c +11 −2
  2754. arch/x86/kernel/apic/es7000_32.c +8 −9
  2755. arch/x86/kernel/apic/hw_nmi.c +3 −2
  2756. arch/x86/kernel/apic/io_apic.c +135 −184
  2757. arch/x86/kernel/apic/numaq_32.c +14 −26
  2758. arch/x86/kernel/apic/probe_32.c +45 −73
  2759. arch/x86/kernel/apic/probe_64.c +18 −43
  2760. arch/x86/kernel/apic/summit_32.c +3 −2
  2761. arch/x86/kernel/apic/x2apic_cluster.c +124 −98
  2762. arch/x86/kernel/apic/x2apic_phys.c +29 −86
  2763. arch/x86/kernel/apic/x2apic_uv_x.c +95 −16
  2764. arch/x86/kernel/apm_32.c +7 −4
  2765. arch/x86/kernel/cpu/Makefile +0 −1
  2766. arch/x86/kernel/cpu/amd.c +27 −2
  2767. arch/x86/kernel/cpu/bugs.c +1 −0
  2768. arch/x86/kernel/cpu/common.c +25 −10
  2769. arch/x86/kernel/cpu/cpufreq/Makefile +0 −21
  2770. arch/x86/kernel/cpu/intel.c +19 −10
  2771. arch/x86/kernel/cpu/intel_cacheinfo.c +4 −16
  2772. arch/x86/kernel/cpu/mcheck/mce.c +8 −19
  2773. arch/x86/kernel/cpu/mcheck/mce_amd.c +1 −0
  2774. arch/x86/kernel/cpu/mcheck/therm_throt.c +10 −12
  2775. arch/x86/kernel/cpu/mtrr/main.c +15 −5
  2776. arch/x86/kernel/cpu/perf_event.c +28 −22
  2777. arch/x86/kernel/cpu/perf_event_amd.c +26 −10
  2778. arch/x86/kernel/cpu/perf_event_intel.c +111 −51
  2779. arch/x86/kernel/cpu/perf_event_p4.c +17 −9
  2780. arch/x86/kernel/devicetree.c +5 −3
  2781. arch/x86/kernel/dumpstack.c +0 −17
  2782. arch/x86/kernel/ftrace.c +8 −8
  2783. arch/x86/kernel/head32.c +0 −1
  2784. arch/x86/kernel/hpet.c +16 −56
  2785. arch/x86/kernel/i8253.c +2 −84
  2786. arch/x86/kernel/irq.c +4 −2
  2787. arch/x86/kernel/jump_label.c +3 −2
  2788. arch/x86/kernel/kprobes.c +3 −2
  2789. arch/x86/kernel/kvmclock.c +1 −5
  2790. arch/x86/kernel/microcode_core.c +1 −0
  2791. arch/x86/kernel/module.c +1 −0
  2792. arch/x86/kernel/mpparse.c +3 −5
  2793. arch/x86/kernel/pci-dma.c +0 −64
  2794. arch/x86/kernel/pci-iommu_table.c +4 −14
  2795. arch/x86/kernel/probe_roms.c +101 −0
  2796. arch/x86/kernel/process.c +25 −22
  2797. arch/x86/kernel/ptrace.c +28 −12
  2798. arch/x86/kernel/reboot.c +24 −1
  2799. arch/x86/kernel/reboot_32.S +6 −6
  2800. arch/x86/kernel/setup.c +15 −6
  2801. arch/x86/kernel/signal.c +5 −9
  2802. arch/x86/kernel/smp.c +2 −3
  2803. arch/x86/kernel/smpboot.c +3 −3
  2804. arch/x86/kernel/stacktrace.c +0 −13
  2805. arch/x86/kernel/syscall_table_32.S +2 −0
  2806. arch/x86/kernel/tboot.c +0 −1
  2807. arch/x86/kernel/test_nx.c +1 −1
  2808. arch/x86/kernel/time.c +1 −1
  2809. arch/x86/kernel/tsc.c +0 −19
  2810. arch/x86/kernel/vmlinux.lds.S +19 −24
  2811. arch/x86/kernel/vread_tsc_64.c +36 −0
  2812. arch/x86/kernel/vsyscall_64.c +21 −27
  2813. arch/x86/kernel/x86_init.c +5 −1
  2814. arch/x86/kvm/emulate.c +1215 −591
  2815. arch/x86/kvm/i8254.h +0 −2
  2816. arch/x86/kvm/irq.h +0 −2
  2817. arch/x86/kvm/mmu.c +7 −12
  2818. arch/x86/kvm/paging_tmpl.h +57 −26
  2819. arch/x86/kvm/svm.c +434 −151
  2820. arch/x86/kvm/vmx.c +192 −36
  2821. arch/x86/kvm/x86.c +424 −183
  2822. arch/x86/kvm/x86.h +1 −1
  2823. arch/x86/lguest/boot.c +2 −4
  2824. arch/x86/lib/clear_page_64.S +24 −9
  2825. arch/x86/lib/copy_user_64.S +57 −12
  2826. arch/x86/lib/memcpy_64.S +33 −14
  2827. arch/x86/lib/memmove_64.S +28 −1
  2828. arch/x86/lib/memset_64.S +42 −12
  2829. arch/x86/mm/Makefile +2 −2
  2830. arch/x86/mm/amdtopology.c +11 −10
  2831. arch/x86/mm/fault.c +22 −6
  2832. arch/x86/mm/hugetlbpage.c +2 −2
  2833. arch/x86/mm/init.c +22 −4
  2834. arch/x86/mm/init_32.c +3 −0
  2835. arch/x86/mm/init_64.c +2 −8
  2836. arch/x86/mm/ioremap.c +7 −7
  2837. arch/x86/mm/numa.c +559 −22
  2838. arch/x86/mm/numa_32.c +102 −296
  2839. arch/x86/mm/numa_64.c +1 −643
  2840. arch/x86/mm/numa_emulation.c +17 −19
  2841. arch/x86/mm/numa_internal.h +8 −0
  2842. arch/x86/mm/pf_in.c +3 −11
  2843. arch/x86/mm/srat.c +3 −79
  2844. arch/x86/mm/srat_32.c +0 −286
  2845. arch/x86/net/Makefile +4 −0
  2846. arch/x86/net/bpf_jit.S +140 −0
  2847. arch/x86/net/bpf_jit_comp.c +654 −0
  2848. arch/x86/oprofile/backtrace.c +0 −13
  2849. arch/x86/oprofile/nmi_int.c +5 −0
  2850. arch/x86/oprofile/op_counter.h +1 −0
  2851. arch/x86/oprofile/op_model_amd.c +54 −41
  2852. arch/x86/pci/direct.c +6 −11
  2853. arch/x86/pci/irq.c +3 −1
  2854. arch/x86/pci/mmconfig-shared.c +10 −0
  2855. arch/x86/pci/xen.c +91 −5
  2856. arch/x86/platform/ce4100/falconfalls.dts +5 −3
  2857. arch/x86/platform/efi/efi.c +101 −22
  2858. arch/x86/platform/efi/efi_64.c +11 −26
  2859. arch/x86/platform/mrst/mrst.c +7 −7
  2860. arch/x86/platform/mrst/vrtc.c +3 −1
  2861. arch/x86/platform/olpc/Makefile +1 −3
  2862. arch/x86/platform/olpc/olpc.c +27 −24
  2863. arch/x86/platform/olpc/olpc_dt.c +19 −0
  2864. arch/x86/platform/uv/tlb_uv.c +834 −651
  2865. arch/x86/platform/uv/uv_time.c +13 −9
  2866. arch/x86/platform/visws/visws_quirks.c +6 −14
  2867. arch/x86/vdso/Makefile +15 −2
  2868. arch/x86/vdso/vclock_gettime.c +53 −21
  2869. arch/x86/vdso/vdso.lds.S +2 −7
  2870. arch/x86/vdso/vextern.h +0 −16
  2871. arch/x86/vdso/vgetcpu.c +1 −2
  2872. arch/x86/vdso/vma.c +0 −27
  2873. arch/x86/vdso/vvar.c +0 −12
  2874. arch/x86/xen/Kconfig +1 −0
  2875. arch/x86/xen/enlighten.c +17 −24
  2876. arch/x86/xen/irq.c +1 −1
  2877. arch/x86/xen/mmu.c +94 −258
  2878. arch/x86/xen/mmu.h +0 −37
  2879. arch/x86/xen/p2m.c +34 −9
  2880. arch/x86/xen/pci-swiotlb-xen.c +1 −1
  2881. arch/x86/xen/setup.c +7 −3
  2882. arch/x86/xen/smp.c +6 −7
  2883. arch/x86/xen/time.c +5 −9
  2884. arch/x86/xen/xen-ops.h +1 −1
  2885. arch/xtensa/Kconfig +0 −7
  2886. arch/xtensa/configs/s6105_defconfig +0 −1
  2887. arch/xtensa/include/asm/dma.h +1 −1
  2888. arch/xtensa/include/asm/page.h +0 −4
  2889. arch/xtensa/include/asm/unistd.h +3 −1
  2890. arch/xtensa/kernel/entry.S +1 −1
  2891. arch/xtensa/kernel/irq.c +6 −12
  2892. arch/xtensa/kernel/vmlinux.lds.S +1 −1
  2893. arch/xtensa/mm/mmu.c +0 −2
  2894. arch/xtensa/mm/pgtable.c +0 −72
  2895. block/blk-cgroup.c +177 −52
  2896. block/blk-cgroup.h +32 −11
  2897. block/blk-core.c +125 −98
  2898. block/blk-exec.c +2 −2
  2899. block/blk-flush.c +16 −10
  2900. block/blk-integrity.c +11 −1
  2901. block/blk-ioc.c +3 −0
  2902. block/blk-lib.c +26 −56
  2903. block/blk-settings.c +8 −1
  2904. block/blk-sysfs.c +8 −6
  2905. block/blk-throttle.c +242 −82
  2906. block/blk.h +23 −2
  2907. block/cfq-iosched.c +181 −84
  2908. block/elevator.c +17 −30
  2909. block/genhd.c +8 −4
  2910. crypto/Kconfig +0 −6
  2911. crypto/ansi_cprng.c +1 −1
  2912. crypto/async_tx/async_xor.c +1 −1
  2913. crypto/gf128mul.c +1 −1
  2914. crypto/tcrypt.c +4 −0
  2915. crypto/testmgr.c +16 −0
  2916. crypto/testmgr.h +60 −0
  2917. crypto/vmac.c +1 −1
  2918. crypto/xts.c +1 −1
  2919. drivers/Kconfig +7 −0
  2920. drivers/Makefile +8 −5
  2921. drivers/acpi/Kconfig +15 −11
  2922. drivers/acpi/Makefile +1 −1
  2923. drivers/acpi/acpica/Makefile +1 −1
  2924. drivers/acpi/acpica/acconfig.h +0 −1
  2925. drivers/acpi/acpica/acevents.h +11 −6
  2926. drivers/acpi/acpica/acglobal.h +6 −7
  2927. drivers/acpi/acpica/amlcode.h +0 −15
  2928. drivers/acpi/acpica/dswload.c +1 −1
  2929. drivers/acpi/acpica/dswload2.c +1 −1
  2930. drivers/acpi/acpica/evglock.c +335 −0
  2931. drivers/acpi/acpica/evmisc.c +0 −303
  2932. drivers/acpi/acpica/evregion.c +119 −2
  2933. drivers/acpi/acpica/evrgnini.c +1 −1
  2934. drivers/acpi/acpica/evxfregn.c +7 −6
  2935. drivers/acpi/acpica/excreate.c +2 −1
  2936. drivers/acpi/acpica/nsrepair.c +5 −8
  2937. drivers/acpi/acpica/utdecode.c +3 −2
  2938. drivers/acpi/acpica/utmutex.c +9 −3
  2939. drivers/acpi/acpica/utresrc.c +1 −1
  2940. drivers/acpi/apei/Kconfig +1 −0
  2941. drivers/acpi/apei/einj.c +8 −0
  2942. drivers/acpi/apei/erst.c +45 −16
  2943. drivers/acpi/apei/ghes.c +1 −1
  2944. drivers/acpi/atomicio.c +4 −0
  2945. drivers/acpi/bus.c +1 −1
  2946. drivers/acpi/custom_method.c +100 −0
  2947. drivers/acpi/debugfs.c +4 −88
  2948. drivers/acpi/ec.c +12 −7
  2949. drivers/acpi/internal.h +2 −1
  2950. drivers/acpi/osl.c +25 −8
  2951. drivers/acpi/pci_root.c +10 −4
  2952. drivers/acpi/processor_core.c +9 −3
  2953. drivers/acpi/processor_idle.c +1 −1
  2954. drivers/acpi/processor_perflib.c +1 −5
  2955. drivers/acpi/processor_throttling.c +11 −23
  2956. drivers/acpi/scan.c +4 −0
  2957. drivers/acpi/sysfs.c +8 −0
  2958. drivers/acpi/video.c +3 −3
  2959. drivers/amba/bus.c +9 −4
  2960. drivers/ata/acard-ahci.c +1 −1
  2961. drivers/ata/ahci.c +8 −2
  2962. drivers/ata/ahci.h +6 −2
  2963. drivers/ata/ata_piix.c +13 −5
  2964. drivers/ata/libahci.c +37 −2
  2965. drivers/ata/libata-core.c +11 −4
  2966. drivers/ata/libata-eh.c +10 −8
  2967. drivers/ata/libata-pmp.c +10 −0
  2968. drivers/ata/libata-scsi.c +9 −8
  2969. drivers/ata/libata-sff.c +9 −4
  2970. drivers/ata/pata_amd.c +1 −1
  2971. drivers/ata/pata_arasan_cf.c +4 −4
  2972. drivers/ata/pata_at91.c +200 −85
  2973. drivers/ata/pata_bf54x.c +1 −1
  2974. drivers/ata/pata_cmd64x.c +38 −4
  2975. drivers/ata/pata_cs5520.c +1 −1
  2976. drivers/ata/pata_mpiix.c +1 −1
  2977. drivers/ata/pata_palmld.c +22 −21
  2978. drivers/ata/pata_pcmcia.c +1 −1
  2979. drivers/ata/pata_rz1000.c +1 −1
  2980. drivers/ata/pata_sil680.c +2 −2
  2981. drivers/ata/pata_sis.c +2 −2
  2982. drivers/ata/pata_triflex.c +23 −2
  2983. drivers/ata/sata_fsl.c +2 −2
  2984. drivers/ata/sata_mv.c +2 −2
  2985. drivers/ata/sata_nv.c +1 −1
  2986. drivers/ata/sata_via.c +1 −1
  2987. drivers/atm/ambassador.c +1 −1
  2988. drivers/atm/eni.c +0 −5
  2989. drivers/atm/firestream.c +1 −1
  2990. drivers/atm/fore200e.c +5 −2
  2991. drivers/atm/fore200e.h +2 −2
  2992. drivers/atm/he.c +2 −2
  2993. drivers/atm/horizon.c +5 −5
  2994. drivers/atm/idt77252.c +5 −49
  2995. drivers/atm/idt77252.h +1 −1
  2996. drivers/atm/iphase.c +6 −14
  2997. drivers/atm/lanai.c +2 −2
  2998. drivers/atm/solos-pci.c +12 −30
  2999. drivers/auxdisplay/cfag12864b.c +2 −2
  3000. drivers/base/Kconfig +0 −7
  3001. drivers/base/base.h +0 −2
  3002. drivers/base/core.c +3 −4
  3003. drivers/base/dd.c +11 −7
  3004. drivers/base/firmware_class.c +5 −0
  3005. drivers/base/memory.c +15 −23
  3006. drivers/base/node.c +9 −5
  3007. drivers/base/platform.c +42 −137
  3008. drivers/base/power/Makefile +2 −2
  3009. drivers/base/power/clock_ops.c +431 −0
  3010. drivers/base/power/generic_ops.c +39 −0
  3011. drivers/base/power/main.c +48 −43
  3012. drivers/base/power/runtime.c +11 −20
  3013. drivers/base/power/sysfs.c +2 −2
  3014. drivers/base/power/wakeup.c +1 −2
  3015. drivers/base/sys.c +5 −203
  3016. drivers/base/syscore.c +2 −0
  3017. drivers/bcma/Kconfig +33 −0
  3018. drivers/bcma/Makefile +7 −0
  3019. drivers/bcma/README +19 −0
  3020. drivers/bcma/TODO +3 −0
  3021. drivers/bcma/bcma_private.h +28 −0
  3022. drivers/bcma/core.c +51 −0
  3023. drivers/bcma/driver_chipcommon.c +89 −0
  3024. drivers/bcma/driver_chipcommon_pmu.c +134 −0
  3025. drivers/bcma/driver_pci.c +163 −0
  3026. drivers/bcma/host_pci.c +198 −0
  3027. drivers/bcma/main.c +247 −0
  3028. drivers/bcma/scan.c +360 −0
  3029. drivers/bcma/scan.h +56 −0
  3030. drivers/block/DAC960.c +1 −2
  3031. drivers/block/Kconfig +21 −0
  3032. drivers/block/Makefile +1 −0
  3033. drivers/block/amiflop.c +0 −1
  3034. drivers/block/ataflop.c +0 −1
  3035. drivers/block/brd.c +26 −16
  3036. drivers/block/cciss.c +457 −114
  3037. drivers/block/cciss.h +9 −2
  3038. drivers/block/cciss_cmd.h +11 −0
  3039. drivers/block/cciss_scsi.c +23 −18
  3040. drivers/block/cciss_scsi.h +0 −4
  3041. drivers/block/drbd/drbd_actlog.c +2 −2
  3042. drivers/block/drbd/drbd_bitmap.c +3 −3
  3043. drivers/block/drbd/drbd_int.h +19 −11
  3044. drivers/block/drbd/drbd_main.c +33 −8
  3045. drivers/block/drbd/drbd_nl.c +94 −33
  3046. drivers/block/drbd/drbd_receiver.c +28 −42
  3047. drivers/block/drbd/drbd_req.c +10 −10
  3048. drivers/block/drbd/drbd_req.h +3 −2
  3049. drivers/block/drbd/drbd_vli.h +1 −1
  3050. drivers/block/drbd/drbd_worker.c +61 −37
  3051. drivers/block/floppy.c +1 −1
  3052. drivers/block/hd.c +1 −1
  3053. drivers/block/loop.c +21 −7
  3054. drivers/block/paride/pcd.c +1 −0
  3055. drivers/block/paride/pd.c +0 −1
  3056. drivers/block/paride/pf.c +0 −1
  3057. drivers/block/rbd.c +176 −32
  3058. drivers/block/swim.c +0 −1
  3059. drivers/block/swim3.c +0 −1
  3060. drivers/block/ub.c +0 −1
  3061. drivers/block/viodasd.c +1 −1
  3062. drivers/block/xen-blkback/Makefile +3 −0
  3063. drivers/block/xen-blkback/blkback.c +824 −0
  3064. drivers/block/xen-blkback/common.h +233 −0
  3065. drivers/block/xen-blkback/xenbus.c +768 −0
  3066. drivers/block/xen-blkfront.c +37 −14
  3067. drivers/block/xsysace.c +4 −5
  3068. drivers/bluetooth/Kconfig +2 −2
  3069. drivers/bluetooth/ath3k.c +1 −3
  3070. drivers/bluetooth/bluecard_cs.c +1 −1
  3071. drivers/bluetooth/bt3c_cs.c +1 −1
  3072. drivers/bluetooth/btmrvl_sdio.c +94 −30
  3073. drivers/bluetooth/btmrvl_sdio.h +36 −32
  3074. drivers/bluetooth/btuart_cs.c +1 −1
  3075. drivers/bluetooth/btusb.c +6 −1
  3076. drivers/bluetooth/dtl1_cs.c +1 −1
  3077. drivers/bluetooth/hci_ath.c +6 −1
  3078. drivers/bluetooth/hci_h4.c +6 −1
  3079. drivers/bluetooth/hci_ldisc.c +11 −6
  3080. drivers/bluetooth/hci_ll.c +1 −1
  3081. drivers/cdrom/cdrom.c +5 −5
  3082. drivers/cdrom/gdrom.c +0 −1
  3083. drivers/cdrom/viocd.c +2 −1
  3084. drivers/char/Kconfig +1 −1
  3085. drivers/char/agp/agp.h +1 −1
  3086. drivers/char/agp/amd-k7-agp.c +1 −1
  3087. drivers/char/agp/generic.c +15 −4
  3088. drivers/char/agp/intel-agp.c +3 −0
  3089. drivers/char/agp/intel-agp.h +8 −0
  3090. drivers/char/agp/intel-gtt.c +10 −0
  3091. drivers/char/agp/sworks-agp.c +1 −1
  3092. drivers/char/agp/uninorth-agp.c +1 −1
  3093. drivers/char/agp/via-agp.c +1 −1
  3094. drivers/char/apm-emulation.c +0 −5
  3095. drivers/char/bsr.c +1 −1
  3096. drivers/char/hpet.c +1 −5
  3097. drivers/char/hw_random/Kconfig +1 −1
  3098. drivers/char/hw_random/amd-rng.c +9 −0
  3099. drivers/char/hw_random/n2-drv.c +5 −2
  3100. drivers/char/i8k.c +164 −2
  3101. drivers/char/ipmi/ipmi_msghandler.c +81 −57
  3102. drivers/char/ipmi/ipmi_poweroff.c +1 −1
  3103. drivers/char/ipmi/ipmi_si_intf.c +67 −32
  3104. drivers/char/mbcs.h +2 −2
  3105. drivers/char/mem.c +27 −15
  3106. drivers/char/mspec.c +2 −3
  3107. drivers/char/mwave/3780i.h +1 −1
  3108. drivers/char/nwbutton.c +1 −1
  3109. drivers/char/pcmcia/cm4000_cs.c +2 −2
  3110. drivers/char/pcmcia/cm4040_cs.c +1 −1
  3111. drivers/char/pcmcia/synclink_cs.c +3 −3
  3112. drivers/char/ppdev.c +1 −0
  3113. drivers/char/random.c +1 −1
  3114. drivers/char/raw.c +27 −7
  3115. drivers/char/sonypi.c +2 −2
  3116. drivers/char/virtio_console.c +0 −11
  3117. drivers/char/xilinx_hwicap/xilinx_hwicap.c +10 −6
  3118. drivers/clk/clkdev.c +9 −10
  3119. drivers/clocksource/Kconfig +5 −0
  3120. drivers/clocksource/Makefile +2 −0
  3121. drivers/clocksource/cyclone.c +2 −8
  3122. drivers/clocksource/i8253.c +88 −0
  3123. drivers/clocksource/mmio.c +73 −0
  3124. drivers/clocksource/sh_cmt.c +17 −14
  3125. drivers/clocksource/sh_tmu.c +18 −13
  3126. drivers/connector/cn_queue.c +17 −41
  3127. drivers/connector/connector.c +13 −35
  3128. drivers/cpufreq/Kconfig +9 −14
  3129. drivers/cpufreq/Kconfig.x86 +3 −14
  3130. drivers/cpufreq/Makefile +28 −0
  3131. drivers/cpufreq/acpi-cpufreq.c +21 −24
  3132. drivers/cpufreq/cpufreq-nforce2.c +2 −4
  3133. drivers/cpufreq/cpufreq.c +60 −157
  3134. drivers/cpufreq/cpufreq_performance.c +1 −4
  3135. drivers/cpufreq/cpufreq_powersave.c +1 −4
  3136. drivers/cpufreq/cpufreq_stats.c +19 −5
  3137. drivers/cpufreq/cpufreq_userspace.c +5 −8
  3138. drivers/cpufreq/db8500-cpufreq.c +169 −0
  3139. drivers/cpufreq/e_powersaver.c +0 −0
  3140. drivers/cpufreq/elanfreq.c +0 −0
  3141. drivers/cpufreq/freq_table.c +8 −11
  3142. drivers/cpufreq/gx-suspmod.c +9 −12
  3143. drivers/cpufreq/longhaul.c +3 −8
  3144. drivers/cpufreq/longhaul.h +0 −0
  3145. drivers/cpufreq/longrun.c +7 −10
  3146. drivers/cpufreq/mperf.c +0 −0
  3147. drivers/cpufreq/mperf.h +0 −0
  3148. drivers/cpufreq/p4-clockmod.c +4 −6
  3149. drivers/cpufreq/pcc-cpufreq.c +24 −27
  3150. drivers/cpufreq/powernow-k6.c +0 −0
  3151. drivers/cpufreq/powernow-k7.c +14 −19
  3152. drivers/cpufreq/powernow-k7.h +0 −0
  3153. drivers/cpufreq/powernow-k8.c +50 −50
  3154. drivers/cpufreq/powernow-k8.h +0 −2
  3155. drivers/cpufreq/sc520_freq.c +2 −4
  3156. drivers/cpufreq/speedstep-centrino.c +10 −13
  3157. drivers/cpufreq/speedstep-ich.c +12 −16
  3158. drivers/cpufreq/speedstep-lib.c +20 −23
  3159. drivers/cpufreq/speedstep-lib.h +0 −0
  3160. drivers/cpufreq/speedstep-smi.c +19 −22
  3161. drivers/cpuidle/governors/menu.c +3 −1
  3162. drivers/crypto/Kconfig +45 −22
  3163. drivers/crypto/Makefile +2 −0
  3164. drivers/crypto/amcc/crypto4xx_sa.c +1 −1
  3165. drivers/crypto/amcc/crypto4xx_sa.h +1 −1
  3166. drivers/crypto/caam/Kconfig +72 −0
  3167. drivers/crypto/caam/Makefile +8 −0
  3168. drivers/crypto/caam/caamalg.c +1268 −0
  3169. drivers/crypto/caam/compat.h +35 −0
  3170. drivers/crypto/caam/ctrl.c +269 −0
  3171. drivers/crypto/caam/desc.h +1605 −0
  3172. drivers/crypto/caam/desc_constr.h +205 −0
  3173. drivers/crypto/caam/error.c +248 −0
  3174. drivers/crypto/caam/error.h +11 −0
  3175. drivers/crypto/caam/intern.h +113 −0
  3176. drivers/crypto/caam/jr.c +517 −0
  3177. drivers/crypto/caam/jr.h +21 −0
  3178. drivers/crypto/caam/regs.h +663 −0
  3179. drivers/crypto/ixp4xx_crypto.c +1 −1
  3180. drivers/crypto/mv_cesa.c +43 −54
  3181. drivers/crypto/omap-sham.c +34 −44
  3182. drivers/crypto/padlock-sha.c +264 −5
  3183. drivers/crypto/picoxcell_crypto.c +35 −29
  3184. drivers/crypto/s5p-sss.c +701 −0
  3185. drivers/dma/Kconfig +7 −5
  3186. drivers/dma/TODO +14 −0
  3187. drivers/dma/at_hdmac.c +292 −86
  3188. drivers/dma/at_hdmac_regs.h +25 −5
  3189. drivers/dma/coh901318.c +2 −2
  3190. drivers/dma/dmatest.c +3 −3
  3191. drivers/dma/dw_dmac.c +182 −92
  3192. drivers/dma/dw_dmac_regs.h +2 −0
  3193. drivers/dma/fsldma.c +1 −1
  3194. drivers/dma/intel_mid_dma.c +17 −8
  3195. drivers/dma/intel_mid_dma_regs.h +2 −2
  3196. drivers/dma/ioat/dma.c +1 −0
  3197. drivers/dma/ioat/dma_v2.c +7 −2
  3198. drivers/dma/ioat/dma_v3.c +1 −0
  3199. drivers/dma/iop-adma.c +3 −3
  3200. drivers/dma/mpc512x_dma.c +1 −1
  3201. drivers/dma/mv_xor.c +3 −3
  3202. drivers/dma/pch_dma.c +66 −30
  3203. drivers/dma/ppc4xx/adma.c +4 −4
  3204. drivers/dma/shdma.c +178 −53
  3205. drivers/dma/shdma.h +2 −1
  3206. drivers/dma/ste_dma40.c +4 −4
  3207. drivers/dma/timb_dma.c +1 −2
  3208. drivers/edac/Kconfig +1 −1
  3209. drivers/edac/amd64_edac.c +78 −10
  3210. drivers/edac/amd64_edac.h +3 −0
  3211. drivers/edac/amd76x_edac.c +1 −1
  3212. drivers/edac/amd8111_edac.c +1 −1
  3213. drivers/edac/amd8131_edac.c +1 −1
  3214. drivers/edac/cpc925_edac.c +2 −2
  3215. drivers/edac/e752x_edac.c +1 −1
  3216. drivers/edac/e7xxx_edac.c +1 −1
  3217. drivers/edac/edac_core.h +4 −16
  3218. drivers/edac/edac_device.c +8 −20
  3219. drivers/edac/edac_device_sysfs.c +2 −2
  3220. drivers/edac/edac_mc.c +7 −11
  3221. drivers/edac/edac_mc_sysfs.c +6 −7
  3222. drivers/edac/edac_module.c +1 −1
  3223. drivers/edac/edac_pci.c +6 −15
  3224. drivers/edac/edac_pci_sysfs.c +2 −2
  3225. drivers/edac/i3200_edac.c +13 −0
  3226. drivers/edac/i5000_edac.c +2 −2
  3227. drivers/edac/i5100_edac.c +1 −1
  3228. drivers/edac/i5400_edac.c +3 −3
  3229. drivers/edac/i7300_edac.c +2 −2
  3230. drivers/edac/i7core_edac.c +2 −2
  3231. drivers/edac/i82443bxgx_edac.c +2 −2
  3232. drivers/edac/i82860_edac.c +1 −1
  3233. drivers/edac/i82875p_edac.c +1 −1
  3234. drivers/edac/i82975x_edac.c +1 −1
  3235. drivers/edac/mce_amd_inj.c +1 −1
  3236. drivers/edac/mpc85xx_edac.c +19 −8
  3237. drivers/edac/mpc85xx_edac.h +1 −1
  3238. drivers/edac/mv64x60_edac.h +1 −1
  3239. drivers/edac/ppc4xx_edac.c +2 −2
  3240. drivers/edac/r82600_edac.c +4 −4
  3241. drivers/firewire/core-card.c +16 −11
  3242. drivers/firewire/core-cdev.c +3 −4
  3243. drivers/firewire/core-device.c +20 −11
  3244. drivers/firewire/core-iso.c +17 −10
  3245. drivers/firewire/core-transaction.c +15 −4
  3246. drivers/firewire/core.h +2 −0
  3247. drivers/firewire/net.c +4 −2
  3248. drivers/firewire/ohci.c +67 −36
  3249. drivers/firewire/sbp2.c +11 −26
  3250. drivers/firmware/Kconfig +2 −0
  3251. drivers/firmware/Makefile +2 −0
  3252. drivers/firmware/edd.c +11 −11
  3253. drivers/firmware/efivars.c +16 −7
  3254. drivers/firmware/google/Kconfig +31 −0
  3255. drivers/firmware/google/Makefile +3 −0
  3256. drivers/firmware/google/gsmi.c +940 −0
  3257. drivers/firmware/google/memconsole.c +166 −0
  3258. drivers/firmware/iscsi_ibft.c +2 −2
  3259. drivers/firmware/iscsi_ibft_find.c +32 −19
  3260. drivers/gpio/Kconfig +57 −11
  3261. drivers/gpio/Makefile +10 −5
  3262. drivers/gpio/ab8500-gpio.c +3 −4
  3263. drivers/gpio/basic_mmio_gpio.c +384 −133
  3264. drivers/gpio/gpio-exynos4.c +0 −0
  3265. drivers/gpio/gpio-nomadik.c +61 −16
  3266. drivers/gpio/gpio-omap.c +13 −134
  3267. drivers/gpio/gpio-plat-samsung.c +0 −0
  3268. drivers/gpio/gpio-s5pc100.c +0 −0
  3269. drivers/gpio/gpio-s5pv210.c +0 −0
  3270. drivers/gpio/gpio-u300.c +0 −0
  3271. drivers/gpio/gpiolib.c +19 −4
  3272. drivers/gpio/janz-ttl.c +1 −2
  3273. drivers/gpio/langwell_gpio.c +66 −1
  3274. drivers/gpio/mc33880.c +1 −1
  3275. drivers/gpio/ml_ioh_gpio.c +4 −0
  3276. drivers/gpio/pca953x.c +195 −61
  3277. drivers/gpio/pch_gpio.c +3 −0
  3278. drivers/gpio/rdc321x-gpio.c +1 −2
  3279. drivers/gpio/timbgpio.c +3 −3
  3280. drivers/gpio/tps65910-gpio.c +100 −0
  3281. drivers/gpio/vx855_gpio.c +1 −0
  3282. drivers/gpu/drm/Kconfig +2 −0
  3283. drivers/gpu/drm/drm_crtc.c +2 −2
  3284. drivers/gpu/drm/drm_edid.c +61 −3
  3285. drivers/gpu/drm/drm_fb_helper.c +78 −182
  3286. drivers/gpu/drm/drm_irq.c +28 −4
  3287. drivers/gpu/drm/drm_mm.c +4 −4
  3288. drivers/gpu/drm/drm_modes.c +156 −0
  3289. drivers/gpu/drm/drm_stub.c +21 −0
  3290. drivers/gpu/drm/i915/i915_debugfs.c +123 −8
  3291. drivers/gpu/drm/i915/i915_dma.c +50 −12
  3292. drivers/gpu/drm/i915/i915_drv.c +64 −6
  3293. drivers/gpu/drm/i915/i915_drv.h +78 −37
  3294. drivers/gpu/drm/i915/i915_gem.c +20 −25
  3295. drivers/gpu/drm/i915/i915_gem_gtt.c +29 −6
  3296. drivers/gpu/drm/i915/i915_gem_tiling.c +1 −1
  3297. drivers/gpu/drm/i915/i915_irq.c +264 −47
  3298. drivers/gpu/drm/i915/i915_reg.h +34 −1
  3299. drivers/gpu/drm/i915/i915_suspend.c +1 −2
  3300. drivers/gpu/drm/i915/intel_bios.c +3 −3
  3301. drivers/gpu/drm/i915/intel_crt.c +11 −33
  3302. drivers/gpu/drm/i915/intel_display.c +1421 −1027
  3303. drivers/gpu/drm/i915/intel_dp.c +16 −3
  3304. drivers/gpu/drm/i915/intel_drv.h +15 −7
  3305. drivers/gpu/drm/i915/intel_fb.c +10 −0
  3306. drivers/gpu/drm/i915/intel_i2c.c +21 −4
  3307. drivers/gpu/drm/i915/intel_lvds.c +5 −32
  3308. drivers/gpu/drm/i915/intel_ringbuffer.c +53 −35
  3309. drivers/gpu/drm/i915/intel_ringbuffer.h +19 −16
  3310. drivers/gpu/drm/i915/intel_sdvo.c +4 −6
  3311. drivers/gpu/drm/i915/intel_sdvo_regs.h +1 −1
  3312. drivers/gpu/drm/i915/intel_tv.c +11 −11
  3313. drivers/gpu/drm/mga/mga_dma.c +1 −1
  3314. drivers/gpu/drm/nouveau/Kconfig +2 −0
  3315. drivers/gpu/drm/nouveau/Makefile +2 −0
  3316. drivers/gpu/drm/nouveau/nouveau_acpi.c +97 −11
  3317. drivers/gpu/drm/nouveau/nouveau_bios.c +52 −8
  3318. drivers/gpu/drm/nouveau/nouveau_bios.h +1 −0
  3319. drivers/gpu/drm/nouveau/nouveau_channel.c +8 −16
  3320. drivers/gpu/drm/nouveau/nouveau_connector.c +5 −3
  3321. drivers/gpu/drm/nouveau/nouveau_display.c +1 −1
  3322. drivers/gpu/drm/nouveau/nouveau_dma.c +1 −1
  3323. drivers/gpu/drm/nouveau/nouveau_drv.c +17 −8
  3324. drivers/gpu/drm/nouveau/nouveau_drv.h +87 −126
  3325. drivers/gpu/drm/nouveau/nouveau_fbcon.c +2 −2
  3326. drivers/gpu/drm/nouveau/nouveau_gem.c +1 −1
  3327. drivers/gpu/drm/nouveau/nouveau_grctx.h +5 −5
  3328. drivers/gpu/drm/nouveau/nouveau_mem.c +75 −35
  3329. drivers/gpu/drm/nouveau/nouveau_notifier.c +7 −4
  3330. drivers/gpu/drm/nouveau/nouveau_object.c +22 −106
  3331. drivers/gpu/drm/nouveau/nouveau_perf.c +90 −4
  3332. drivers/gpu/drm/nouveau/nouveau_pm.c +13 −8
  3333. drivers/gpu/drm/nouveau/nouveau_reg.h +7 −7
  3334. drivers/gpu/drm/nouveau/nouveau_sgdma.c +5 −3
  3335. drivers/gpu/drm/nouveau/nouveau_state.c +99 −125
  3336. drivers/gpu/drm/nouveau/nouveau_vm.h +1 −2
  3337. drivers/gpu/drm/nouveau/nouveau_volt.c +9 −1
  3338. drivers/gpu/drm/nouveau/nv04_crtc.c +6 −7
  3339. drivers/gpu/drm/nouveau/nv04_dfp.c +7 −6
  3340. drivers/gpu/drm/nouveau/nv04_graph.c +214 −169
  3341. drivers/gpu/drm/nouveau/nv04_instmem.c +3 −0
  3342. drivers/gpu/drm/nouveau/nv10_graph.c +113 −99
  3343. drivers/gpu/drm/nouveau/nv20_graph.c +223 −287
  3344. drivers/gpu/drm/nouveau/nv40_fifo.c +2 −0
  3345. drivers/gpu/drm/nouveau/nv40_graph.c +173 −150
  3346. drivers/gpu/drm/nouveau/nv40_mpeg.c +311 −0
  3347. drivers/gpu/drm/nouveau/nv50_calc.c +37 −31
  3348. drivers/gpu/drm/nouveau/nv50_crtc.c +6 −10
  3349. drivers/gpu/drm/nouveau/nv50_display.c +15 −3
  3350. drivers/gpu/drm/nouveau/nv50_evo.c +1 −0
  3351. drivers/gpu/drm/nouveau/nv50_graph.c +244 −198
  3352. drivers/gpu/drm/nouveau/nv50_grctx.c +4 −6
  3353. drivers/gpu/drm/nouveau/nv50_instmem.c +6 −4
  3354. drivers/gpu/drm/nouveau/nv50_mpeg.c +256 −0
  3355. drivers/gpu/drm/nouveau/nv50_pm.c +15 −0
  3356. drivers/gpu/drm/nouveau/nv50_vm.c +8 −9
  3357. drivers/gpu/drm/nouveau/nv84_crypt.c +94 −41
  3358. drivers/gpu/drm/nouveau/nva3_copy.c +226 −0
  3359. drivers/gpu/drm/nouveau/nva3_copy.fuc +870 −0
  3360. drivers/gpu/drm/nouveau/nva3_copy.fuc.h +534 −0
  3361. drivers/gpu/drm/nouveau/nva3_pm.c +139 −30
  3362. drivers/gpu/drm/nouveau/nvc0_copy.c +243 −0
  3363. drivers/gpu/drm/nouveau/nvc0_copy.fuc.h +527 −0
  3364. drivers/gpu/drm/nouveau/nvc0_fifo.c +92 −50
  3365. drivers/gpu/drm/nouveau/nvc0_graph.c +294 −306
  3366. drivers/gpu/drm/nouveau/nvc0_graph.h +20 −9
  3367. drivers/gpu/drm/nouveau/nvc0_grctx.c +10 −10
  3368. drivers/gpu/drm/nouveau/nvc0_vm.c +16 −9
  3369. drivers/gpu/drm/radeon/atom.c +10 −6
  3370. drivers/gpu/drm/radeon/atombios.h +37 −19
  3371. drivers/gpu/drm/radeon/atombios_crtc.c +111 −45
  3372. drivers/gpu/drm/radeon/atombios_dp.c +579 −467
  3373. drivers/gpu/drm/radeon/evergreen.c +78 −77
  3374. drivers/gpu/drm/radeon/evergreen_cs.c +1 −1
  3375. drivers/gpu/drm/radeon/evergreend.h +8 −0
  3376. drivers/gpu/drm/radeon/ni.c +15 −11
  3377. drivers/gpu/drm/radeon/nid.h +3 −1
  3378. drivers/gpu/drm/radeon/r300.c +1 −1
  3379. drivers/gpu/drm/radeon/r300_reg.h +2 −2
  3380. drivers/gpu/drm/radeon/r600.c +2 −6
  3381. drivers/gpu/drm/radeon/r600_cs.c +1 −1
  3382. drivers/gpu/drm/radeon/r600_hdmi.c +1 −1
  3383. drivers/gpu/drm/radeon/radeon.h +10 −6
  3384. drivers/gpu/drm/radeon/radeon_asic.c +5 −1
  3385. drivers/gpu/drm/radeon/radeon_atombios.c +42 −24
  3386. drivers/gpu/drm/radeon/radeon_atpx_handler.c +27 −2
  3387. drivers/gpu/drm/radeon/radeon_combios.c +115 −15
  3388. drivers/gpu/drm/radeon/radeon_connectors.c +428 −190
  3389. drivers/gpu/drm/radeon/radeon_cp.c +1 −1
  3390. drivers/gpu/drm/radeon/radeon_cursor.c +4 −4
  3391. drivers/gpu/drm/radeon/radeon_device.c +4 −1
  3392. drivers/gpu/drm/radeon/radeon_display.c +9 −3
  3393. drivers/gpu/drm/radeon/radeon_drv.c +2 −1
  3394. drivers/gpu/drm/radeon/radeon_drv.h +1 −1
  3395. drivers/gpu/drm/radeon/radeon_encoders.c +207 −45
  3396. drivers/gpu/drm/radeon/radeon_fence.c +2 −2
  3397. drivers/gpu/drm/radeon/radeon_gart.c +5 −3
  3398. drivers/gpu/drm/radeon/radeon_i2c.c +10 −2
  3399. drivers/gpu/drm/radeon/radeon_kms.c +16 −0
  3400. drivers/gpu/drm/radeon/radeon_legacy_encoders.c +1 −1
  3401. drivers/gpu/drm/radeon/radeon_mode.h +12 −7
  3402. drivers/gpu/drm/radeon/radeon_object.h +1 −1
  3403. drivers/gpu/drm/radeon/radeon_pm.c +9 −2
  3404. drivers/gpu/drm/radeon/radeon_ring.c +2 −2
  3405. drivers/gpu/drm/radeon/radeon_state.c +1 −1
  3406. drivers/gpu/drm/radeon/reg_srcs/cayman +1 −0
  3407. drivers/gpu/drm/radeon/reg_srcs/evergreen +1 −0
  3408. drivers/gpu/drm/radeon/reg_srcs/r600 +1 −0
  3409. drivers/gpu/drm/radeon/rs600.c +1 −12
  3410. drivers/gpu/drm/radeon/rv770.c +1 −5
  3411. drivers/gpu/drm/ttm/ttm_bo.c +5 −5
  3412. drivers/gpu/drm/ttm/ttm_object.c +1 −1
  3413. drivers/gpu/drm/ttm/ttm_page_alloc.c +6 −24
  3414. drivers/gpu/drm/ttm/ttm_tt.c +8 −8
  3415. drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +1 −1
  3416. drivers/gpu/stub/Kconfig +1 −0
  3417. drivers/gpu/vga/vga_switcheroo.c +3 −9
  3418. drivers/gpu/vga/vgaarb.c +101 −16
  3419. drivers/hid/Kconfig +25 −30
  3420. drivers/hid/Makefile +0 −4
  3421. drivers/hid/hid-3m-pct.c +0 −305
  3422. drivers/hid/hid-cando.c +0 −276
  3423. drivers/hid/hid-core.c +38 −3
  3424. drivers/hid/hid-debug.c +1 −1
  3425. drivers/hid/hid-ids.h +56 −1
  3426. drivers/hid/hid-input.c +52 −8
  3427. drivers/hid/hid-lg.c +2 −0
  3428. drivers/hid/hid-lgff.c +5 −0
  3429. drivers/hid/hid-magicmouse.c +12 −2
  3430. drivers/hid/hid-mosart.c +0 −296
  3431. drivers/hid/hid-multitouch.c +217 −47
  3432. drivers/hid/hid-ortek.c +13 −3
  3433. drivers/hid/hid-picolcd.c +4 −4
  3434. drivers/hid/hid-roccat-kone.h +1 −1
  3435. drivers/hid/hid-roccat-koneplus.c +44 −38
  3436. drivers/hid/hid-roccat-koneplus.h +5 −6
  3437. drivers/hid/hid-roccat-pyra.c +2 −1
  3438. drivers/hid/hid-sony.c +2 −0
  3439. drivers/hid/hid-stantum.c +0 −286
  3440. drivers/hid/hidraw.c +10 −20
  3441. drivers/hid/usbhid/hid-quirks.c +3 −0
  3442. drivers/hid/usbhid/hiddev.c +14 −20
  3443. drivers/hwmon/Kconfig +100 −19
  3444. drivers/hwmon/Makefile +8 −1
  3445. drivers/hwmon/abituguru.c +1 −4
  3446. drivers/hwmon/abituguru3.c +1 −14
  3447. drivers/hwmon/acpi_power_meter.c +0 −0
  3448. drivers/hwmon/adcxx.c +8 −8
  3449. drivers/hwmon/adm1026.c +1 −1
  3450. drivers/hwmon/adm1275.c +121 −0
  3451. drivers/hwmon/coretemp.c +507 −235
  3452. drivers/hwmon/emc6w201.c +539 −0
  3453. drivers/hwmon/f71882fg.c +105 −10
  3454. drivers/hwmon/fam15h_power.c +229 −0
  3455. drivers/hwmon/ibmaem.c +5 −5
  3456. drivers/hwmon/it87.c +19 −12
  3457. drivers/hwmon/jc42.c +1 −1
  3458. drivers/hwmon/k10temp.c +6 −5
  3459. drivers/hwmon/k8temp.c +4 −4
  3460. drivers/hwmon/lm70.c +5 −5
  3461. drivers/hwmon/lm85.c +5 −3
  3462. drivers/hwmon/lm90.c +16 −8
  3463. drivers/hwmon/max16065.c +717 −0
  3464. drivers/hwmon/max34440.c +3 −3
  3465. drivers/hwmon/max6642.c +356 −0
  3466. drivers/hwmon/max6650.c +28 −50
  3467. drivers/hwmon/max8688.c +2 −2
  3468. drivers/hwmon/pkgtemp.c +0 −444
  3469. drivers/hwmon/pmbus.h +4 −6
.mailmap+1−0
@@ -32,6 +32,7 @@ Brian Avery <b.avery@hp.com> · 31 unmodified lines
3232 Brian King <brking@us.ibm.com>
3333 Christoph Hellwig <hch@lst.de>
3434 Corey Minyard <minyard@acm.org>
35+Damian Hobson-Garcia <dhobsong@igel.co.jp>
3536 David Brownell <david-b@pacbell.net>
3637 David Woodhouse <dwmw2@shinybook.infradead.org>
3738 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
CREDITS+12−4
@@ -328,7 +328,7 @@ S: Haifa, Israel · 327 unmodified lines
328328 N: Johannes Berg
329329 E: johannes@sipsolutions.net
330330 W: http://johannes.sipsolutions.net/
331−P: 1024D/9AB78CA5 AD02 0176 4E29 C137 1DF6 08D2 FC44 CF86 9AB7 8CA5
331+P: 4096R/7BF9099A C0EB C440 F6DA 091C 884D 8532 E0F3 73F3 7BF9 099A
332332 D: powerpc & 802.11 hacker
333333
334334 N: Stephen R. van den Berg (AKA BuGless)
@@ -1677,7 +1677,7 @@ W: http://www.codemonkey.org.uk · 1342 unmodified lines
16771677 D: Assorted VIA x86 support.
16781678 D: 2.5 AGPGART overhaul.
16791679 D: CPUFREQ maintenance.
1680−D: Fedora kernel maintainence.
1680+D: Fedora kernel maintenance.
16811681 D: Misc/Other.
16821682 S: 314 Littleton Rd, Westford, MA 01886, USA
16831683
@@ -2943,6 +2943,10 @@ S: Kasarmikatu 11 A4 · 1259 unmodified lines
29432943 S: 70110 Kuopio
29442944 S: Finland
29452945
2946+N: Tobias Ringström
2947+E: tori@unhappy.mine.nu
2948+D: Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver
2949+
29462950 N: Luca Risolia
29472951 E: luca.risolia@studio.unibo.it
29482952 P: 1024D/FCE635A4 88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4
@@ -3211,7 +3215,7 @@ N: James Simmons · 262 unmodified lines
32113215 E: jsimmons@infradead.org
32123216 E: jsimmons@users.sf.net
32133217 D: Frame buffer device maintainer
3214−D: input layer developement
3218+D: input layer development
32153219 D: tty/console layer
32163220 D: various mipsel devices
32173221 S: 115 Carmel Avenue
@@ -3290,7 +3294,7 @@ S: USA · 72 unmodified lines
32903294 N: Manfred Spraul
32913295 E: manfred@colorfullife.com
32923296 W: http://www.colorfullife.com/~manfred
3293−D: Lots of tiny hacks. Larger improvments to SysV IPC msg,
3297+D: Lots of tiny hacks. Larger improvements to SysV IPC msg,
32943298 D: slab, pipe, select.
32953299 S: 71701 Schwieberdingen
32963300 S: Germany
@@ -3913,6 +3917,10 @@ S: Flandernstrasse 101 · 616 unmodified lines
39133917 S: D-73732 Esslingen
39143918 S: Germany
39153919
3920+N: Roman Zippel
3921+E: zippel@linux-m68k.org
3922+D: AFFS and HFS filesystems, m68k maintainer, new kernel configuration in 2.5
3923+
39163924 N: Leonard N. Zubkoff
39173925 W: http://www.dandelion.com/Linux/
39183926 D: BusLogic SCSI driver
Documentation/00-INDEX+4−8
@@ -192,10 +192,6 @@ kernel-docs.txt · 191 unmodified lines
192192 - listing of various WWW + books that document kernel internals.
193193 kernel-parameters.txt
194194 - summary listing of command line / boot prompt args for the kernel.
195−keys-request-key.txt
196− - description of the kernel key request service.
197−keys.txt
198− - description of the kernel key retention service.
199195 kobject.txt
200196 - info of the kobject infrastructure of the Linux kernel.
201197 kprobes.txt
@@ -206,8 +202,8 @@ laptops/ · 4 unmodified lines
206202 - directory with laptop related info and laptop driver documentation.
207203 ldm.txt
208204 - a brief description of LDM (Windows Dynamic Disks).
209−leds-class.txt
210− - documents LED handling under Linux.
205+leds/
206+ - directory with info about LED handling under Linux.
211207 local_ops.txt
212208 - semantics and behavior of local atomic operations.
213209 lockdep-design.txt
@@ -294,6 +290,8 @@ scheduler/ · 80 unmodified lines
294290 - directory with info on the scheduler.
295291 scsi/
296292 - directory with info on Linux scsi support.
293+security/
294+ - directory that contains security-related info
297295 serial/
298296 - directory with info on the low level serial API.
299297 serial-console.txt
@@ -328,8 +326,6 @@ sysrq.txt · 28 unmodified lines
328326 - info on the magic SysRq key.
329327 telephony/
330328 - directory with info on telephony (e.g. voice over IP) support.
331−uml/
332− - directory with information about User Mode Linux.
333329 unicode.txt
334330 - info on the Unicode character/font mapping used in Linux.
335331 unshare.txt
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus+10−0
@@ -0,0 +1,10 @@
1+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/startup_profile
2+Date: October 2010
3+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4+Description: The integer value of this attribute ranges from 0-4.
5+ When read, this attribute returns the number of the actual
6+ profile. This value is persistent, so its equivalent to the
7+ profile that's active when the mouse is powered on next time.
8+ When written, this file sets the number of the startup profile
9+ and the mouse activates this profile immediately.
10+ Please use actual_profile, it does the same thing.
Documentation/ABI/removed/o2cbrenamed from Documentation/ABI/obsolete/o2cb+4−5
@@ -1,11 +1,10 @@
11 What: /sys/o2cb symlink
2−Date: Dec 2005
3−KernelVersion: 2.6.16
2+Date: May 2011
3+KernelVersion: 2.6.40
44 Contact: ocfs2-devel@oss.oracle.com
5−Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink will
6− be removed when new versions of ocfs2-tools which know to look
5+Description: This is a symlink: /sys/o2cb to /sys/fs/o2cb. The symlink is
6+ removed when new versions of ocfs2-tools which know to look
77 in /sys/fs/o2cb are sufficiently prevalent. Don't code new
88 software to look here, it should try /sys/fs/o2cb instead.
9− See Documentation/ABI/stable/o2cb for more information on usage.
109 Users: ocfs2-tools. It's sufficient to mail proposed changes to
1110 ocfs2-devel@oss.oracle.com.
Documentation/ABI/testing/sysfs-block+64−0
@@ -142,3 +142,67 @@ Description: · 141 unmodified lines
142142 with the previous I/O request are enabled. When set to 2,
143143 all merge tries are disabled. The default value is 0 -
144144 which enables all types of merge tries.
145+
146+What: /sys/block/<disk>/discard_alignment
147+Date: May 2011
148+Contact: Martin K. Petersen <martin.petersen@oracle.com>
149+Description:
150+ Devices that support discard functionality may
151+ internally allocate space in units that are bigger than
152+ the exported logical block size. The discard_alignment
153+ parameter indicates how many bytes the beginning of the
154+ device is offset from the internal allocation unit's
155+ natural alignment.
156+
157+What: /sys/block/<disk>/<partition>/discard_alignment
158+Date: May 2011
159+Contact: Martin K. Petersen <martin.petersen@oracle.com>
160+Description:
161+ Devices that support discard functionality may
162+ internally allocate space in units that are bigger than
163+ the exported logical block size. The discard_alignment
164+ parameter indicates how many bytes the beginning of the
165+ partition is offset from the internal allocation unit's
166+ natural alignment.
167+
168+What: /sys/block/<disk>/queue/discard_granularity
169+Date: May 2011
170+Contact: Martin K. Petersen <martin.petersen@oracle.com>
171+Description:
172+ Devices that support discard functionality may
173+ internally allocate space using units that are bigger
174+ than the logical block size. The discard_granularity
175+ parameter indicates the size of the internal allocation
176+ unit in bytes if reported by the device. Otherwise the
177+ discard_granularity will be set to match the device's
178+ physical block size. A discard_granularity of 0 means
179+ that the device does not support discard functionality.
180+
181+What: /sys/block/<disk>/queue/discard_max_bytes
182+Date: May 2011
183+Contact: Martin K. Petersen <martin.petersen@oracle.com>
184+Description:
185+ Devices that support discard functionality may have
186+ internal limits on the number of bytes that can be
187+ trimmed or unmapped in a single operation. Some storage
188+ protocols also have inherent limits on the number of
189+ blocks that can be described in a single command. The
190+ discard_max_bytes parameter is set by the device driver
191+ to the maximum number of bytes that can be discarded in
192+ a single operation. Discard requests issued to the
193+ device must not exceed this limit. A discard_max_bytes
194+ value of 0 means that the device does not support
195+ discard functionality.
196+
197+What: /sys/block/<disk>/queue/discard_zeroes_data
198+Date: May 2011
199+Contact: Martin K. Petersen <martin.petersen@oracle.com>
200+Description:
201+ Devices that support discard functionality may return
202+ stale or random data when a previously discarded block
203+ is read back. This can cause problems if the filesystem
204+ expects discarded blocks to be explicitly cleared. If a
205+ device reports that it deterministically returns zeroes
206+ when a discarded area is read the discard_zeroes_data
207+ parameter will be set to one. Otherwise it will be 0 and
208+ the result of reading a discarded area is undefined.
Documentation/ABI/testing/sysfs-bus-bcma+31−0
@@ -0,0 +1,31 @@
1+What: /sys/bus/bcma/devices/.../manuf
2+Date: May 2011
3+KernelVersion: 2.6.40
4+Contact: Rafał Miłecki <zajec5@gmail.com>
5+Description:
6+ Each BCMA core has it's manufacturer id. See
7+ include/linux/bcma/bcma.h for possible values.
8+
9+What: /sys/bus/bcma/devices/.../id
10+Date: May 2011
11+KernelVersion: 2.6.40
12+Contact: Rafał Miłecki <zajec5@gmail.com>
13+Description:
14+ There are a few types of BCMA cores, they can be identified by
15+ id field.
16+
17+What: /sys/bus/bcma/devices/.../rev
18+Date: May 2011
19+KernelVersion: 2.6.40
20+Contact: Rafał Miłecki <zajec5@gmail.com>
21+Description:
22+ BCMA cores of the same type can still slightly differ depending
23+ on their revision. Use it for detailed programming.
24+
25+What: /sys/bus/bcma/devices/.../class
26+Date: May 2011
27+KernelVersion: 2.6.40
28+Contact: Rafał Miłecki <zajec5@gmail.com>
29+Description:
30+ Each BCMA core is identified by few fields, including class it
31+ belongs to. See include/linux/bcma/bcma.h for possible values.
Documentation/ABI/testing/sysfs-bus-css+1−1
@@ -29,7 +29,7 @@ Contact: Cornelia Huck <cornelia.huck@de.ibm.com> · 28 unmodified lines
2929 linux-s390@vger.kernel.org
3030 Description: Contains the PIM/PAM/POM values, as reported by the
3131 channel subsystem when last queried by the common I/O
32− layer (this implies that this attribute is not neccessarily
32+ layer (this implies that this attribute is not necessarily
3333 in sync with the values current in the channel subsystem).
3434 Note: This is an I/O-subchannel specific attribute.
3535 Users: s390-tools, HAL
Documentation/ABI/testing/sysfs-bus-pci+9−0
@@ -74,6 +74,15 @@ Description: · 73 unmodified lines
7474 hot-remove the PCI device and any of its children.
7575 Depends on CONFIG_HOTPLUG.
7676
77+What: /sys/bus/pci/devices/.../pci_bus/.../rescan
78+Date: May 2011
79+Contact: Linux PCI developers <linux-pci@vger.kernel.org>
80+Description:
81+ Writing a non-zero value to this attribute will
82+ force a rescan of the bus and all child buses,
83+ and re-discover devices removed earlier from this
84+ part of the device tree. Depends on CONFIG_HOTPLUG.
85+
7786 What: /sys/bus/pci/devices/.../rescan
7887 Date: January 2009
7988 Contact: Linux PCI developers <linux-pci@vger.kernel.org>
Documentation/ABI/testing/sysfs-class-led+1−1
@@ -33,5 +33,5 @@ Contact: Richard Purdie <rpurdie@rpsys.net> · 32 unmodified lines
3333 Description:
3434 Invert the LED on/off state. This parameter is specific to
3535 gpio and backlight triggers. In case of the backlight trigger,
36− it is usefull when driving a LED which is intended to indicate
36+ it is useful when driving a LED which is intended to indicate
3737 a device in a standby like state.
Documentation/ABI/testing/sysfs-devices-system-cpu+17−17
@@ -183,21 +183,21 @@ Description: Discover and change clock speed of CPUs · 182 unmodified lines
183183 to learn how to control the knobs.
184184
185185
186−What: /sys/devices/system/cpu/cpu*/cache/index*/cache_disable_X
187−Date: August 2008
186+What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
187+Date: August 2008
188188 KernelVersion: 2.6.27
189−Contact: mark.langsdorf@amd.com
190−Description: These files exist in every cpu's cache index directories.
191− There are currently 2 cache_disable_# files in each
192− directory. Reading from these files on a supported
193− processor will return that cache disable index value
194− for that processor and node. Writing to one of these
195− files will cause the specificed cache index to be disabled.
196−
197− Currently, only AMD Family 10h Processors support cache index
198− disable, and only for their L3 caches. See the BIOS and
199− Kernel Developer's Guide at
200− http://support.amd.com/us/Embedded_TechDocs/31116-Public-GH-BKDG_3-28_5-28-09.pdf
201− for formatting information and other details on the
202− cache index disable.
203−Users: joachim.deguara@amd.com
189+Contact: discuss@x86-64.org
190+Description: Disable L3 cache indices
191+
192+ These files exist in every CPU's cache/index3 directory. Each
193+ cache_disable_{0,1} file corresponds to one disable slot which
194+ can be used to disable a cache index. Reading from these files
195+ on a processor with this functionality will return the currently
196+ disabled index for that node. There is one L3 structure per
197+ node, or per internal node on MCM machines. Writing a valid
198+ index to one of these files will cause the specificed cache
199+ index to be disabled.
200+
201+ All AMD processors with L3 caches provide this functionality.
202+ For details, see BKDGs at
203+ http://developer.amd.com/documentation/guides/Pages/default.aspx
Documentation/ABI/testing/sysfs-driver-hid-roccat-kone+1−1
@@ -40,7 +40,7 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 39 unmodified lines
4040 Date: March 2010
4141 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4242 Description: The mouse can store 5 profiles which can be switched by the
43− press of a button. A profile holds informations like button
43+ press of a button. A profile holds information like button
4444 mappings, sensitivity, the colors of the 5 leds and light
4545 effects.
4646 When read, these files return the respective profile. The
Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus+10−17
@@ -1,9 +1,12 @@
11 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/actual_profile
22 Date: October 2010
33 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4−Description: When read, this file returns the number of the actual profile in
5− range 0-4.
6− This file is readonly.
4+Description: The integer value of this attribute ranges from 0-4.
5+ When read, this attribute returns the number of the actual
6+ profile. This value is persistent, so its equivalent to the
7+ profile that's active when the mouse is powered on next time.
8+ When written, this file sets the number of the startup profile
9+ and the mouse activates this profile immediately.
710 Users: http://roccat.sourceforge.net
811
912 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/firmware_version
@@ -33,7 +36,7 @@ Date: August 2010 · 23 unmodified lines
3336 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
3437 Description: The mouse can store 5 profiles which can be switched by the
3538 press of a button. A profile is split in settings and buttons.
36− profile_buttons holds informations about button layout.
39+ profile_buttons holds information about button layout.
3740 When written, this file lets one write the respective profile
3841 buttons back to the mouse. The data has to be 77 bytes long.
3942 The mouse will reject invalid data.
@@ -47,7 +50,7 @@ Date: August 2010 · 7 unmodified lines
4750 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4851 Description: The mouse can store 5 profiles which can be switched by the
4952 press of a button. A profile is split in settings and buttons.
50− profile_buttons holds informations about button layout.
53+ profile_buttons holds information about button layout.
5154 When read, these files return the respective profile buttons.
5255 The returned data is 77 bytes in size.
5356 This file is readonly.
@@ -58,7 +61,7 @@ Date: October 2010 · 4 unmodified lines
5861 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
5962 Description: The mouse can store 5 profiles which can be switched by the
6063 press of a button. A profile is split in settings and buttons.
61− profile_settings holds informations like resolution, sensitivity
64+ profile_settings holds information like resolution, sensitivity
6265 and light effects.
6366 When written, this file lets one write the respective profile
6467 settings back to the mouse. The data has to be 43 bytes long.
@@ -73,7 +76,7 @@ Date: August 2010 · 8 unmodified lines
7376 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
7477 Description: The mouse can store 5 profiles which can be switched by the
7578 press of a button. A profile is split in settings and buttons.
76− profile_settings holds informations like resolution, sensitivity
79+ profile_settings holds information like resolution, sensitivity
7780 and light effects.
7881 When read, these files return the respective profile settings.
7982 The returned data is 43 bytes in size.
@@ -89,16 +92,6 @@ Description: The mouse has a tracking- and a distance-control-unit. These · 9 unmodified lines
8992 This file is writeonly.
9093 Users: http://roccat.sourceforge.net
9194
92−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/startup_profile
93−Date: October 2010
94−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
95−Description: The integer value of this attribute ranges from 0-4.
96− When read, this attribute returns the number of the profile
97− that's active when the mouse is powered on.
98− When written, this file sets the number of the startup profile
99− and the mouse activates this profile immediately.
100−Users: http://roccat.sourceforge.net
101−
10295 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/tcu
10396 Date: October 2010
10497 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Documentation/ABI/testing/sysfs-driver-hid-roccat-kovaplus+4−4
@@ -52,7 +52,7 @@ Date: January 2011 · 51 unmodified lines
5252 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
5353 Description: The mouse can store 5 profiles which can be switched by the
5454 press of a button. A profile is split in settings and buttons.
55− profile_buttons holds informations about button layout.
55+ profile_buttons holds information about button layout.
5656 When written, this file lets one write the respective profile
5757 buttons back to the mouse. The data has to be 23 bytes long.
5858 The mouse will reject invalid data.
@@ -66,7 +66,7 @@ Date: January 2011 · 7 unmodified lines
6666 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
6767 Description: The mouse can store 5 profiles which can be switched by the
6868 press of a button. A profile is split in settings and buttons.
69− profile_buttons holds informations about button layout.
69+ profile_buttons holds information about button layout.
7070 When read, these files return the respective profile buttons.
7171 The returned data is 23 bytes in size.
7272 This file is readonly.
@@ -77,7 +77,7 @@ Date: January 2011 · 4 unmodified lines
7777 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
7878 Description: The mouse can store 5 profiles which can be switched by the
7979 press of a button. A profile is split in settings and buttons.
80− profile_settings holds informations like resolution, sensitivity
80+ profile_settings holds information like resolution, sensitivity
8181 and light effects.
8282 When written, this file lets one write the respective profile
8383 settings back to the mouse. The data has to be 16 bytes long.
@@ -92,7 +92,7 @@ Date: January 2011 · 8 unmodified lines
9292 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
9393 Description: The mouse can store 5 profiles which can be switched by the
9494 press of a button. A profile is split in settings and buttons.
95− profile_settings holds informations like resolution, sensitivity
95+ profile_settings holds information like resolution, sensitivity
9696 and light effects.
9797 When read, these files return the respective profile settings.
9898 The returned data is 16 bytes in size.
Documentation/ABI/testing/sysfs-driver-hid-roccat-pyra+4−4
@@ -39,7 +39,7 @@ Date: August 2010 · 38 unmodified lines
3939 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4040 Description: The mouse can store 5 profiles which can be switched by the
4141 press of a button. A profile is split in settings and buttons.
42− profile_settings holds informations like resolution, sensitivity
42+ profile_settings holds information like resolution, sensitivity
4343 and light effects.
4444 When written, this file lets one write the respective profile
4545 settings back to the mouse. The data has to be 13 bytes long.
@@ -54,7 +54,7 @@ Date: August 2010 · 8 unmodified lines
5454 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
5555 Description: The mouse can store 5 profiles which can be switched by the
5656 press of a button. A profile is split in settings and buttons.
57− profile_settings holds informations like resolution, sensitivity
57+ profile_settings holds information like resolution, sensitivity
5858 and light effects.
5959 When read, these files return the respective profile settings.
6060 The returned data is 13 bytes in size.
@@ -66,7 +66,7 @@ Date: August 2010 · 5 unmodified lines
6666 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
6767 Description: The mouse can store 5 profiles which can be switched by the
6868 press of a button. A profile is split in settings and buttons.
69− profile_buttons holds informations about button layout.
69+ profile_buttons holds information about button layout.
7070 When written, this file lets one write the respective profile
7171 buttons back to the mouse. The data has to be 19 bytes long.
7272 The mouse will reject invalid data.
@@ -80,7 +80,7 @@ Date: August 2010 · 7 unmodified lines
8080 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
8181 Description: The mouse can store 5 profiles which can be switched by the
8282 press of a button. A profile is split in settings and buttons.
83− profile_buttons holds informations about button layout.
83+ profile_buttons holds information about button layout.
8484 When read, these files return the respective profile buttons.
8585 The returned data is 19 bytes in size.
8686 This file is readonly.
Documentation/ABI/testing/sysfs-firmware-dmi+9−9
@@ -14,14 +14,15 @@ Description: · 13 unmodified lines
1414
1515 DMI is structured as a large table of entries, where
1616 each entry has a common header indicating the type and
17− length of the entry, as well as 'handle' that is
18− supposed to be unique amongst all entries.
17+ length of the entry, as well as a firmware-provided
18+ 'handle' that is supposed to be unique amongst all
19+ entries.
1920
2021 Some entries are required by the specification, but many
2122 others are optional. In general though, users should
2223 never expect to find a specific entry type on their
2324 system unless they know for certain what their firmware
24− is doing. Machine to machine will vary.
25+ is doing. Machine to machine experiences will vary.
2526
2627 Multiple entries of the same type are allowed. In order
2728 to handle these duplicate entry types, each entry is
@@ -67,25 +68,24 @@ Description: · 39 unmodified lines
6768 and the two terminating nul characters.
6869 type : The type of the entry. This value is the same
6970 as found in the directory name. It indicates
70− how the rest of the entry should be
71− interpreted.
71+ how the rest of the entry should be interpreted.
7272 instance: The instance ordinal of the entry for the
7373 given type. This value is the same as found
7474 in the parent directory name.
75− position: The position of the entry within the entirety
76− of the entirety.
75+ position: The ordinal position (zero-based) of the entry
76+ within the entirety of the DMI entry table.
7777
7878 === Entry Specialization ===
7979
8080 Some entry types may have other information available in
81− sysfs.
81+ sysfs. Not all types are specialized.
8282
8383 --- Type 15 - System Event Log ---
8484
8585 This entry allows the firmware to export a log of
8686 events the system has taken. This information is
8787 typically backed by nvram, but the implementation
88− details are abstracted by this table. This entries data
88+ details are abstracted by this table. This entry's data
8989 is exported in the directory:
9090
9191 /sys/firmware/dmi/entries/15-0/system_event_log
Documentation/ABI/testing/sysfs-firmware-gsmi+58−0
@@ -0,0 +1,58 @@
1+What: /sys/firmware/gsmi
2+Date: March 2011
3+Contact: Mike Waychison <mikew@google.com>
4+Description:
5+ Some servers used internally at Google have firmware
6+ that provides callback functionality via explicit SMI
7+ triggers. Some of the callbacks are similar to those
8+ provided by the EFI runtime services page, but due to
9+ historical reasons this different entry-point has been
10+ used.
11+
12+ The gsmi driver implements the kernel's abstraction for
13+ these firmware callbacks. Currently, this functionality
14+ is limited to handling the system event log and getting
15+ access to EFI-style variables stored in nvram.
16+
17+ Layout:
18+
19+ /sys/firmware/gsmi/vars:
20+
21+ This directory has the same layout (and
22+ underlying implementation as /sys/firmware/efi/vars.
23+ See Documentation/ABI/*/sysfs-firmware-efi-vars
24+ for more information on how to interact with
25+ this structure.
26+
27+ /sys/firmware/gsmi/append_to_eventlog - write-only:
28+
29+ This file takes a binary blob and passes it onto
30+ the firmware to be timestamped and appended to
31+ the system eventlog. The binary format is
32+ interpreted by the firmware and may change from
33+ platform to platform. The only kernel-enforced
34+ requirement is that the blob be prefixed with a
35+ 32bit host-endian type used as part of the
36+ firmware call.
37+
38+ /sys/firmware/gsmi/clear_config - write-only:
39+
40+ Writing any value to this file will cause the
41+ entire firmware configuration to be reset to
42+ "factory defaults". Callers should assume that
43+ a reboot is required for the configuration to be
44+ cleared.
45+
46+ /sys/firmware/gsmi/clear_eventlog - write-only:
47+
48+ This file is used to clear out a portion/the
49+ whole of the system event log. Values written
50+ should be values between 1 and 100 inclusive (in
51+ ASCII) representing the fraction of the log to
52+ clear. Not all platforms support fractional
53+ clearing though, and this writes to this file
54+ will error out if the firmware doesn't like your
55+ submitted fraction.
56+
57+ Callers should assume that a reboot is needed
58+ for this operation to complete.
Documentation/ABI/testing/sysfs-firmware-log+7−0
@@ -0,0 +1,7 @@
1+What: /sys/firmware/log
2+Date: February 2011
3+Contact: Mike Waychison <mikew@google.com>
4+Description:
5+ The /sys/firmware/log is a binary file that represents a
6+ read-only copy of the firmware's log if one is
7+ available.
Documentation/ABI/testing/sysfs-kernel-fscaps+8−0
@@ -0,0 +1,8 @@
1+What: /sys/kernel/fscaps
2+Date: February 2011
3+KernelVersion: 2.6.38
4+Contact: Ludwig Nussel <ludwig.nussel@suse.de>
5+Description
6+ Shows whether file system capabilities are honored
7+ when executing a binary
8+
Documentation/ABI/testing/sysfs-kernel-mm-cleancache+11−0
@@ -0,0 +1,11 @@
1+What: /sys/kernel/mm/cleancache/
2+Date: April 2011
3+Contact: Dan Magenheimer <dan.magenheimer@oracle.com>
4+Description:
5+ /sys/kernel/mm/cleancache/ contains a number of files which
6+ record a count of various cleancache operations
7+ (sum across all filesystems):
8+ succ_gets
9+ failed_gets
10+ puts
11+ flushes
Documentation/ABI/testing/sysfs-platform-asus-laptop+1−1
@@ -27,7 +27,7 @@ KernelVersion: 2.6.20 · 26 unmodified lines
2727 Contact: "Corentin Chary" <corentincj@iksaif.net>
2828 Description:
2929 Some models like the W1N have a LED display that can be
30− used to display several informations.
30+ used to display several items of information.
3131 To control the LED display, use the following :
3232 echo 0x0T000DDD > /sys/devices/platform/asus_laptop/
3333 where T control the 3 letters display, and DDD the 3 digits display.
Documentation/ABI/testing/sysfs-power+14−0
@@ -158,3 +158,17 @@ Description: · 157 unmodified lines
158158 successful, will make the kernel abort a subsequent transition
159159 to a sleep state if any wakeup events are reported after the
160160 write has returned.
161+
162+What: /sys/power/reserved_size
163+Date: May 2011
164+Contact: Rafael J. Wysocki <rjw@sisk.pl>
165+Description:
166+ The /sys/power/reserved_size file allows user space to control
167+ the amount of memory reserved for allocations made by device
168+ drivers during the "device freeze" stage of hibernation. It can
169+ be written a string representing a non-negative integer that
170+ will be used as the amount of memory to reserve for allocations
171+ made by device drivers' "freeze" callbacks, in bytes.
172+
173+ Reading from this file will display the current value, which is
174+ set to 1 MB by default.
Documentation/ABI/testing/sysfs-ptp+98−0
@@ -0,0 +1,98 @@
1+What: /sys/class/ptp/
2+Date: September 2010
3+Contact: Richard Cochran <richardcochran@gmail.com>
4+Description:
5+ This directory contains files and directories
6+ providing a standardized interface to the ancillary
7+ features of PTP hardware clocks.
8+
9+What: /sys/class/ptp/ptpN/
10+Date: September 2010
11+Contact: Richard Cochran <richardcochran@gmail.com>
12+Description:
13+ This directory contains the attributes of the Nth PTP
14+ hardware clock registered into the PTP class driver
15+ subsystem.
16+
17+What: /sys/class/ptp/ptpN/clock_name
18+Date: September 2010
19+Contact: Richard Cochran <richardcochran@gmail.com>
20+Description:
21+ This file contains the name of the PTP hardware clock
22+ as a human readable string.
23+
24+What: /sys/class/ptp/ptpN/max_adjustment
25+Date: September 2010
26+Contact: Richard Cochran <richardcochran@gmail.com>
27+Description:
28+ This file contains the PTP hardware clock's maximum
29+ frequency adjustment value (a positive integer) in
30+ parts per billion.
31+
32+What: /sys/class/ptp/ptpN/n_alarms
33+Date: September 2010
34+Contact: Richard Cochran <richardcochran@gmail.com>
35+Description:
36+ This file contains the number of periodic or one shot
37+ alarms offer by the PTP hardware clock.
38+
39+What: /sys/class/ptp/ptpN/n_external_timestamps
40+Date: September 2010
41+Contact: Richard Cochran <richardcochran@gmail.com>
42+Description:
43+ This file contains the number of external timestamp
44+ channels offered by the PTP hardware clock.
45+
46+What: /sys/class/ptp/ptpN/n_periodic_outputs
47+Date: September 2010
48+Contact: Richard Cochran <richardcochran@gmail.com>
49+Description:
50+ This file contains the number of programmable periodic
51+ output channels offered by the PTP hardware clock.
52+
53+What: /sys/class/ptp/ptpN/pps_avaiable
54+Date: September 2010
55+Contact: Richard Cochran <richardcochran@gmail.com>
56+Description:
57+ This file indicates whether the PTP hardware clock
58+ supports a Pulse Per Second to the host CPU. Reading
59+ "1" means that the PPS is supported, while "0" means
60+ not supported.
61+
62+What: /sys/class/ptp/ptpN/extts_enable
63+Date: September 2010
64+Contact: Richard Cochran <richardcochran@gmail.com>
65+Description:
66+ This write-only file enables or disables external
67+ timestamps. To enable external timestamps, write the
68+ channel index followed by a "1" into the file.
69+ To disable external timestamps, write the channel
70+ index followed by a "0" into the file.
71+
72+What: /sys/class/ptp/ptpN/fifo
73+Date: September 2010
74+Contact: Richard Cochran <richardcochran@gmail.com>
75+Description:
76+ This file provides timestamps on external events, in
77+ the form of three integers: channel index, seconds,
78+ and nanoseconds.
79+
80+What: /sys/class/ptp/ptpN/period
81+Date: September 2010
82+Contact: Richard Cochran <richardcochran@gmail.com>
83+Description:
84+ This write-only file enables or disables periodic
85+ outputs. To enable a periodic output, write five
86+ integers into the file: channel index, start time
87+ seconds, start time nanoseconds, period seconds, and
88+ period nanoseconds. To disable a periodic output, set
89+ all the seconds and nanoseconds values to zero.
90+
91+What: /sys/class/ptp/ptpN/pps_enable
92+Date: September 2010
93+Contact: Richard Cochran <richardcochran@gmail.com>
94+Description:
95+ This write-only file enables or disables delivery of
96+ PPS events to the Linux PPS subsystem. To enable PPS
97+ events, write a "1" into the file. To disable events,
98+ write a "0" into the file.
Documentation/DocBook/.gitignore+1−0
@@ -8,3 +8,4 @@ · 7 unmodified lines
88 *.dvi
99 *.log
1010 *.out
11+media/
Documentation/DocBook/device-drivers.tmpl+3−3
@@ -96,10 +96,10 @@ X!Iinclude/linux/kobject.h · 95 unmodified lines
9696
9797 <chapter id="devdrivers">
9898 <title>Device drivers infrastructure</title>
99+ <sect1><title>The Basic Device Driver-Model Structures </title>
100+!Iinclude/linux/device.h
101+ </sect1>
99102 <sect1><title>Device Drivers Base</title>
100−<!--
101−X!Iinclude/linux/device.h
102−-->
103103 !Edrivers/base/driver.c
104104 !Edrivers/base/core.c
105105 !Edrivers/base/class.c
Documentation/DocBook/dvb/dvbapi.xml+8−0
@@ -34,6 +34,14 @@ · 33 unmodified lines
3434
3535 <revhistory>
3636 <!-- Put document revisions here, newest first. -->
37+<revision>
38+ <revnumber>2.0.4</revnumber>
39+ <date>2011-05-06</date>
40+ <authorinitials>mcc</authorinitials>
41+ <revremark>
42+ Add more information about DVB APIv5, better describing the frontend GET/SET props ioctl's.
43+ </revremark>
44+</revision>
3745 <revision>
3846 <revnumber>2.0.3</revnumber>
3947 <date>2010-07-03</date>
Documentation/DocBook/dvb/dvbproperty.xml+340−68
@@ -1,6 +1,330 @@
1−<section id="FE_GET_PROPERTY">
1+<section id="FE_GET_SET_PROPERTY">
22 <title>FE_GET_PROPERTY/FE_SET_PROPERTY</title>
33
4+<programlisting>
5+/* Reserved fields should be set to 0 */
6+struct dtv_property {
7+ __u32 cmd;
8+ union {
9+ __u32 data;
10+ struct {
11+ __u8 data[32];
12+ __u32 len;
13+ __u32 reserved1[3];
14+ void *reserved2;
15+ } buffer;
16+ } u;
17+ int result;
18+} __attribute__ ((packed));
19+
20+/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
21+#define DTV_IOCTL_MAX_MSGS 64
22+
23+struct dtv_properties {
24+ __u32 num;
25+ struct dtv_property *props;
26+};
27+</programlisting>
28+
29+<section id="FE_GET_PROPERTY">
30+<title>FE_GET_PROPERTY</title>
31+<para>DESCRIPTION
32+</para>
33+<informaltable><tgroup cols="1"><tbody><row><entry
34+ align="char">
35+<para>This ioctl call returns one or more frontend properties. This call only
36+ requires read-only access to the device.</para>
37+</entry>
38+ </row></tbody></tgroup></informaltable>
39+<para>SYNOPSIS
40+</para>
41+<informaltable><tgroup cols="1"><tbody><row><entry
42+ align="char">
43+<para>int ioctl(int fd, int request = <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>,
44+ dtv_properties &#x22C6;props);</para>
45+</entry>
46+ </row></tbody></tgroup></informaltable>
47+<para>PARAMETERS
48+</para>
49+<informaltable><tgroup cols="2"><tbody><row><entry align="char">
50+<para>int fd</para>
51+</entry><entry
52+ align="char">
53+<para>File descriptor returned by a previous call to open().</para>
54+</entry>
55+ </row><row><entry
56+ align="char">
57+<para>int num</para>
58+</entry><entry
59+ align="char">
60+<para>Equals <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link> for this command.</para>
61+</entry>
62+ </row><row><entry
63+ align="char">
64+<para>struct dtv_property *props</para>
65+</entry><entry
66+ align="char">
67+<para>Points to the location where the front-end property commands are stored.</para>
68+</entry>
69+ </row></tbody></tgroup></informaltable>
70+<para>ERRORS</para>
71+<informaltable><tgroup cols="2"><tbody><row>
72+ <entry align="char"><para>EINVAL</para></entry>
73+ <entry align="char"><para>Invalid parameter(s) received or number of parameters out of the range.</para></entry>
74+ </row><row>
75+ <entry align="char"><para>ENOMEM</para></entry>
76+ <entry align="char"><para>Out of memory.</para></entry>
77+ </row><row>
78+ <entry align="char"><para>EFAULT</para></entry>
79+ <entry align="char"><para>Failure while copying data from/to userspace.</para></entry>
80+ </row><row>
81+ <entry align="char"><para>EOPNOTSUPP</para></entry>
82+ <entry align="char"><para>Property type not supported.</para></entry>
83+ </row></tbody></tgroup></informaltable>
84+</section>
85+
86+<section id="FE_SET_PROPERTY">
87+<title>FE_SET_PROPERTY</title>
88+<para>DESCRIPTION
89+</para>
90+<informaltable><tgroup cols="1"><tbody><row><entry
91+ align="char">
92+<para>This ioctl call sets one or more frontend properties. This call only
93+ requires read-only access to the device.</para>
94+</entry>
95+ </row></tbody></tgroup></informaltable>
96+<para>SYNOPSIS
97+</para>
98+<informaltable><tgroup cols="1"><tbody><row><entry
99+ align="char">
100+<para>int ioctl(int fd, int request = <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
101+ dtv_properties &#x22C6;props);</para>
102+</entry>
103+ </row></tbody></tgroup></informaltable>
104+<para>PARAMETERS
105+</para>
106+<informaltable><tgroup cols="2"><tbody><row><entry align="char">
107+<para>int fd</para>
108+</entry><entry
109+ align="char">
110+<para>File descriptor returned by a previous call to open().</para>
111+</entry>
112+ </row><row><entry
113+ align="char">
114+<para>int num</para>
115+</entry><entry
116+ align="char">
117+<para>Equals <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link> for this command.</para>
118+</entry>
119+ </row><row><entry
120+ align="char">
121+<para>struct dtv_property *props</para>
122+</entry><entry
123+ align="char">
124+<para>Points to the location where the front-end property commands are stored.</para>
125+</entry>
126+ </row></tbody></tgroup></informaltable>
127+<para>ERRORS
128+</para>
129+<informaltable><tgroup cols="2"><tbody><row>
130+ <entry align="char"><para>EINVAL</para></entry>
131+ <entry align="char"><para>Invalid parameter(s) received or number of parameters out of the range.</para></entry>
132+ </row><row>
133+ <entry align="char"><para>ENOMEM</para></entry>
134+ <entry align="char"><para>Out of memory.</para></entry>
135+ </row><row>
136+ <entry align="char"><para>EFAULT</para></entry>
137+ <entry align="char"><para>Failure while copying data from/to userspace.</para></entry>
138+ </row><row>
139+ <entry align="char"><para>EOPNOTSUPP</para></entry>
140+ <entry align="char"><para>Property type not supported.</para></entry>
141+ </row></tbody></tgroup></informaltable>
142+</section>
143+
144+<section>
145+ <title>Property types</title>
146+<para>
147+On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
148+the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to
149+get/set up to 64 properties. The actual meaning of each property is described on the next sections.
150+</para>
151+
152+<para>The available frontend property types are:</para>
153+<programlisting>
154+#define DTV_UNDEFINED 0
155+#define DTV_TUNE 1
156+#define DTV_CLEAR 2
157+#define DTV_FREQUENCY 3
158+#define DTV_MODULATION 4
159+#define DTV_BANDWIDTH_HZ 5
160+#define DTV_INVERSION 6
161+#define DTV_DISEQC_MASTER 7
162+#define DTV_SYMBOL_RATE 8
163+#define DTV_INNER_FEC 9
164+#define DTV_VOLTAGE 10
165+#define DTV_TONE 11
166+#define DTV_PILOT 12
167+#define DTV_ROLLOFF 13
168+#define DTV_DISEQC_SLAVE_REPLY 14
169+#define DTV_FE_CAPABILITY_COUNT 15
170+#define DTV_FE_CAPABILITY 16
171+#define DTV_DELIVERY_SYSTEM 17
172+#define DTV_ISDBT_PARTIAL_RECEPTION 18
173+#define DTV_ISDBT_SOUND_BROADCASTING 19
174+#define DTV_ISDBT_SB_SUBCHANNEL_ID 20
175+#define DTV_ISDBT_SB_SEGMENT_IDX 21
176+#define DTV_ISDBT_SB_SEGMENT_COUNT 22
177+#define DTV_ISDBT_LAYERA_FEC 23
178+#define DTV_ISDBT_LAYERA_MODULATION 24
179+#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25
180+#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26
181+#define DTV_ISDBT_LAYERB_FEC 27
182+#define DTV_ISDBT_LAYERB_MODULATION 28
183+#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29
184+#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30
185+#define DTV_ISDBT_LAYERC_FEC 31
186+#define DTV_ISDBT_LAYERC_MODULATION 32
187+#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33
188+#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34
189+#define DTV_API_VERSION 35
190+#define DTV_CODE_RATE_HP 36
191+#define DTV_CODE_RATE_LP 37
192+#define DTV_GUARD_INTERVAL 38
193+#define DTV_TRANSMISSION_MODE 39
194+#define DTV_HIERARCHY 40
195+#define DTV_ISDBT_LAYER_ENABLED 41
196+#define DTV_ISDBS_TS_ID 42
197+</programlisting>
198+</section>
199+
200+<section id="fe_property_common">
201+ <title>Parameters that are common to all Digital TV standards</title>
202+ <section id="DTV_FREQUENCY">
203+ <title><constant>DTV_FREQUENCY</constant></title>
204+
205+ <para>Central frequency of the channel, in HZ.</para>
206+
207+ <para>Notes:</para>
208+ <para>1)For ISDB-T, the channels are usually transmitted with an offset of 143kHz.
209+ E.g. a valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of
210+ the channel which is 6MHz.</para>
211+
212+ <para>2)As in ISDB-Tsb the channel consists of only one or three segments the
213+ frequency step is 429kHz, 3*429 respectively. As for ISDB-T the
214+ central frequency of the channel is expected.</para>
215+ </section>
216+
217+ <section id="DTV_BANDWIDTH_HZ">
218+ <title><constant>DTV_BANDWIDTH_HZ</constant></title>
219+
220+ <para>Bandwidth for the channel, in HZ.</para>
221+
222+ <para>Possible values:
223+ <constant>1712000</constant>,
224+ <constant>5000000</constant>,
225+ <constant>6000000</constant>,
226+ <constant>7000000</constant>,
227+ <constant>8000000</constant>,
228+ <constant>10000000</constant>.
229+ </para>
230+
231+ <para>Notes:</para>
232+
233+ <para>1) For ISDB-T it should be always 6000000Hz (6MHz)</para>
234+ <para>2) For ISDB-Tsb it can vary depending on the number of connected segments</para>
235+ <para>3) Bandwidth doesn't apply for DVB-C transmissions, as the bandwidth
236+ for DVB-C depends on the symbol rate</para>
237+ <para>4) Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from
238+ other parameters (DTV_ISDBT_SB_SEGMENT_IDX,
239+ DTV_ISDBT_SB_SEGMENT_COUNT).</para>
240+ <para>5) DVB-T supports 6, 7 and 8MHz.</para>
241+ <para>6) In addition, DVB-T2 supports 1.172, 5 and 10MHz.</para>
242+ </section>
243+
244+ <section id="DTV_DELIVERY_SYSTEM">
245+ <title><constant>DTV_DELIVERY_SYSTEM</constant></title>
246+
247+ <para>Specifies the type of Delivery system</para>
248+
249+ <para>Possible values: </para>
250+<programlisting>
251+typedef enum fe_delivery_system {
252+ SYS_UNDEFINED,
253+ SYS_DVBC_ANNEX_AC,
254+ SYS_DVBC_ANNEX_B,
255+ SYS_DVBT,
256+ SYS_DSS,
257+ SYS_DVBS,
258+ SYS_DVBS2,
259+ SYS_DVBH,
260+ SYS_ISDBT,
261+ SYS_ISDBS,
262+ SYS_ISDBC,
263+ SYS_ATSC,
264+ SYS_ATSCMH,
265+ SYS_DMBTH,
266+ SYS_CMMB,
267+ SYS_DAB,
268+ SYS_DVBT2,
269+} fe_delivery_system_t;
270+</programlisting>
271+
272+ </section>
273+
274+ <section id="DTV_TRANSMISSION_MODE">
275+ <title><constant>DTV_TRANSMISSION_MODE</constant></title>
276+
277+ <para>Specifies the number of carriers used by the standard</para>
278+
279+ <para>Possible values are:</para>
280+<programlisting>
281+typedef enum fe_transmit_mode {
282+ TRANSMISSION_MODE_2K,
283+ TRANSMISSION_MODE_8K,
284+ TRANSMISSION_MODE_AUTO,
285+ TRANSMISSION_MODE_4K,
286+ TRANSMISSION_MODE_1K,
287+ TRANSMISSION_MODE_16K,
288+ TRANSMISSION_MODE_32K,
289+} fe_transmit_mode_t;
290+</programlisting>
291+
292+ <para>Notes:</para>
293+ <para>1) ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
294+ 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para>
295+
296+ <para>2) If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the
297+ hardware will try to find the correct FFT-size (if capable) and will
298+ use TMCC to fill in the missing parameters.</para>
299+ <para>3) DVB-T specifies 2K and 8K as valid sizes.</para>
300+ <para>4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.</para>
301+ </section>
302+
303+ <section id="DTV_GUARD_INTERVAL">
304+ <title><constant>DTV_GUARD_INTERVAL</constant></title>
305+
306+ <para>Possible values are:</para>
307+<programlisting>
308+typedef enum fe_guard_interval {
309+ GUARD_INTERVAL_1_32,
310+ GUARD_INTERVAL_1_16,
311+ GUARD_INTERVAL_1_8,
312+ GUARD_INTERVAL_1_4,
313+ GUARD_INTERVAL_AUTO,
314+ GUARD_INTERVAL_1_128,
315+ GUARD_INTERVAL_19_128,
316+ GUARD_INTERVAL_19_256,
317+} fe_guard_interval_t;
318+</programlisting>
319+
320+ <para>Notes:</para>
321+ <para>1) If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will
322+ try to find the correct guard interval (if capable) and will use TMCC to fill
323+ in the missing parameters.</para>
324+ <para>2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at present</para>
325+ </section>
326+</section>
327+
4328 <section id="isdbt">
5329 <title>ISDB-T frontend</title>
6330 <para>This section describes shortly what are the possible parameters in the Linux
@@ -32,73 +356,6 @@ · 25 unmodified lines
32356
33357 <para>Parameters used by ISDB-T and ISDB-Tsb.</para>
34358
35− <section id="isdbt-parms">
36− <title>Parameters that are common with DVB-T and ATSC</title>
37−
38− <section id="isdbt-freq">
39− <title><constant>DTV_FREQUENCY</constant></title>
40−
41− <para>Central frequency of the channel.</para>
42−
43− <para>For ISDB-T the channels are usally transmitted with an offset of 143kHz. E.g. a
44− valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of
45− the channel which is 6MHz.</para>
46−
47− <para>As in ISDB-Tsb the channel consists of only one or three segments the
48− frequency step is 429kHz, 3*429 respectively. As for ISDB-T the
49− central frequency of the channel is expected.</para>
50− </section>
51−
52− <section id="isdbt-bw">
53− <title><constant>DTV_BANDWIDTH_HZ</constant> (optional)</title>
54−
55− <para>Possible values:</para>
56−
57− <para>For ISDB-T it should be always 6000000Hz (6MHz)</para>
58− <para>For ISDB-Tsb it can vary depending on the number of connected segments</para>
59−
60− <para>Note: Hardware specific values might be given here, but standard
61− applications should not bother to set a value to this field as
62− standard demods are ignoring it anyway.</para>
63−
64− <para>Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from
65− other parameters (DTV_ISDBT_SB_SEGMENT_IDX,
66− DTV_ISDBT_SB_SEGMENT_COUNT).</para>
67− </section>
68−
69− <section id="isdbt-delivery-sys">
70− <title><constant>DTV_DELIVERY_SYSTEM</constant></title>
71−
72− <para>Possible values: <constant>SYS_ISDBT</constant></para>
73− </section>
74−
75− <section id="isdbt-tx-mode">
76− <title><constant>DTV_TRANSMISSION_MODE</constant></title>
77−
78− <para>ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
79− 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para>
80−
81− <para>Possible values: <constant>TRANSMISSION_MODE_2K</constant>, <constant>TRANSMISSION_MODE_8K</constant>,
82− <constant>TRANSMISSION_MODE_AUTO</constant>, <constant>TRANSMISSION_MODE_4K</constant></para>
83−
84− <para>If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the
85− hardware will try to find the correct FFT-size (if capable) and will
86− use TMCC to fill in the missing parameters.</para>
87−
88− <para><constant>TRANSMISSION_MODE_4K</constant> is added at the same time as the other new parameters.</para>
89− </section>
90−
91− <section id="isdbt-guard-interval">
92− <title><constant>DTV_GUARD_INTERVAL</constant></title>
93−
94− <para>Possible values: <constant>GUARD_INTERVAL_1_32</constant>, <constant>GUARD_INTERVAL_1_16</constant>, <constant>GUARD_INTERVAL_1_8</constant>,
95− <constant>GUARD_INTERVAL_1_4</constant>, <constant>GUARD_INTERVAL_AUTO</constant></para>
96−
97− <para>If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will
98− try to find the correct guard interval (if capable) and will use TMCC to fill
99− in the missing parameters.</para>
100− </section>
101− </section>
102359 <section id="isdbt-new-parms">
103360 <title>ISDB-T only parameters</title>
104361
@@ -314,5 +571,20 @@ · 209 unmodified lines
314571 </section>
315572 </section>
316573 </section>
574+ <section id="dvbt2-params">
575+ <title>DVB-T2 parameters</title>
576+
577+ <para>This section covers parameters that apply only to the DVB-T2 delivery method. DVB-T2
578+ support is currently in the early stages development so expect this section to grow
579+ and become more detailed with time.</para>
580+
581+ <section id="dvbt2-plp-id">
582+ <title><constant>DTV_DVBT2_PLP_ID</constant></title>
583+
584+ <para>DVB-T2 supports Physical Layer Pipes (PLP) to allow transmission of
585+ many data types via a single multiplex. The API will soon support this
586+ at which point this section will be expanded.</para>
587+ </section>
588+ </section>
317589 </section>
318590 </section>
Documentation/DocBook/dvb/frontend.h.xml+16−4
@@ -176,14 +176,20 @@ typedef enum fe_transmit_mode { · 175 unmodified lines
176176 TRANSMISSION_MODE_2K,
177177 TRANSMISSION_MODE_8K,
178178 TRANSMISSION_MODE_AUTO,
179− TRANSMISSION_MODE_4K
179+ TRANSMISSION_MODE_4K,
180+ TRANSMISSION_MODE_1K,
181+ TRANSMISSION_MODE_16K,
182+ TRANSMISSION_MODE_32K,
180183 } fe_transmit_mode_t;
181184
182185 typedef enum fe_bandwidth {
183186 BANDWIDTH_8_MHZ,
184187 BANDWIDTH_7_MHZ,
185188 BANDWIDTH_6_MHZ,
186− BANDWIDTH_AUTO
189+ BANDWIDTH_AUTO,
190+ BANDWIDTH_5_MHZ,
191+ BANDWIDTH_10_MHZ,
192+ BANDWIDTH_1_712_MHZ,
187193 } fe_bandwidth_t;
188194
189195
@@ -192,7 +198,10 @@ typedef enum fe_guard_interval { · 2 unmodified lines
192198 GUARD_INTERVAL_1_16,
193199 GUARD_INTERVAL_1_8,
194200 GUARD_INTERVAL_1_4,
195− GUARD_INTERVAL_AUTO
201+ GUARD_INTERVAL_AUTO,
202+ GUARD_INTERVAL_1_128,
203+ GUARD_INTERVAL_19_128,
204+ GUARD_INTERVAL_19_256,
196205 } fe_guard_interval_t;
197206
198207
@@ -306,7 +315,9 @@ struct dvb_frontend_event { · 107 unmodified lines
306315
307316 #define DTV_ISDBS_TS_ID 42
308317
309−#define DTV_MAX_COMMAND DTV_ISDBS_TS_ID
318+#define DTV_DVBT2_PLP_ID 43
319+
320+#define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID
310321
311322 typedef enum fe_pilot {
312323 PILOT_ON,
@@ -338,6 +349,7 @@ typedef enum fe_delivery_system { · 25 unmodified lines
338349 SYS_DMBTH,
339350 SYS_CMMB,
340351 SYS_DAB,
352+ SYS_DVBT2,
341353 } fe_delivery_system_t;
342354
343355 struct dtv_cmds_h {
Documentation/DocBook/dvb/frontend.xml+1−1
@@ -139,7 +139,7 @@ consistently to the DiSEqC commands as described in the DiSEqC spec.</para> · 138 unmodified lines
139139 <section id="frontend_sec_tone">
140140 <title>SEC continuous tone</title>
141141
142−<para>The continous 22KHz tone is usually used with non-DiSEqC capable LNBs to switch the
142+<para>The continuous 22KHz tone is usually used with non-DiSEqC capable LNBs to switch the
143143 high/low band of a dual-band LNB. When using DiSEqC epuipment this voltage has to
144144 be switched consistently to the DiSEqC commands as described in the DiSEqC
145145 spec.</para>
Documentation/DocBook/genericirq.tmpl+47−35
@@ -191,8 +191,8 @@ · 190 unmodified lines
191191 <para>
192192 Whenever an interrupt triggers, the lowlevel arch code calls into
193193 the generic interrupt code by calling desc->handle_irq().
194− This highlevel IRQ handling function only uses desc->chip primitives
195− referenced by the assigned chip descriptor structure.
194+ This highlevel IRQ handling function only uses desc->irq_data.chip
195+ primitives referenced by the assigned chip descriptor structure.
196196 </para>
197197 </sect1>
198198 <sect1 id="Highlevel_Driver_API">
@@ -206,11 +206,11 @@ · 7 unmodified lines
206206 <listitem><para>enable_irq()</para></listitem>
207207 <listitem><para>disable_irq_nosync() (SMP only)</para></listitem>
208208 <listitem><para>synchronize_irq() (SMP only)</para></listitem>
209− <listitem><para>set_irq_type()</para></listitem>
210− <listitem><para>set_irq_wake()</para></listitem>
211− <listitem><para>set_irq_data()</para></listitem>
212− <listitem><para>set_irq_chip()</para></listitem>
213− <listitem><para>set_irq_chip_data()</para></listitem>
209+ <listitem><para>irq_set_irq_type()</para></listitem>
210+ <listitem><para>irq_set_irq_wake()</para></listitem>
211+ <listitem><para>irq_set_handler_data()</para></listitem>
212+ <listitem><para>irq_set_chip()</para></listitem>
213+ <listitem><para>irq_set_chip_data()</para></listitem>
214214 </itemizedlist>
215215 See the autogenerated function documentation for details.
216216 </para>
@@ -225,6 +225,8 @@ · 8 unmodified lines
225225 <listitem><para>handle_fasteoi_irq</para></listitem>
226226 <listitem><para>handle_simple_irq</para></listitem>
227227 <listitem><para>handle_percpu_irq</para></listitem>
228+ <listitem><para>handle_edge_eoi_irq</para></listitem>
229+ <listitem><para>handle_bad_irq</para></listitem>
228230 </itemizedlist>
229231 The interrupt flow handlers (either predefined or architecture
230232 specific) are assigned to specific interrupts by the architecture
@@ -241,13 +243,13 @@ · 10 unmodified lines
241243 <programlisting>
242244 default_enable(struct irq_data *data)
243245 {
244− desc->chip->irq_unmask(data);
246+ desc->irq_data.chip->irq_unmask(data);
245247 }
246248
247249 default_disable(struct irq_data *data)
248250 {
249251 if (!delay_disable(data))
250− desc->chip->irq_mask(data);
252+ desc->irq_data.chip->irq_mask(data);
251253 }
252254
253255 default_ack(struct irq_data *data)
@@ -284,9 +286,9 @@ noop(struct irq_data *data)) · 30 unmodified lines
284286 <para>
285287 The following control flow is implemented (simplified excerpt):
286288 <programlisting>
287−desc->chip->irq_mask();
288−handle_IRQ_event(desc->action);
289−desc->chip->irq_unmask();
289+desc->irq_data.chip->irq_mask_ack();
290+handle_irq_event(desc->action);
291+desc->irq_data.chip->irq_unmask();
290292 </programlisting>
291293 </para>
292294 </sect3>
@@ -300,8 +302,8 @@ desc->chip->irq_unmask(); · 7 unmodified lines
300302 <para>
301303 The following control flow is implemented (simplified excerpt):
302304 <programlisting>
303−handle_IRQ_event(desc->action);
304−desc->chip->irq_eoi();
305+handle_irq_event(desc->action);
306+desc->irq_data.chip->irq_eoi();
305307 </programlisting>
306308 </para>
307309 </sect3>
@@ -315,17 +317,17 @@ desc->chip->irq_eoi(); · 7 unmodified lines
315317 The following control flow is implemented (simplified excerpt):
316318 <programlisting>
317319 if (desc->status &amp; running) {
318− desc->chip->irq_mask();
320+ desc->irq_data.chip->irq_mask_ack();
319321 desc->status |= pending | masked;
320322 return;
321323 }
322−desc->chip->irq_ack();
324+desc->irq_data.chip->irq_ack();
323325 desc->status |= running;
324326 do {
325327 if (desc->status &amp; masked)
326− desc->chip->irq_unmask();
328+ desc->irq_data.chip->irq_unmask();
327329 desc->status &amp;= ~pending;
328− handle_IRQ_event(desc->action);
330+ handle_irq_event(desc->action);
329331 } while (status &amp; pending);
330332 desc->status &amp;= ~running;
331333 </programlisting>
@@ -344,7 +346,7 @@ desc->status &amp;= ~running; · 12 unmodified lines
344346 <para>
345347 The following control flow is implemented (simplified excerpt):
346348 <programlisting>
347−handle_IRQ_event(desc->action);
349+handle_irq_event(desc->action);
348350 </programlisting>
349351 </para>
350352 </sect3>
@@ -362,12 +364,29 @@ handle_IRQ_event(desc->action); · 11 unmodified lines
362364 <para>
363365 The following control flow is implemented (simplified excerpt):
364366 <programlisting>
365−handle_IRQ_event(desc->action);
366−if (desc->chip->irq_eoi)
367− desc->chip->irq_eoi();
367+if (desc->irq_data.chip->irq_ack)
368+ desc->irq_data.chip->irq_ack();
369+handle_irq_event(desc->action);
370+if (desc->irq_data.chip->irq_eoi)
371+ desc->irq_data.chip->irq_eoi();
368372 </programlisting>
369373 </para>
370374 </sect3>
375+ <sect3 id="EOI_Edge_IRQ_flow_handler">
376+ <title>EOI Edge IRQ flow handler</title>
377+ <para>
378+ handle_edge_eoi_irq provides an abnomination of the edge
379+ handler which is solely used to tame a badly wreckaged
380+ irq controller on powerpc/cell.
381+ </para>
382+ </sect3>
383+ <sect3 id="BAD_IRQ_flow_handler">
384+ <title>Bad IRQ flow handler</title>
385+ <para>
386+ handle_bad_irq is used for spurious interrupts which
387+ have no real handler assigned..
388+ </para>
389+ </sect3>
371390 </sect2>
372391 <sect2 id="Quirks_and_optimizations">
373392 <title>Quirks and optimizations</title>
@@ -410,6 +429,7 @@ if (desc->chip->irq_eoi) · 36 unmodified lines
410429 <listitem><para>irq_mask_ack() - Optional, recommended for performance</para></listitem>
411430 <listitem><para>irq_mask()</para></listitem>
412431 <listitem><para>irq_unmask()</para></listitem>
432+ <listitem><para>irq_eoi() - Optional, required for eoi flow handlers</para></listitem>
413433 <listitem><para>irq_retrigger() - Optional</para></listitem>
414434 <listitem><para>irq_set_type() - Optional</para></listitem>
415435 <listitem><para>irq_set_wake() - Optional</para></listitem>
@@ -424,32 +444,24 @@ if (desc->chip->irq_eoi) · 8 unmodified lines
424444 <chapter id="doirq">
425445 <title>__do_IRQ entry point</title>
426446 <para>
427− The original implementation __do_IRQ() is an alternative entry
428− point for all types of interrupts.
447+ The original implementation __do_IRQ() was an alternative entry
448+ point for all types of interrupts. It not longer exists.
429449 </para>
430450 <para>
431451 This handler turned out to be not suitable for all
432452 interrupt hardware and was therefore reimplemented with split
433− functionality for egde/level/simple/percpu interrupts. This is not
453+ functionality for edge/level/simple/percpu interrupts. This is not
434454 only a functional optimization. It also shortens code paths for
435455 interrupts.
436456 </para>
437− <para>
438− To make use of the split implementation, replace the call to
439− __do_IRQ by a call to desc->handle_irq() and associate
440− the appropriate handler function to desc->handle_irq().
441− In most cases the generic handler implementations should
442− be sufficient.
443− </para>
444457 </chapter>
445458
446459 <chapter id="locking">
447460 <title>Locking on SMP</title>
448461 <para>
449462 The locking of chip registers is up to the architecture that
450− defines the chip primitives. There is a chip->lock field that can be used
451− for serialization, but the generic layer does not touch it. The per-irq
452− structure is protected via desc->lock, by the generic layer.
463+ defines the chip primitives. The per-irq structure is
464+ protected via desc->lock, by the generic layer.
453465 </para>
454466 </chapter>
455467 <chapter id="structs">
Documentation/DocBook/kernel-locking.tmpl+1−1
@@ -1763,7 +1763,7 @@ as it would be on UP. · 1762 unmodified lines
17631763 There is a furthur optimization possible here: remember our original
17641764 cache code, where there were no reference counts and the caller simply
17651765 held the lock whenever using the object? This is still possible: if
1766−you hold the lock, noone can delete the object, so you don't need to
1766+you hold the lock, no one can delete the object, so you don't need to
17671767 get and put the reference count.
17681768 </para>
17691769
Documentation/DocBook/libata.tmpl+5−5
@@ -1032,7 +1032,7 @@ and other resources, etc. · 1031 unmodified lines
10321032 <listitem>
10331033 <para>
10341034 This is indicated by ICRC bit in the ERROR register and
1035− means that corruption occurred during data transfer. Upto
1035+ means that corruption occurred during data transfer. Up to
10361036 ATA/ATAPI-7, the standard specifies that this bit is only
10371037 applicable to UDMA transfers but ATA/ATAPI-8 draft revision
10381038 1f says that the bit may be applicable to multiword DMA and
@@ -1045,10 +1045,10 @@ and other resources, etc. · 6 unmodified lines
10451045 <term>ABRT error during data transfer or on completion</term>
10461046 <listitem>
10471047 <para>
1048− Upto ATA/ATAPI-7, the standard specifies that ABRT could be
1048+ Up to ATA/ATAPI-7, the standard specifies that ABRT could be
10491049 set on ICRC errors and on cases where a device is not able
10501050 to complete a command. Combined with the fact that MWDMA
1051− and PIO transfer errors aren't allowed to use ICRC bit upto
1051+ and PIO transfer errors aren't allowed to use ICRC bit up to
10521052 ATA/ATAPI-7, it seems to imply that ABRT bit alone could
10531053 indicate tranfer errors.
10541054 </para>
@@ -1122,7 +1122,7 @@ and other resources, etc. · 67 unmodified lines
11221122 <para>
11231123 Depending on commands, not all STATUS/ERROR bits are
11241124 applicable. These non-applicable bits are marked with
1125− &quot;na&quot; in the output descriptions but upto ATA/ATAPI-7
1125+ &quot;na&quot; in the output descriptions but up to ATA/ATAPI-7
11261126 no definition of &quot;na&quot; can be found. However,
11271127 ATA/ATAPI-8 draft revision 1f describes &quot;N/A&quot; as
11281128 follows.
@@ -1507,7 +1507,7 @@ and other resources, etc. · 378 unmodified lines
15071507
15081508 <listitem>
15091509 <para>
1510− CHS set up with INITIALIZE DEVICE PARAMETERS (seldomly used)
1510+ CHS set up with INITIALIZE DEVICE PARAMETERS (seldom used)
15111511 </para>
15121512 </listitem>
15131513
Documentation/DocBook/media-entities.tmpl+7−3
@@ -270,6 +270,7 @@ · 269 unmodified lines
270270 <!ENTITY sub-write SYSTEM "v4l/func-write.xml">
271271 <!ENTITY sub-io SYSTEM "v4l/io.xml">
272272 <!ENTITY sub-grey SYSTEM "v4l/pixfmt-grey.xml">
273+<!ENTITY sub-m420 SYSTEM "v4l/pixfmt-m420.xml">
273274 <!ENTITY sub-nv12 SYSTEM "v4l/pixfmt-nv12.xml">
274275 <!ENTITY sub-nv12m SYSTEM "v4l/pixfmt-nv12m.xml">
275276 <!ENTITY sub-nv12mt SYSTEM "v4l/pixfmt-nv12mt.xml">
@@ -292,8 +293,11 @@ · 16 unmodified lines
292293 <!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml">
293294 <!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml">
294295 <!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml">
296+<!ENTITY sub-srggb12 SYSTEM "v4l/pixfmt-srggb12.xml">
295297 <!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml">
296298 <!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml">
299+<!ENTITY sub-y12 SYSTEM "v4l/pixfmt-y12.xml">
300+<!ENTITY sub-y10b SYSTEM "v4l/pixfmt-y10b.xml">
297301 <!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml">
298302 <!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml">
299303 <!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml">
@@ -370,9 +374,9 @@ · 70 unmodified lines
370374 <!ENTITY sub-media-indices SYSTEM "media-indices.tmpl">
371375
372376 <!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml">
373−<!ENTITY sub-media-open SYSTEM "v4l/media-func-open.xml">
374−<!ENTITY sub-media-close SYSTEM "v4l/media-func-close.xml">
375−<!ENTITY sub-media-ioctl SYSTEM "v4l/media-func-ioctl.xml">
377+<!ENTITY sub-media-func-open SYSTEM "v4l/media-func-open.xml">
378+<!ENTITY sub-media-func-close SYSTEM "v4l/media-func-close.xml">
379+<!ENTITY sub-media-func-ioctl SYSTEM "v4l/media-func-ioctl.xml">
376380 <!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml">
377381 <!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml">
378382 <!ENTITY sub-media-ioc-enum-links SYSTEM "v4l/media-ioc-enum-links.xml">
Documentation/DocBook/mtdnand.tmpl+7−8
@@ -189,8 +189,7 @@ static void __iomem *baseaddr; · 188 unmodified lines
189189 <title>Partition defines</title>
190190 <para>
191191 If you want to divide your device into partitions, then
192− enable the configuration switch CONFIG_MTD_PARTITIONS and define
193− a partitioning scheme suitable to your board.
192+ define a partitioning scheme suitable to your board.
194193 </para>
195194 <programlisting>
196195 #define NUM_PARTITIONS 2
@@ -485,7 +484,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 288 unmodified lines
485484 Reed-Solomon library.
486485 </para>
487486 <para>
488− The ECC bytes must be placed immidiately after the data
487+ The ECC bytes must be placed immediately after the data
489488 bytes in order to make the syndrome generator work. This
490489 is contrary to the usual layout used by software ECC. The
491490 separation of data and out of band area is not longer
@@ -629,7 +628,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 137 unmodified lines
629628 holds the bad block table. Store a pointer to the pattern
630629 in the pattern field. Further the length of the pattern has to be
631630 stored in len and the offset in the spare area must be given
632− in the offs member of the nand_bbt_descr stucture. For mirrored
631+ in the offs member of the nand_bbt_descr structure. For mirrored
633632 bad block tables different patterns are mandatory.</para></listitem>
634633 <listitem><para>Table creation</para>
635634 <para>Set the option NAND_BBT_CREATE to enable the table creation
@@ -648,7 +647,7 @@ static void board_select_chip (struct mtd_info *mtd, int chip) · 12 unmodified lines
648647 <listitem><para>Table version control</para>
649648 <para>Set the option NAND_BBT_VERSION to enable the table version control.
650649 It's highly recommended to enable this for mirrored tables with write
651− support. It makes sure that the risk of loosing the bad block
650+ support. It makes sure that the risk of losing the bad block
652651 table information is reduced to the loss of the information about the
653652 one worn out block which should be marked bad. The version is stored in
654653 4 consecutive bytes in the spare area of the device. The position of
@@ -1060,19 +1059,19 @@ data in this page</entry> · 405 unmodified lines
10601059 <row>
10611060 <entry>0x3D</entry>
10621061 <entry>ECC byte 21</entry>
1063−<entry>Error correction code byte 0 of the eigth 256 Bytes of data
1062+<entry>Error correction code byte 0 of the eighth 256 Bytes of data
10641063 in this page</entry>
10651064 </row>
10661065 <row>
10671066 <entry>0x3E</entry>
10681067 <entry>ECC byte 22</entry>
1069−<entry>Error correction code byte 1 of the eigth 256 Bytes of data
1068+<entry>Error correction code byte 1 of the eighth 256 Bytes of data
10701069 in this page</entry>
10711070 </row>
10721071 <row>
10731072 <entry>0x3F</entry>
10741073 <entry>ECC byte 23</entry>
1075−<entry>Error correction code byte 2 of the eigth 256 Bytes of data
1074+<entry>Error correction code byte 2 of the eighth 256 Bytes of data
10761075 in this page</entry>
10771076 </row>
10781077 </tbody></tgroup></informaltable>
Documentation/DocBook/regulator.tmpl+2−2
@@ -267,8 +267,8 @@ · 266 unmodified lines
267267 <sect1 id="machine-constraint">
268268 <title>Constraints</title>
269269 <para>
270− As well as definining the connections the machine interface
271− also provides constraints definining the operations that
270+ As well as defining the connections the machine interface
271+ also provides constraints defining the operations that
272272 clients are allowed to perform and the parameters that may be
273273 set. This is required since generally regulator devices will
274274 offer more flexibility than it is safe to use on a given
Documentation/DocBook/uio-howto.tmpl+1−1
@@ -797,7 +797,7 @@ framework to set up sysfs files for this region. Simply leave it alone. · 796 unmodified lines
797797 perform some initialization. After that, your hardware
798798 starts working and will generate an interrupt as soon
799799 as it's finished, has some data available, or needs your
800− attention because an error occured.
800+ attention because an error occurred.
801801 </para>
802802 <para>
803803 <filename>/dev/uioX</filename> is a read-only file. A
Documentation/DocBook/usb.tmpl+1−1
@@ -690,7 +690,7 @@ usbdev_ioctl (int fd, int ifno, unsigned request, void *param) · 689 unmodified lines
690690 </para><para>
691691 This request lets kernel drivers talk to user mode code
692692 through filesystem operations even when they don't create
693− a charactor or block special device.
693+ a character or block special device.
694694 It's also been used to do things like ask devices what
695695 device special file should be used.
696696 Two pre-defined ioctls are used
Documentation/DocBook/v4l/common.xml+1−1
@@ -100,7 +100,7 @@ linux-kernel@vger.kernel.org, 2002-11-20. --></para> · 99 unmodified lines
100100
101101 <para>By convention system administrators create various
102102 character device special files with these major and minor numbers in
103−the <filename>/dev</filename> directory. The names recomended for the
103+the <filename>/dev</filename> directory. The names recommended for the
104104 different V4L2 device types are listed in <xref linkend="devices" />.
105105 </para>
106106
Documentation/DocBook/v4l/controls.xml+1−1
@@ -1243,7 +1243,7 @@ values are:</entry> · 1242 unmodified lines
12431243 </row><row><entry spanname="descr">Mutes the audio when
12441244 capturing. This is not done by muting audio hardware, which can still
12451245 produce a slight hiss, but in the encoder itself, guaranteeing a fixed
1246−and reproducable audio bitstream. 0 = unmuted, 1 = muted.</entry>
1246+and reproducible audio bitstream. 0 = unmuted, 1 = muted.</entry>
12471247 </row>
12481248 <row><entry></entry></row>
12491249 <row id="v4l2-mpeg-video-encoding">
Documentation/DocBook/v4l/dev-subdev.xml+1−1
@@ -90,7 +90,7 @@ · 89 unmodified lines
9090 processing hardware.</para>
9191
9292 <figure id="pipeline-scaling">
93− <title>Image Format Negotation on Pipelines</title>
93+ <title>Image Format Negotiation on Pipelines</title>
9494 <mediaobject>
9595 <imageobject>
9696 <imagedata fileref="pipeline.pdf" format="PS" />
Documentation/DocBook/v4l/libv4l.xml+1−1
@@ -140,7 +140,7 @@ and is not locked sets the cid to the scaled value. · 139 unmodified lines
140140 <para>int v4l2_get_control(int fd, int cid) -
141141 This function returns a value of 0 - 65535, scaled to from the actual range
142142 of the given v4l control id. when the cid does not exist, could not be
143−accessed for some reason, or some error occured 0 is returned.
143+accessed for some reason, or some error occurred 0 is returned.
144144 </para></listitem>
145145 </itemizedlist>
146146 </section>
Documentation/DocBook/v4l/media-controller.xml+3−3
@@ -78,9 +78,9 @@ · 77 unmodified lines
7878 <appendix id="media-user-func">
7979 <title>Function Reference</title>
8080 <!-- Keep this alphabetically sorted. -->
81− &sub-media-open;
82− &sub-media-close;
83− &sub-media-ioctl;
81+ &sub-media-func-open;
82+ &sub-media-func-close;
83+ &sub-media-func-ioctl;
8484 <!-- All ioctls go here. -->
8585 &sub-media-ioc-device-info;
8686 &sub-media-ioc-enum-entities;
Documentation/DocBook/v4l/media-ioc-setup-link.xml+1−1
@@ -34,7 +34,7 @@ · 33 unmodified lines
3434 <varlistentry>
3535 <term><parameter>request</parameter></term>
3636 <listitem>
37− <para>MEDIA_IOC_ENUM_LINKS</para>
37+ <para>MEDIA_IOC_SETUP_LINK</para>
3838 </listitem>
3939 </varlistentry>
4040 <varlistentry>
Documentation/DocBook/v4l/pixfmt-m420.xml+147−0
@@ -0,0 +1,147 @@
1+ <refentry id="V4L2-PIX-FMT-M420">
2+ <refmeta>
3+ <refentrytitle>V4L2_PIX_FMT_M420 ('M420')</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+ <refnamediv>
7+ <refname><constant>V4L2_PIX_FMT_M420</constant></refname>
8+ <refpurpose>Format with &frac12; horizontal and vertical chroma
9+ resolution, also known as YUV 4:2:0. Hybrid plane line-interleaved
10+ layout.</refpurpose>
11+ </refnamediv>
12+ <refsect1>
13+ <title>Description</title>
14+
15+ <para>M420 is a YUV format with &frac12; horizontal and vertical chroma
16+ subsampling (YUV 4:2:0). Pixels are organized as interleaved luma and
17+ chroma planes. Two lines of luma data are followed by one line of chroma
18+ data.</para>
19+ <para>The luma plane has one byte per pixel. The chroma plane contains
20+ interleaved CbCr pixels subsampled by &frac12; in the horizontal and
21+ vertical directions. Each CbCr pair belongs to four pixels. For example,
22+Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
23+Y'<subscript>00</subscript>, Y'<subscript>01</subscript>,
24+Y'<subscript>10</subscript>, Y'<subscript>11</subscript>.</para>
25+
26+ <para>All line lengths are identical: if the Y lines include pad bytes
27+ so do the CbCr lines.</para>
28+
29+ <example>
30+ <title><constant>V4L2_PIX_FMT_M420</constant> 4 &times; 4
31+pixel image</title>
32+
33+ <formalpara>
34+ <title>Byte Order.</title>
35+ <para>Each cell is one byte.
36+ <informaltable frame="none">
37+ <tgroup cols="5" align="center">
38+ <colspec align="left" colwidth="2*" />
39+ <tbody valign="top">
40+ <row>
41+ <entry>start&nbsp;+&nbsp;0:</entry>
42+ <entry>Y'<subscript>00</subscript></entry>
43+ <entry>Y'<subscript>01</subscript></entry>
44+ <entry>Y'<subscript>02</subscript></entry>
45+ <entry>Y'<subscript>03</subscript></entry>
46+ </row>
47+ <row>
48+ <entry>start&nbsp;+&nbsp;4:</entry>
49+ <entry>Y'<subscript>10</subscript></entry>
50+ <entry>Y'<subscript>11</subscript></entry>
51+ <entry>Y'<subscript>12</subscript></entry>
52+ <entry>Y'<subscript>13</subscript></entry>
53+ </row>
54+ <row>
55+ <entry>start&nbsp;+&nbsp;8:</entry>
56+ <entry>Cb<subscript>00</subscript></entry>
57+ <entry>Cr<subscript>00</subscript></entry>
58+ <entry>Cb<subscript>01</subscript></entry>
59+ <entry>Cr<subscript>01</subscript></entry>
60+ </row>
61+ <row>
62+ <entry>start&nbsp;+&nbsp;16:</entry>
63+ <entry>Y'<subscript>20</subscript></entry>
64+ <entry>Y'<subscript>21</subscript></entry>
65+ <entry>Y'<subscript>22</subscript></entry>
66+ <entry>Y'<subscript>23</subscript></entry>
67+ </row>
68+ <row>
69+ <entry>start&nbsp;+&nbsp;20:</entry>
70+ <entry>Y'<subscript>30</subscript></entry>
71+ <entry>Y'<subscript>31</subscript></entry>
72+ <entry>Y'<subscript>32</subscript></entry>
73+ <entry>Y'<subscript>33</subscript></entry>
74+ </row>
75+ <row>
76+ <entry>start&nbsp;+&nbsp;24:</entry>
77+ <entry>Cb<subscript>10</subscript></entry>
78+ <entry>Cr<subscript>10</subscript></entry>
79+ <entry>Cb<subscript>11</subscript></entry>
80+ <entry>Cr<subscript>11</subscript></entry>
81+ </row>
82+ </tbody>
83+ </tgroup>
84+ </informaltable>
85+ </para>
86+ </formalpara>
87+
88+ <formalpara>
89+ <title>Color Sample Location.</title>
90+ <para>
91+ <informaltable frame="none">
92+ <tgroup cols="7" align="center">
93+ <tbody valign="top">
94+ <row>
95+ <entry></entry>
96+ <entry>0</entry><entry></entry><entry>1</entry><entry></entry>
97+ <entry>2</entry><entry></entry><entry>3</entry>
98+ </row>
99+ <row>
100+ <entry>0</entry>
101+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
102+ <entry>Y</entry><entry></entry><entry>Y</entry>
103+ </row>
104+ <row>
105+ <entry></entry>
106+ <entry></entry><entry>C</entry><entry></entry><entry></entry>
107+ <entry></entry><entry>C</entry><entry></entry>
108+ </row>
109+ <row>
110+ <entry>1</entry>
111+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
112+ <entry>Y</entry><entry></entry><entry>Y</entry>
113+ </row>
114+ <row>
115+ <entry></entry>
116+ </row>
117+ <row>
118+ <entry>2</entry>
119+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
120+ <entry>Y</entry><entry></entry><entry>Y</entry>
121+ </row>
122+ <row>
123+ <entry></entry>
124+ <entry></entry><entry>C</entry><entry></entry><entry></entry>
125+ <entry></entry><entry>C</entry><entry></entry>
126+ </row>
127+ <row>
128+ <entry>3</entry>
129+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
130+ <entry>Y</entry><entry></entry><entry>Y</entry>
131+ </row>
132+ </tbody>
133+ </tgroup>
134+ </informaltable>
135+ </para>
136+ </formalpara>
137+ </example>
138+ </refsect1>
139+ </refentry>
140+
141+ <!--
142+Local Variables:
143+mode: sgml
144+sgml-parent-document: "pixfmt.sgml"
145+indent-tabs-mode: nil
146+End:
147+ -->
Documentation/DocBook/v4l/pixfmt-y10b.xml+43−0
@@ -0,0 +1,43 @@
1+<refentry id="V4L2-PIX-FMT-Y10BPACK">
2+ <refmeta>
3+ <refentrytitle>V4L2_PIX_FMT_Y10BPACK ('Y10B')</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+ <refnamediv>
7+ <refname><constant>V4L2_PIX_FMT_Y10BPACK</constant></refname>
8+ <refpurpose>Grey-scale image as a bit-packed array</refpurpose>
9+ </refnamediv>
10+ <refsect1>
11+ <title>Description</title>
12+
13+ <para>This is a packed grey-scale image format with a depth of 10 bits per
14+ pixel. Pixels are stored in a bit-packed array of 10bit bits per pixel,
15+ with no padding between them and with the most significant bits coming
16+ first from the left.</para>
17+
18+ <example>
19+ <title><constant>V4L2_PIX_FMT_Y10BPACK</constant> 4 pixel data stream taking 5 bytes</title>
20+
21+ <formalpara>
22+ <title>Bit-packed representation</title>
23+ <para>pixels cross the byte boundary and have a ratio of 5 bytes for each 4
24+ pixels.
25+ <informaltable frame="all">
26+ <tgroup cols="5" align="center">
27+ <colspec align="left" colwidth="2*" />
28+ <tbody valign="top">
29+ <row>
30+ <entry>Y'<subscript>00[9:2]</subscript></entry>
31+ <entry>Y'<subscript>00[1:0]</subscript>Y'<subscript>01[9:4]</subscript></entry>
32+ <entry>Y'<subscript>01[3:0]</subscript>Y'<subscript>02[9:6]</subscript></entry>
33+ <entry>Y'<subscript>02[5:0]</subscript>Y'<subscript>03[9:8]</subscript></entry>
34+ <entry>Y'<subscript>03[7:0]</subscript></entry>
35+ </row>
36+ </tbody>
37+ </tgroup>
38+ </informaltable>
39+ </para>
40+ </formalpara>
41+ </example>
42+ </refsect1>
43+</refentry>
Documentation/DocBook/v4l/pixfmt-y12.xml+79−0
@@ -0,0 +1,79 @@
1+<refentry id="V4L2-PIX-FMT-Y12">
2+ <refmeta>
3+ <refentrytitle>V4L2_PIX_FMT_Y12 ('Y12 ')</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+ <refnamediv>
7+ <refname><constant>V4L2_PIX_FMT_Y12</constant></refname>
8+ <refpurpose>Grey-scale image</refpurpose>
9+ </refnamediv>
10+ <refsect1>
11+ <title>Description</title>
12+
13+ <para>This is a grey-scale image with a depth of 12 bits per pixel. Pixels
14+are stored in 16-bit words with unused high bits padded with 0. The least
15+significant byte is stored at lower memory addresses (little-endian).</para>
16+
17+ <example>
18+ <title><constant>V4L2_PIX_FMT_Y12</constant> 4 &times; 4
19+pixel image</title>
20+
21+ <formalpara>
22+ <title>Byte Order.</title>
23+ <para>Each cell is one byte.
24+ <informaltable frame="none">
25+ <tgroup cols="9" align="center">
26+ <colspec align="left" colwidth="2*" />
27+ <tbody valign="top">
28+ <row>
29+ <entry>start&nbsp;+&nbsp;0:</entry>
30+ <entry>Y'<subscript>00low</subscript></entry>
31+ <entry>Y'<subscript>00high</subscript></entry>
32+ <entry>Y'<subscript>01low</subscript></entry>
33+ <entry>Y'<subscript>01high</subscript></entry>
34+ <entry>Y'<subscript>02low</subscript></entry>
35+ <entry>Y'<subscript>02high</subscript></entry>
36+ <entry>Y'<subscript>03low</subscript></entry>
37+ <entry>Y'<subscript>03high</subscript></entry>
38+ </row>
39+ <row>
40+ <entry>start&nbsp;+&nbsp;8:</entry>
41+ <entry>Y'<subscript>10low</subscript></entry>
42+ <entry>Y'<subscript>10high</subscript></entry>
43+ <entry>Y'<subscript>11low</subscript></entry>
44+ <entry>Y'<subscript>11high</subscript></entry>
45+ <entry>Y'<subscript>12low</subscript></entry>
46+ <entry>Y'<subscript>12high</subscript></entry>
47+ <entry>Y'<subscript>13low</subscript></entry>
48+ <entry>Y'<subscript>13high</subscript></entry>
49+ </row>
50+ <row>
51+ <entry>start&nbsp;+&nbsp;16:</entry>
52+ <entry>Y'<subscript>20low</subscript></entry>
53+ <entry>Y'<subscript>20high</subscript></entry>
54+ <entry>Y'<subscript>21low</subscript></entry>
55+ <entry>Y'<subscript>21high</subscript></entry>
56+ <entry>Y'<subscript>22low</subscript></entry>
57+ <entry>Y'<subscript>22high</subscript></entry>
58+ <entry>Y'<subscript>23low</subscript></entry>
59+ <entry>Y'<subscript>23high</subscript></entry>
60+ </row>
61+ <row>
62+ <entry>start&nbsp;+&nbsp;24:</entry>
63+ <entry>Y'<subscript>30low</subscript></entry>
64+ <entry>Y'<subscript>30high</subscript></entry>
65+ <entry>Y'<subscript>31low</subscript></entry>
66+ <entry>Y'<subscript>31high</subscript></entry>
67+ <entry>Y'<subscript>32low</subscript></entry>
68+ <entry>Y'<subscript>32high</subscript></entry>
69+ <entry>Y'<subscript>33low</subscript></entry>
70+ <entry>Y'<subscript>33high</subscript></entry>
71+ </row>
72+ </tbody>
73+ </tgroup>
74+ </informaltable>
75+ </para>
76+ </formalpara>
77+ </example>
78+ </refsect1>
79+</refentry>
Documentation/DocBook/v4l/pixfmt.xml+4−0
@@ -673,6 +673,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< · 672 unmodified lines
673673 &sub-srggb8;
674674 &sub-sbggr16;
675675 &sub-srggb10;
676+ &sub-srggb12;
676677 </section>
677678
678679 <section id="yuv-formats">
@@ -696,6 +697,8 @@ information.</para> · 17 unmodified lines
696697 &sub-packed-yuv;
697698 &sub-grey;
698699 &sub-y10;
700+ &sub-y12;
701+ &sub-y10b;
699702 &sub-y16;
700703 &sub-yuyv;
701704 &sub-uyvy;
@@ -711,6 +714,7 @@ information.</para> · 9 unmodified lines
711714 &sub-nv12m;
712715 &sub-nv12mt;
713716 &sub-nv16;
717+ &sub-m420;
714718 </section>
715719
716720 <section>
Documentation/DocBook/v4l/remote_controllers.xml+1−1
@@ -133,7 +133,7 @@ different IR's. Due to that, V4L2 API now specifies a standard for mapping Media · 132 unmodified lines
133133 <row><entry><constant>KEY_LEFT</constant></entry><entry>Left key</entry><entry>LEFT</entry></row>
134134 <row><entry><constant>KEY_RIGHT</constant></entry><entry>Right key</entry><entry>RIGHT</entry></row>
135135
136−<row><entry><emphasis role="bold">Miscelaneous keys</emphasis></entry></row>
136+<row><entry><emphasis role="bold">Miscellaneous keys</emphasis></entry></row>
137137
138138 <row><entry><constant>KEY_DOT</constant></entry><entry>Return a dot</entry><entry>.</entry></row>
139139 <row><entry><constant>KEY_FN</constant></entry><entry>Select a function</entry><entry>FUNCTION</entry></row>
Documentation/DocBook/v4l/subdev-formats.xml+105−0
@@ -456,6 +456,23 @@ · 455 unmodified lines
456456 <entry>b<subscript>1</subscript></entry>
457457 <entry>b<subscript>0</subscript></entry>
458458 </row>
459+ <row id="V4L2-MBUS-FMT-SGBRG8-1X8">
460+ <entry>V4L2_MBUS_FMT_SGBRG8_1X8</entry>
461+ <entry>0x3013</entry>
462+ <entry></entry>
463+ <entry>-</entry>
464+ <entry>-</entry>
465+ <entry>-</entry>
466+ <entry>-</entry>
467+ <entry>g<subscript>7</subscript></entry>
468+ <entry>g<subscript>6</subscript></entry>
469+ <entry>g<subscript>5</subscript></entry>
470+ <entry>g<subscript>4</subscript></entry>
471+ <entry>g<subscript>3</subscript></entry>
472+ <entry>g<subscript>2</subscript></entry>
473+ <entry>g<subscript>1</subscript></entry>
474+ <entry>g<subscript>0</subscript></entry>
475+ </row>
459476 <row id="V4L2-MBUS-FMT-SGRBG8-1X8">
460477 <entry>V4L2_MBUS_FMT_SGRBG8_1X8</entry>
461478 <entry>0x3002</entry>
@@ -473,6 +490,23 @@ · 11 unmodified lines
473490 <entry>g<subscript>1</subscript></entry>
474491 <entry>g<subscript>0</subscript></entry>
475492 </row>
493+ <row id="V4L2-MBUS-FMT-SRGGB8-1X8">
494+ <entry>V4L2_MBUS_FMT_SRGGB8_1X8</entry>
495+ <entry>0x3014</entry>
496+ <entry></entry>
497+ <entry>-</entry>
498+ <entry>-</entry>
499+ <entry>-</entry>
500+ <entry>-</entry>
501+ <entry>r<subscript>7</subscript></entry>
502+ <entry>r<subscript>6</subscript></entry>
503+ <entry>r<subscript>5</subscript></entry>
504+ <entry>r<subscript>4</subscript></entry>
505+ <entry>r<subscript>3</subscript></entry>
506+ <entry>r<subscript>2</subscript></entry>
507+ <entry>r<subscript>1</subscript></entry>
508+ <entry>r<subscript>0</subscript></entry>
509+ </row>
476510 <row id="V4L2-MBUS-FMT-SBGGR10-DPCM8-1X8">
477511 <entry>V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8</entry>
478512 <entry>0x300b</entry>
@@ -2159,6 +2193,31 @@ · 1680 unmodified lines
21592193 <entry>u<subscript>1</subscript></entry>
21602194 <entry>u<subscript>0</subscript></entry>
21612195 </row>
2196+ <row id="V4L2-MBUS-FMT-Y12-1X12">
2197+ <entry>V4L2_MBUS_FMT_Y12_1X12</entry>
2198+ <entry>0x2013</entry>
2199+ <entry></entry>
2200+ <entry>-</entry>
2201+ <entry>-</entry>
2202+ <entry>-</entry>
2203+ <entry>-</entry>
2204+ <entry>-</entry>
2205+ <entry>-</entry>
2206+ <entry>-</entry>
2207+ <entry>-</entry>
2208+ <entry>y<subscript>11</subscript></entry>
2209+ <entry>y<subscript>10</subscript></entry>
2210+ <entry>y<subscript>9</subscript></entry>
2211+ <entry>y<subscript>8</subscript></entry>
2212+ <entry>y<subscript>7</subscript></entry>
2213+ <entry>y<subscript>6</subscript></entry>
2214+ <entry>y<subscript>5</subscript></entry>
2215+ <entry>y<subscript>4</subscript></entry>
2216+ <entry>y<subscript>3</subscript></entry>
2217+ <entry>y<subscript>2</subscript></entry>
2218+ <entry>y<subscript>1</subscript></entry>
2219+ <entry>y<subscript>0</subscript></entry>
2220+ </row>
21622221 <row id="V4L2-MBUS-FMT-UYVY8-1X16">
21632222 <entry>V4L2_MBUS_FMT_UYVY8_1X16</entry>
21642223 <entry>0x200f</entry>
@@ -2463,5 +2522,51 @@ · 298 unmodified lines
24632522 </tgroup>
24642523 </table>
24652524 </section>
2525+
2526+ <section>
2527+ <title>JPEG Compressed Formats</title>
2528+
2529+ <para>Those data formats consist of an ordered sequence of 8-bit bytes
2530+ obtained from JPEG compression process. Additionally to the
2531+ <constant>_JPEG</constant> prefix the format code is made of
2532+ the following information.
2533+ <itemizedlist>
2534+ <listitem><para>The number of bus samples per entropy encoded byte.</para></listitem>
2535+ <listitem><para>The bus width.</para></listitem>
2536+ </itemizedlist>
2537+ </para>
2538+
2539+ <para>For instance, for a JPEG baseline process and an 8-bit bus width
2540+ the format will be named <constant>V4L2_MBUS_FMT_JPEG_1X8</constant>.
2541+ </para>
2542+
2543+ <para>The following table lists existing JPEG compressed formats.</para>
2544+
2545+ <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-jpeg">
2546+ <title>JPEG Formats</title>
2547+ <tgroup cols="3">
2548+ <colspec colname="id" align="left" />
2549+ <colspec colname="code" align="left"/>
2550+ <colspec colname="remarks" align="left"/>
2551+ <thead>
2552+ <row>
2553+ <entry>Identifier</entry>
2554+ <entry>Code</entry>
2555+ <entry>Remarks</entry>
2556+ </row>
2557+ </thead>
2558+ <tbody valign="top">
2559+ <row id="V4L2-MBUS-FMT-JPEG-1X8">
2560+ <entry>V4L2_MBUS_FMT_JPEG_1X8</entry>
2561+ <entry>0x4001</entry>
2562+ <entry>Besides of its usage for the parallel bus this format is
2563+ recommended for transmission of JPEG data over MIPI CSI bus
2564+ using the User Defined 8-bit Data types.
2565+ </entry>
2566+ </row>
2567+ </tbody>
2568+ </tgroup>
2569+ </table>
2570+ </section>
24662571 </section>
24672572 </section>
Documentation/DocBook/v4l/videodev2.h.xml+4−0
@@ -311,6 +311,9 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { · 310 unmodified lines
311311 #define <link linkend="V4L2-PIX-FMT-Y10">V4L2_PIX_FMT_Y10</link> v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
312312 #define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
313313
314+/* Grey bit-packed formats */
315+#define <link linkend="V4L2-PIX-FMT-Y10BPACK">V4L2_PIX_FMT_Y10BPACK</link> v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
316+
314317 /* Palette formats */
315318 #define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
316319
@@ -333,6 +336,7 @@ struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> { · 16 unmodified lines
333336 #define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
334337 #define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
335338 #define <link linkend="V4L2-PIX-FMT-HM12">V4L2_PIX_FMT_HM12</link> v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
339+#define <link linkend="V4L2-PIX-FMT-M420">V4L2_PIX_FMT_M420</link> v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
336340
337341 /* two planes -- one Y, one Cr + Cb interleaved */
338342 #define <link linkend="V4L2-PIX-FMT-NV12">V4L2_PIX_FMT_NV12</link> v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
Documentation/DocBook/writing-an-alsa-driver.tmpl+1−1
@@ -4784,7 +4784,7 @@ struct _snd_pcm_runtime { · 4783 unmodified lines
47844784 FM registers can be directly accessed through the direct-FM API,
47854785 defined in <filename>&lt;sound/asound_fm.h&gt;</filename>. In
47864786 ALSA native mode, FM registers are accessed through
4787− the Hardware-Dependant Device direct-FM extension API, whereas in
4787+ the Hardware-Dependent Device direct-FM extension API, whereas in
47884788 OSS compatible mode, FM registers can be accessed with the OSS
47894789 direct-FM compatible API in <filename>/dev/dmfmX</filename> device.
47904790 </para>
Documentation/HOWTO+1−1
@@ -209,7 +209,7 @@ tools. One such tool that is particularly recommended is the Linux · 208 unmodified lines
209209 Cross-Reference project, which is able to present source code in a
210210 self-referential, indexed webpage format. An excellent up-to-date
211211 repository of the kernel code may be found at:
212− http://users.sosdg.org/~qiyong/lxr/
212+ http://lxr.linux.no/+trees
213213
214214
215215 The development process
Documentation/IRQ-affinity.txt+13−4
@@ -4,10 +4,11 @@ ChangeLog: · 3 unmodified lines
44
55 SMP IRQ affinity
66
7−/proc/irq/IRQ#/smp_affinity specifies which target CPUs are permitted
8−for a given IRQ source. It's a bitmask of allowed CPUs. It's not allowed
9−to turn off all CPUs, and if an IRQ controller does not support IRQ
10−affinity then the value will not change from the default 0xffffffff.
7+/proc/irq/IRQ#/smp_affinity and /proc/irq/IRQ#/smp_affinity_list specify
8+which target CPUs are permitted for a given IRQ source. It's a bitmask
9+(smp_affinity) or cpu list (smp_affinity_list) of allowed CPUs. It's not
10+allowed to turn off all CPUs, and if an IRQ controller does not support
11+IRQ affinity then the value will not change from the default of all cpus.
1112
1213 /proc/irq/default_smp_affinity specifies default affinity mask that applies
1314 to all non-active IRQs. Once IRQ is allocated/activated its affinity bitmask
@@ -54,3 +55,11 @@ round-trip min/avg/max = 0.1/0.5/585.4 ms · 40 unmodified lines
5455 This time around IRQ44 was delivered only to the last four processors.
5556 i.e counters for the CPU0-3 did not change.
5657
58+Here is an example of limiting that same irq (44) to cpus 1024 to 1031:
59+
60+[root@moon 44]# echo 1024-1031 > smp_affinity
61+[root@moon 44]# cat smp_affinity
62+1024-1031
63+
64+Note that to do this with a bitmask would require 32 bitmasks of zero
65+to follow the pertinent one.
Documentation/PCI/MSI-HOWTO.txt+2−2
@@ -253,8 +253,8 @@ In constrast, MSI is restricted to a maximum of 32 interrupts (and · 252 unmodified lines
253253 must be a power of two). In addition, the MSI interrupt vectors must
254254 be allocated consecutively, so the system may not be able to allocate
255255 as many vectors for MSI as it could for MSI-X. On some platforms, MSI
256−interrupts must all be targetted at the same set of CPUs whereas MSI-X
257−interrupts can all be targetted at different CPUs.
256+interrupts must all be targeted at the same set of CPUs whereas MSI-X
257+interrupts can all be targeted at different CPUs.
258258
259259 4.5.2 Spinlocks
260260
Documentation/RCU/00-INDEX+1−1
@@ -21,7 +21,7 @@ rcu.txt · 20 unmodified lines
2121 RTFP.txt
2222 - List of RCU papers (bibliography) going back to 1980.
2323 stallwarn.txt
24− - RCU CPU stall warnings (CONFIG_RCU_CPU_STALL_DETECTOR)
24+ - RCU CPU stall warnings (module parameter rcu_cpu_stall_suppress)
2525 torture.txt
2626 - RCU Torture Test Operation (CONFIG_RCU_TORTURE_TEST)
2727 trace.txt
Documentation/RCU/stallwarn.txt+13−10
@@ -1,22 +1,25 @@
11 Using RCU's CPU Stall Detector
22
3−The CONFIG_RCU_CPU_STALL_DETECTOR kernel config parameter enables
4−RCU's CPU stall detector, which detects conditions that unduly delay
5−RCU grace periods. The stall detector's idea of what constitutes
6−"unduly delayed" is controlled by a set of C preprocessor macros:
3+The rcu_cpu_stall_suppress module parameter enables RCU's CPU stall
4+detector, which detects conditions that unduly delay RCU grace periods.
5+This module parameter enables CPU stall detection by default, but
6+may be overridden via boot-time parameter or at runtime via sysfs.
7+The stall detector's idea of what constitutes "unduly delayed" is
8+controlled by a set of kernel configuration variables and cpp macros:
79
8−RCU_SECONDS_TILL_STALL_CHECK
10+CONFIG_RCU_CPU_STALL_TIMEOUT
911
10− This macro defines the period of time that RCU will wait from
11− the beginning of a grace period until it issues an RCU CPU
12− stall warning. This time period is normally ten seconds.
12+ This kernel configuration parameter defines the period of time
13+ that RCU will wait from the beginning of a grace period until it
14+ issues an RCU CPU stall warning. This time period is normally
15+ ten seconds.
1316
1417 RCU_SECONDS_TILL_STALL_RECHECK
1518
1619 This macro defines the period of time that RCU will wait after
1720 issuing a stall warning until it issues another stall warning
18− for the same stall. This time period is normally set to thirty
19− seconds.
21+ for the same stall. This time period is normally set to three
22+ times the check interval plus thirty seconds.
2023
2124 RCU_STALL_RAT_DELAY
2225
Documentation/RCU/trace.txt+236−59
@@ -10,34 +10,46 @@ for rcutree and next for rcutiny. · 9 unmodified lines
1010
1111 CONFIG_TREE_RCU and CONFIG_TREE_PREEMPT_RCU debugfs Files and Formats
1212
13−These implementations of RCU provides five debugfs files under the
14−top-level directory RCU: rcu/rcudata (which displays fields in struct
15−rcu_data), rcu/rcudata.csv (which is a .csv spreadsheet version of
16−rcu/rcudata), rcu/rcugp (which displays grace-period counters),
17−rcu/rcuhier (which displays the struct rcu_node hierarchy), and
18−rcu/rcu_pending (which displays counts of the reasons that the
19−rcu_pending() function decided that there was core RCU work to do).
13+These implementations of RCU provides several debugfs files under the
14+top-level directory "rcu":
15+
16+rcu/rcudata:
17+ Displays fields in struct rcu_data.
18+rcu/rcudata.csv:
19+ Comma-separated values spreadsheet version of rcudata.
20+rcu/rcugp:
21+ Displays grace-period counters.
22+rcu/rcuhier:
23+ Displays the struct rcu_node hierarchy.
24+rcu/rcu_pending:
25+ Displays counts of the reasons rcu_pending() decided that RCU had
26+ work to do.
27+rcu/rcutorture:
28+ Displays rcutorture test progress.
29+rcu/rcuboost:
30+ Displays RCU boosting statistics. Only present if
31+ CONFIG_RCU_BOOST=y.
2032
2133 The output of "cat rcu/rcudata" looks as follows:
2234
2335 rcu_sched:
24− 0 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=10951/1 dn=0 df=1101 of=0 ri=36 ql=0 b=10
25− 1 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=16117/1 dn=0 df=1015 of=0 ri=0 ql=0 b=10
26− 2 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=1445/1 dn=0 df=1839 of=0 ri=0 ql=0 b=10
27− 3 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=6681/1 dn=0 df=1545 of=0 ri=0 ql=0 b=10
28− 4 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=1003/1 dn=0 df=1992 of=0 ri=0 ql=0 b=10
29− 5 c=17829 g=17830 pq=1 pqc=17829 qp=1 dt=3887/1 dn=0 df=3331 of=0 ri=4 ql=2 b=10
30− 6 c=17829 g=17829 pq=1 pqc=17829 qp=0 dt=859/1 dn=0 df=3224 of=0 ri=0 ql=0 b=10
31− 7 c=17829 g=17830 pq=0 pqc=17829 qp=1 dt=3761/1 dn=0 df=1818 of=0 ri=0 ql=2 b=10
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
3244 rcu_bh:
33− 0 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=10951/1 dn=0 df=0 of=0 ri=0 ql=0 b=10
34− 1 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=16117/1 dn=0 df=13 of=0 ri=0 ql=0 b=10
35− 2 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=1445/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
36− 3 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=6681/1 dn=0 df=9 of=0 ri=0 ql=0 b=10
37− 4 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=1003/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
38− 5 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=3887/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
39− 6 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=859/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
40− 7 c=-275 g=-275 pq=1 pqc=-275 qp=0 dt=3761/1 dn=0 df=15 of=0 ri=0 ql=0 b=10
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
4153
4254 The first section lists the rcu_data structures for rcu_sched, the second
4355 for rcu_bh. Note that CONFIG_TREE_PREEMPT_RCU kernels will have an
@@ -52,17 +64,18 @@ o The number at the beginning of each line is the CPU number. · 8 unmodified lines
5264 substantially larger than the number of actual CPUs.
5365
5466 o "c" is the count of grace periods that this CPU believes have
55− completed. CPUs in dynticks idle mode may lag quite a ways
56− behind, for example, CPU 4 under "rcu_sched" above, which has
57− slept through the past 25 RCU grace periods. It is not unusual
58− to see CPUs lagging by thousands of grace periods.
67+ completed. Offlined CPUs and CPUs in dynticks idle mode may
68+ lag quite a ways behind, for example, CPU 6 under "rcu_sched"
69+ above, which has been offline through not quite 40,000 RCU grace
70+ periods. It is not unusual to see CPUs lagging by thousands of
71+ grace periods.
5972
6073 o "g" is the count of grace periods that this CPU believes have
61− started. Again, CPUs in dynticks idle mode may lag behind.
62− If the "c" and "g" values are equal, this CPU has already
63− reported a quiescent state for the last RCU grace period that
64− it is aware of, otherwise, the CPU believes that it owes RCU a
65− quiescent state.
74+ started. Again, offlined CPUs and CPUs in dynticks idle mode
75+ may lag behind. If the "c" and "g" values are equal, this CPU
76+ has already reported a quiescent state for the last RCU grace
77+ period that it is aware of, otherwise, the CPU believes that it
78+ owes RCU a quiescent state.
6679
6780 o "pq" indicates that this CPU has passed through a quiescent state
6881 for the current grace period. It is possible for "pq" to be
@@ -81,22 +94,16 @@ o "pqc" indicates which grace period the last-observed quiescent · 12 unmodified lines
8194 the next grace period!
8295
8396 o "qp" indicates that RCU still expects a quiescent state from
84− this CPU.
97+ this CPU. Offlined CPUs and CPUs in dyntick idle mode might
98+ well have qp=1, which is OK: RCU is still ignoring them.
8599
86100 o "dt" is the current value of the dyntick counter that is incremented
87101 when entering or leaving dynticks idle state, either by the
88− scheduler or by irq. The number after the "/" is the interrupt
89− nesting depth when in dyntick-idle state, or one greater than
90− the interrupt-nesting depth otherwise.
91−
92− This field is displayed only for CONFIG_NO_HZ kernels.
93−
94−o "dn" is the current value of the dyntick counter that is incremented
95− when entering or leaving dynticks idle state via NMI. If both
96− the "dt" and "dn" values are even, then this CPU is in dynticks
97− idle mode and may be ignored by RCU. If either of these two
98− counters is odd, then RCU must be alert to the possibility of
99− an RCU read-side critical section running on this CPU.
102+ scheduler or by irq. This number is even if the CPU is in
103+ dyntick idle mode and odd otherwise. The number after the first
104+ "/" is the interrupt nesting depth when in dyntick-idle state,
105+ or one greater than the interrupt-nesting depth otherwise.
106+ The number after the second "/" is the NMI nesting depth.
100107
101108 This field is displayed only for CONFIG_NO_HZ kernels.
102109
@@ -108,7 +115,7 @@ o "df" is the number of times that some other CPU has forced a · 5 unmodified lines
108115
109116 o "of" is the number of times that some other CPU has forced a
110117 quiescent state on behalf of this CPU due to this CPU being
111− offline. In a perfect world, this might neve happen, but it
118+ offline. In a perfect world, this might never happen, but it
112119 turns out that offlining and onlining a CPU can take several grace
113120 periods, and so there is likely to be an extended period of time
114121 when RCU believes that the CPU is online when it really is not.
@@ -125,6 +132,62 @@ o "ql" is the number of RCU callbacks currently residing on · 10 unmodified lines
125132 of what state they are in (new, waiting for grace period to
126133 start, waiting for grace period to end, ready to invoke).
127134
135+o "qs" gives an indication of the state of the callback queue
136+ with four characters:
137+
138+ "N" Indicates that there are callbacks queued that are not
139+ ready to be handled by the next grace period, and thus
140+ will be handled by the grace period following the next
141+ one.
142+
143+ "R" Indicates that there are callbacks queued that are
144+ ready to be handled by the next grace period.
145+
146+ "W" Indicates that there are callbacks queued that are
147+ waiting on the current grace period.
148+
149+ "D" Indicates that there are callbacks queued that have
150+ already been handled by a prior grace period, and are
151+ thus waiting to be invoked. Note that callbacks in
152+ the process of being invoked are not counted here.
153+ Callbacks in the process of being invoked are those
154+ that have been removed from the rcu_data structures
155+ queues by rcu_do_batch(), but which have not yet been
156+ invoked.
157+
158+ If there are no callbacks in a given one of the above states,
159+ the corresponding character is replaced by ".".
160+
161+o "kt" is the per-CPU kernel-thread state. The digit preceding
162+ the first slash is zero if there is no work pending and 1
163+ otherwise. The character between the first pair of slashes is
164+ as follows:
165+
166+ "S" The kernel thread is stopped, in other words, all
167+ CPUs corresponding to this rcu_node structure are
168+ offline.
169+
170+ "R" The kernel thread is running.
171+
172+ "W" The kernel thread is waiting because there is no work
173+ for it to do.
174+
175+ "O" The kernel thread is waiting because it has been
176+ forced off of its designated CPU or because its
177+ ->cpus_allowed mask permits it to run on other than
178+ its designated CPU.
179+
180+ "Y" The kernel thread is yielding to avoid hogging CPU.
181+
182+ "?" Unknown value, indicates a bug.
183+
184+ The number after the final slash is the CPU that the kthread
185+ is actually running on.
186+
187+o "ktl" is the low-order 16 bits (in hexadecimal) of the count of
188+ the number of times that this CPU's per-CPU kthread has gone
189+ through its loop servicing invoke_rcu_cpu_kthread() requests.
190+
128191 o "b" is the batch limit for this CPU. If more than this number
129192 of RCU callbacks is ready to invoke, then the remainder will
130193 be deferred.
@@ -174,14 +237,14 @@ o "gpnum" is the number of grace periods that have started. It is · 43 unmodified lines
174237 The output of "cat rcu/rcuhier" looks as follows, with very long lines:
175238
176239 c=6902 g=6903 s=2 jfq=3 j=72c7 nfqs=13142/nfqsng=0(13142) fqlh=6
177−1/1 .>. 0:127 ^0
178−3/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3
179−3/3f .>. 0:5 ^0 2/3 .>. 6:11 ^1 0/0 .>. 12:17 ^2 0/0 .>. 18:23 ^3 0/0 .>. 24:29 ^4 0/0 .>. 30:35 ^5 0/0 .>. 36:41 ^0 0/0 .>. 42:47 ^1 0/0 .>. 48:53 ^2 0/0 .>. 54:59 ^3 0/0 .>. 60:65 ^4 0/0 .>. 66:71 ^5 0/0 .>. 72:77 ^0 0/0 .>. 78:83 ^1 0/0 .>. 84:89 ^2 0/0 .>. 90:95 ^3 0/0 .>. 96:101 ^4 0/0 .>. 102:107 ^5 0/0 .>. 108:113 ^0 0/0 .>. 114:119 ^1 0/0 .>. 120:125 ^2 0/0 .>. 126:127 ^3
240+1/1 ..>. 0:127 ^0
241+3/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3
242+3/3f ..>. 0:5 ^0 2/3 ..>. 6:11 ^1 0/0 ..>. 12:17 ^2 0/0 ..>. 18:23 ^3 0/0 ..>. 24:29 ^4 0/0 ..>. 30:35 ^5 0/0 ..>. 36:41 ^0 0/0 ..>. 42:47 ^1 0/0 ..>. 48:53 ^2 0/0 ..>. 54:59 ^3 0/0 ..>. 60:65 ^4 0/0 ..>. 66:71 ^5 0/0 ..>. 72:77 ^0 0/0 ..>. 78:83 ^1 0/0 ..>. 84:89 ^2 0/0 ..>. 90:95 ^3 0/0 ..>. 96:101 ^4 0/0 ..>. 102:107 ^5 0/0 ..>. 108:113 ^0 0/0 ..>. 114:119 ^1 0/0 ..>. 120:125 ^2 0/0 ..>. 126:127 ^3
180243 rcu_bh:
181244 c=-226 g=-226 s=1 jfq=-5701 j=72c7 nfqs=88/nfqsng=0(88) fqlh=0
182−0/1 .>. 0:127 ^0
183−0/3 .>. 0:35 ^0 0/0 .>. 36:71 ^1 0/0 .>. 72:107 ^2 0/0 .>. 108:127 ^3
184−0/3f .>. 0:5 ^0 0/3 .>. 6:11 ^1 0/0 .>. 12:17 ^2 0/0 .>. 18:23 ^3 0/0 .>. 24:29 ^4 0/0 .>. 30:35 ^5 0/0 .>. 36:41 ^0 0/0 .>. 42:47 ^1 0/0 .>. 48:53 ^2 0/0 .>. 54:59 ^3 0/0 .>. 60:65 ^4 0/0 .>. 66:71 ^5 0/0 .>. 72:77 ^0 0/0 .>. 78:83 ^1 0/0 .>. 84:89 ^2 0/0 .>. 90:95 ^3 0/0 .>. 96:101 ^4 0/0 .>. 102:107 ^5 0/0 .>. 108:113 ^0 0/0 .>. 114:119 ^1 0/0 .>. 120:125 ^2 0/0 .>. 126:127 ^3
245+0/1 ..>. 0:127 ^0
246+0/3 ..>. 0:35 ^0 0/0 ..>. 36:71 ^1 0/0 ..>. 72:107 ^2 0/0 ..>. 108:127 ^3
247+0/3f ..>. 0:5 ^0 0/3 ..>. 6:11 ^1 0/0 ..>. 12:17 ^2 0/0 ..>. 18:23 ^3 0/0 ..>. 24:29 ^4 0/0 ..>. 30:35 ^5 0/0 ..>. 36:41 ^0 0/0 ..>. 42:47 ^1 0/0 ..>. 48:53 ^2 0/0 ..>. 54:59 ^3 0/0 ..>. 60:65 ^4 0/0 ..>. 66:71 ^5 0/0 ..>. 72:77 ^0 0/0 ..>. 78:83 ^1 0/0 ..>. 84:89 ^2 0/0 ..>. 90:95 ^3 0/0 ..>. 96:101 ^4 0/0 ..>. 102:107 ^5 0/0 ..>. 108:113 ^0 0/0 ..>. 114:119 ^1 0/0 ..>. 120:125 ^2 0/0 ..>. 126:127 ^3
185248
186249 This is once again split into "rcu_sched" and "rcu_bh" portions,
187250 and CONFIG_TREE_PREEMPT_RCU kernels will again have an additional
@@ -240,13 +303,20 @@ o Each element of the form "1/1 0:127 ^0" represents one struct · 52 unmodified lines
240303 current grace period.
241304
242305 o The characters separated by the ">" indicate the state
243− of the blocked-tasks lists. A "T" preceding the ">"
306+ of the blocked-tasks lists. A "G" preceding the ">"
244307 indicates that at least one task blocked in an RCU
245308 read-side critical section blocks the current grace
246− period, while a "." preceding the ">" indicates otherwise.
247− The character following the ">" indicates similarly for
248− the next grace period. A "T" should appear in this
249− field only for rcu-preempt.
309+ period, while a "E" preceding the ">" indicates that
310+ at least one task blocked in an RCU read-side critical
311+ section blocks the current expedited grace period.
312+ A "T" character following the ">" indicates that at
313+ least one task is blocked within an RCU read-side
314+ critical section, regardless of whether any current
315+ grace period (expedited or normal) is inconvenienced.
316+ A "." character appears if the corresponding condition
317+ does not hold, so that "..>." indicates that no tasks
318+ are blocked. In contrast, "GE>T" indicates maximal
319+ inconvenience from blocked tasks.
250320
251321 o The numbers separated by the ":" are the range of CPUs
252322 served by this struct rcu_node. This can be helpful
@@ -328,6 +398,113 @@ o "nn" is the number of times that this CPU needed nothing. Alert · 75 unmodified lines
328398 is due to short-circuit evaluation in rcu_pending().
329399
330400
401+The output of "cat rcu/rcutorture" looks as follows:
402+
403+rcutorture test sequence: 0 (test in progress)
404+rcutorture update version number: 615
405+
406+The first line shows the number of rcutorture tests that have completed
407+since boot. If a test is currently running, the "(test in progress)"
408+string will appear as shown above. The second line shows the number of
409+update cycles that the current test has started, or zero if there is
410+no test in progress.
411+
412+
413+The output of "cat rcu/rcuboost" looks as follows:
414+
415+0:5 tasks=.... kt=W ntb=0 neb=0 nnb=0 j=2f95 bt=300f
416+ balk: nt=0 egt=989 bt=0 nb=0 ny=0 nos=16
417+6:7 tasks=.... kt=W ntb=0 neb=0 nnb=0 j=2f95 bt=300f
418+ balk: nt=0 egt=225 bt=0 nb=0 ny=0 nos=6
419+
420+This information is output only for rcu_preempt. Each two-line entry
421+corresponds to a leaf rcu_node strcuture. The fields are as follows:
422+
423+o "n:m" is the CPU-number range for the corresponding two-line
424+ entry. In the sample output above, the first entry covers
425+ CPUs zero through five and the second entry covers CPUs 6
426+ and 7.
427+
428+o "tasks=TNEB" gives the state of the various segments of the
429+ rnp->blocked_tasks list:
430+
431+ "T" This indicates that there are some tasks that blocked
432+ while running on one of the corresponding CPUs while
433+ in an RCU read-side critical section.
434+
435+ "N" This indicates that some of the blocked tasks are preventing
436+ the current normal (non-expedited) grace period from
437+ completing.
438+
439+ "E" This indicates that some of the blocked tasks are preventing
440+ the current expedited grace period from completing.
441+
442+ "B" This indicates that some of the blocked tasks are in
443+ need of RCU priority boosting.
444+
445+ Each character is replaced with "." if the corresponding
446+ condition does not hold.
447+
448+o "kt" is the state of the RCU priority-boosting kernel
449+ thread associated with the corresponding rcu_node structure.
450+ The state can be one of the following:
451+
452+ "S" The kernel thread is stopped, in other words, all
453+ CPUs corresponding to this rcu_node structure are
454+ offline.
455+
456+ "R" The kernel thread is running.
457+
458+ "W" The kernel thread is waiting because there is no work
459+ for it to do.
460+
461+ "Y" The kernel thread is yielding to avoid hogging CPU.
462+
463+ "?" Unknown value, indicates a bug.
464+
465+o "ntb" is the number of tasks boosted.
466+
467+o "neb" is the number of tasks boosted in order to complete an
468+ expedited grace period.
469+
470+o "nnb" is the number of tasks boosted in order to complete a
471+ normal (non-expedited) grace period. When boosting a task
472+ that was blocking both an expedited and a normal grace period,
473+ it is counted against the expedited total above.
474+
475+o "j" is the low-order 16 bits of the jiffies counter in
476+ hexadecimal.
477+
478+o "bt" is the low-order 16 bits of the value that the jiffies
479+ counter will have when we next start boosting, assuming that
480+ the current grace period does not end beforehand. This is
481+ also in hexadecimal.
482+
483+o "balk: nt" counts the number of times we didn't boost (in
484+ other words, we balked) even though it was time to boost because
485+ there were no blocked tasks to boost. This situation occurs
486+ when there is one blocked task on one rcu_node structure and
487+ none on some other rcu_node structure.
488+
489+o "egt" counts the number of times we balked because although
490+ there were blocked tasks, none of them were blocking the
491+ current grace period, whether expedited or otherwise.
492+
493+o "bt" counts the number of times we balked because boosting
494+ had already been initiated for the current grace period.
495+
496+o "nb" counts the number of times we balked because there
497+ was at least one task blocking the current non-expedited grace
498+ period that never had blocked. If it is already running, it
499+ just won't help to boost its priority!
500+
501+o "ny" counts the number of times we balked because it was
502+ not yet time to start boosting.
503+
504+o "nos" counts the number of times we balked for other
505+ reasons, e.g., the grace period ended first.
506+
507+
331508 CONFIG_TINY_RCU and CONFIG_TINY_PREEMPT_RCU debugfs Files and Formats
332509
333510 These implementations of RCU provides a single debugfs file under the
@@ -394,9 +571,9 @@ o "neb" is the number of expedited grace periods that have had · 60 unmodified lines
394571 o "nnb" is the number of normal grace periods that have had
395572 to resort to RCU priority boosting since boot.
396573
397−o "j" is the low-order 12 bits of the jiffies counter in hexadecimal.
574+o "j" is the low-order 16 bits of the jiffies counter in hexadecimal.
398575
399−o "bt" is the low-order 12 bits of the value that the jiffies counter
576+o "bt" is the low-order 16 bits of the value that the jiffies counter
400577 will have at the next time that boosting is scheduled to begin.
401578
402579 o In the line beginning with "normal balk", the fields are as follows:
Documentation/SecurityBugs+1−1
@@ -28,7 +28,7 @@ expect these delays to be short, measurable in days, not weeks or months. · 27 unmodified lines
2828 A disclosure date is negotiated by the security team working with the
2929 bug submitter as well as vendors. However, the kernel security team
3030 holds the final say when setting a disclosure date. The timeframe for
31−disclosure is from immediate (esp. if it's already publically known)
31+disclosure is from immediate (esp. if it's already publicly known)
3232 to a few weeks. As a basic default policy, we expect report date to
3333 disclosure date to be on the order of 7 days.
3434
Documentation/SubmittingDrivers+1−1
@@ -101,7 +101,7 @@ PM support: Since Linux is used on many portable and desktop systems, your · 100 unmodified lines
101101 complete overview of the power management issues related to
102102 drivers see Documentation/power/devices.txt .
103103
104−Control: In general if there is active maintainance of a driver by
104+Control: In general if there is active maintenance of a driver by
105105 the author then patches will be redirected to them unless
106106 they are totally obvious and without need of checking.
107107 If you want to be the contact and update point for the
Documentation/SubmittingPatches+6−5
@@ -714,10 +714,11 @@ Jeff Garzik, "Linux kernel patch submission format". · 713 unmodified lines
714714 <http://linux.yyz.us/patch-format.html>
715715
716716 Greg Kroah-Hartman, "How to piss off a kernel subsystem maintainer".
717− <http://www.kroah.com/log/2005/03/31/>
718− <http://www.kroah.com/log/2005/07/08/>
719− <http://www.kroah.com/log/2005/10/19/>
720− <http://www.kroah.com/log/2006/01/11/>
717+ <http://www.kroah.com/log/linux/maintainer.html>
718+ <http://www.kroah.com/log/linux/maintainer-02.html>
719+ <http://www.kroah.com/log/linux/maintainer-03.html>
720+ <http://www.kroah.com/log/linux/maintainer-04.html>
721+ <http://www.kroah.com/log/linux/maintainer-05.html>
721722
722723 NO!!!! No more huge patch bombs to linux-kernel@vger.kernel.org people!
723724 <http://marc.theaimsgroup.com/?l=linux-kernel&m=112112749912944&w=2>
@@ -729,7 +730,7 @@ Linus Torvalds's mail on the canonical patch format: · 5 unmodified lines
729730 <http://lkml.org/lkml/2005/4/7/183>
730731
731732 Andi Kleen, "On submitting kernel patches"
732− Some strategies to get difficult or controversal changes in.
733+ Some strategies to get difficult or controversial changes in.
733734 http://halobates.de/on-submitting-patches.pdf
734735
735736 --
Documentation/accounting/getdelays.c+22−16
@@ -177,6 +177,8 @@ static int get_family_id(int sd) · 176 unmodified lines
177177 rc = send_cmd(sd, GENL_ID_CTRL, getpid(), CTRL_CMD_GETFAMILY,
178178 CTRL_ATTR_FAMILY_NAME, (void *)name,
179179 strlen(TASKSTATS_GENL_NAME)+1);
180+ if (rc < 0)
181+ return 0; /* sendto() failure? */
180182
181183 rep_len = recv(sd, &ans, sizeof(ans), 0);
182184 if (ans.n.nlmsg_type == NLMSG_ERROR ||
@@ -191,30 +193,37 @@ static int get_family_id(int sd) · 8 unmodified lines
191193 return id;
192194 }
193195
196+#define average_ms(t, c) (t / 1000000ULL / (c ? c : 1))
197+
194198 static void print_delayacct(struct taskstats *t)
195199 {
196− printf("\n\nCPU %15s%15s%15s%15s\n"
197− " %15llu%15llu%15llu%15llu\n"
198− "IO %15s%15s\n"
199− " %15llu%15llu\n"
200− "SWAP %15s%15s\n"
201− " %15llu%15llu\n"
202− "RECLAIM %12s%15s\n"
203− " %15llu%15llu\n",
204− "count", "real total", "virtual total", "delay total",
200+ printf("\n\nCPU %15s%15s%15s%15s%15s\n"
201+ " %15llu%15llu%15llu%15llu%15.3fms\n"
202+ "IO %15s%15s%15s\n"
203+ " %15llu%15llu%15llums\n"
204+ "SWAP %15s%15s%15s\n"
205+ " %15llu%15llu%15llums\n"
206+ "RECLAIM %12s%15s%15s\n"
207+ " %15llu%15llu%15llums\n",
208+ "count", "real total", "virtual total",
209+ "delay total", "delay average",
205210 (unsigned long long)t->cpu_count,
206211 (unsigned long long)t->cpu_run_real_total,
207212 (unsigned long long)t->cpu_run_virtual_total,
208213 (unsigned long long)t->cpu_delay_total,
209− "count", "delay total",
214+ average_ms((double)t->cpu_delay_total, t->cpu_count),
215+ "count", "delay total", "delay average",
210216 (unsigned long long)t->blkio_count,
211217 (unsigned long long)t->blkio_delay_total,
212− "count", "delay total",
218+ average_ms(t->blkio_delay_total, t->blkio_count),
219+ "count", "delay total", "delay average",
213220 (unsigned long long)t->swapin_count,
214221 (unsigned long long)t->swapin_delay_total,
215− "count", "delay total",
222+ average_ms(t->swapin_delay_total, t->swapin_count),
223+ "count", "delay total", "delay average",
216224 (unsigned long long)t->freepages_count,
217− (unsigned long long)t->freepages_delay_total);
225+ (unsigned long long)t->freepages_delay_total,
226+ average_ms(t->freepages_delay_total, t->freepages_count));
218227 }
219228
220229 static void task_context_switch_counts(struct taskstats *t)
@@ -433,8 +442,6 @@ int main(int argc, char *argv[]) · 212 unmodified lines
433442 }
434443
435444 do {
436− int i;
437−
438445 rep_len = recv(nl_sd, &msg, sizeof(msg), 0);
439446 PRINTF("received %d bytes\n", rep_len);
440447
@@ -459,7 +466,6 @@ int main(int argc, char *argv[]) · 18 unmodified lines
459466
460467 na = (struct nlattr *) GENLMSG_DATA(&msg);
461468 len = 0;
462− i = 0;
463469 while (len < rep_len) {
464470 len += NLA_ALIGN(na->nla_len);
465471 switch (na->nla_type) {
Documentation/acpi/method-customizing.txt+5−0
@@ -66,3 +66,8 @@ Note: We can use a kernel with multiple custom ACPI method running, · 65 unmodified lines
6666 But each individual write to debugfs can implement a SINGLE
6767 method override. i.e. if we want to insert/override multiple
6868 ACPI methods, we need to redo step c) ~ g) for multiple times.
69+
70+Note: Be aware that root can mis-use this driver to modify arbitrary
71+ memory and gain additional rights, if root's privileges got
72+ restricted (for example if root is not allowed to load additional
73+ modules after boot).
Documentation/arm/Booting+29−4
@@ -65,13 +65,19 @@ looks at the connected hardware is beyond the scope of this document. · 64 unmodified lines
6565 The boot loader must ultimately be able to provide a MACH_TYPE_xxx
6666 value to the kernel. (see linux/arch/arm/tools/mach-types).
6767
68−
69−4. Setup the kernel tagged list
70−-------------------------------
68+4. Setup boot data
69+------------------
7170
7271 Existing boot loaders: OPTIONAL, HIGHLY RECOMMENDED
7372 New boot loaders: MANDATORY
7473
74+The boot loader must provide either a tagged list or a dtb image for
75+passing configuration data to the kernel. The physical address of the
76+boot data is passed to the kernel in register r2.
77+
78+4a. Setup the kernel tagged list
79+--------------------------------
80+
7581 The boot loader must create and initialise the kernel tagged list.
7682 A valid tagged list starts with ATAG_CORE and ends with ATAG_NONE.
7783 The ATAG_CORE tag may or may not be empty. An empty ATAG_CORE tag
@@ -101,6 +107,24 @@ The tagged list must be placed in a region of memory where neither · 23 unmodified lines
101107 the kernel decompressor nor initrd 'bootp' program will overwrite
102108 it. The recommended placement is in the first 16KiB of RAM.
103109
110+4b. Setup the device tree
111+-------------------------
112+
113+The boot loader must load a device tree image (dtb) into system ram
114+at a 64bit aligned address and initialize it with the boot data. The
115+dtb format is documented in Documentation/devicetree/booting-without-of.txt.
116+The kernel will look for the dtb magic value of 0xd00dfeed at the dtb
117+physical address to determine if a dtb has been passed instead of a
118+tagged list.
119+
120+The boot loader must pass at a minimum the size and location of the
121+system memory, and the root filesystem location. The dtb must be
122+placed in a region of memory where the kernel decompressor will not
123+overwrite it. The recommended placement is in the first 16KiB of RAM
124+with the caveat that it may not be located at physical address 0 since
125+the kernel interprets a value of 0 in r2 to mean neither a tagged list
126+nor a dtb were passed.
127+
104128 5. Calling the kernel image
105129 ---------------------------
106130
@@ -125,7 +149,8 @@ In either case, the following conditions must be met: · 18 unmodified lines
125149 - CPU register settings
126150 r0 = 0,
127151 r1 = machine type number discovered in (3) above.
128− r2 = physical address of tagged list in system RAM.
152+ r2 = physical address of tagged list in system RAM, or
153+ physical address of device tree block (dtb) in system RAM
129154
130155 - CPU mode
131156 All forms of interrupts must be disabled (IRQs and FIQs)
Documentation/arm/IXP4xx+2−2
@@ -36,7 +36,7 @@ Linux currently supports the following features on the IXP4xx chips: · 35 unmodified lines
3636 - Timers (watchdog, OS)
3737
3838 The following components of the chips are not supported by Linux and
39−require the use of Intel's propietary CSR softare:
39+require the use of Intel's proprietary CSR softare:
4040
4141 - USB device interface
4242 - Network interfaces (HSS, Utopia, NPEs, etc)
@@ -47,7 +47,7 @@ software from: · 4 unmodified lines
4747
4848 http://developer.intel.com/design/network/products/npfamily/ixp425.htm
4949
50−DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPIETARY
50+DO NOT POST QUESTIONS TO THE LINUX MAILING LISTS REGARDING THE PROPRIETARY
5151 SOFTWARE.
5252
5353 There are several websites that provide directions/pointers on using
Documentation/arm/Samsung-S3C24XX/Suspend.txt+1−1
@@ -116,7 +116,7 @@ Configuration · 115 unmodified lines
116116 Allows the entire memory to be checksummed before and after the
117117 suspend to see if there has been any corruption of the contents.
118118
119− Note, the time to calculate the CRC is dependant on the CPU speed
119+ Note, the time to calculate the CRC is dependent on the CPU speed
120120 and the size of memory. For an 64Mbyte RAM area on an 200MHz
121121 S3C2410, this can take approximately 4 seconds to complete.
122122
Documentation/arm/Samsung/GPIO.txt+1−1
@@ -5,7 +5,7 @@ Introduction · 4 unmodified lines
55 ------------
66
77 This outlines the Samsung GPIO implementation and the architecture
8−specfic calls provided alongisde the drivers/gpio core.
8+specific calls provided alongisde the drivers/gpio core.
99
1010
1111 S3C24XX (Legacy)
Documentation/arm/Samsung/Overview.txt+0−2
@@ -14,7 +14,6 @@ Introduction · 13 unmodified lines
1414 - S3C24XX: See Documentation/arm/Samsung-S3C24XX/Overview.txt for full list
1515 - S3C64XX: S3C6400 and S3C6410
1616 - S5P6440
17− - S5P6442
1817 - S5PC100
1918 - S5PC110 / S5PV210
2019
@@ -36,7 +35,6 @@ Configuration · 15 unmodified lines
3635 unifying all the SoCs into one kernel.
3736
3837 s5p6440_defconfig - S5P6440 specific default configuration
39− s5p6442_defconfig - S5P6442 specific default configuration
4038 s5pc100_defconfig - S5PC100 specific default configuration
4139 s5pc110_defconfig - S5PC110 specific default configuration
4240 s5pv210_defconfig - S5PV210 specific default configuration
Documentation/atomic_ops.txt+1−1
@@ -12,7 +12,7 @@ Also, it should be made opaque such that any kind of cast to a normal · 11 unmodified lines
1212 C integer type will fail. Something like the following should
1313 suffice:
1414
15− typedef struct { volatile int counter; } atomic_t;
15+ typedef struct { int counter; } atomic_t;
1616
1717 Historically, counter has been declared volatile. This is now discouraged.
1818 See Documentation/volatile-considered-harmful.txt for the complete rationale.
Documentation/block/biodoc.txt+2−2
@@ -497,7 +497,7 @@ The scatter gather list is in the form of an array of <page, offset, len> · 496 unmodified lines
497497 entries with their corresponding dma address mappings filled in at the
498498 appropriate time. As an optimization, contiguous physical pages can be
499499 covered by a single entry where <page> refers to the first page and <len>
500−covers the range of pages (upto 16 contiguous pages could be covered this
500+covers the range of pages (up to 16 contiguous pages could be covered this
501501 way). There is a helper routine (blk_rq_map_sg) which drivers can use to build
502502 the sg list.
503503
@@ -565,7 +565,7 @@ struct request { · 61 unmodified lines
565565 .
566566 int tag; /* command tag associated with request */
567567 void *special; /* same as before */
568− char *buffer; /* valid only for low memory buffers upto
568+ char *buffer; /* valid only for low memory buffers up to
569569 current_nr_sectors */
570570 .
571571 .
Documentation/blockdev/cciss.txt+15−0
@@ -169,3 +169,18 @@ is issued which positions the tape to a known position. Typically you · 168 unmodified lines
169169 must rewind the tape (by issuing "mt -f /dev/st0 rewind" for example)
170170 before i/o can proceed again to a tape drive which was reset.
171171
172+There is a cciss_tape_cmds module parameter which can be used to make cciss
173+allocate more commands for use by tape drives. Ordinarily only a few commands
174+(6) are allocated for tape drives because tape drives are slow and
175+infrequently used and the primary purpose of Smart Array controllers is to
176+act as a RAID controller for disk drives, so the vast majority of commands
177+are allocated for disk devices. However, if you have more than a few tape
178+drives attached to a smart array, the default number of commands may not be
179+enought (for example, if you have 8 tape drives, you could only rewind 6
180+at one time with the default number of commands.) The cciss_tape_cmds module
181+parameter allows more commands (up to 16 more) to be allocated for use by
182+tape drives. For example:
183+
184+ insmod cciss.ko cciss_tape_cmds=16
185+
186+Or, as a kernel boot parameter passed in via grub: cciss.cciss_tape_cmds=8
Documentation/cachetlb.txt+1−1
@@ -16,7 +16,7 @@ on all processors in the system. Don't let this scare you into · 15 unmodified lines
1616 thinking SMP cache/tlb flushing must be so inefficient, this is in
1717 fact an area where many optimizations are possible. For example,
1818 if it can be proven that a user address space has never executed
19−on a cpu (see vma->cpu_vm_mask), one need not perform a flush
19+on a cpu (see mm_cpumask()), one need not perform a flush
2020 for this address space on that cpu.
2121
2222 First, the TLB flushing interfaces, since they are the simplest. The
Documentation/cgroups/cgroups.txt+37−16
@@ -110,22 +110,22 @@ university server with various users - students, professors, system · 109 unmodified lines
110110 tasks etc. The resource planning for this server could be along the
111111 following lines:
112112
113− CPU : Top cpuset
113+ CPU : "Top cpuset"
114114 / \
115115 CPUSet1 CPUSet2
116− | |
117− (Profs) (Students)
116+ | |
117+ (Professors) (Students)
118118
119119 In addition (system tasks) are attached to topcpuset (so
120120 that they can run anywhere) with a limit of 20%
121121
122− Memory : Professors (50%), students (30%), system (20%)
122+ Memory : Professors (50%), Students (30%), system (20%)
123123
124− Disk : Prof (50%), students (30%), system (20%)
124+ Disk : Professors (50%), Students (30%), system (20%)
125125
126126 Network : WWW browsing (20%), Network File System (60%), others (20%)
127127 / \
128− Prof (15%) students (5%)
128+ Professors (15%) students (5%)
129129
130130 Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd go
131131 into NFS network class.
@@ -236,7 +236,8 @@ containing the following files describing that cgroup: · 104 unmodified lines
236236 - cgroup.procs: list of tgids in the cgroup. This list is not
237237 guaranteed to be sorted or free of duplicate tgids, and userspace
238238 should sort/uniquify the list if this property is required.
239− This is a read-only file, for now.
239+ Writing a thread group id into this file moves all threads in that
240+ group into this cgroup.
240241 - notify_on_release flag: run the release agent on exit?
241242 - release_agent: the path to use for release notifications (this file
242243 exists in the top cgroup only)
@@ -430,6 +431,12 @@ You can attach the current shell task by echoing 0: · 187 unmodified lines
430431
431432 # echo 0 > tasks
432433
434+You can use the cgroup.procs file instead of the tasks file to move all
435+threads in a threadgroup at once. Echoing the pid of any task in a
436+threadgroup to cgroup.procs causes all tasks in that threadgroup to be
437+be attached to the cgroup. Writing 0 to cgroup.procs moves all tasks
438+in the writing task's threadgroup.
439+
433440 Note: Since every task is always a member of exactly one cgroup in each
434441 mounted hierarchy, to remove a task from its current cgroup you must
435442 move it into a new cgroup (possibly the root cgroup) by writing to the
@@ -575,7 +582,7 @@ rmdir() will fail with it. From this behavior, pre_destroy() can be · 139 unmodified lines
575582 called multiple times against a cgroup.
576583
577584 int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
578− struct task_struct *task, bool threadgroup)
585+ struct task_struct *task)
579586 (cgroup_mutex held by caller)
580587
581588 Called prior to moving a task into a cgroup; if the subsystem
@@ -584,9 +591,14 @@ task is passed, then a successful result indicates that *any* · 2 unmodified lines
584591 unspecified task can be moved into the cgroup. Note that this isn't
585592 called on a fork. If this method returns 0 (success) then this should
586593 remain valid while the caller holds cgroup_mutex and it is ensured that either
587−attach() or cancel_attach() will be called in future. If threadgroup is
588−true, then a successful result indicates that all threads in the given
589−thread's threadgroup can be moved together.
594+attach() or cancel_attach() will be called in future.
595+
596+int can_attach_task(struct cgroup *cgrp, struct task_struct *tsk);
597+(cgroup_mutex held by caller)
598+
599+As can_attach, but for operations that must be run once per task to be
600+attached (possibly many when using cgroup_attach_proc). Called after
601+can_attach.
590602
591603 void cancel_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
592604 struct task_struct *task, bool threadgroup)
@@ -598,15 +610,24 @@ function, so that the subsystem can implement a rollback. If not, not necessary. · 5 unmodified lines
598610 This will be called only about subsystems whose can_attach() operation have
599611 succeeded.
600612
613+void pre_attach(struct cgroup *cgrp);
614+(cgroup_mutex held by caller)
615+
616+For any non-per-thread attachment work that needs to happen before
617+attach_task. Needed by cpuset.
618+
601619 void attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
602− struct cgroup *old_cgrp, struct task_struct *task,
603− bool threadgroup)
620+ struct cgroup *old_cgrp, struct task_struct *task)
604621 (cgroup_mutex held by caller)
605622
606623 Called after the task has been attached to the cgroup, to allow any
607624 post-attachment activity that requires memory allocations or blocking.
608−If threadgroup is true, the subsystem should take care of all threads
609−in the specified thread's threadgroup. Currently does not support any
625+
626+void attach_task(struct cgroup *cgrp, struct task_struct *tsk);
627+(cgroup_mutex held by caller)
628+
629+As attach, but for operations that must be run once per task to be attached,
630+like can_attach_task. Called before attach. Currently does not support any
610631 subsystem that might need the old_cgrp for every thread in the group.
611632
612633 void fork(struct cgroup_subsy *ss, struct task_struct *task)
@@ -630,7 +651,7 @@ always handled well. · 17 unmodified lines
630651 void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)
631652 (cgroup_mutex held by caller)
632653
633−Called at the end of cgroup_clone() to do any parameter
654+Called during cgroup_create() to do any parameter
634655 initialization which might be required before a task could attach. For
635656 example in cpusets, no task may attach before 'cpus' and 'mems' are set
636657 up.
Documentation/cgroups/memory.txt+13−2
@@ -52,8 +52,10 @@ Brief summary of control files. · 51 unmodified lines
5252 tasks # attach a task(thread) and show list of threads
5353 cgroup.procs # show list of processes
5454 cgroup.event_control # an interface for event_fd()
55− memory.usage_in_bytes # show current memory(RSS+Cache) usage.
56− memory.memsw.usage_in_bytes # show current memory+Swap usage
55+ memory.usage_in_bytes # show current res_counter usage for memory
56+ (See 5.5 for details)
57+ memory.memsw.usage_in_bytes # show current res_counter usage for memory+Swap
58+ (See 5.5 for details)
5759 memory.limit_in_bytes # set/show limit of memory usage
5860 memory.memsw.limit_in_bytes # set/show limit of memory+Swap usage
5961 memory.failcnt # show the number of memory usage hits limits
@@ -453,6 +455,15 @@ memory under it will be reclaimed. · 393 unmodified lines
453455 You can reset failcnt by writing 0 to failcnt file.
454456 # echo 0 > .../memory.failcnt
455457
458+5.5 usage_in_bytes
459+
460+For efficiency, as other kernel components, memory cgroup uses some optimization
461+to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the
462+method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz
463+value for efficient access. (Of course, when necessary, it's synchronized.)
464+If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP)
465+value in memory.stat(see 5.2).
466+
456467 6. Hierarchy support
457468
458469 The memory controller supports a deep hierarchy and hierarchical accounting.
Documentation/cpu-hotplug.txt+1−1
@@ -196,7 +196,7 @@ the state as 0 when a cpu if offline and 1 when its online. · 195 unmodified lines
196196 #To display the current cpu state.
197197 #cat /sys/devices/system/cpu/cpuX/online
198198
199−Q: Why cant i remove CPU0 on some systems?
199+Q: Why can't i remove CPU0 on some systems?
200200 A: Some architectures may have some special dependency on a certain CPU.
201201
202202 For e.g in IA64 platforms we have ability to sent platform interrupts to the
Documentation/dell_rbu.txt+1−1
@@ -62,7 +62,7 @@ image file and then arrange all these packets back to back in to one single · 61 unmodified lines
6262 file.
6363 This file is then copied to /sys/class/firmware/dell_rbu/data.
6464 Once this file gets to the driver, the driver extracts packet_size data from
65−the file and spreads it accross the physical memory in contiguous packet_sized
65+the file and spreads it across the physical memory in contiguous packet_sized
6666 space.
6767 This method makes sure that all the packets get to the driver in a single operation.
6868
Documentation/device-mapper/dm-service-time.txt+1−1
@@ -37,7 +37,7 @@ Algorithm · 36 unmodified lines
3737 =========
3838
3939 dm-service-time adds the I/O size to 'in-flight-size' when the I/O is
40−dispatched and substracts when completed.
40+dispatched and subtracts when completed.
4141 Basically, dm-service-time selects a path having minimum service time
4242 which is calculated by:
4343
Documentation/devicetree/bindings/crypto/fsl-sec4.txt+397−0
@@ -0,0 +1,397 @@
1+=====================================================================
2+SEC 4 Device Tree Binding
3+Copyright (C) 2008-2011 Freescale Semiconductor Inc.
4+
5+ CONTENTS
6+ -Overview
7+ -SEC 4 Node
8+ -Job Ring Node
9+ -Run Time Integrity Check (RTIC) Node
10+ -Run Time Integrity Check (RTIC) Memory Node
11+ -Secure Non-Volatile Storage (SNVS) Node
12+ -Full Example
13+
14+NOTE: the SEC 4 is also known as Freescale's Cryptographic Accelerator
15+Accelerator and Assurance Module (CAAM).
16+
17+=====================================================================
18+Overview
19+
20+DESCRIPTION
21+
22+SEC 4 h/w can process requests from 2 types of sources.
23+1. DPAA Queue Interface (HW interface between Queue Manager & SEC 4).
24+2. Job Rings (HW interface between cores & SEC 4 registers).
25+
26+High Speed Data Path Configuration:
27+
28+HW interface between QM & SEC 4 and also BM & SEC 4, on DPAA-enabled parts
29+such as the P4080. The number of simultaneous dequeues the QI can make is
30+equal to the number of Descriptor Controller (DECO) engines in a particular
31+SEC version. E.g., the SEC 4.0 in the P4080 has 5 DECOs and can thus
32+dequeue from 5 subportals simultaneously.
33+
34+Job Ring Data Path Configuration:
35+
36+Each JR is located on a separate 4k page, they may (or may not) be made visible
37+in the memory partition devoted to a particular core. The P4080 has 4 JRs, so
38+up to 4 JRs can be configured; and all 4 JRs process requests in parallel.
39+
40+=====================================================================
41+SEC 4 Node
42+
43+Description
44+
45+ Node defines the base address of the SEC 4 block.
46+ This block specifies the address range of all global
47+ configuration registers for the SEC 4 block. It
48+ also receives interrupts from the Run Time Integrity Check
49+ (RTIC) function within the SEC 4 block.
50+
51+PROPERTIES
52+
53+ - compatible
54+ Usage: required
55+ Value type: <string>
56+ Definition: Must include "fsl,sec-v4.0"
57+
58+ - #address-cells
59+ Usage: required
60+ Value type: <u32>
61+ Definition: A standard property. Defines the number of cells
62+ for representing physical addresses in child nodes.
63+
64+ - #size-cells
65+ Usage: required
66+ Value type: <u32>
67+ Definition: A standard property. Defines the number of cells
68+ for representing the size of physical addresses in
69+ child nodes.
70+
71+ - reg
72+ Usage: required
73+ Value type: <prop-encoded-array>
74+ Definition: A standard property. Specifies the physical
75+ address and length of the SEC4 configuration registers.
76+ registers
77+
78+ - ranges
79+ Usage: required
80+ Value type: <prop-encoded-array>
81+ Definition: A standard property. Specifies the physical address
82+ range of the SEC 4.0 register space (-SNVS not included). A
83+ triplet that includes the child address, parent address, &
84+ length.
85+
86+ - interrupts
87+ Usage: required
88+ Value type: <prop_encoded-array>
89+ Definition: Specifies the interrupts generated by this
90+ device. The value of the interrupts property
91+ consists of one interrupt specifier. The format
92+ of the specifier is defined by the binding document
93+ describing the node's interrupt parent.
94+
95+ - interrupt-parent
96+ Usage: (required if interrupt property is defined)
97+ Value type: <phandle>
98+ Definition: A single <phandle> value that points
99+ to the interrupt parent to which the child domain
100+ is being mapped.
101+
102+ Note: All other standard properties (see the ePAPR) are allowed
103+ but are optional.
104+
105+
106+EXAMPLE
107+ crypto@300000 {
108+ compatible = "fsl,sec-v4.0";
109+ #address-cells = <1>;
110+ #size-cells = <1>;
111+ reg = <0x300000 0x10000>;
112+ ranges = <0 0x300000 0x10000>;
113+ interrupt-parent = <&mpic>;
114+ interrupts = <92 2>;
115+ };
116+
117+=====================================================================
118+Job Ring (JR) Node
119+
120+ Child of the crypto node defines data processing interface to SEC 4
121+ across the peripheral bus for purposes of processing
122+ cryptographic descriptors. The specified address
123+ range can be made visible to one (or more) cores.
124+ The interrupt defined for this node is controlled within
125+ the address range of this node.
126+
127+ - compatible
128+ Usage: required
129+ Value type: <string>
130+ Definition: Must include "fsl,sec-v4.0-job-ring"
131+
132+ - reg
133+ Usage: required
134+ Value type: <prop-encoded-array>
135+ Definition: Specifies a two JR parameters: an offset from
136+ the parent physical address and the length the JR registers.
137+
138+ - fsl,liodn
139+ Usage: optional-but-recommended
140+ Value type: <prop-encoded-array>
141+ Definition:
142+ Specifies the LIODN to be used in conjunction with
143+ the ppid-to-liodn table that specifies the PPID to LIODN mapping.
144+ Needed if the PAMU is used. Value is a 12 bit value
145+ where value is a LIODN ID for this JR. This property is
146+ normally set by boot firmware.
147+
148+ - interrupts
149+ Usage: required
150+ Value type: <prop_encoded-array>
151+ Definition: Specifies the interrupts generated by this
152+ device. The value of the interrupts property
153+ consists of one interrupt specifier. The format
154+ of the specifier is defined by the binding document
155+ describing the node's interrupt parent.
156+
157+ - interrupt-parent
158+ Usage: (required if interrupt property is defined)
159+ Value type: <phandle>
160+ Definition: A single <phandle> value that points
161+ to the interrupt parent to which the child domain
162+ is being mapped.
163+
164+EXAMPLE
165+ jr@1000 {
166+ compatible = "fsl,sec-v4.0-job-ring";
167+ reg = <0x1000 0x1000>;
168+ fsl,liodn = <0x081>;
169+ interrupt-parent = <&mpic>;
170+ interrupts = <88 2>;
171+ };
172+
173+
174+=====================================================================
175+Run Time Integrity Check (RTIC) Node
176+
177+ Child node of the crypto node. Defines a register space that
178+ contains up to 5 sets of addresses and their lengths (sizes) that
179+ will be checked at run time. After an initial hash result is
180+ calculated, these addresses are checked by HW to monitor any
181+ change. If any memory is modified, a Security Violation is
182+ triggered (see SNVS definition).
183+
184+
185+ - compatible
186+ Usage: required
187+ Value type: <string>
188+ Definition: Must include "fsl,sec-v4.0-rtic".
189+
190+ - #address-cells
191+ Usage: required
192+ Value type: <u32>
193+ Definition: A standard property. Defines the number of cells
194+ for representing physical addresses in child nodes. Must
195+ have a value of 1.
196+
197+ - #size-cells
198+ Usage: required
199+ Value type: <u32>
200+ Definition: A standard property. Defines the number of cells
201+ for representing the size of physical addresses in
202+ child nodes. Must have a value of 1.
203+
204+ - reg
205+ Usage: required
206+ Value type: <prop-encoded-array>
207+ Definition: A standard property. Specifies a two parameters:
208+ an offset from the parent physical address and the length
209+ the SEC4 registers.
210+
211+ - ranges
212+ Usage: required
213+ Value type: <prop-encoded-array>
214+ Definition: A standard property. Specifies the physical address
215+ range of the SEC 4 register space (-SNVS not included). A
216+ triplet that includes the child address, parent address, &
217+ length.
218+
219+EXAMPLE
220+ rtic@6000 {
221+ compatible = "fsl,sec-v4.0-rtic";
222+ #address-cells = <1>;
223+ #size-cells = <1>;
224+ reg = <0x6000 0x100>;
225+ ranges = <0x0 0x6100 0xe00>;
226+ };
227+
228+=====================================================================
229+Run Time Integrity Check (RTIC) Memory Node
230+ A child node that defines individual RTIC memory regions that are used to
231+ perform run-time integrity check of memory areas that should not modified.
232+ The node defines a register that contains the memory address &
233+ length (combined) and a second register that contains the hash result
234+ in big endian format.
235+
236+ - compatible
237+ Usage: required
238+ Value type: <string>
239+ Definition: Must include "fsl,sec-v4.0-rtic-memory".
240+
241+ - reg
242+ Usage: required
243+ Value type: <prop-encoded-array>
244+ Definition: A standard property. Specifies two parameters:
245+ an offset from the parent physical address and the length:
246+
247+ 1. The location of the RTIC memory address & length registers.
248+ 2. The location RTIC hash result.
249+
250+ - fsl,rtic-region
251+ Usage: optional-but-recommended
252+ Value type: <prop-encoded-array>
253+ Definition:
254+ Specifies the HW address (36 bit address) for this region
255+ followed by the length of the HW partition to be checked;
256+ the address is represented as a 64 bit quantity followed
257+ by a 32 bit length.
258+
259+ - fsl,liodn
260+ Usage: optional-but-recommended
261+ Value type: <prop-encoded-array>
262+ Definition:
263+ Specifies the LIODN to be used in conjunction with
264+ the ppid-to-liodn table that specifies the PPID to LIODN
265+ mapping. Needed if the PAMU is used. Value is a 12 bit value
266+ where value is a LIODN ID for this RTIC memory region. This
267+ property is normally set by boot firmware.
268+
269+EXAMPLE
270+ rtic-a@0 {
271+ compatible = "fsl,sec-v4.0-rtic-memory";
272+ reg = <0x00 0x20 0x100 0x80>;
273+ fsl,liodn = <0x03c>;
274+ fsl,rtic-region = <0x12345678 0x12345678 0x12345678>;
275+ };
276+
277+=====================================================================
278+Secure Non-Volatile Storage (SNVS) Node
279+
280+ Node defines address range and the associated
281+ interrupt for the SNVS function. This function
282+ monitors security state information & reports
283+ security violations.
284+
285+ - compatible
286+ Usage: required
287+ Value type: <string>
288+ Definition: Must include "fsl,sec-v4.0-mon".
289+
290+ - reg
291+ Usage: required
292+ Value type: <prop-encoded-array>
293+ Definition: A standard property. Specifies the physical
294+ address and length of the SEC4 configuration
295+ registers.
296+
297+ - interrupts
298+ Usage: required
299+ Value type: <prop_encoded-array>
300+ Definition: Specifies the interrupts generated by this
301+ device. The value of the interrupts property
302+ consists of one interrupt specifier. The format
303+ of the specifier is defined by the binding document
304+ describing the node's interrupt parent.
305+
306+ - interrupt-parent
307+ Usage: (required if interrupt property is defined)
308+ Value type: <phandle>
309+ Definition: A single <phandle> value that points
310+ to the interrupt parent to which the child domain
311+ is being mapped.
312+
313+EXAMPLE
314+ sec_mon@314000 {
315+ compatible = "fsl,sec-v4.0-mon";
316+ reg = <0x314000 0x1000>;
317+ interrupt-parent = <&mpic>;
318+ interrupts = <93 2>;
319+ };
320+
321+=====================================================================
322+FULL EXAMPLE
323+
324+ crypto: crypto@300000 {
325+ compatible = "fsl,sec-v4.0";
326+ #address-cells = <1>;
327+ #size-cells = <1>;
328+ reg = <0x300000 0x10000>;
329+ ranges = <0 0x300000 0x10000>;
330+ interrupt-parent = <&mpic>;
331+ interrupts = <92 2>;
332+
333+ sec_jr0: jr@1000 {
334+ compatible = "fsl,sec-v4.0-job-ring";
335+ reg = <0x1000 0x1000>;
336+ interrupt-parent = <&mpic>;
337+ interrupts = <88 2>;
338+ };
339+
340+ sec_jr1: jr@2000 {
341+ compatible = "fsl,sec-v4.0-job-ring";
342+ reg = <0x2000 0x1000>;
343+ interrupt-parent = <&mpic>;
344+ interrupts = <89 2>;
345+ };
346+
347+ sec_jr2: jr@3000 {
348+ compatible = "fsl,sec-v4.0-job-ring";
349+ reg = <0x3000 0x1000>;
350+ interrupt-parent = <&mpic>;
351+ interrupts = <90 2>;
352+ };
353+
354+ sec_jr3: jr@4000 {
355+ compatible = "fsl,sec-v4.0-job-ring";
356+ reg = <0x4000 0x1000>;
357+ interrupt-parent = <&mpic>;
358+ interrupts = <91 2>;
359+ };
360+
361+ rtic@6000 {
362+ compatible = "fsl,sec-v4.0-rtic";
363+ #address-cells = <1>;
364+ #size-cells = <1>;
365+ reg = <0x6000 0x100>;
366+ ranges = <0x0 0x6100 0xe00>;
367+
368+ rtic_a: rtic-a@0 {
369+ compatible = "fsl,sec-v4.0-rtic-memory";
370+ reg = <0x00 0x20 0x100 0x80>;
371+ };
372+
373+ rtic_b: rtic-b@20 {
374+ compatible = "fsl,sec-v4.0-rtic-memory";
375+ reg = <0x20 0x20 0x200 0x80>;
376+ };
377+
378+ rtic_c: rtic-c@40 {
379+ compatible = "fsl,sec-v4.0-rtic-memory";
380+ reg = <0x40 0x20 0x300 0x80>;
381+ };
382+
383+ rtic_d: rtic-d@60 {
384+ compatible = "fsl,sec-v4.0-rtic-memory";
385+ reg = <0x60 0x20 0x500 0x80>;
386+ };
387+ };
388+ };
389+
390+ sec_mon: sec_mon@314000 {
391+ compatible = "fsl,sec-v4.0-mon";
392+ reg = <0x314000 0x1000>;
393+ interrupt-parent = <&mpic>;
394+ interrupts = <93 2>;
395+ };
396+
397+=====================================================================
Documentation/devicetree/bindings/fb/sm501fb.txt+2−2
@@ -18,9 +18,9 @@ Optional properties: · 17 unmodified lines
1818 - edid : verbatim EDID data block describing attached display.
1919 Data from the detailed timing descriptor will be used to
2020 program the display controller.
21−- little-endian: availiable on big endian systems, to
21+- little-endian: available on big endian systems, to
2222 set different foreign endian.
23−- big-endian: availiable on little endian systems, to
23+- big-endian: available on little endian systems, to
2424 set different foreign endian.
2525
2626 Example for MPC5200:
Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt+1−1
@@ -15,7 +15,7 @@ Optional properties: · 14 unmodified lines
1515 - gpios : may specify optional GPIOs connected to the Ready-Not-Busy pins
1616 (R/B#). For multi-chip devices, "n" GPIO definitions are required
1717 according to the number of chips.
18−- chip-delay : chip dependent delay for transfering data from array to
18+- chip-delay : chip dependent delay for transferring data from array to
1919 read registers (tR). Required if property "gpios" is not used
2020 (R/B# pins not connected).
2121
Documentation/devicetree/bindings/net/can/fsl-flexcan.txt+61−0
@@ -0,0 +1,61 @@
1+CAN Device Tree Bindings
2+------------------------
3+2011 Freescale Semiconductor, Inc.
4+
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.
9+
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.
18+
19+Can Engine Clock Source
20+ There are two sources for CAN clock
21+ - Platform Clock It represents the bus clock
22+ - Oscillator Clock
23+
24+ Peripheral Clock (PLL)
25+ --------------
26+ |
27+ --------- -------------
28+ | |CPI Clock | Prescaler | Sclock
29+ | |---------------->| (1.. 256) |------------>
30+ --------- -------------
31+ | |
32+ -------------- ---------------------CLK_SRC
33+ Oscillator Clock
34+
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).
42+
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.
46+
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";
55+ reg = <0x1c000 0x1000>;
56+ interrupts = <48 0x2>;
57+ interrupt-parent = <&mpic>;
58+ fsl,flexcan-clock-source = "platform";
59+ fsl,flexcan-clock-divider = <2>;
60+ clock-frequency = <fixed by u-boot>;
61+ };
Documentation/devicetree/bindings/net/can/sja1000.txt+1−1
@@ -39,7 +39,7 @@ Optional properties: · 38 unmodified lines
3939
4040 - nxp,no-comparator-bypass : Allows to disable the CAN input comperator.
4141
42−For futher information, please have a look to the SJA1000 data sheet.
42+For further information, please have a look to the SJA1000 data sheet.
4343
4444 Examples:
4545
Documentation/devicetree/bindings/net/fsl-tsec-phy.txt+54−0
@@ -74,3 +74,57 @@ Example: · 73 unmodified lines
7474 interrupt-parent = <&mpic>;
7575 phy-handle = <&phy0>
7676 };
77+
78+* Gianfar PTP clock nodes
79+
80+General Properties:
81+
82+ - compatible Should be "fsl,etsec-ptp"
83+ - reg Offset and length of the register set for the device
84+ - interrupts There should be at least two interrupts. Some devices
85+ have as many as four PTP related interrupts.
86+
87+Clock Properties:
88+
89+ - fsl,tclk-period Timer reference clock period in nanoseconds.
90+ - fsl,tmr-prsc Prescaler, divides the output clock.
91+ - fsl,tmr-add Frequency compensation value.
92+ - fsl,tmr-fiper1 Fixed interval period pulse generator.
93+ - fsl,tmr-fiper2 Fixed interval period pulse generator.
94+ - fsl,max-adj Maximum frequency adjustment in parts per billion.
95+
96+ These properties set the operational parameters for the PTP
97+ clock. You must choose these carefully for the clock to work right.
98+ Here is how to figure good values:
99+
100+ TimerOsc = system clock MHz
101+ tclk_period = desired clock period nanoseconds
102+ NominalFreq = 1000 / tclk_period MHz
103+ FreqDivRatio = TimerOsc / NominalFreq (must be greater that 1.0)
104+ tmr_add = ceil(2^32 / FreqDivRatio)
105+ OutputClock = NominalFreq / tmr_prsc MHz
106+ PulseWidth = 1 / OutputClock microseconds
107+ FiperFreq1 = desired frequency in Hz
108+ FiperDiv1 = 1000000 * OutputClock / FiperFreq1
109+ tmr_fiper1 = tmr_prsc * tclk_period * FiperDiv1 - tclk_period
110+ max_adj = 1000000000 * (FreqDivRatio - 1.0) - 1
111+
112+ The calculation for tmr_fiper2 is the same as for tmr_fiper1. The
113+ driver expects that tmr_fiper1 will be correctly set to produce a 1
114+ Pulse Per Second (PPS) signal, since this will be offered to the PPS
115+ subsystem to synchronize the Linux clock.
116+
117+Example:
118+
119+ ptp_clock@24E00 {
120+ compatible = "fsl,etsec-ptp";
121+ reg = <0x24E00 0xB0>;
122+ interrupts = <12 0x8 13 0x8>;
123+ interrupt-parent = < &ipic >;
124+ fsl,tclk-period = <10>;
125+ fsl,tmr-prsc = <100>;
126+ fsl,tmr-add = <0x999999A4>;
127+ fsl,tmr-fiper1 = <0x3B9AC9F6>;
128+ fsl,tmr-fiper2 = <0x00018696>;
129+ fsl,max-adj = <659999998>;
130+ };
Documentation/devicetree/bindings/powerpc/fsl/ifc.txt+76−0
@@ -0,0 +1,76 @@
1+Integrated Flash Controller
2+
3+Properties:
4+- name : Should be ifc
5+- compatible : should contain "fsl,ifc". The version of the integrated
6+ flash controller can be found in the IFC_REV register at
7+ offset zero.
8+
9+- #address-cells : Should be either two or three. The first cell is the
10+ chipselect number, and the remaining cells are the
11+ offset into the chipselect.
12+- #size-cells : Either one or two, depending on how large each chipselect
13+ can be.
14+- reg : Offset and length of the register set for the device
15+- interrupts : IFC has two interrupts. The first one is the "common"
16+ interrupt(CM_EVTER_STAT), and second is the NAND interrupt
17+ (NAND_EVTER_STAT).
18+
19+- ranges : Each range corresponds to a single chipselect, and covers
20+ the entire access window as configured.
21+
22+Child device nodes describe the devices connected to IFC such as NOR (e.g.
23+cfi-flash) and NAND (fsl,ifc-nand). There might be board specific devices
24+like FPGAs, CPLDs, etc.
25+
26+Example:
27+
28+ ifc@ffe1e000 {
29+ compatible = "fsl,ifc", "simple-bus";
30+ #address-cells = <2>;
31+ #size-cells = <1>;
32+ reg = <0x0 0xffe1e000 0 0x2000>;
33+ interrupts = <16 2 19 2>;
34+
35+ /* NOR, NAND Flashes and CPLD on board */
36+ ranges = <0x0 0x0 0x0 0xee000000 0x02000000
37+ 0x1 0x0 0x0 0xffa00000 0x00010000
38+ 0x3 0x0 0x0 0xffb00000 0x00020000>;
39+
40+ flash@0,0 {
41+ #address-cells = <1>;
42+ #size-cells = <1>;
43+ compatible = "cfi-flash";
44+ reg = <0x0 0x0 0x2000000>;
45+ bank-width = <2>;
46+ device-width = <1>;
47+
48+ partition@0 {
49+ /* 32MB for user data */
50+ reg = <0x0 0x02000000>;
51+ label = "NOR Data";
52+ };
53+ };
54+
55+ flash@1,0 {
56+ #address-cells = <1>;
57+ #size-cells = <1>;
58+ compatible = "fsl,ifc-nand";
59+ reg = <0x1 0x0 0x10000>;
60+
61+ partition@0 {
62+ /* This location must not be altered */
63+ /* 1MB for u-boot Bootloader Image */
64+ reg = <0x0 0x00100000>;
65+ label = "NAND U-Boot Image";
66+ read-only;
67+ };
68+ };
69+
70+ cpld@3,0 {
71+ #address-cells = <1>;
72+ #size-cells = <1>;
73+ compatible = "fsl,p1010rdb-cpld";
74+ reg = <0x3 0x0 0x000001f>;
75+ };
76+ };
Documentation/devicetree/bindings/powerpc/fsl/mpic-timer.txt+38−0
@@ -0,0 +1,38 @@
1+* Freescale MPIC timers
2+
3+Required properties:
4+- compatible: "fsl,mpic-global-timer"
5+
6+- reg : Contains two regions. The first is the main timer register bank
7+ (GTCCRxx, GTBCRxx, GTVPRxx, GTDRxx). The second is the timer control
8+ register (TCRx) for the group.
9+
10+- fsl,available-ranges: use <start count> style section to define which
11+ timer interrupts can be used. This property is optional; without this,
12+ all timers within the group can be used.
13+
14+- interrupts: one interrupt per timer in the group, in order, starting
15+ with timer zero. If timer-available-ranges is present, only the
16+ interrupts that correspond to available timers shall be present.
17+
18+Example:
19+ /* Note that this requires #interrupt-cells to be 4 */
20+ timer0: timer@41100 {
21+ compatible = "fsl,mpic-global-timer";
22+ reg = <0x41100 0x100 0x41300 4>;
23+
24+ /* Another AMP partition is using timers 0 and 1 */
25+ fsl,available-ranges = <2 2>;
26+
27+ interrupts = <2 0 3 0
28+ 3 0 3 0>;
29+ };
30+
31+ timer1: timer@42100 {
32+ compatible = "fsl,mpic-global-timer";
33+ reg = <0x42100 0x100 0x42300 4>;
34+ interrupts = <4 0 3 0
35+ 5 0 3 0
36+ 6 0 3 0
37+ 7 0 3 0>;
38+ };
Documentation/devicetree/bindings/powerpc/fsl/mpic.txt+2−2
@@ -190,7 +190,7 @@ EXAMPLE 4 · 189 unmodified lines
190190 */
191191 timer0: timer@41100 {
192192 compatible = "fsl,mpic-global-timer";
193− reg = <0x41100 0x100>;
193+ reg = <0x41100 0x100 0x41300 4>;
194194 interrupts = <0 0 3 0
195195 1 0 3 0
196196 2 0 3 0
@@ -199,7 +199,7 @@ EXAMPLE 4 · 2 unmodified lines
199199
200200 EXAMPLE 5
201201 /*
202− * Definition of an error interrupt (interupt type 1).
202+ * Definition of an error interrupt (interrupt type 1).
203203 * SoC interrupt number is 16 and the specific error
204204 * interrupt bit in the error interrupt summary register
205205 * is 23.
Documentation/devicetree/bindings/powerpc/nintendo/wii.txt+1−1
@@ -127,7 +127,7 @@ Nintendo Wii device tree · 126 unmodified lines
127127 - reg : should contain the SDHCI registers location and length
128128 - interrupts : should contain the SDHCI interrupt
129129
130−1.j) The Inter-Processsor Communication (IPC) node
130+1.j) The Inter-Processor Communication (IPC) node
131131
132132 Represent the Inter-Processor Communication interface. This interface
133133 enables communications between the Broadway and the Starlet processors.
Documentation/devicetree/booting-without-of.txt+47−7
@@ -12,8 +12,9 @@ Table of Contents · 11 unmodified lines
1212 =================
1313
1414 I - Introduction
15− 1) Entry point for arch/powerpc
16− 2) Entry point for arch/x86
15+ 1) Entry point for arch/arm
16+ 2) Entry point for arch/powerpc
17+ 3) Entry point for arch/x86
1718
1819 II - The DT block format
1920 1) Header
@@ -138,7 +139,7 @@ and properties to be present. This will be described in detail in · 118 unmodified lines
138139 section III, but, for example, the kernel does not require you to
139140 create a node for every PCI device in the system. It is a requirement
140141 to have a node for PCI host bridges in order to provide interrupt
141−routing informations and memory/IO ranges, among others. It is also
142+routing information and memory/IO ranges, among others. It is also
142143 recommended to define nodes for on chip devices and other buses that
143144 don't specifically fit in an existing OF specification. This creates a
144145 great flexibility in the way the kernel can then probe those and match
@@ -148,7 +149,46 @@ upgrades without significantly impacting the kernel code or cluttering · 3 unmodified lines
148149 it with special cases.
149150
150151
151−1) Entry point for arch/powerpc
152+1) Entry point for arch/arm
153+---------------------------
154+
155+ There is one single entry point to the kernel, at the start
156+ of the kernel image. That entry point supports two calling
157+ conventions. A summary of the interface is described here. A full
158+ description of the boot requirements is documented in
159+ Documentation/arm/Booting
160+
161+ a) ATAGS interface. Minimal information is passed from firmware
162+ to the kernel with a tagged list of predefined parameters.
163+
164+ r0 : 0
165+
166+ r1 : Machine type number
167+
168+ r2 : Physical address of tagged list in system RAM
169+
170+ b) Entry with a flattened device-tree block. Firmware loads the
171+ physical address of the flattened device tree block (dtb) into r2,
172+ r1 is not used, but it is considered good practise to use a valid
173+ machine number as described in Documentation/arm/Booting.
174+
175+ r0 : 0
176+
177+ r1 : Valid machine type number. When using a device tree,
178+ a single machine type number will often be assigned to
179+ represent a class or family of SoCs.
180+
181+ r2 : physical pointer to the device-tree block
182+ (defined in chapter II) in RAM. Device tree can be located
183+ anywhere in system RAM, but it should be aligned on a 64 bit
184+ boundary.
185+
186+ The kernel will differentiate between ATAGS and device tree booting by
187+ reading the memory pointed to by r2 and looking for either the flattened
188+ device tree block magic value (0xd00dfeed) or the ATAG_CORE value at
189+ offset 0x4 from r2 (0x54410001).
190+
191+2) Entry point for arch/powerpc
152192 -------------------------------
153193
154194 There is one single entry point to the kernel, at the start
@@ -226,7 +266,7 @@ it with special cases. · 71 unmodified lines
226266 cannot support both configurations with Book E and configurations
227267 with classic Powerpc architectures.
228268
229−2) Entry point for arch/x86
269+3) Entry point for arch/x86
230270 -------------------------------
231271
232272 There is one single 32bit entry point to the kernel at code32_start,
@@ -385,7 +425,7 @@ struct boot_param_header { · 152 unmodified lines
385425 among others, by kexec. If you are on an SMP system, this value
386426 should match the content of the "reg" property of the CPU node in
387427 the device-tree corresponding to the CPU calling the kernel entry
388− point (see further chapters for more informations on the required
428+ point (see further chapters for more information on the required
389429 device-tree contents)
390430
391431 - size_dt_strings
@@ -553,7 +593,7 @@ looks like in practice. · 161 unmodified lines
553593
554594 This tree is almost a minimal tree. It pretty much contains the
555595 minimal set of required nodes and properties to boot a linux kernel;
556−that is, some basic model informations at the root, the CPUs, and the
596+that is, some basic model information at the root, the CPUs, and the
557597 physical memory layout. It also includes misc information passed
558598 through /chosen, like in this example, the platform type (mandatory)
559599 and the kernel command line arguments (optional).
Documentation/dmaengine.txt+96−1
@@ -1 +1,96 @@
1−See Documentation/crypto/async-tx-api.txt
1+ DMA Engine API Guide
2+ ====================
3+
4+ Vinod Koul <vinod dot koul at intel.com>
5+
6+NOTE: For DMA Engine usage in async_tx please see:
7+ Documentation/crypto/async-tx-api.txt
8+
9+
10+Below is a guide to device driver writers on how to use the Slave-DMA API of the
11+DMA Engine. This is applicable only for slave DMA usage only.
12+
13+The slave DMA usage consists of following steps
14+1. Allocate a DMA slave channel
15+2. Set slave and controller specific parameters
16+3. Get a descriptor for transaction
17+4. Submit the transaction and wait for callback notification
18+
19+1. Allocate a DMA slave channel
20+Channel allocation is slightly different in the slave DMA context, client
21+drivers typically need a channel from a particular DMA controller only and even
22+in some cases a specific channel is desired. To request a channel
23+dma_request_channel() API is used.
24+
25+Interface:
26+struct dma_chan *dma_request_channel(dma_cap_mask_t mask,
27+ dma_filter_fn filter_fn,
28+ void *filter_param);
29+where dma_filter_fn is defined as:
30+typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
31+
32+When the optional 'filter_fn' parameter is set to NULL dma_request_channel
33+simply returns the first channel that satisfies the capability mask. Otherwise,
34+when the mask parameter is insufficient for specifying the necessary channel,
35+the filter_fn routine can be used to disposition the available channels in the
36+system. The filter_fn routine is called once for each free channel in the
37+system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags
38+that channel to be the return value from dma_request_channel. A channel
39+allocated via this interface is exclusive to the caller, until
40+dma_release_channel() is called.
41+
42+2. Set slave and controller specific parameters
43+Next step is always to pass some specific information to the DMA driver. Most of
44+the generic information which a slave DMA can use is in struct dma_slave_config.
45+It allows the clients to specify DMA direction, DMA addresses, bus widths, DMA
46+burst lengths etc. If some DMA controllers have more parameters to be sent then
47+they should try to embed struct dma_slave_config in their controller specific
48+structure. That gives flexibility to client to pass more parameters, if
49+required.
50+
51+Interface:
52+int dmaengine_slave_config(struct dma_chan *chan,
53+ struct dma_slave_config *config)
54+
55+3. Get a descriptor for transaction
56+For slave usage the various modes of slave transfers supported by the
57+DMA-engine are:
58+slave_sg - DMA a list of scatter gather buffers from/to a peripheral
59+dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the
60+ operation is explicitly stopped.
61+The non NULL return of this transfer API represents a "descriptor" for the given
62+transaction.
63+
64+Interface:
65+struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_sg)(
66+ struct dma_chan *chan,
67+ struct scatterlist *dst_sg, unsigned int dst_nents,
68+ struct scatterlist *src_sg, unsigned int src_nents,
69+ unsigned long flags);
70+struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)(
71+ struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
72+ size_t period_len, enum dma_data_direction direction);
73+
74+4. Submit the transaction and wait for callback notification
75+To schedule the transaction to be scheduled by dma device, the "descriptor"
76+returned in above (3) needs to be submitted.
77+To tell the dma driver that a transaction is ready to be serviced, the
78+descriptor->submit() callback needs to be invoked. This chains the descriptor to
79+the pending queue.
80+The transactions in the pending queue can be activated by calling the
81+issue_pending API. If channel is idle then the first transaction in queue is
82+started and subsequent ones queued up.
83+On completion of the DMA operation the next in queue is submitted and a tasklet
84+triggered. The tasklet would then call the client driver completion callback
85+routine for notification, if set.
86+Interface:
87+void dma_async_issue_pending(struct dma_chan *chan);
88+
89+==============================================================================
90+
91+Additional usage notes for dma driver writers
92+1/ Although DMA engine specifies that completion callback routines cannot submit
93+any new operations, but typically for slave DMA subsequent transaction may not
94+be available for submit prior to callback routine being called. This requirement
95+is not a requirement for DMA-slave devices. But they should take care to drop
96+the spin-lock they might be holding before calling the callback routine
Documentation/dontdiff+46−12
@@ -1,6 +1,8 @@
11 *.a
22 *.aux
33 *.bin
4+*.bz2
5+*.cis
46 *.cpio
57 *.csp
68 *.dsp
@@ -8,6 +10,8 @@ · 1 unmodified line
810 *.elf
911 *.eps
1012 *.fw
13+*.gcno
14+*.gcov
1115 *.gen.S
1216 *.gif
1317 *.grep
@@ -19,14 +23,20 @@ · 5 unmodified lines
1923 *.ko
2024 *.log
2125 *.lst
26+*.lzma
27+*.lzo
28+*.mo
2229 *.moc
2330 *.mod.c
2431 *.o
2532 *.o.*
33+*.order
2634 *.orig
2735 *.out
36+*.patch
2837 *.pdf
2938 *.png
39+*.pot
3040 *.ps
3141 *.rej
3242 *.s
@@ -39,16 +49,22 @@ · 6 unmodified lines
3949 *.tex
4050 *.ver
4151 *.xml
52+*.xz
4253 *_MODULES
4354 *_vga16.c
4455 *~
56+\#*#
4557 *.9
46−*.9.gz
4758 .*
59+.*.d
4860 .mm
4961 53c700_d.h
5062 CVS
5163 ChangeSet
64+GPATH
65+GRTAGS
66+GSYMS
67+GTAGS
5268 Image
5369 Kerntypes
5470 Module.markers
@@ -57,15 +73,14 @@ PENDING · 2 unmodified lines
5773 SCCS
5874 System.map*
5975 TAGS
76+aconf
77+af_names.h
6078 aic7*reg.h*
6179 aic7*reg_print.c*
6280 aic7*seq.h*
6381 aicasm
6482 aicdb.h*
65−altivec1.c
66−altivec2.c
67−altivec4.c
68−altivec8.c
83+altivec*.c
6984 asm-offsets.h
7085 asm_offsets.h
7186 autoconf.h*
@@ -80,6 +95,7 @@ btfixupprep · 8 unmodified lines
8095 build
8196 bvmlinux
8297 bzImage*
98+capability_names.h
8399 capflags.c
84100 classlist.h*
85101 comp*.log
@@ -88,7 +104,8 @@ conf · 2 unmodified lines
88104 config
89105 config-*
90106 config_data.h*
91−config_data.gz*
107+config.mak
108+config.mak.autogen
92109 conmakehash
93110 consolemap_deftbl.c*
94111 cpustr.h
@@ -96,7 +113,9 @@ crc32table.h* · 1 unmodified line
96113 cscope.*
97114 defkeymap.c
98115 devlist.h*
116+dnotify_test
99117 docproc
118+dslm
100119 elf2ecoff
101120 elfconfig.h*
102121 evergreen_reg_safe.h
@@ -105,6 +124,7 @@ flask.h · 2 unmodified lines
105124 fore200e_mkfirm
106125 fore200e_pca_fw.c*
107126 gconf
127+gconf.glade.h
108128 gen-devlist
109129 gen_crc32table
110130 gen_init_cpio
@@ -112,11 +132,12 @@ generated · 1 unmodified line
112132 genheaders
113133 genksyms
114134 *_gray256.c
135+hpet_example
136+hugepage-mmap
137+hugepage-shm
115138 ihex2fw
116139 ikconfig.h*
117140 inat-tables.c
118−initramfs_data.cpio
119−initramfs_data.cpio.gz
120141 initramfs_list
121142 int16.c
122143 int1.c
@@ -133,15 +154,19 @@ kxgettext · 10 unmodified lines
133154 lkc_defs.h
134155 lex.c
135156 lex.*.c
157+linux
136158 logo_*.c
137159 logo_*_clut224.c
138160 logo_*_mono.c
139161 lxdialog
162+mach
140163 mach-types
141164 mach-types.h
142165 machtypes.h
143166 map
167+map_hugetlb
144168 maui_boot.h
169+media
145170 mconf
146171 miboot*
147172 mk_elfconfig
@@ -150,23 +175,29 @@ mkbugboot · 2 unmodified lines
150175 mkcpustr
151176 mkdep
152177 mkprep
178+mkregtable
153179 mktables
154180 mktree
155181 modpost
156182 modules.builtin
157183 modules.order
158184 modversions.h*
185+nconf
159186 ncscope.*
160187 offset.h
161188 offsets.h
162189 oui.c*
190+page-types
163191 parse.c
164192 parse.h
165193 patches*
166194 pca200e.bin
167195 pca200e_ecd.bin2
168−piggy.gz
196+perf.data
197+perf.data.old
198+perf-archive
169199 piggyback
200+piggy.gzip
170201 piggy.S
171202 pnmtologo
172203 ppc_defs.h*
@@ -177,10 +208,9 @@ r200_reg_safe.h · 4 unmodified lines
177208 r300_reg_safe.h
178209 r420_reg_safe.h
179210 r600_reg_safe.h
180−raid6altivec*.c
181−raid6int*.c
182−raid6tables.c
211+recordmcount
183212 relocs
213+rlim_names.h
184214 rn50_reg_safe.h
185215 rs600_reg_safe.h
186216 rv515_reg_safe.h
@@ -194,6 +224,7 @@ split-include · 7 unmodified lines
194224 syscalltab.h
195225 tables.c
196226 tags
227+test_get_len
197228 tftpboot.img
198229 timeconst.h
199230 times.h*
@@ -210,10 +241,13 @@ vdso32.so.dbg · 10 unmodified lines
210241 vdso64.lds
211242 vdso64.so.dbg
212243 version.h*
244+vmImage
213245 vmlinux
214246 vmlinux-*
215247 vmlinux.aout
248+vmlinux.bin.all
216249 vmlinux.lds
250+vmlinuz
217251 voffset.h
218252 vsyscall.lds
219253 vsyscall_32.lds
Documentation/driver-model/bus.txt+1−18
@@ -3,24 +3,7 @@ Bus Types · 2 unmodified lines
33
44 Definition
55 ~~~~~~~~~~
6−
7−struct bus_type {
8− char * name;
9−
10− struct subsystem subsys;
11− struct kset drivers;
12− struct kset devices;
13−
14− struct bus_attribute * bus_attrs;
15− struct device_attribute * dev_attrs;
16− struct driver_attribute * drv_attrs;
17−
18− int (*match)(struct device * dev, struct device_driver * drv);
19− int (*hotplug) (struct device *dev, char **envp,
20− int num_envp, char *buffer, int buffer_size);
21− int (*suspend)(struct device * dev, pm_message_t state);
22− int (*resume)(struct device * dev);
23−};
6+See the kerneldoc for the struct bus_type.
247
258 int bus_register(struct bus_type * bus);
269
Documentation/driver-model/class.txt+1−16
@@ -27,22 +27,7 @@ The device class structure looks like: · 26 unmodified lines
2727 typedef int (*devclass_add)(struct device *);
2828 typedef void (*devclass_remove)(struct device *);
2929
30−struct device_class {
31− char * name;
32− rwlock_t lock;
33− u32 devnum;
34− struct list_head node;
35−
36− struct list_head drivers;
37− struct list_head intf_list;
38−
39− struct driver_dir_entry dir;
40− struct driver_dir_entry device_dir;
41− struct driver_dir_entry driver_dir;
42−
43− devclass_add add_device;
44− devclass_remove remove_device;
45−};
30+See the kerneldoc for the struct class.
4631
4732 A typical device class definition would look like:
4833
Documentation/driver-model/device.txt+1−90
@@ -2,96 +2,7 @@ · 1 unmodified line
22 The Basic Device Structure
33 ~~~~~~~~~~~~~~~~~~~~~~~~~~
44
5−struct device {
6− struct list_head g_list;
7− struct list_head node;
8− struct list_head bus_list;
9− struct list_head driver_list;
10− struct list_head intf_list;
11− struct list_head children;
12− struct device * parent;
13−
14− char name[DEVICE_NAME_SIZE];
15− char bus_id[BUS_ID_SIZE];
16−
17− spinlock_t lock;
18− atomic_t refcount;
19−
20− struct bus_type * bus;
21− struct driver_dir_entry dir;
22−
23− u32 class_num;
24−
25− struct device_driver *driver;
26− void *driver_data;
27− void *platform_data;
28−
29− u32 current_state;
30− unsigned char *saved_state;
31−
32− void (*release)(struct device * dev);
33−};
34−
35−Fields
36−~~~~~~
37−g_list: Node in the global device list.
38−
39−node: Node in device's parent's children list.
40−
41−bus_list: Node in device's bus's devices list.
42−
43−driver_list: Node in device's driver's devices list.
44−
45−intf_list: List of intf_data. There is one structure allocated for
46− each interface that the device supports.
47−
48−children: List of child devices.
49−
50−parent: *** FIXME ***
51−
52−name: ASCII description of device.
53− Example: " 3Com Corporation 3c905 100BaseTX [Boomerang]"
54−
55−bus_id: ASCII representation of device's bus position. This
56− field should be a name unique across all devices on the
57− bus type the device belongs to.
58−
59− Example: PCI bus_ids are in the form of
60− <bus number>:<slot number>.<function number>
61− This name is unique across all PCI devices in the system.
62−
63−lock: Spinlock for the device.
64−
65−refcount: Reference count on the device.
66−
67−bus: Pointer to struct bus_type that device belongs to.
68−
69−dir: Device's sysfs directory.
70−
71−class_num: Class-enumerated value of the device.
72−
73−driver: Pointer to struct device_driver that controls the device.
74−
75−driver_data: Driver-specific data.
76−
77−platform_data: Platform data specific to the device.
78−
79− Example: for devices on custom boards, as typical of embedded
80− and SOC based hardware, Linux often uses platform_data to point
81− to board-specific structures describing devices and how they
82− are wired. That can include what ports are available, chip
83− variants, which GPIO pins act in what additional roles, and so
84− on. This shrinks the "Board Support Packages" (BSPs) and
85− minimizes board-specific #ifdefs in drivers.
86−
87−current_state: Current power state of the device.
88−
89−saved_state: Pointer to saved state of the device. This is usable by
90− the device driver controlling the device.
91−
92−release: Callback to free the device after all references have
93− gone away. This should be set by the allocator of the
94− device (i.e. the bus driver that discovered the device).
5+See the kerneldoc for the struct device.
956
967
978 Programming Interface
Documentation/driver-model/driver.txt+1−17
@@ -1,23 +1,7 @@
11
22 Device Drivers
33
4−struct device_driver {
5− char * name;
6− struct bus_type * bus;
7−
8− struct completion unloaded;
9− struct kobject kobj;
10− list_t devices;
11−
12− struct module *owner;
13−
14− int (*probe) (struct device * dev);
15− int (*remove) (struct device * dev);
16−
17− int (*suspend) (struct device * dev, pm_message_t state);
18− int (*resume) (struct device * dev);
19−};
20−
4+See the kerneldoc for the struct device_driver.
215
226
237 Allocation
Documentation/dvb/README.dvb-usb+1−1
@@ -138,7 +138,7 @@ Hotplug is able to load the driver, when it is needed (because you plugged · 137 unmodified lines
138138 in the device).
139139
140140 If you want to enable debug output, you have to load the driver manually and
141−from withing the dvb-kernel cvs repository.
141+from within the dvb-kernel cvs repository.
142142
143143 first have a look, which debug level are available:
144144
Documentation/dvb/ci.txt+1−1
@@ -47,7 +47,7 @@ so on. · 46 unmodified lines
4747
4848 * CI modules that are supported
4949 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
50−The CI module support is largely dependant upon the firmware on the cards
50+The CI module support is largely dependent upon the firmware on the cards
5151 Some cards do support almost all of the available CI modules. There is
5252 nothing much that can be done in order to make additional CI modules
5353 working with these cards.
Documentation/dvb/faq.txt+1−1
@@ -106,7 +106,7 @@ Some very frequently asked questions about linuxtv-dvb · 105 unmodified lines
106106 5. The dvb_net device doesn't give me any packets at all
107107
108108 Run tcpdump on the dvb0_0 interface. This sets the interface
109− into promiscous mode so it accepts any packets from the PID
109+ into promiscuous mode so it accepts any packets from the PID
110110 you have configured with the dvbnet utility. Check if there
111111 are any packets with the IP addr and MAC addr you have
112112 configured with ifconfig.
Documentation/dvb/udev.txt+1−1
@@ -1,7 +1,7 @@
11 The DVB subsystem currently registers to the sysfs subsystem using the
22 "class_simple" interface.
33
4−This means that only the basic informations like module loading parameters
4+This means that only the basic information like module loading parameters
55 are presented through sysfs. Other things that might be interesting are
66 currently *not* available.
77
Documentation/edac.txt+2−2
@@ -311,7 +311,7 @@ Total Correctable Errors count attribute file: · 310 unmodified lines
311311 'ce_noinfo_count'
312312
313313 This attribute file displays the number of CEs that
314− have occurred wherewith no informations as to which DIMM slot
314+ have occurred wherewith no information as to which DIMM slot
315315 is having errors. Memory is handicapped, but operational,
316316 yet no information is available to indicate which slot
317317 the failing memory is in. This count field should be also
@@ -741,7 +741,7 @@ were done at i7core_edac driver. This chapter will cover those differences · 423 unmodified lines
741741 As EDAC API maps the minimum unity is csrows, the driver sequencially
742742 maps channel/dimm into different csrows.
743743
744− For example, suposing the following layout:
744+ For example, supposing the following layout:
745745 Ch0 phy rd0, wr0 (0x063f4031): 2 ranks, UDIMMs
746746 dimm 0 1024 Mb offset: 0, bank: 8, rank: 1, row: 0x4000, col: 0x400
747747 dimm 1 1024 Mb offset: 4, bank: 8, rank: 1, row: 0x4000, col: 0x400
Documentation/eisa.txt+1−1
@@ -84,7 +84,7 @@ struct eisa_driver { · 83 unmodified lines
8484
8585 id_table : an array of NULL terminated EISA id strings,
8686 followed by an empty string. Each string can
87− optionally be paired with a driver-dependant value
87+ optionally be paired with a driver-dependent value
8888 (driver_data).
8989
9090 driver : a generic driver, such as described in
Documentation/fb/viafb.txt+2−2
@@ -204,7 +204,7 @@ Notes: · 203 unmodified lines
204204
205205 supported_output_devices
206206
207− This read-only file contains a full ',' seperated list containing all
207+ This read-only file contains a full ',' separated list containing all
208208 output devices that could be available on your platform. It is likely
209209 that not all of those have a connector on your hardware but it should
210210 provide a good starting point to figure out which of those names match
@@ -225,7 +225,7 @@ Notes: · 14 unmodified lines
225225 This can happen for example if only one (the other) iga is used.
226226 Writing to these files allows adjusting the output devices during
227227 runtime. One can add new devices, remove existing ones or switch
228− between igas. Essentially you can write a ',' seperated list of device
228+ between igas. Essentially you can write a ',' separated list of device
229229 names (or a single one) in the same format as the output to those
230230 files. You can add a '+' or '-' as a prefix allowing simple addition
231231 and removal of devices. So a prefix '+' adds the devices from your list
Documentation/feature-removal-schedule.txt+60−60
@@ -6,6 +6,42 @@ be removed from this file. · 5 unmodified lines
66
77 ---------------------------
88
9+What: x86 floppy disable_hlt
10+When: 2012
11+Why: ancient workaround of dubious utility clutters the
12+ code used by everybody else.
13+Who: Len Brown <len.brown@intel.com>
14+
15+---------------------------
16+
17+What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
18+When: 2012
19+Why: This optional sub-feature of APM is of dubious reliability,
20+ and ancient APM laptops are likely better served by calling HLT.
21+ Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting
22+ the pm_idle function pointer to modules.
23+Who: Len Brown <len.brown@intel.com>
24+
25+----------------------------
26+
27+What: x86_32 "no-hlt" cmdline param
28+When: 2012
29+Why: remove a branch from idle path, simplify code used by everybody.
30+ This option disabled the use of HLT in idle and machine_halt()
31+ for hardware that was flakey 15-years ago. Today we have
32+ "idle=poll" that removed HLT from idle, and so if such a machine
33+ is still running the upstream kernel, "idle=poll" is likely sufficient.
34+Who: Len Brown <len.brown@intel.com>
35+
36+----------------------------
37+
38+What: x86 "idle=mwait" cmdline param
39+When: 2012
40+Why: simplify x86 idle code
41+Who: Len Brown <len.brown@intel.com>
42+
43+----------------------------
44+
945 What: PRISM54
1046 When: 2.6.34
1147
@@ -35,17 +71,6 @@ Who: Luis R. Rodriguez <lrodriguez@atheros.com> · 23 unmodified lines
3571
3672 ---------------------------
3773
38−What: AR9170USB
39−When: 2.6.40
40−
41−Why: This driver is deprecated and the firmware is no longer
42− maintained. The replacement driver "carl9170" has been
43− around for a while, so the devices are still supported.
44−
45−Who: Christian Lamparter <chunkeey@googlemail.com>
46−
47−---------------------------
48−
4974 What: IRQF_SAMPLE_RANDOM
5075 Check: IRQF_SAMPLE_RANDOM
5176 When: July 2009
@@ -226,7 +251,7 @@ Who: Zhang Rui <rui.zhang@intel.com> · 174 unmodified lines
226251 What: CONFIG_ACPI_PROCFS_POWER
227252 When: 2.6.39
228253 Why: sysfs I/F for ACPI power devices, including AC and Battery,
229− has been working in upstream kenrel since 2.6.24, Sep 2007.
254+ has been working in upstream kernel since 2.6.24, Sep 2007.
230255 In 2.6.37, we make the sysfs I/F always built in and this option
231256 disabled by default.
232257 Remove this option and the ACPI power procfs interface in 2.6.39.
@@ -273,16 +298,6 @@ Who: Michael Buesch <mb@bu3sch.de> · 40 unmodified lines
273298
274299 ---------------------------
275300
276−What: /sys/o2cb symlink
277−When: January 2010
278−Why: /sys/fs/o2cb is the proper location for this information - /sys/o2cb
279− exists as a symlink for backwards compatibility for old versions of
280− ocfs2-tools. 2 years should be sufficient time to phase in new versions
281− which know to look in /sys/fs/o2cb.
282−Who: ocfs2-devel@oss.oracle.com
283−
284−---------------------------
285−
286301 What: Ability for non root users to shm_get hugetlb pages based on mlock
287302 resource limits
288303 When: 2.6.31
@@ -387,26 +402,6 @@ Who: Tejun Heo <tj@kernel.org> · 98 unmodified lines
387402
388403 ----------------------------
389404
390−What: Support for lcd_switch and display_get in asus-laptop driver
391−When: March 2010
392−Why: These two features use non-standard interfaces. There are the
393− only features that really need multiple path to guess what's
394− the right method name on a specific laptop.
395−
396− Removing them will allow to remove a lot of code an significantly
397− clean the drivers.
398−
399− This will affect the backlight code which won't be able to know
400− if the backlight is on or off. The platform display file will also be
401− write only (like the one in eeepc-laptop).
402−
403− This should'nt affect a lot of user because they usually know
404− when their display is on or off.
405−
406−Who: Corentin Chary <corentin.chary@gmail.com>
407−
408−----------------------------
409−
410405 What: sysfs-class-rfkill state file
411406 When: Feb 2014
412407 Files: net/rfkill/core.c
@@ -425,16 +420,6 @@ Who: anybody or Florian Mickler <florian@mickler.org> · 12 unmodified lines
425420
426421 ----------------------------
427422
428−What: capifs
429−When: February 2011
430−Files: drivers/isdn/capi/capifs.*
431−Why: udev fully replaces this special file system that only contains CAPI
432− NCCI TTY device nodes. User space (pppdcapiplugin) works without
433− noticing the difference.
434−Who: Jan Kiszka <jan.kiszka@web.de>
435−
436−----------------------------
437−
438423 What: KVM paravirt mmu host support
439424 When: January 2011
440425 Why: The paravirt mmu host support is slower than non-paravirt mmu, both
@@ -480,14 +465,6 @@ Who: Thomas Gleixner <tglx@linutronix.de> · 39 unmodified lines
480465
481466 ----------------------------
482467
483−What: The acpi_sleep=s4_nonvs command line option
484−When: 2.6.37
485−Files: arch/x86/kernel/acpi/sleep.c
486−Why: superseded by acpi_sleep=nonvs
487−Who: Rafael J. Wysocki <rjw@sisk.pl>
488−
489−----------------------------
490−
491468 What: PCI DMA unmap state API
492469 When: August 2012
493470 Why: PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
@@ -600,3 +577,26 @@ Why: These legacy callbacks should no longer be used as i2c-core offers · 106 unmodified lines
600577 Who: Jean Delvare <khali@linux-fr.org>
601578
602579 ----------------------------
580+
581+What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver
582+When: 2.6.42
583+Why: The information passed to the driver by this ioctl is now queried
584+ dynamically from the device.
585+Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
586+
587+----------------------------
588+
589+What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver
590+When: 2.6.42
591+Why: Used only by applications compiled against older driver versions.
592+ Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls.
593+Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
594+
595+----------------------------
596+
597+What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver
598+When: 2.6.42
599+Why: Superseded by the UVCIOC_CTRL_QUERY ioctl.
600+Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
601+
602+----------------------------
Documentation/filesystems/9p.txt+10−19
@@ -25,6 +25,8 @@ Other applications are described in the following papers: · 24 unmodified lines
2525 http://xcpu.org/papers/cellfs-talk.pdf
2626 * PROSE I/O: Using 9p to enable Application Partitions
2727 http://plan9.escet.urjc.es/iwp9/cready/PROSE_iwp9_2006.pdf
28+ * VirtFS: A Virtualization Aware File System pass-through
29+ http://goo.gl/3WPDg
2830
2931 USAGE
3032 =====
@@ -130,31 +132,20 @@ OPTIONS · 99 unmodified lines
130132 RESOURCES
131133 =========
132134
133−Our current recommendation is to use Inferno (http://www.vitanuova.com/nferno/index.html)
134−as the 9p server. You can start a 9p server under Inferno by issuing the
135−following command:
136− ; styxlisten -A tcp!*!564 export '#U*'
135+Protocol specifications are maintained on github:
136+http://ericvh.github.com/9p-rfc/
137137
138−The -A specifies an unauthenticated export. The 564 is the port # (you may
139−have to choose a higher port number if running as a normal user). The '#U*'
140−specifies exporting the root of the Linux name space. You may specify a
141−subset of the namespace by extending the path: '#U*'/tmp would just export
142−/tmp. For more information, see the Inferno manual pages covering styxlisten
143−and export.
138+9p client and server implementations are listed on
139+http://9p.cat-v.org/implementations
144140
145−A Linux version of the 9p server is now maintained under the npfs project
146−on sourceforge (http://sourceforge.net/projects/npfs). The currently
147−maintained version is the single-threaded version of the server (named spfs)
148−available from the same SVN repository.
141+A 9p2000.L server is being developed by LLNL and can be found
142+at http://code.google.com/p/diod/
149143
150144 There are user and developer mailing lists available through the v9fs project
151145 on sourceforge (http://sourceforge.net/projects/v9fs).
152146
153−A stand-alone version of the module (which should build for any 2.6 kernel)
154−is available via (http://github.com/ericvh/9p-sac/tree/master)
155−
156−News and other information is maintained on SWiK (http://swik.net/v9fs)
157−and the Wiki (http://sf.net/apps/mediawiki/v9fs/index.php).
147+News and other information is maintained on a Wiki.
148+(http://sf.net/apps/mediawiki/v9fs/index.php).
158149
159150 Bug reports may be issued through the kernel.org bugzilla
160151 (http://bugzilla.kernel.org)
Documentation/filesystems/Locking+2−2
@@ -104,7 +104,7 @@ of the locking scheme for directory operations. · 103 unmodified lines
104104 prototypes:
105105 struct inode *(*alloc_inode)(struct super_block *sb);
106106 void (*destroy_inode)(struct inode *);
107− void (*dirty_inode) (struct inode *);
107+ void (*dirty_inode) (struct inode *, int flags);
108108 int (*write_inode) (struct inode *, struct writeback_control *wbc);
109109 int (*drop_inode) (struct inode *);
110110 void (*evict_inode) (struct inode *);
@@ -126,7 +126,7 @@ locking rules: · 15 unmodified lines
126126 s_umount
127127 alloc_inode:
128128 destroy_inode:
129−dirty_inode: (must not sleep)
129+dirty_inode:
130130 write_inode:
131131 drop_inode: !!!inode->i_lock!!!
132132 evict_inode:
Documentation/filesystems/autofs4-mount-control.txt+1−1
@@ -309,7 +309,7 @@ ioctlfd field set to the descriptor obtained from the open call. · 308 unmodified lines
309309 AUTOFS_DEV_IOCTL_TIMEOUT_CMD
310310 ----------------------------
311311
312−Set the expire timeout for mounts withing an autofs mount point.
312+Set the expire timeout for mounts within an autofs mount point.
313313
314314 The call requires an initialized struct autofs_dev_ioctl with the
315315 ioctlfd field set to the descriptor obtained from the open call.
Documentation/filesystems/caching/netfs-api.txt+9−9
@@ -95,7 +95,7 @@ restraints as possible on how an index is structured and where it is placed in · 94 unmodified lines
9595 the tree. The netfs can even mix indices and data files at the same level, but
9696 it's not recommended.
9797
98−Each index entry consists of a key of indeterminate length plus some auxilliary
98+Each index entry consists of a key of indeterminate length plus some auxiliary
9999 data, also of indeterminate length.
100100
101101 There are some limits on indices:
@@ -203,23 +203,23 @@ This has the following fields: · 101 unmodified lines
203203
204204 If the function is absent, a file size of 0 is assumed.
205205
206− (6) A function to retrieve auxilliary data from the netfs [optional].
206+ (6) A function to retrieve auxiliary data from the netfs [optional].
207207
208208 This function will be called with the netfs data that was passed to the
209− cookie acquisition function and the maximum length of auxilliary data that
210− it may provide. It should write the auxilliary data into the given buffer
209+ cookie acquisition function and the maximum length of auxiliary data that
210+ it may provide. It should write the auxiliary data into the given buffer
211211 and return the quantity it wrote.
212212
213− If this function is absent, the auxilliary data length will be set to 0.
213+ If this function is absent, the auxiliary data length will be set to 0.
214214
215− The length of the auxilliary data buffer may be dependent on the key
215+ The length of the auxiliary data buffer may be dependent on the key
216216 length. A netfs mustn't rely on being able to provide more than 400 bytes
217217 for both.
218218
219− (7) A function to check the auxilliary data [optional].
219+ (7) A function to check the auxiliary data [optional].
220220
221221 This function will be called to check that a match found in the cache for
222− this object is valid. For instance with AFS it could check the auxilliary
222+ this object is valid. For instance with AFS it could check the auxiliary
223223 data against the data version number returned by the server to determine
224224 whether the index entry in a cache is still valid.
225225
@@ -232,7 +232,7 @@ This has the following fields: · 6 unmodified lines
232232 (*) FSCACHE_CHECKAUX_NEEDS_UPDATE - the entry requires update
233233 (*) FSCACHE_CHECKAUX_OBSOLETE - the entry should be deleted
234234
235− This function can also be used to extract data from the auxilliary data in
235+ This function can also be used to extract data from the auxiliary data in
236236 the cache and copy it into the netfs's structures.
237237
238238 (8) A pair of functions to manage contexts for the completion callback
Documentation/filesystems/configfs/configfs.txt+1−1
@@ -409,7 +409,7 @@ As a consequence of this, default_groups cannot be removed directly via · 408 unmodified lines
409409 rmdir(2). They also are not considered when rmdir(2) on the parent
410410 group is checking for children.
411411
412−[Dependant Subsystems]
412+[Dependent Subsystems]
413413
414414 Sometimes other drivers depend on particular configfs items. For
415415 example, ocfs2 mounts depend on a heartbeat region item. If that
Documentation/filesystems/configfs/configfs_example_explicit.c+2−4
@@ -464,9 +464,8 @@ static int __init configfs_example_init(void) · 463 unmodified lines
464464 return 0;
465465
466466 out_unregister:
467− for (; i >= 0; i--) {
467+ for (i--; i >= 0; i--)
468468 configfs_unregister_subsystem(example_subsys[i]);
469− }
470469
471470 return ret;
472471 }
@@ -475,9 +474,8 @@ static void __exit configfs_example_exit(void) · 2 unmodified lines
475474 {
476475 int i;
477476
478− for (i = 0; example_subsys[i]; i++) {
477+ for (i = 0; example_subsys[i]; i++)
479478 configfs_unregister_subsystem(example_subsys[i]);
480− }
481479 }
482480
483481 module_init(configfs_example_init);
Documentation/filesystems/configfs/configfs_example_macros.c+2−4
@@ -427,9 +427,8 @@ static int __init configfs_example_init(void) · 426 unmodified lines
427427 return 0;
428428
429429 out_unregister:
430− for (; i >= 0; i--) {
430+ for (i--; i >= 0; i--)
431431 configfs_unregister_subsystem(example_subsys[i]);
432− }
433432
434433 return ret;
435434 }
@@ -438,9 +437,8 @@ static void __exit configfs_example_exit(void) · 2 unmodified lines
438437 {
439438 int i;
440439
441− for (i = 0; example_subsys[i]; i++) {
440+ for (i = 0; example_subsys[i]; i++)
442441 configfs_unregister_subsystem(example_subsys[i]);
443− }
444442 }
445443
446444 module_init(configfs_example_init);
Documentation/filesystems/ext4.txt+2−6
@@ -97,7 +97,7 @@ Note: More extensive information for getting started with ext4 can be · 96 unmodified lines
9797 * Inode allocation using large virtual block groups via flex_bg
9898 * delayed allocation
9999 * large block (up to pagesize) support
100−* efficent new ordered mode in JBD2 and ext4(avoid using buffer head to force
100+* efficient new ordered mode in JBD2 and ext4(avoid using buffer head to force
101101 the ordering)
102102
103103 [1] Filesystems with a block size of 1k may see a limit imposed by the
@@ -106,7 +106,7 @@ directory hash tree having a maximum depth of two. · 2 unmodified lines
106106 2.2 Candidate features for future inclusion
107107
108108 * Online defrag (patches available but not well tested)
109−* reduced mke2fs time via lazy itable initialization in conjuction with
109+* reduced mke2fs time via lazy itable initialization in conjunction with
110110 the uninit_bg feature (capability to do this is available in e2fsprogs
111111 but a kernel thread to do lazy zeroing of unused inode table blocks
112112 after filesystem is first mounted is required for safety)
@@ -226,10 +226,6 @@ acl Enables POSIX Access Control Lists support. · 113 unmodified lines
226226 noacl This option disables POSIX Access Control List
227227 support.
228228
229−reservation
230−
231−noreservation
232−
233229 bsddf (*) Make 'df' act like BSD.
234230 minixdf Make 'df' act like Minix.
235231
Documentation/filesystems/gfs2-uevents.txt+1−1
@@ -62,7 +62,7 @@ be fixed. · 61 unmodified lines
6262
6363 The REMOVE uevent is generated at the end of an unsuccessful mount
6464 or at the end of a umount of the filesystem. All REMOVE uevents will
65−have been preceeded by at least an ADD uevent for the same fileystem,
65+have been preceded by at least an ADD uevent for the same fileystem,
6666 and unlike the other uevents is generated automatically by the kernel's
6767 kobject subsystem.
6868
Documentation/filesystems/gfs2.txt+1−1
@@ -11,7 +11,7 @@ their I/O so file system consistency is maintained. One of the nifty · 10 unmodified lines
1111 features of GFS is perfect consistency -- changes made to the file system
1212 on one machine show up immediately on all other machines in the cluster.
1313
14−GFS uses interchangable inter-node locking mechanisms, the currently
14+GFS uses interchangeable inter-node locking mechanisms, the currently
1515 supported mechanisms are:
1616
1717 lock_nolock -- allows gfs to be used as a local file system
Documentation/filesystems/nfs/idmapper.txt+2−2
@@ -47,8 +47,8 @@ request-key will find the first matching line and corresponding program. In · 46 unmodified lines
4747 this case, /some/other/program will handle all uid lookups and
4848 /usr/sbin/nfs.idmap will handle gid, user, and group lookups.
4949
50−See <file:Documentation/keys-request-keys.txt> for more information about the
51−request-key function.
50+See <file:Documentation/security/keys-request-keys.txt> for more information
51+about the request-key function.
5252
5353
5454 =========
Documentation/filesystems/ntfs.txt+1−1
@@ -350,7 +350,7 @@ Note the "Should sync?" parameter "nosync" means that the two mirrors are · 349 unmodified lines
350350 already in sync which will be the case on a clean shutdown of Windows. If the
351351 mirrors are not clean, you can specify the "sync" option instead of "nosync"
352352 and the Device-Mapper driver will then copy the entirety of the "Source Device"
353−to the "Target Device" or if you specified multipled target devices to all of
353+to the "Target Device" or if you specified multiple target devices to all of
354354 them.
355355
356356 Once you have your table, save it in a file somewhere (e.g. /etc/ntfsvolume1),
Documentation/filesystems/ocfs2.txt+8−2
@@ -46,9 +46,15 @@ errors=panic Panic and halt the machine if an error occurs. · 45 unmodified lines
4646 intr (*) Allow signals to interrupt cluster operations.
4747 nointr Do not allow signals to interrupt cluster
4848 operations.
49+noatime Do not update access time.
50+relatime(*) Update atime if the previous atime is older than
51+ mtime or ctime
52+strictatime Always update atime, but the minimum update interval
53+ is specified by atime_quantum.
4954 atime_quantum=60(*) OCFS2 will not update atime unless this number
5055 of seconds has passed since the last update.
51− Set to zero to always update atime.
56+ Set to zero to always update atime. This option need
57+ work with strictatime.
5258 data=ordered (*) All data are forced directly out to the main file
5359 system prior to its metadata being committed to the
5460 journal.
@@ -80,7 +86,7 @@ user_xattr (*) Enables Extended User Attributes. · 25 unmodified lines
8086 nouser_xattr Disables Extended User Attributes.
8187 acl Enables POSIX Access Control Lists support.
8288 noacl (*) Disables POSIX Access Control Lists support.
83−resv_level=2 (*) Set how agressive allocation reservations will be.
89+resv_level=2 (*) Set how aggressive allocation reservations will be.
8490 Valid values are between 0 (reservations off) to 8
8591 (maximum space for reservations).
8692 dir_resv_level= (*) By default, directory reservations will scale with file
Documentation/filesystems/path-lookup.txt+2−2
@@ -42,7 +42,7 @@ Path walking overview · 41 unmodified lines
4242 A name string specifies a start (root directory, cwd, fd-relative) and a
4343 sequence of elements (directory entry names), which together refer to a path in
4444 the namespace. A path is represented as a (dentry, vfsmount) tuple. The name
45−elements are sub-strings, seperated by '/'.
45+elements are sub-strings, separated by '/'.
4646
4747 Name lookups will want to find a particular path that a name string refers to
4848 (usually the final element, or parent of final element). This is done by taking
@@ -354,7 +354,7 @@ vfstest 24185492 4945 708725(2.9%) 1076136(4.4%) 0 2651 · 305 unmodified lines
354354
355355 What this shows is that failed rcu-walk lookups, ie. ones that are restarted
356356 entirely with ref-walk, are quite rare. Even the "vfstest" case which
357−specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to excercise
357+specifically has concurrent renames/mkdir/rmdir/ creat/unlink/etc to exercise
358358 such races is not showing a huge amount of restarts.
359359
360360 Dropping from rcu-walk to ref-walk mean that we have encountered a dentry where
Documentation/filesystems/pohmelfs/network_protocol.txt+1−1
@@ -20,7 +20,7 @@ Commands can be embedded into transaction command (which in turn has own command · 19 unmodified lines
2020 so one can extend protocol as needed without breaking backward compatibility as long
2121 as old commands are supported. All string lengths include tail 0 byte.
2222
23−All commans are transfered over the network in big-endian. CPU endianess is used at the end peers.
23+All commands are transferred over the network in big-endian. CPU endianess is used at the end peers.
2424
2525 @cmd - command number, which specifies command to be processed. Following
2626 commands are used currently:
Documentation/filesystems/proc.txt+12−6
@@ -543,7 +543,7 @@ just those considered 'most important'. The new vectors are: · 542 unmodified lines
543543 their statistics are used by kernel developers and interested users to
544544 determine the occurrence of interrupts of the given type.
545545
546−The above IRQ vectors are displayed only when relevent. For example,
546+The above IRQ vectors are displayed only when relevant. For example,
547547 the threshold vector does not exist on x86_64 platforms. Others are
548548 suppressed when the system is a uniprocessor. As of this writing, only
549549 i386 and x86_64 platforms support the new IRQ vector displays.
@@ -574,6 +574,12 @@ The contents of each smp_affinity file is the same by default: · 24 unmodified lines
574574 > cat /proc/irq/0/smp_affinity
575575 ffffffff
576576
577+There is an alternate interface, smp_affinity_list which allows specifying
578+a cpu range instead of a bitmask:
579+
580+ > cat /proc/irq/0/smp_affinity_list
581+ 1024-1031
582+
577583 The default_smp_affinity mask applies to all non-active IRQs, which are the
578584 IRQs which have not yet been allocated/activated, and hence which lack a
579585 /proc/irq/[0-9]* directory.
@@ -583,12 +589,13 @@ reports itself as being attached. This hardware locality information does not · 3 unmodified lines
583589 include information about any possible driver locality preference.
584590
585591 prof_cpu_mask specifies which CPUs are to be profiled by the system wide
586−profiler. Default value is ffffffff (all cpus).
592+profiler. Default value is ffffffff (all cpus if there are only 32 of them).
587593
588594 The way IRQs are routed is handled by the IO-APIC, and it's Round Robin
589595 between all the CPUs which are allowed to handle it. As usual the kernel has
590596 more info than you and does a better job than you, so the defaults are the
591−best choice for almost everyone.
597+best choice for almost everyone. [Note this applies only to those IO-APIC's
598+that support "Round Robin" interrupt distribution.]
592599
593600 There are three more important subdirectories in /proc: net, scsi, and sys.
594601 The general rule is that the contents, or even the existence of these
@@ -836,7 +843,6 @@ Provides counts of softirq handlers serviced since boot time, for each cpu. · 241 unmodified lines
836843 TASKLET: 0 0 0 290
837844 SCHED: 27035 26983 26971 26746
838845 HRTIMER: 0 0 0 0
839− RCU: 1678 1769 2178 2250
840846
841847
842848 1.3 IDE devices in /proc/ide
@@ -1202,7 +1208,7 @@ The columns are: · 359 unmodified lines
12021208 W = can do write operations
12031209 U = can do unblank
12041210 flags E = it is enabled
1205− C = it is prefered console
1211+ C = it is preferred console
12061212 B = it is primary boot console
12071213 p = it is used for printk buffer
12081214 b = it is not a TTY but a Braille device
@@ -1331,7 +1337,7 @@ NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see · 122 unmodified lines
13311337 Documentation/feature-removal-schedule.txt.
13321338
13331339 Caveat: when a parent task is selected, the oom killer will sacrifice any first
1334−generation children with seperate address spaces instead, if possible. This
1340+generation children with separate address spaces instead, if possible. This
13351341 avoids servers and important system daemons from being killed and loses the
13361342 minimal amount of work.
13371343
Documentation/filesystems/squashfs.txt+1−1
@@ -219,7 +219,7 @@ or if it is stored out of line (in which case the value field stores a · 218 unmodified lines
219219 reference to where the actual value is stored). This allows large values
220220 to be stored out of line improving scanning and lookup performance and it
221221 also allows values to be de-duplicated, the value being stored once, and
222−all other occurences holding an out of line reference to that value.
222+all other occurrences holding an out of line reference to that value.
223223
224224 The xattr lists are packed into compressed 8K metadata blocks.
225225 To reduce overhead in inodes, rather than storing the on-disk
Documentation/filesystems/sysfs.txt+1−1
@@ -62,7 +62,7 @@ values of the same type. · 61 unmodified lines
6262
6363 Mixing types, expressing multiple lines of data, and doing fancy
6464 formatting of data is heavily frowned upon. Doing these things may get
65−you publically humiliated and your code rewritten without notice.
65+you publicly humiliated and your code rewritten without notice.
6666
6767
6868 An attribute definition is simply:
Documentation/filesystems/ubifs.txt+2−24
@@ -115,28 +115,8 @@ ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs · 114 unmodified lines
115115 Module Parameters for Debugging
116116 ===============================
117117
118−When UBIFS has been compiled with debugging enabled, there are 3 module
118+When UBIFS has been compiled with debugging enabled, there are 2 module
119119 parameters that are available to control aspects of testing and debugging.
120−The parameters are unsigned integers where each bit controls an option.
121−The parameters are:
122−
123−debug_msgs Selects which debug messages to display, as follows:
124−
125− Message Type Flag value
126−
127− General messages 1
128− Journal messages 2
129− Mount messages 4
130− Commit messages 8
131− LEB search messages 16
132− Budgeting messages 32
133− Garbage collection messages 64
134− Tree Node Cache (TNC) messages 128
135− LEB properties (lprops) messages 256
136− Input/output messages 512
137− Log messages 1024
138− Scan messages 2048
139− Recovery messages 4096
140120
141121 debug_chks Selects extra checks that UBIFS can do while running:
142122
@@ -154,11 +134,9 @@ debug_tsts Selects a mode of testing, as follows: · 11 unmodified lines
154134
155135 Test mode Flag value
156136
157− Force in-the-gaps method 2
158137 Failure mode for recovery testing 4
159138
160−For example, set debug_msgs to 5 to display General messages and Mount
161−messages.
139+For example, set debug_chks to 3 to enable general and TNC checks.
162140
163141
164142 References
Documentation/filesystems/vfs.txt+2−2
@@ -97,7 +97,7 @@ functions: · 96 unmodified lines
9797 The passed struct file_system_type describes your filesystem. When a
9898 request is made to mount a filesystem onto a directory in your namespace,
9999 the VFS will call the appropriate mount() method for the specific
100−filesystem. New vfsmount refering to the tree returned by ->mount()
100+filesystem. New vfsmount referring to the tree returned by ->mount()
101101 will be attached to the mountpoint, so that when pathname resolution
102102 reaches the mountpoint it will jump into the root of that vfsmount.
103103
@@ -211,7 +211,7 @@ struct super_operations { · 107 unmodified lines
211211 struct inode *(*alloc_inode)(struct super_block *sb);
212212 void (*destroy_inode)(struct inode *);
213213
214− void (*dirty_inode) (struct inode *);
214+ void (*dirty_inode) (struct inode *, int flags);
215215 int (*write_inode) (struct inode *, int);
216216 void (*drop_inode) (struct inode *);
217217 void (*delete_inode) (struct inode *);
Documentation/filesystems/xfs-delayed-logging-design.txt+4−4
@@ -42,7 +42,7 @@ the aggregation of all the previous changes currently held only in the log. · 41 unmodified lines
4242 This relogging technique also allows objects to be moved forward in the log so
4343 that an object being relogged does not prevent the tail of the log from ever
4444 moving forward. This can be seen in the table above by the changing
45−(increasing) LSN of each subsquent transaction - the LSN is effectively a
45+(increasing) LSN of each subsequent transaction - the LSN is effectively a
4646 direct encoding of the location in the log of the transaction.
4747
4848 This relogging is also used to implement long-running, multiple-commit
@@ -338,7 +338,7 @@ the same time another transaction modifies the item and inserts the log item · 289 unmodified lines
338338 into the new CIL, then checkpoint transaction commit code cannot use log items
339339 to store the list of log vectors that need to be written into the transaction.
340340 Hence log vectors need to be able to be chained together to allow them to be
341−detatched from the log items. That is, when the CIL is flushed the memory
341+detached from the log items. That is, when the CIL is flushed the memory
342342 buffer and log vector attached to each log item needs to be attached to the
343343 checkpoint context so that the log item can be released. In diagrammatic form,
344344 the CIL would look like this before the flush:
@@ -577,7 +577,7 @@ only becomes unpinned when all the transactions complete and there are no · 232 unmodified lines
577577 pending transactions. Thus the pinning and unpinning of a log item is symmetric
578578 as there is a 1:1 relationship with transaction commit and log item completion.
579579
580−For delayed logging, however, we have an assymetric transaction commit to
580+For delayed logging, however, we have an asymmetric transaction commit to
581581 completion relationship. Every time an object is relogged in the CIL it goes
582582 through the commit process without a corresponding completion being registered.
583583 That is, we now have a many-to-one relationship between transaction commit and
@@ -780,7 +780,7 @@ With delayed logging, there are new steps inserted into the life cycle: · 196 unmodified lines
780780 From this, it can be seen that the only life cycle differences between the two
781781 logging methods are in the middle of the life cycle - they still have the same
782782 beginning and end and execution constraints. The only differences are in the
783−commiting of the log items to the log itself and the completion processing.
783+committing of the log items to the log itself and the completion processing.
784784 Hence delayed logging should not introduce any constraints on log item
785785 behaviour, allocation or freeing that don't already exist.
786786
Documentation/filesystems/xfs.txt+6−0
@@ -39,6 +39,12 @@ When mounting an XFS filesystem, the following options are accepted. · 38 unmodified lines
3939 drive level write caching to be enabled, for devices that
4040 support write barriers.
4141
42+ discard
43+ Issue command to let the block device reclaim space freed by the
44+ filesystem. This is useful for SSD devices, thinly provisioned
45+ LUNs and virtual machine images, but may have a performance
46+ impact. This option is incompatible with the nodelaylog option.
47+
4248 dmapi
4349 Enable the DMAPI (Data Management API) event callouts.
4450 Use with the "mtpt" option.
Documentation/flexible-arrays.txt+2−2
@@ -66,10 +66,10 @@ trick is to ensure that any needed memory allocations are done before · 65 unmodified lines
6666 entering atomic context, using:
6767
6868 int flex_array_prealloc(struct flex_array *array, unsigned int start,
69− unsigned int end, gfp_t flags);
69+ unsigned int nr_elements, gfp_t flags);
7070
7171 This function will ensure that memory for the elements indexed in the range
72−defined by start and end has been allocated. Thereafter, a
72+defined by start and nr_elements has been allocated. Thereafter, a
7373 flex_array_put() call on an element in that range is guaranteed not to
7474 block.
7575
Documentation/hid/hiddev.txtrenamed from Documentation/usb/hiddev.txt+0−0

File renamed without changes.

Documentation/hid/hidraw.txt+119−0
@@ -0,0 +1,119 @@
1+ HIDRAW - Raw Access to USB and Bluetooth Human Interface Devices
2+ ==================================================================
3+
4+The hidraw driver provides a raw interface to USB and Bluetooth Human
5+Interface Devices (HIDs). It differs from hiddev in that reports sent and
6+received are not parsed by the HID parser, but are sent to and received from
7+the device unmodified.
8+
9+Hidraw should be used if the userspace application knows exactly how to
10+communicate with the hardware device, and is able to construct the HID
11+reports manually. This is often the case when making userspace drivers for
12+custom HID devices.
13+
14+Hidraw is also useful for communicating with non-conformant HID devices
15+which send and receive data in a way that is inconsistent with their report
16+descriptors. Because hiddev parses reports which are sent and received
17+through it, checking them against the device's report descriptor, such
18+communication with these non-conformant devices is impossible using hiddev.
19+Hidraw is the only alternative, short of writing a custom kernel driver, for
20+these non-conformant devices.
21+
22+A benefit of hidraw is that its use by userspace applications is independent
23+of the underlying hardware type. Currently, Hidraw is implemented for USB
24+and Bluetooth. In the future, as new hardware bus types are developed which
25+use the HID specification, hidraw will be expanded to add support for these
26+new bus types.
27+
28+Hidraw uses a dynamic major number, meaning that udev should be relied on to
29+create hidraw device nodes. Udev will typically create the device nodes
30+directly under /dev (eg: /dev/hidraw0). As this location is distribution-
31+and udev rule-dependent, applications should use libudev to locate hidraw
32+devices attached to the system. There is a tutorial on libudev with a
33+working example at:
34+ http://www.signal11.us/oss/udev/
35+
36+The HIDRAW API
37+---------------
38+
39+read()
40+-------
41+read() will read a queued report received from the HID device. On USB
42+devices, the reports read using read() are the reports sent from the device
43+on the INTERRUPT IN endpoint. By default, read() will block until there is
44+a report available to be read. read() can be made non-blocking, by passing
45+the O_NONBLOCK flag to open(), or by setting the O_NONBLOCK flag using
46+fcntl().
47+
48+On a device which uses numbered reports, the first byte of the returned data
49+will be the report number; the report data follows, beginning in the second
50+byte. For devices which do not use numbered reports, the report data
51+will begin at the first byte.
52+
53+write()
54+--------
55+The write() function will write a report to the device. For USB devices, if
56+the device has an INTERRUPT OUT endpoint, the report will be sent on that
57+endpoint. If it does not, the report will be sent over the control endpoint,
58+using a SET_REPORT transfer.
59+
60+The first byte of the buffer passed to write() should be set to the report
61+number. If the device does not use numbered reports, the first byte should
62+be set to 0. The report data itself should begin at the second byte.
63+
64+ioctl()
65+--------
66+Hidraw supports the following ioctls:
67+
68+HIDIOCGRDESCSIZE: Get Report Descriptor Size
69+This ioctl will get the size of the device's report descriptor.
70+
71+HIDIOCGRDESC: Get Report Descriptor
72+This ioctl returns the device's report descriptor using a
73+hidraw_report_descriptor struct. Make sure to set the size field of the
74+hidraw_report_descriptor struct to the size returned from HIDIOCGRDESCSIZE.
75+
76+HIDIOCGRAWINFO: Get Raw Info
77+This ioctl will return a hidraw_devinfo struct containing the bus type, the
78+vendor ID (VID), and product ID (PID) of the device. The bus type can be one
79+of:
80+ BUS_USB
81+ BUS_HIL
82+ BUS_BLUETOOTH
83+ BUS_VIRTUAL
84+which are defined in linux/input.h.
85+
86+HIDIOCGRAWNAME(len): Get Raw Name
87+This ioctl returns a string containing the vendor and product strings of
88+the device. The returned string is Unicode, UTF-8 encoded.
89+
90+HIDIOCGRAWPHYS(len): Get Physical Address
91+This ioctl returns a string representing the physical address of the device.
92+For USB devices, the string contains the physical path to the device (the
93+USB controller, hubs, ports, etc). For Bluetooth devices, the string
94+contains the hardware (MAC) address of the device.
95+
96+HIDIOCSFEATURE(len): Send a Feature Report
97+This ioctl will send a feature report to the device. Per the HID
98+specification, feature reports are always sent using the control endpoint.
99+Set the first byte of the supplied buffer to the report number. For devices
100+which do not use numbered reports, set the first byte to 0. The report data
101+begins in the second byte. Make sure to set len accordingly, to one more
102+than the length of the report (to account for the report number).
103+
104+HIDIOCGFEATURE(len): Get a Feature Report
105+This ioctl will request a feature report from the device using the control
106+endpoint. The first byte of the supplied buffer should be set to the report
107+number of the requested report. For devices which do not use numbered
108+reports, set the first byte to 0. The report will be returned starting at
109+the first byte of the buffer (ie: the report number is not returned).
110+
111+Example
112+---------
113+In samples/, find hid-example.c, which shows examples of read(), write(),
114+and all the ioctls for hidraw. The code may be used by anyone for any
115+purpose, and can serve as a starting point for developing applications using
116+hidraw.
117+
118+Document by:
119+ Alan Ott <alan@signal11.us>, Signal 11 Software
Documentation/hwmon/abituguru+1−1
@@ -78,7 +78,7 @@ motherboards (most modern Abit motherboards). · 77 unmodified lines
7878
7979 The first and second revision of the uGuru chip in reality is a Winbond
8080 W83L950D in disguise (despite Abit claiming it is "a new microprocessor
81−designed by the ABIT Engineers"). Unfortunatly this doesn't help since the
81+designed by the ABIT Engineers"). Unfortunately this doesn't help since the
8282 W83L950D is a generic microcontroller with a custom Abit application running
8383 on it.
8484
Documentation/hwmon/abituguru-datasheet+4−4
@@ -5,9 +5,9 @@ First of all, what I know about uGuru is no fact based on any help, hints or · 4 unmodified lines
55 datasheet from Abit. The data I have got on uGuru have I assembled through
66 my weak knowledge in "backwards engineering".
77 And just for the record, you may have noticed uGuru isn't a chip developed by
8−Abit, as they claim it to be. It's realy just an microprocessor (uC) created by
8+Abit, as they claim it to be. It's really just an microprocessor (uC) created by
99 Winbond (W83L950D). And no, reading the manual for this specific uC or
10−mailing Windbond for help won't give any usefull data about uGuru, as it is
10+mailing Windbond for help won't give any useful data about uGuru, as it is
1111 the program inside the uC that is responding to calls.
1212
1313 Olle Sandberg <ollebull@gmail.com>, 2005-05-25
@@ -41,7 +41,7 @@ later on attached again data-port will hold 0x08, more about this later. · 27 unmodified lines
4141
4242 After wider testing of the Linux kernel driver some variants of the uGuru have
4343 turned up which will hold 0x00 instead of 0xAC at the CMD port, thus we also
44−have to test CMD for two different values. On these uGuru's DATA will initally
44+have to test CMD for two different values. On these uGuru's DATA will initially
4545 hold 0x09 and will only hold 0x08 after reading CMD first, so CMD must be read
4646 first!
4747
@@ -308,5 +308,5 @@ the voltage / clock programming out, I tried reading and only reading banks · 260 unmodified lines
308308 resulted in a _permanent_ reprogramming of the voltages, luckily I had the
309309 sensors part configured so that it would shutdown my system on any out of spec
310310 voltages which proprably safed my computer (after a reboot I managed to
311−immediatly enter the bios and reload the defaults). This probably means that
311+immediately enter the bios and reload the defaults). This probably means that
312312 the read/write cycle for the non sensor part is different from the sensor part.
Documentation/hwmon/abituguru3+1−1
@@ -47,7 +47,7 @@ This driver supports the hardware monitoring features of the third revision of · 46 unmodified lines
4747 the Abit uGuru chip, found on recent Abit uGuru featuring motherboards.
4848
4949 The 3rd revision of the uGuru chip in reality is a Winbond W83L951G.
50−Unfortunatly this doesn't help since the W83L951G is a generic microcontroller
50+Unfortunately this doesn't help since the W83L951G is a generic microcontroller
5151 with a custom Abit application running on it.
5252
5353 Despite Abit not releasing any information regarding the uGuru revision 3,
Documentation/hwmon/adm1021+19−17
@@ -14,10 +14,6 @@ Supported chips: · 13 unmodified lines
1414 Prefix: 'gl523sm'
1515 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
1616 Datasheet:
17− * Intel Xeon Processor
18− Prefix: - any other - may require 'force_adm1021' parameter
19− Addresses scanned: none
20− Datasheet: Publicly available at Intel website
2117 * Maxim MAX1617
2218 Prefix: 'max1617'
2319 Addresses scanned: I2C 0x18 - 0x1a, 0x29 - 0x2b, 0x4c - 0x4e
@@ -91,21 +87,27 @@ will do no harm, but will return 'old' values. It is possible to make · 67 unmodified lines
9187 ADM1021-clones do faster measurements, but there is really no good reason
9288 for that.
9389
94−Xeon support
95−------------
9690
97−Some Xeon processors have real max1617, adm1021, or compatible chips
98−within them, with two temperature sensors.
91+Netburst-based Xeon support
92+---------------------------
9993
100−Other Xeons have chips with only one sensor.
94+Some Xeon processors based on the Netburst (early Pentium 4, from 2001 to
95+2003) microarchitecture had real MAX1617, ADM1021, or compatible chips
96+within them, with two temperature sensors. Other Xeon processors of this
97+era (with 400 MHz FSB) had chips with only one temperature sensor.
10198
102−If you have a Xeon, and the adm1021 module loads, and both temperatures
103−appear valid, then things are good.
99+If you have such an old Xeon, and you get two valid temperatures when
100+loading the adm1021 module, then things are good.
104101
105−If the adm1021 module doesn't load, you should try this:
106− modprobe adm1021 force_adm1021=BUS,ADDRESS
107− ADDRESS can only be 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e.
102+If nothing happens when loading the adm1021 module, and you are certain
103+that your specific Xeon processor model includes compatible sensors, you
104+will have to explicitly instantiate the sensor chips from user-space. See
105+method 4 in Documentation/i2c/instantiating-devices. Possible slave
106+addresses are 0x18, 0x1a, 0x29, 0x2b, 0x4c, or 0x4e. It is likely that
107+only temp2 will be correct and temp1 will have to be ignored.
108108
109−If you have dual Xeons you may have appear to have two separate
110−adm1021-compatible chips, or two single-temperature sensors, at distinct
111−addresses.
109+Previous generations of the Xeon processor (based on Pentium II/III)
110+didn't have these sensors. Next generations of Xeon processors (533 MHz
111+FSB and faster) lost them, until the Core-based generation which
112+introduced integrated digital thermal sensors. These are supported by
113+the coretemp driver.
Documentation/hwmon/adm1275+60−0
@@ -0,0 +1,60 @@
1+Kernel driver adm1275
2+=====================
3+
4+Supported chips:
5+ * Analog Devices ADM1275
6+ Prefix: 'adm1275'
7+ Addresses scanned: -
8+ Datasheet: www.analog.com/static/imported-files/data_sheets/ADM1275.pdf
9+
10+Author: Guenter Roeck <guenter.roeck@ericsson.com>
11+
12+
13+Description
14+-----------
15+
16+This driver supports hardware montoring for Analog Devices ADM1275 Hot-Swap
17+Controller and Digital Power Monitor.
18+
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+
24+The driver is a client driver to the core PMBus driver. Please see
25+Documentation/hwmon/pmbus for details on PMBus client drivers.
26+
27+
28+Usage Notes
29+-----------
30+
31+This driver does not auto-detect devices. You will have to instantiate the
32+devices explicitly. Please see Documentation/i2c/instantiating-devices for
33+details.
34+
35+
36+Platform data support
37+---------------------
38+
39+The driver supports standard PMBus driver platform data. Please see
40+Documentation/hwmon/pmbus for details.
41+
42+
43+Sysfs entries
44+-------------
45+
46+The following attributes are supported. Limits are read-write; all other
47+attributes are read-only.
48+
49+in1_label "vin1" or "vout1" depending on chip variant and
50+ 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.
56+
57+curr1_label "iout1"
58+curr1_input Measured current. From READ_IOUT register.
59+curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
60+curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
Documentation/hwmon/coretemp+14−7
@@ -15,8 +15,13 @@ Author: Rudolf Marek · 14 unmodified lines
1515
1616 Description
1717 -----------
18+This driver permits reading the DTS (Digital Temperature Sensor) embedded
19+inside Intel CPUs. This driver can read both the per-core and per-package
20+temperature using the appropriate sensors. The per-package sensor is new;
21+as of now, it is present only in the SandyBridge platform. The driver will
22+show the temperature of all cores inside a package under a single device
23+directory inside hwmon.
1824
19−This driver permits reading temperature sensor embedded inside Intel Core CPU.
2025 Temperature is measured in degrees Celsius and measurement resolution is
2126 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
2227 the actual value of temperature register is in fact a delta from TjMax.
@@ -27,13 +32,15 @@ mechanism will perform actions to forcibly cool down the processor. Alarm · 4 unmodified lines
2732 may be raised, if the temperature grows enough (more than TjMax) to trigger
2833 the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
2934
30−temp1_input - Core temperature (in millidegrees Celsius).
31−temp1_max - All cooling devices should be turned on (on Core2).
32−temp1_crit - Maximum junction temperature (in millidegrees Celsius).
33−temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
35+All Sysfs entries are named with their core_id (represented here by 'X').
36+tempX_input - Core temperature (in millidegrees Celsius).
37+tempX_max - All cooling devices should be turned on (on Core2).
38+tempX_crit - Maximum junction temperature (in millidegrees Celsius).
39+tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
3440 Correct CPU operation is no longer guaranteed.
35−temp1_label - Contains string "Core X", where X is processor
36− number.
41+tempX_label - Contains string "Core X", where X is processor
42+ number. For Package temp, this will be "Physical id Y",
43+ where Y is the package number.
3744
3845 The TjMax temperature is set to 85 degrees C if undocumented model specific
3946 register (UMSR) 0xee has bit 30 set. If not the TjMax is 100 degrees C as
Documentation/hwmon/emc6w201+42−0
@@ -0,0 +1,42 @@
1+Kernel driver emc6w201
2+======================
3+
4+Supported chips:
5+ * SMSC EMC6W201
6+ Prefix: 'emc6w201'
7+ Addresses scanned: I2C 0x2c, 0x2d, 0x2e
8+ Datasheet: Not public
9+
10+Author: Jean Delvare <khali@linux-fr.org>
11+
12+
13+Description
14+-----------
15+
16+From the datasheet:
17+
18+"The EMC6W201 is an environmental monitoring device with automatic fan
19+control capability and enhanced system acoustics for noise suppression.
20+This ACPI compliant device provides hardware monitoring for up to six
21+voltages (including its own VCC) and five external thermal sensors,
22+measures the speed of up to five fans, and controls the speed of
23+multiple DC fans using three Pulse Width Modulator (PWM) outputs. Note
24+that it is possible to control more than three fans by connecting two
25+fans to one PWM output. The EMC6W201 will be available in a 36-pin
26+QFN package."
27+
28+The device is functionally close to the EMC6D100 series, but is
29+register-incompatible.
30+
31+The driver currently only supports the monitoring of the voltages,
32+temperatures and fan speeds. Limits can be changed. Alarms are not
33+supported, and neither is fan speed control.
34+
35+
36+Known Systems With EMC6W201
37+---------------------------
38+
39+The EMC6W201 is a rare device, only found on a few systems, made in
40+2005 and 2006. Known systems with this device:
41+* Dell Precision 670 workstation
42+* Gigabyte 2CEWH mainboard
Documentation/hwmon/f71882fg+4−0
@@ -6,6 +6,10 @@ Supported chips: · 5 unmodified lines
66 Prefix: 'f71808e'
77 Addresses scanned: none, address read from Super I/O config space
88 Datasheet: Not public
9+ * Fintek F71808A
10+ Prefix: 'f71808a'
11+ Addresses scanned: none, address read from Super I/O config space
12+ Datasheet: Not public
913 * Fintek F71858FG
1014 Prefix: 'f71858fg'
1115 Addresses scanned: none, address read from Super I/O config space
Documentation/hwmon/fam15h_power+37−0
@@ -0,0 +1,37 @@
1+Kernel driver fam15h_power
2+==========================
3+
4+Supported chips:
5+* AMD Family 15h Processors
6+
7+ Prefix: 'fam15h_power'
8+ Addresses scanned: PCI space
9+ Datasheets:
10+ BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors
11+ (not yet published)
12+
13+Author: Andreas Herrmann <andreas.herrmann3@amd.com>
14+
15+Description
16+-----------
17+
18+This driver permits reading of registers providing power information
19+of AMD Family 15h processors.
20+
21+For AMD Family 15h processors the following power values can be
22+calculated using different processor northbridge function registers:
23+
24+* BasePwrWatts: Specifies in watts the maximum amount of power
25+ consumed by the processor for NB and logic external to the core.
26+* ProcessorPwrWatts: Specifies in watts the maximum amount of power
27+ the processor can support.
28+* CurrPwrWatts: Specifies in watts the current amount of power being
29+ consumed by the processor.
30+
31+This driver provides ProcessorPwrWatts and CurrPwrWatts:
32+* power1_crit (ProcessorPwrWatts)
33+* power1_input (CurrPwrWatts)
34+
35+On multi-node processors the calculated value is for the entire
36+package and not for a single node. Thus the driver creates sysfs
37+attributes only for internal node0 of a multi-node processor.
Documentation/hwmon/k10temp+2−1
@@ -11,6 +11,7 @@ Supported chips: · 10 unmodified lines
1111 Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)
1212 * AMD Family 12h processors: "Llano"
1313 * AMD Family 14h processors: "Brazos" (C/E/G-Series)
14+* AMD Family 15h processors: "Bulldozer"
1415
1516 Prefix: 'k10temp'
1617 Addresses scanned: PCI space
@@ -40,7 +41,7 @@ Description · 23 unmodified lines
4041 -----------
4142
4243 This driver permits reading of the internal temperature sensor of AMD
43−Family 10h/11h/12h/14h processors.
44+Family 10h/11h/12h/14h/15h processors.
4445
4546 All these processors have a sensor, but on those for Socket F or AM2+,
4647 the sensor may return inconsistent values (erratum 319). The driver
Documentation/hwmon/lm90+20−9
@@ -32,6 +32,16 @@ Supported chips: · 31 unmodified lines
3232 Addresses scanned: I2C 0x4c and 0x4d
3333 Datasheet: Publicly available at the ON Semiconductor website
3434 http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461
35+ * Analog Devices ADT7461A
36+ Prefix: 'adt7461a'
37+ Addresses scanned: I2C 0x4c and 0x4d
38+ Datasheet: Publicly available at the ON Semiconductor website
39+ http://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A
40+ * ON Semiconductor NCT1008
41+ Prefix: 'nct1008'
42+ Addresses scanned: I2C 0x4c and 0x4d
43+ Datasheet: Publicly available at the ON Semiconductor website
44+ http://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
3545 * Maxim MAX6646
3646 Prefix: 'max6646'
3747 Addresses scanned: I2C 0x4d
@@ -149,7 +159,7 @@ ADM1032: · 111 unmodified lines
149159 * ALERT is triggered by open remote sensor.
150160 * SMBus PEC support for Write Byte and Receive Byte transactions.
151161
152−ADT7461:
162+ADT7461, ADT7461A, NCT1008:
153163 * Extended temperature range (breaks compatibility)
154164 * Lower resolution for remote temperature
155165
@@ -195,9 +205,9 @@ are exported, one for each channel, but these values are of course linked. · 39 unmodified lines
195205 Only the local hysteresis can be set from user-space, and the same delta
196206 applies to the remote hysteresis.
197207
198−The lm90 driver will not update its values more frequently than every
199−other second; reading them more often will do no harm, but will return
200−'old' values.
208+The lm90 driver will not update its values more frequently than configured with
209+the update_interval attribute; reading them more often will do no harm, but will
210+return 'old' values.
201211
202212 SMBus Alert Support
203213 -------------------
@@ -205,11 +215,12 @@ SMBus Alert Support · 1 unmodified line
205215 This driver has basic support for SMBus alert. When an alert is received,
206216 the status register is read and the faulty temperature channel is logged.
207217
208−The Analog Devices chips (ADM1032 and ADT7461) do not implement the SMBus
209−alert protocol properly so additional care is needed: the ALERT output is
210−disabled when an alert is received, and is re-enabled only when the alarm
211−is gone. Otherwise the chip would block alerts from other chips in the bus
212−as long as the alarm is active.
218+The Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
219+Semiconductor chips (NCT1008) do not implement the SMBus alert protocol
220+properly so additional care is needed: the ALERT output is disabled when
221+an alert is received, and is re-enabled only when the alarm is gone.
222+Otherwise the chip would block alerts from other chips in the bus as long
223+as the alarm is active.
213224
214225 PEC Support
215226 -----------
Documentation/hwmon/max16064+62−0
@@ -0,0 +1,62 @@
1+Kernel driver max16064
2+======================
3+
4+Supported chips:
5+ * Maxim MAX16064
6+ Prefix: 'max16064'
7+ Addresses scanned: -
8+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
9+
10+Author: Guenter Roeck <guenter.roeck@ericsson.com>
11+
12+
13+Description
14+-----------
15+
16+This driver supports hardware montoring for Maxim MAX16064 Quad Power-Supply
17+Controller with Active-Voltage Output Control and PMBus Interface.
18+
19+The driver is a client driver to the core PMBus driver.
20+Please see Documentation/hwmon/pmbus for details on PMBus client drivers.
21+
22+
23+Usage Notes
24+-----------
25+
26+This driver does not auto-detect devices. You will have to instantiate the
27+devices explicitly. Please see Documentation/i2c/instantiating-devices for
28+details.
29+
30+
31+Platform data support
32+---------------------
33+
34+The driver supports standard PMBus driver platform data.
35+
36+
37+Sysfs entries
38+-------------
39+
40+The following attributes are supported. Limits are read-write; all other
41+attributes are read-only.
42+
43+in[1-4]_label "vout[1-4]"
44+in[1-4]_input Measured voltage. From READ_VOUT register.
45+in[1-4]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46+in[1-4]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47+in[1-4]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48+in[1-4]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49+in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50+in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51+in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52+in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+
54+temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
55+temp1_max Maximum temperature. From OT_WARN_LIMIT register.
56+temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
57+temp1_max_alarm Chip temperature high alarm. Set by comparing
58+ READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING
59+ status is set.
60+temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
61+ READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
62+ status is set.
Documentation/hwmon/max16065+98−0
@@ -0,0 +1,98 @@
1+Kernel driver max16065
2+======================
3+
4+Supported chips:
5+ * Maxim MAX16065, MAX16066
6+ Prefixes: 'max16065', 'max16066'
7+ Addresses scanned: -
8+ Datasheet:
9+ http://datasheets.maxim-ic.com/en/ds/MAX16065-MAX16066.pdf
10+ * Maxim MAX16067
11+ Prefix: 'max16067'
12+ Addresses scanned: -
13+ Datasheet:
14+ http://datasheets.maxim-ic.com/en/ds/MAX16067.pdf
15+ * Maxim MAX16068
16+ Prefix: 'max16068'
17+ Addresses scanned: -
18+ Datasheet:
19+ http://datasheets.maxim-ic.com/en/ds/MAX16068.pdf
20+ * Maxim MAX16070/MAX16071
21+ Prefixes: 'max16070', 'max16071'
22+ Addresses scanned: -
23+ Datasheet:
24+ http://datasheets.maxim-ic.com/en/ds/MAX16070-MAX16071.pdf
25+
26+
27+Author: Guenter Roeck <guenter.roeck@ericsson.com>
28+
29+
30+Description
31+-----------
32+
33+[From datasheets] The MAX16065/MAX16066 flash-configurable system managers
34+monitor and sequence multiple system voltages. The MAX16065/MAX16066 can also
35+accurately monitor (+/-2.5%) one current channel using a dedicated high-side
36+current-sense amplifier. The MAX16065 manages up to twelve system voltages
37+simultaneously, and the MAX16066 manages up to eight supply voltages.
38+
39+The MAX16067 flash-configurable system manager monitors and sequences multiple
40+system voltages. The MAX16067 manages up to six system voltages simultaneously.
41+
42+The MAX16068 flash-configurable system manager monitors and manages up to six
43+system voltages simultaneously.
44+
45+The MAX16070/MAX16071 flash-configurable system monitors supervise multiple
46+system voltages. The MAX16070/MAX16071 can also accurately monitor (+/-2.5%)
47+one current channel using a dedicated high-side current-sense amplifier. The
48+MAX16070 monitors up to twelve system voltages simultaneously, and the MAX16071
49+monitors up to eight supply voltages.
50+
51+Each monitored channel has its own low and high critical limits. MAX16065,
52+MAX16066, MAX16070, and MAX16071 support an additional limit which is
53+configurable as either low or high secondary limit. MAX16065, MAX16066,
54+MAX16070, and MAX16071 also support supply current monitoring.
55+
56+
57+Usage Notes
58+-----------
59+
60+This driver does not probe for devices, since there is no register which
61+can be safely used to identify the chip. You will have to instantiate
62+the devices explicitly. Please see Documentation/i2c/instantiating-devices for
63+details.
64+
65+
66+Sysfs entries
67+-------------
68+
69+in[0-11]_input Input voltage measurements.
70+
71+in12_input Voltage on CSP (Current Sense Positive) pin.
72+ Only if the chip supports current sensing and if
73+ current sensing is enabled.
74+
75+in[0-11]_min Low warning limit.
76+ Supported on MAX16065, MAX16066, MAX16070, and MAX16071
77+ only.
78+
79+in[0-11]_max High warning limit.
80+ Supported on MAX16065, MAX16066, MAX16070, and MAX16071
81+ only.
82+
83+ Either low or high warning limits are supported
84+ (depending on chip configuration), but not both.
85+
86+in[0-11]_lcrit Low critical limit.
87+
88+in[0-11]_crit High critical limit.
89+
90+in[0-11]_alarm Input voltage alarm.
91+
92+curr1_input Current sense input; only if the chip supports current
93+ sensing and if current sensing is enabled.
94+ Displayed current assumes 0.001 Ohm current sense
95+ resistor.
96+
97+curr1_alarm Overcurrent alarm; only if the chip supports current
98+ sensing and if current sensing is enabled.
Documentation/hwmon/max34440+79−0
@@ -0,0 +1,79 @@
1+Kernel driver max34440
2+======================
3+
4+Supported chips:
5+ * Maxim MAX34440
6+ Prefixes: 'max34440'
7+ Addresses scanned: -
8+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf
9+ * Maxim MAX34441
10+ PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
11+ Prefixes: 'max34441'
12+ Addresses scanned: -
13+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf
14+
15+Author: Guenter Roeck <guenter.roeck@ericsson.com>
16+
17+
18+Description
19+-----------
20+
21+This driver supports hardware montoring for Maxim MAX34440 PMBus 6-Channel
22+Power-Supply Manager and MAX34441 PMBus 5-Channel Power-Supply Manager
23+and Intelligent Fan Controller.
24+
25+The driver is a client driver to the core PMBus driver. Please see
26+Documentation/hwmon/pmbus for details on PMBus client drivers.
27+
28+
29+Usage Notes
30+-----------
31+
32+This driver does not auto-detect devices. You will have to instantiate the
33+devices explicitly. Please see Documentation/i2c/instantiating-devices for
34+details.
35+
36+
37+Platform data support
38+---------------------
39+
40+The driver supports standard PMBus driver platform data.
41+
42+
43+Sysfs entries
44+-------------
45+
46+The following attributes are supported. Limits are read-write; all other
47+attributes are read-only.
48+
49+in[1-6]_label "vout[1-6]".
50+in[1-6]_input Measured voltage. From READ_VOUT register.
51+in[1-6]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
52+in[1-6]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
53+in[1-6]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
54+in[1-6]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
55+in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
56+in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
57+in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
58+in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
59+
60+curr[1-6]_label "iout[1-6]".
61+curr[1-6]_input Measured current. From READ_IOUT register.
62+curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
63+curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
64+curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
65+curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
66+
67+ in6 and curr6 attributes only exist for MAX34440.
68+
69+temp[1-8]_input Measured temperatures. From READ_TEMPERATURE_1 register.
70+ temp1 is the chip's internal temperature. temp2..temp5
71+ are remote I2C temperature sensors. For MAX34441, temp6
72+ is a remote thermal-diode sensor. For MAX34440, temp6..8
73+ are remote I2C temperature sensors.
74+temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register.
75+temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
76+temp[1-8]_max_alarm Temperature high alarm.
77+temp[1-8]_crit_alarm Temperature critical high alarm.
78+
79+ temp7 and temp8 attributes only exist for MAX34440.
Documentation/hwmon/max6642+21−0
@@ -0,0 +1,21 @@
1+Kernel driver max6642
2+=====================
3+
4+Supported chips:
5+ * Maxim MAX6642
6+ Prefix: 'max6642'
7+ Addresses scanned: I2C 0x48-0x4f
8+ Datasheet: Publicly available at the Maxim website
9+ http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf
10+
11+Authors:
12+ Per Dalen <per.dalen@appeartv.com>
13+
14+Description
15+-----------
16+
17+The MAX6642 is a digital temperature sensor. It senses its own temperature as
18+well as the temperature on one external diode.
19+
20+All temperature values are given in degrees Celsius. Resolution
21+is 0.25 degree for the local temperature and for the remote temperature.
Documentation/hwmon/max6650+16−5
@@ -2,9 +2,13 @@ Kernel driver max6650 · 1 unmodified line
22 =====================
33
44 Supported chips:
5− * Maxim 6650 / 6651
5+ * Maxim MAX6650
66 Prefix: 'max6650'
7− Addresses scanned: I2C 0x1b, 0x1f, 0x48, 0x4b
7+ Addresses scanned: none
8+ Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
9+ * Maxim MAX6651
10+ Prefix: 'max6651'
11+ Addresses scanned: none
812 Datasheet: http://pdfserv.maxim-ic.com/en/ds/MAX6650-MAX6651.pdf
913
1014 Authors:
@@ -15,10 +19,10 @@ Authors: · 4 unmodified lines
1519 Description
1620 -----------
1721
18−This driver implements support for the Maxim 6650/6651
22+This driver implements support for the Maxim MAX6650 and MAX6651.
1923
20−The 2 devices are very similar, but the Maxim 6550 has a reduced feature
21−set, e.g. only one fan-input, instead of 4 for the 6651.
24+The 2 devices are very similar, but the MAX6550 has a reduced feature
25+set, e.g. only one fan-input, instead of 4 for the MAX6651.
2226
2327 The driver is not able to distinguish between the 2 devices.
2428
@@ -36,6 +40,13 @@ fan1_div rw sets the speed range the inputs can handle. Legal · 11 unmodified lines
3640 values are 1, 2, 4, and 8. Use lower values for
3741 faster fans.
3842
43+Usage notes
44+-----------
45+
46+This driver does not auto-detect devices. You will have to instantiate the
47+devices explicitly. Please see Documentation/i2c/instantiating-devices for
48+details.
49+
3950 Module parameters
4051 -----------------
4152
Documentation/hwmon/max8688+69−0
@@ -0,0 +1,69 @@
1+Kernel driver max8688
2+=====================
3+
4+Supported chips:
5+ * Maxim MAX8688
6+ Prefix: 'max8688'
7+ Addresses scanned: -
8+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
9+
10+Author: Guenter Roeck <guenter.roeck@ericsson.com>
11+
12+
13+Description
14+-----------
15+
16+This driver supports hardware montoring for Maxim MAX8688 Digital Power-Supply
17+Controller/Monitor with PMBus Interface.
18+
19+The driver is a client driver to the core PMBus driver. Please see
20+Documentation/hwmon/pmbus for details on PMBus client drivers.
21+
22+
23+Usage Notes
24+-----------
25+
26+This driver does not auto-detect devices. You will have to instantiate the
27+devices explicitly. Please see Documentation/i2c/instantiating-devices for
28+details.
29+
30+
31+Platform data support
32+---------------------
33+
34+The driver supports standard PMBus driver platform data.
35+
36+
37+Sysfs entries
38+-------------
39+
40+The following attributes are supported. Limits are read-write; all other
41+attributes are read-only.
42+
43+in1_label "vout1"
44+in1_input Measured voltage. From READ_VOUT register.
45+in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
46+in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
47+in1_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
48+in1_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
49+in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
50+in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
51+in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
52+in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+
54+curr1_label "iout1"
55+curr1_input Measured current. From READ_IOUT register.
56+curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
57+curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
58+curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
59+curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
60+
61+temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
62+temp1_max Maximum temperature. From OT_WARN_LIMIT register.
63+temp1_crit Critical high temperature. From OT_FAULT_LIMIT register.
64+temp1_max_alarm Chip temperature high alarm. Set by comparing
65+ READ_TEMPERATURE_1 with OT_WARN_LIMIT if TEMP_OT_WARNING
66+ status is set.
67+temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
68+ READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
69+ status is set.
Documentation/hwmon/pkgtemp+0−36
@@ -1,36 +0,0 @@
1−Kernel driver pkgtemp
2−======================
3−
4−Supported chips:
5− * Intel family
6− Prefix: 'pkgtemp'
7− CPUID:
8− Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
9− Volume 3A: System Programming Guide
10−
11−Author: Fenghua Yu
12−
13−Description
14−-----------
15−
16−This driver permits reading package level temperature sensor embedded inside
17−Intel CPU package. The sensors can be in core, uncore, memory controller, or
18−other components in a package. The feature is first implemented in Intel Sandy
19−Bridge platform.
20−
21−Temperature is measured in degrees Celsius and measurement resolution is
22−1 degree C. Valid temperatures are from 0 to TjMax degrees C, because the actual
23−value of temperature register is in fact a delta from TjMax.
24−
25−Temperature known as TjMax is the maximum junction temperature of package.
26−We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
27−we define TjMax as 100 degrees Celsius. At this temperature, protection
28−mechanism will perform actions to forcibly cool down the package. Alarm
29−may be raised, if the temperature grows enough (more than TjMax) to trigger
30−the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
31−
32−temp1_input - Package temperature (in millidegrees Celsius).
33−temp1_max - All cooling devices should be turned on.
34−temp1_crit - Maximum junction temperature (in millidegrees Celsius).
35−temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
36− Correct CPU operation is no longer guaranteed.
Documentation/hwmon/pmbus+11−29
@@ -13,26 +13,6 @@ Supported chips: · 12 unmodified lines
1313 Prefix: 'ltc2978'
1414 Addresses scanned: -
1515 Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf
16− * Maxim MAX16064
17− Quad Power-Supply Controller
18− Prefix: 'max16064'
19− Addresses scanned: -
20− Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX16064.pdf
21− * Maxim MAX34440
22− PMBus 6-Channel Power-Supply Manager
23− Prefixes: 'max34440'
24− Addresses scanned: -
25− Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34440.pdf
26− * Maxim MAX34441
27− PMBus 5-Channel Power-Supply Manager and Intelligent Fan Controller
28− Prefixes: 'max34441'
29− Addresses scanned: -
30− Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX34441.pdf
31− * Maxim MAX8688
32− Digital Power-Supply Controller/Monitor
33− Prefix: 'max8688'
34− Addresses scanned: -
35− Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8688.pdf
3616 * Generic PMBus devices
3717 Prefix: 'pmbus'
3818 Addresses scanned: -
@@ -150,11 +130,11 @@ The following attributes are supported. Limits are read-write; all other · 111 unmodified lines
150130 attributes are read-only.
151131
152132 inX_input Measured voltage. From READ_VIN or READ_VOUT register.
153−inX_min Minumum Voltage.
133+inX_min Minimum Voltage.
154134 From VIN_UV_WARN_LIMIT or VOUT_UV_WARN_LIMIT register.
155135 inX_max Maximum voltage.
156136 From VIN_OV_WARN_LIMIT or VOUT_OV_WARN_LIMIT register.
157−inX_lcrit Critical minumum Voltage.
137+inX_lcrit Critical minimum Voltage.
158138 From VIN_UV_FAULT_LIMIT or VOUT_UV_FAULT_LIMIT register.
159139 inX_crit Critical maximum voltage.
160140 From VIN_OV_FAULT_LIMIT or VOUT_OV_FAULT_LIMIT register.
@@ -169,17 +149,19 @@ inX_label "vin", "vcap", or "voutY" · 8 unmodified lines
169149 currX_input Measured current. From READ_IIN or READ_IOUT register.
170150 currX_max Maximum current.
171151 From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT register.
172−currX_lcrit Critical minumum output current.
152+currX_lcrit Critical minimum output current.
173153 From IOUT_UC_FAULT_LIMIT register.
174154 currX_crit Critical maximum current.
175155 From IIN_OC_FAULT_LIMIT or IOUT_OC_FAULT_LIMIT register.
176156 currX_alarm Current high alarm.
177157 From IIN_OC_WARNING or IOUT_OC_WARNING status.
158+currX_max_alarm Current high alarm.
159+ From IIN_OC_WARN_LIMIT or IOUT_OC_WARN_LIMIT status.
178160 currX_lcrit_alarm Output current critical low alarm.
179161 From IOUT_UC_FAULT status.
180162 currX_crit_alarm Current critical high alarm.
181163 From IIN_OC_FAULT or IOUT_OC_FAULT status.
182−currX_label "iin" or "vinY"
164+currX_label "iin" or "ioutY"
183165
184166 powerX_input Measured power. From READ_PIN or READ_POUT register.
185167 powerX_cap Output power cap. From POUT_MAX register.
@@ -193,13 +175,13 @@ powerX_crit_alarm Output power critical high alarm. · 7 unmodified lines
193175 From POUT_OP_FAULT status.
194176 powerX_label "pin" or "poutY"
195177
196−tempX_input Measured tempererature.
178+tempX_input Measured temperature.
197179 From READ_TEMPERATURE_X register.
198−tempX_min Mimimum tempererature. From UT_WARN_LIMIT register.
199−tempX_max Maximum tempererature. From OT_WARN_LIMIT register.
200−tempX_lcrit Critical low tempererature.
180+tempX_min Mimimum temperature. From UT_WARN_LIMIT register.
181+tempX_max Maximum temperature. From OT_WARN_LIMIT register.
182+tempX_lcrit Critical low temperature.
201183 From UT_FAULT_LIMIT register.
202−tempX_crit Critical high tempererature.
184+tempX_crit Critical high temperature.
203185 From OT_FAULT_LIMIT register.
204186 tempX_min_alarm Chip temperature low alarm. Set by comparing
205187 READ_TEMPERATURE_X with UT_WARN_LIMIT if
Documentation/hwmon/sht15+74−0
@@ -0,0 +1,74 @@
1+Kernel driver sht15
2+===================
3+
4+Authors:
5+ * Wouter Horre
6+ * Jonathan Cameron
7+ * Vivien Didelot <vivien.didelot@savoirfairelinux.com>
8+ * Jerome Oufella <jerome.oufella@savoirfairelinux.com>
9+
10+Supported chips:
11+ * Sensirion SHT10
12+ Prefix: 'sht10'
13+
14+ * Sensirion SHT11
15+ Prefix: 'sht11'
16+
17+ * Sensirion SHT15
18+ Prefix: 'sht15'
19+
20+ * Sensirion SHT71
21+ Prefix: 'sht71'
22+
23+ * Sensirion SHT75
24+ Prefix: 'sht75'
25+
26+Datasheet: Publicly available at the Sensirion website
27+http://www.sensirion.ch/en/pdf/product_information/Datasheet-humidity-sensor-SHT1x.pdf
28+
29+Description
30+-----------
31+
32+The SHT10, SHT11, SHT15, SHT71, and SHT75 are humidity and temperature
33+sensors.
34+
35+The devices communicate using two GPIO lines.
36+
37+Supported resolutions for the measurements are 14 bits for temperature and 12
38+bits for humidity, or 12 bits for temperature and 8 bits for humidity.
39+
40+The humidity calibration coefficients are programmed into an OTP memory on the
41+chip. These coefficients are used to internally calibrate the signals from the
42+sensors. Disabling the reload of those coefficients allows saving 10ms for each
43+measurement and decrease power consumption, while loosing on precision.
44+
45+Some options may be set directly in the sht15_platform_data structure
46+or via sysfs attributes.
47+
48+Notes:
49+ * The regulator supply name is set to "vcc".
50+ * If a CRC validation fails, a soft reset command is sent, which resets
51+ status register to its hardware default value, but the driver will try to
52+ restore the previous device configuration.
53+
54+Platform data
55+-------------
56+
57+* checksum:
58+ set it to true to enable CRC validation of the readings (default to false).
59+* no_otp_reload:
60+ flag to indicate not to reload from OTP (default to false).
61+* low_resolution:
62+ flag to indicate the temp/humidity resolution to use (default to false).
63+
64+Sysfs interface
65+---------------
66+
67+* temp1_input: temperature input
68+* humidity1_input: humidity input
69+* heater_enable: write 1 in this attribute to enable the on-chip heater,
70+ 0 to disable it. Be careful not to enable the heater
71+ for too long.
72+* temp1_fault: if 1, this means that the voltage is low (below 2.47V) and
73+ measurement may be invalid.
74+* humidity1_fault: same as temp1_fault.
Documentation/hwmon/smm665+4−4
@@ -150,8 +150,8 @@ in8_crit_alarm Channel F critical alarm · 149 unmodified lines
150150 in9_crit_alarm AIN1 critical alarm
151151 in10_crit_alarm AIN2 critical alarm
152152
153−temp1_input Chip tempererature
154−temp1_min Mimimum chip tempererature
155−temp1_max Maximum chip tempererature
156−temp1_crit Critical chip tempererature
153+temp1_input Chip temperature
154+temp1_min Mimimum chip temperature
155+temp1_max Maximum chip temperature
156+temp1_crit Critical chip temperature
157157 temp1_crit_alarm Temperature critical alarm
Documentation/hwmon/submitting-patches+109−0
@@ -0,0 +1,109 @@
1+ How to Get Your Patch Accepted Into the Hwmon Subsystem
2+ -------------------------------------------------------
3+
4+This text is is a collection of suggestions for people writing patches or
5+drivers for the hwmon subsystem. Following these suggestions will greatly
6+increase the chances of your change being accepted.
7+
8+
9+1. General
10+----------
11+
12+* It should be unnecessary to mention, but please read and follow
13+ Documentation/SubmitChecklist
14+ Documentation/SubmittingDrivers
15+ Documentation/SubmittingPatches
16+ Documentation/CodingStyle
17+
18+* If your patch generates checkpatch warnings, please refrain from explanations
19+ such as "I don't like that coding style". Keep in mind that each unnecessary
20+ warning helps hiding a real problem. If you don't like the kernel coding
21+ style, don't write kernel drivers.
22+
23+* Please test your patch thoroughly. We are not your test group.
24+ Sometimes a patch can not or not completely be tested because of missing
25+ hardware. In such cases, you should test-build the code on at least one
26+ architecture. If run-time testing was not achieved, it should be written
27+ explicitly below the patch header.
28+
29+* If your patch (or the driver) is affected by configuration options such as
30+ CONFIG_SMP or CONFIG_HOTPLUG, make sure it compiles for all configuration
31+ variants.
32+
33+
34+2. Adding functionality to existing drivers
35+-------------------------------------------
36+
37+* Make sure the documentation in Documentation/hwmon/<driver_name> is up to
38+ date.
39+
40+* Make sure the information in Kconfig is up to date.
41+
42+* If the added functionality requires some cleanup or structural changes, split
43+ your patch into a cleanup part and the actual addition. This makes it easier
44+ to review your changes, and to bisect any resulting problems.
45+
46+* Never mix bug fixes, cleanup, and functional enhancements in a single patch.
47+
48+
49+3. New drivers
50+--------------
51+
52+* Running your patch or driver file(s) through checkpatch does not mean its
53+ formatting is clean. If unsure about formatting in your new driver, run it
54+ through Lindent. Lindent is not perfect, and you may have to do some minor
55+ cleanup, but it is a good start.
56+
57+* Consider adding yourself to MAINTAINERS.
58+
59+* Document the driver in Documentation/hwmon/<driver_name>.
60+
61+* Add the driver to Kconfig and Makefile in alphabetical order.
62+
63+* Make sure that all dependencies are listed in Kconfig. For new drivers, it
64+ is most likely prudent to add a dependency on EXPERIMENTAL.
65+
66+* Avoid forward declarations if you can. Rearrange the code if necessary.
67+
68+* Avoid calculations in macros and macro-generated functions. While such macros
69+ may save a line or so in the source, it obfuscates the code and makes code
70+ review more difficult. It may also result in code which is more complicated
71+ than necessary. Use inline functions or just regular functions instead.
72+
73+* If the driver has a detect function, make sure it is silent. Debug messages
74+ and messages printed after a successful detection are acceptable, but it
75+ must not print messages such as "Chip XXX not found/supported".
76+
77+ Keep in mind that the detect function will run for all drivers supporting an
78+ address if a chip is detected on that address. Unnecessary messages will just
79+ pollute the kernel log and not provide any value.
80+
81+* Provide a detect function if and only if a chip can be detected reliably.
82+
83+* Avoid writing to chip registers in the detect function. If you have to write,
84+ only do it after you have already gathered enough data to be certain that the
85+ detection is going to be successful.
86+
87+ Keep in mind that the chip might not be what your driver believes it is, and
88+ writing to it might cause a bad misconfiguration.
89+
90+* Make sure there are no race conditions in the probe function. Specifically,
91+ completely initialize your chip first, then create sysfs entries and register
92+ with the hwmon subsystem.
93+
94+* Do not provide support for deprecated sysfs attributes.
95+
96+* Do not create non-standard attributes unless really needed. If you have to use
97+ non-standard attributes, or you believe you do, discuss it on the mailing list
98+ first. Either case, provide a detailed explanation why you need the
99+ non-standard attribute(s).
100+ Standard attributes are specified in Documentation/hwmon/sysfs-interface.
101+
102+* When deciding which sysfs attributes to support, look at the chip's
103+ capabilities. While we do not expect your driver to support everything the
104+ chip may offer, it should at least support all limits and alarms.
105+
106+* Last but not least, please check if a driver for your chip already exists
107+ before starting to write a new driver. Especially for temperature sensors,
108+ new chips are often variants of previously released chips. In some cases,
109+ a presumably new chip may simply have been relabeled.
Documentation/hwmon/sysfs-interface+1−1
@@ -579,7 +579,7 @@ channel should not be trusted. · 578 unmodified lines
579579 fan[1-*]_fault
580580 temp[1-*]_fault
581581 Input fault condition
582− 0: no fault occured
582+ 0: no fault occurred
583583 1: fault condition
584584 RO
585585
Documentation/hwmon/ucd9000+110−0
@@ -0,0 +1,110 @@
1+Kernel driver ucd9000
2+=====================
3+
4+Supported chips:
5+ * TI UCD90120, UCD90124, UCD9090, and UCD90910
6+ Prefixes: 'ucd90120', 'ucd90124', 'ucd9090', 'ucd90910'
7+ Addresses scanned: -
8+ Datasheets:
9+ http://focus.ti.com/lit/ds/symlink/ucd90120.pdf
10+ http://focus.ti.com/lit/ds/symlink/ucd90124.pdf
11+ http://focus.ti.com/lit/ds/symlink/ucd9090.pdf
12+ http://focus.ti.com/lit/ds/symlink/ucd90910.pdf
13+
14+Author: Guenter Roeck <guenter.roeck@ericsson.com>
15+
16+
17+Description
18+-----------
19+
20+From datasheets:
21+
22+The UCD90120 Power Supply Sequencer and System Health Monitor monitors and
23+sequences up to 12 independent voltage rails. The device integrates a 12-bit
24+ADC with a 2.5V internal reference for monitoring up to 13 power supply voltage,
25+current, or temperature inputs.
26+
27+The UCD90124 is a 12-rail PMBus/I2C addressable power-supply sequencer and
28+system-health monitor. The device integrates a 12-bit ADC for monitoring up to
29+13 power-supply voltage, current, or temperature inputs. Twenty-six GPIO pins
30+can be used for power supply enables, power-on reset signals, external
31+interrupts, cascading, or other system functions. Twelve of these pins offer PWM
32+functionality. Using these pins, the UCD90124 offers support for fan control,
33+margining, and general-purpose PWM functions.
34+
35+The UCD9090 is a 10-rail PMBus/I2C addressable power-supply sequencer and
36+monitor. The device integrates a 12-bit ADC for monitoring up to 10 power-supply
37+voltage inputs. Twenty-three GPIO pins can be used for power supply enables,
38+power-on reset signals, external interrupts, cascading, or other system
39+functions. Ten of these pins offer PWM functionality. Using these pins, the
40+UCD9090 offers support for margining, and general-purpose PWM functions.
41+
42+The UCD90910 is a ten-rail I2C / PMBus addressable power-supply sequencer and
43+system-health monitor. The device integrates a 12-bit ADC for monitoring up to
44+13 power-supply voltage, current, or temperature inputs.
45+
46+This driver is a client driver to the core PMBus driver. Please see
47+Documentation/hwmon/pmbus for details on PMBus client drivers.
48+
49+
50+Usage Notes
51+-----------
52+
53+This driver does not auto-detect devices. You will have to instantiate the
54+devices explicitly. Please see Documentation/i2c/instantiating-devices for
55+details.
56+
57+
58+Platform data support
59+---------------------
60+
61+The driver supports standard PMBus driver platform data. Please see
62+Documentation/hwmon/pmbus for details.
63+
64+
65+Sysfs entries
66+-------------
67+
68+The following attributes are supported. Limits are read-write; all other
69+attributes are read-only.
70+
71+in[1-12]_label "vout[1-12]".
72+in[1-12]_input Measured voltage. From READ_VOUT register.
73+in[1-12]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
74+in[1-12]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
75+in[1-12]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
76+in[1-12]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
77+in[1-12]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
78+in[1-12]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
79+in[1-12]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
80+in[1-12]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
81+
82+curr[1-12]_label "iout[1-12]".
83+curr[1-12]_input Measured current. From READ_IOUT register.
84+curr[1-12]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
85+curr[1-12]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
86+ register.
87+curr[1-12]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
88+curr[1-12]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
89+curr[1-12]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
90+
91+ For each attribute index, either voltage or current is
92+ reported, but not both. If voltage or current is
93+ reported depends on the chip configuration.
94+
95+temp[1-2]_input Measured temperatures. From READ_TEMPERATURE_1 and
96+ READ_TEMPERATURE_2 registers.
97+temp[1-2]_max Maximum temperature. From OT_WARN_LIMIT register.
98+temp[1-2]_crit Critical high temperature. From OT_FAULT_LIMIT register.
99+temp[1-2]_max_alarm Temperature high alarm.
100+temp[1-2]_crit_alarm Temperature critical high alarm.
101+
102+fan[1-4]_input Fan RPM.
103+fan[1-4]_alarm Fan alarm.
104+fan[1-4]_fault Fan fault.
105+
106+ Fan attributes are only available on chips supporting
107+ fan control (UCD90124, UCD90910). Attribute files are
108+ created only for enabled fans.
109+ Note that even though UCD90910 supports up to 10 fans,
110+ only up to four fans are currently supported.
Documentation/hwmon/ucd9200+112−0
@@ -0,0 +1,112 @@
1+Kernel driver ucd9200
2+=====================
3+
4+Supported chips:
5+ * TI UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and UCD9248
6+ Prefixes: 'ucd9220', 'ucd9222', 'ucd9224', 'ucd9240', 'ucd9244', 'ucd9246',
7+ 'ucd9248'
8+ Addresses scanned: -
9+ Datasheets:
10+ http://focus.ti.com/lit/ds/symlink/ucd9220.pdf
11+ http://focus.ti.com/lit/ds/symlink/ucd9222.pdf
12+ http://focus.ti.com/lit/ds/symlink/ucd9224.pdf
13+ http://focus.ti.com/lit/ds/symlink/ucd9240.pdf
14+ http://focus.ti.com/lit/ds/symlink/ucd9244.pdf
15+ http://focus.ti.com/lit/ds/symlink/ucd9246.pdf
16+ http://focus.ti.com/lit/ds/symlink/ucd9248.pdf
17+
18+Author: Guenter Roeck <guenter.roeck@ericsson.com>
19+
20+
21+Description
22+-----------
23+
24+[From datasheets] UCD9220, UCD9222, UCD9224, UCD9240, UCD9244, UCD9246, and
25+UCD9248 are multi-rail, multi-phase synchronous buck digital PWM controllers
26+designed for non-isolated DC/DC power applications. The devices integrate
27+dedicated circuitry for DC/DC loop management with flash memory and a serial
28+interface to support configuration, monitoring and management.
29+
30+This driver is a client driver to the core PMBus driver. Please see
31+Documentation/hwmon/pmbus for details on PMBus client drivers.
32+
33+
34+Usage Notes
35+-----------
36+
37+This driver does not auto-detect devices. You will have to instantiate the
38+devices explicitly. Please see Documentation/i2c/instantiating-devices for
39+details.
40+
41+
42+Platform data support
43+---------------------
44+
45+The driver supports standard PMBus driver platform data. Please see
46+Documentation/hwmon/pmbus for details.
47+
48+
49+Sysfs entries
50+-------------
51+
52+The following attributes are supported. Limits are read-write; all other
53+attributes are read-only.
54+
55+in1_label "vin".
56+in1_input Measured voltage. From READ_VIN register.
57+in1_min Minumum Voltage. From VIN_UV_WARN_LIMIT register.
58+in1_max Maximum voltage. From VIN_OV_WARN_LIMIT register.
59+in1_lcrit Critical minumum Voltage. VIN_UV_FAULT_LIMIT register.
60+in1_crit Critical maximum voltage. From VIN_OV_FAULT_LIMIT register.
61+in1_min_alarm Voltage low alarm. From VIN_UV_WARNING status.
62+in1_max_alarm Voltage high alarm. From VIN_OV_WARNING status.
63+in1_lcrit_alarm Voltage critical low alarm. From VIN_UV_FAULT status.
64+in1_crit_alarm Voltage critical high alarm. From VIN_OV_FAULT status.
65+
66+in[2-5]_label "vout[1-4]".
67+in[2-5]_input Measured voltage. From READ_VOUT register.
68+in[2-5]_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register.
69+in[2-5]_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
70+in[2-5]_lcrit Critical minumum Voltage. VOUT_UV_FAULT_LIMIT register.
71+in[2-5]_crit Critical maximum voltage. From VOUT_OV_FAULT_LIMIT register.
72+in[2-5]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
73+in[2-5]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
74+in[2-5]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
75+in[2-5]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
76+
77+curr1_label "iin".
78+curr1_input Measured current. From READ_IIN register.
79+
80+curr[2-5]_label "iout[1-4]".
81+curr[2-5]_input Measured current. From READ_IOUT register.
82+curr[2-5]_max Maximum current. From IOUT_OC_WARN_LIMIT register.
83+curr[2-5]_lcrit Critical minumum output current. From IOUT_UC_FAULT_LIMIT
84+ register.
85+curr[2-5]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
86+curr[2-5]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
87+curr[2-5]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
88+
89+power1_input Measured input power. From READ_PIN register.
90+power1_label "pin"
91+
92+power[2-5]_input Measured output power. From READ_POUT register.
93+power[2-5]_label "pout[1-4]"
94+
95+ The number of output voltage, current, and power
96+ attribute sets is determined by the number of enabled
97+ rails. See chip datasheets for details.
98+
99+temp[1-5]_input Measured temperatures. From READ_TEMPERATURE_1 and
100+ READ_TEMPERATURE_2 registers.
101+ temp1 is the chip internal temperature. temp[2-5] are
102+ rail temperatures. temp[2-5] attributes are only
103+ created for enabled rails. See chip datasheets for
104+ details.
105+temp[1-5]_max Maximum temperature. From OT_WARN_LIMIT register.
106+temp[1-5]_crit Critical high temperature. From OT_FAULT_LIMIT register.
107+temp[1-5]_max_alarm Temperature high alarm.
108+temp[1-5]_crit_alarm Temperature critical high alarm.
109+
110+fan1_input Fan RPM. ucd9240 only.
111+fan1_alarm Fan alarm. ucd9240 only.
112+fan1_fault Fan fault. ucd9240 only.
Documentation/hwmon/w83781d+1−1
@@ -403,7 +403,7 @@ found out the following values do work as a form of coarse pwm: · 402 unmodified lines
403403
404404 0x80 - seems to turn fans off after some time(1-2 minutes)... might be
405405 some form of auto-fan-control based on temp? hmm (Qfan? this mobo is an
406−old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attemp at Qfan
406+old ASUS, it isn't marketed as Qfan. Maybe some beta pre-attempt at Qfan
407407 that was dropped at the BIOS)
408408 0x81 - off
409409 0x82 - slightly "on-ner" than off, but my fans do not get to move. I can
Documentation/hwmon/w83791d+1−1
@@ -93,7 +93,7 @@ The sysfs interface to the beep bitmask has migrated from the original legacy · 92 unmodified lines
9393 method of a single sysfs beep_mask file to a newer method using multiple
9494 *_beep files as described in .../Documentation/hwmon/sysfs-interface.
9595
96−A similar change has occured for the bitmap corresponding to the alarms. The
96+A similar change has occurred for the bitmap corresponding to the alarms. The
9797 original legacy method used a single sysfs alarms file containing a bitmap
9898 of triggered alarms. The newer method uses multiple sysfs *_alarm files
9999 (again following the pattern described in sysfs-interface).
Documentation/i2c/busses/i2c-i801+1−0
@@ -19,6 +19,7 @@ Supported adapters: · 18 unmodified lines
1919 * Intel 6 Series (PCH)
2020 * Intel Patsburg (PCH)
2121 * Intel DH89xxCC (PCH)
22+ * Intel Panther Point (PCH)
2223 Datasheets: Publicly available at the Intel website
2324
2425 On Intel Patsburg and later chipsets, both the normal host SMBus controller
Documentation/i2c/busses/i2c-parport-light+1−1
@@ -4,7 +4,7 @@ Author: Jean Delvare <khali@linux-fr.org> · 3 unmodified lines
44
55 This driver is a light version of i2c-parport. It doesn't depend
66 on the parport driver, and uses direct I/O access instead. This might be
7−prefered on embedded systems where wasting memory for the clean but heavy
7+preferred on embedded systems where wasting memory for the clean but heavy
88 parport handling is not an option. The drawback is a reduced portability
99 and the impossibility to daisy-chain other parallel port devices.
1010
Documentation/i2c/busses/i2c-sis96x+1−1
@@ -35,7 +35,7 @@ or perhaps this... · 34 unmodified lines
3535
3636 (kernel versions later than 2.4.18 may fill in the "Unknown"s)
3737
38−If you cant see it please look on quirk_sis_96x_smbus
38+If you can't see it please look on quirk_sis_96x_smbus
3939 (drivers/pci/quirks.c) (also if southbridge detection fails)
4040
4141 I suspect that this driver could be made to work for the following SiS
Documentation/i2c/busses/i2c-taos-evm+1−1
@@ -13,7 +13,7 @@ Currently supported devices are: · 12 unmodified lines
1313
1414 * TAOS TSL2550 EVM
1515
16−For addtional information on TAOS products, please see
16+For additional information on TAOS products, please see
1717 http://www.taosinc.com/
1818
1919
Documentation/i2c/writing-clients+1−1
@@ -38,7 +38,7 @@ static struct i2c_driver foo_driver = { · 37 unmodified lines
3838 .name = "foo",
3939 },
4040
41− .id_table = foo_ids,
41+ .id_table = foo_idtable,
4242 .probe = foo_probe,
4343 .remove = foo_remove,
4444 /* if device autodetection is needed: */
Documentation/i2o/README+1−1
@@ -53,7 +53,7 @@ Symbios Logic (Now LSI) · 52 unmodified lines
5353 BoxHill Corporation
5454 Loan of initial FibreChannel disk array used for development work.
5555
56−European Comission
56+European Commission
5757 Funding the work done by the University of Helsinki
5858
5959 SysKonnect
Documentation/ia64/aliasing-test.c+1−1
@@ -177,7 +177,7 @@ static int scan_rom(char *path, char *file) · 176 unmodified lines
177177
178178 /*
179179 * It's OK if the ROM is unreadable. Maybe there
180− * is no ROM, or some other error ocurred. The
180+ * is no ROM, or some other error occurred. The
181181 * important thing is that no MCA happened.
182182 */
183183 if (rc > 0)
Documentation/input/elantech.txt+100−23
@@ -34,7 +34,8 @@ Contents · 33 unmodified lines
3434 Currently the Linux Elantech touchpad driver is aware of two different
3535 hardware versions unimaginatively called version 1 and version 2. Version 1
3636 is found in "older" laptops and uses 4 bytes per packet. Version 2 seems to
37−be introduced with the EeePC and uses 6 bytes per packet.
37+be introduced with the EeePC and uses 6 bytes per packet, and provides
38+additional features such as position of two fingers, and width of the touch.
3839
3940 The driver tries to support both hardware versions and should be compatible
4041 with the Xorg Synaptics touchpad driver and its graphical configuration
@@ -94,18 +95,44 @@ Currently the Linux Elantech touchpad driver provides two extra knobs under · 53 unmodified lines
9495 can check these bits and reject any packet that appears corrupted. Using
9596 this knob you can bypass that check.
9697
97− It is not known yet whether hardware version 2 provides the same parity
98− bits. Hence checking is disabled by default. Currently even turning it on
99− will do nothing.
100−
98+ Hardware version 2 does not provide the same parity bits. Only some basic
99+ data consistency checking can be done. For now checking is disabled by
100+ default. Currently even turning it on will do nothing.
101101
102102 /////////////////////////////////////////////////////////////////////////////
103103
104+3. Differentiating hardware versions
105+ =================================
106+
107+To detect the hardware version, read the version number as param[0].param[1].param[2]
108+
109+ 4 bytes version: (after the arrow is the name given in the Dell-provided driver)
110+ 02.00.22 => EF013
111+ 02.06.00 => EF019
112+In the wild, there appear to be more versions, such as 00.01.64, 01.00.21,
113+02.00.00, 02.00.04, 02.00.06.
114+
115+ 6 bytes:
116+ 02.00.30 => EF113
117+ 02.08.00 => EF023
118+ 02.08.XX => EF123
119+ 02.0B.00 => EF215
120+ 04.01.XX => Scroll_EF051
121+ 04.02.XX => EF051
122+In the wild, there appear to be more versions, such as 04.03.01, 04.04.11. There
123+appears to be almost no difference, except for EF113, which does not report
124+pressure/width and has different data consistency checks.
125+
126+Probably all the versions with param[0] <= 01 can be considered as
127+4 bytes/firmware 1. The versions < 02.08.00, with the exception of 02.00.30, as
128+4 bytes/firmware 2. Everything >= 02.08.00 can be considered as 6 bytes.
129+
130+/////////////////////////////////////////////////////////////////////////////
104131
105−3. Hardware version 1
132+4. Hardware version 1
106133 ==================
107134
108−3.1 Registers
135+4.1 Registers
109136 ~~~~~~~~~
110137
111138 By echoing a hexadecimal value to a register it contents can be altered.
@@ -168,7 +195,7 @@ For example: · 56 unmodified lines
168195 smart edge activation area width?
169196
170197
171−3.2 Native relative mode 4 byte packet format
198+4.2 Native relative mode 4 byte packet format
172199 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
173200
174201 byte 0:
@@ -226,9 +253,13 @@ byte 3: · 51 unmodified lines
226253 positive = down
227254
228255
229−3.3 Native absolute mode 4 byte packet format
256+4.3 Native absolute mode 4 byte packet format
230257 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
231258
259+EF013 and EF019 have a special behaviour (due to a bug in the firmware?), and
260+when 1 finger is touching, the first 2 position reports must be discarded.
261+This counting is reset whenever a different number of fingers is reported.
262+
232263 byte 0:
233264 firmware version 1.x:
234265
@@ -279,11 +310,11 @@ byte 3: · 44 unmodified lines
279310 /////////////////////////////////////////////////////////////////////////////
280311
281312
282−4. Hardware version 2
313+5. Hardware version 2
283314 ==================
284315
285316
286−4.1 Registers
317+5.1 Registers
287318 ~~~~~~~~~
288319
289320 By echoing a hexadecimal value to a register it contents can be altered.
@@ -316,16 +347,41 @@ For example: · 26 unmodified lines
316347 0x7f = never i.e. tap again to release)
317348
318349
319−4.2 Native absolute mode 6 byte packet format
350+5.2 Native absolute mode 6 byte packet format
320351 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
321−
322−4.2.1 One finger touch
352+5.2.1 Parity checking and packet re-synchronization
353+There is no parity checking, however some consistency checks can be performed.
354+
355+For instance for EF113:
356+ SA1= packet[0];
357+ A1 = packet[1];
358+ B1 = packet[2];
359+ SB1= packet[3];
360+ C1 = packet[4];
361+ D1 = packet[5];
362+ if( (((SA1 & 0x3C) != 0x3C) && ((SA1 & 0xC0) != 0x80)) || // check Byte 1
363+ (((SA1 & 0x0C) != 0x0C) && ((SA1 & 0xC0) == 0x80)) || // check Byte 1 (one finger pressed)
364+ (((SA1 & 0xC0) != 0x80) && (( A1 & 0xF0) != 0x00)) || // check Byte 2
365+ (((SB1 & 0x3E) != 0x38) && ((SA1 & 0xC0) != 0x80)) || // check Byte 4
366+ (((SB1 & 0x0E) != 0x08) && ((SA1 & 0xC0) == 0x80)) || // check Byte 4 (one finger pressed)
367+ (((SA1 & 0xC0) != 0x80) && (( C1 & 0xF0) != 0x00)) ) // check Byte 5
368+ // error detected
369+
370+For all the other ones, there are just a few constant bits:
371+ if( ((packet[0] & 0x0C) != 0x04) ||
372+ ((packet[3] & 0x0f) != 0x02) )
373+ // error detected
374+
375+
376+In case an error is detected, all the packets are shifted by one (and packet[0] is discarded).
377+
378+5.2.1 One/Three finger touch
323379 ~~~~~~~~~~~~~~~~
324380
325381 byte 0:
326382
327383 bit 7 6 5 4 3 2 1 0
328− n1 n0 . . . . R L
384+ n1 n0 w3 w2 . . R L
329385
330386 L, R = 1 when Left, Right mouse button pressed
331387 n1..n0 = numbers of fingers on touchpad
@@ -333,24 +389,40 @@ byte 0: · 1 unmodified line
333389 byte 1:
334390
335391 bit 7 6 5 4 3 2 1 0
336− . . . . . x10 x9 x8
392+ p7 p6 p5 p4 . x10 x9 x8
337393
338394 byte 2:
339395
340396 bit 7 6 5 4 3 2 1 0
341− x7 x6 x5 x4 x4 x2 x1 x0
397+ x7 x6 x5 x4 x3 x2 x1 x0
342398
343399 x10..x0 = absolute x value (horizontal)
344400
345401 byte 3:
346402
347403 bit 7 6 5 4 3 2 1 0
348− . . . . . . . .
404+ n4 vf w1 w0 . . . b2
405+
406+ n4 = set if more than 3 fingers (only in 3 fingers mode)
407+ vf = a kind of flag ? (only on EF123, 0 when finger is over one
408+ of the buttons, 1 otherwise)
409+ w3..w0 = width of the finger touch (not EF113)
410+ b2 (on EF113 only, 0 otherwise), b2.R.L indicates one button pressed:
411+ 0 = none
412+ 1 = Left
413+ 2 = Right
414+ 3 = Middle (Left and Right)
415+ 4 = Forward
416+ 5 = Back
417+ 6 = Another one
418+ 7 = Another one
349419
350420 byte 4:
351421
352422 bit 7 6 5 4 3 2 1 0
353− . . . . . . y9 y8
423+ p3 p1 p2 p0 . . y9 y8
424+
425+ p7..p0 = pressure (not EF113)
354426
355427 byte 5:
356428
@@ -363,6 +435,11 @@ byte 5: · 6 unmodified lines
363435 4.2.2 Two finger touch
364436 ~~~~~~~~~~~~~~~~
365437
438+Note that the two pairs of coordinates are not exactly the coordinates of the
439+two fingers, but only the pair of the lower-left and upper-right coordinates.
440+So the actual fingers might be situated on the other diagonal of the square
441+defined by these two points.
442+
366443 byte 0:
367444
368445 bit 7 6 5 4 3 2 1 0
@@ -376,14 +453,14 @@ byte 1: · 7 unmodified lines
376453 bit 7 6 5 4 3 2 1 0
377454 ax7 ax6 ax5 ax4 ax3 ax2 ax1 ax0
378455
379− ax8..ax0 = first finger absolute x value
456+ ax8..ax0 = lower-left finger absolute x value
380457
381458 byte 2:
382459
383460 bit 7 6 5 4 3 2 1 0
384461 ay7 ay6 ay5 ay4 ay3 ay2 ay1 ay0
385462
386− ay8..ay0 = first finger absolute y value
463+ ay8..ay0 = lower-left finger absolute y value
387464
388465 byte 3:
389466
@@ -395,11 +472,11 @@ byte 4: · 5 unmodified lines
395472 bit 7 6 5 4 3 2 1 0
396473 bx7 bx6 bx5 bx4 bx3 bx2 bx1 bx0
397474
398− bx8..bx0 = second finger absolute x value
475+ bx8..bx0 = upper-right finger absolute x value
399476
400477 byte 5:
401478
402479 bit 7 6 5 4 3 2 1 0
403480 by7 by8 by5 by4 by3 by2 by1 by0
404481
405− by8..by0 = second finger absolute y value
482+ by8..by0 = upper-right finger absolute y value
Documentation/input/event-codes.txt+262−0
@@ -0,0 +1,262 @@
1+The input protocol uses a map of types and codes to express input device values
2+to userspace. This document describes the types and codes and how and when they
3+may be used.
4+
5+A single hardware event generates multiple input events. Each input event
6+contains the new value of a single data item. A special event type, EV_SYN, is
7+used to separate input events into packets of input data changes occurring at
8+the same moment in time. In the following, the term "event" refers to a single
9+input event encompassing a type, code, and value.
10+
11+The input protocol is a stateful protocol. Events are emitted only when values
12+of event codes have changed. However, the state is maintained within the Linux
13+input subsystem; drivers do not need to maintain the state and may attempt to
14+emit unchanged values without harm. Userspace may obtain the current state of
15+event code values using the EVIOCG* ioctls defined in linux/input.h. The event
16+reports supported by a device are also provided by sysfs in
17+class/input/event*/device/capabilities/, and the properties of a device are
18+provided in class/input/event*/device/properties.
19+
20+Types:
21+==========
22+Types are groupings of codes under a logical input construct. Each type has a
23+set of applicable codes to be used in generating events. See the Codes section
24+for details on valid codes for each type.
25+
26+* EV_SYN:
27+ - Used as markers to separate events. Events may be separated in time or in
28+ space, such as with the multitouch protocol.
29+
30+* EV_KEY:
31+ - Used to describe state changes of keyboards, buttons, or other key-like
32+ devices.
33+
34+* EV_REL:
35+ - Used to describe relative axis value changes, e.g. moving the mouse 5 units
36+ to the left.
37+
38+* EV_ABS:
39+ - Used to describe absolute axis value changes, e.g. describing the
40+ coordinates of a touch on a touchscreen.
41+
42+* EV_MSC:
43+ - Used to describe miscellaneous input data that do not fit into other types.
44+
45+* EV_SW:
46+ - Used to describe binary state input switches.
47+
48+* EV_LED:
49+ - Used to turn LEDs on devices on and off.
50+
51+* EV_SND:
52+ - Used to output sound to devices.
53+
54+* EV_REP:
55+ - Used for autorepeating devices.
56+
57+* EV_FF:
58+ - Used to send force feedback commands to an input device.
59+
60+* EV_PWR:
61+ - A special type for power button and switch input.
62+
63+* EV_FF_STATUS:
64+ - Used to receive force feedback device status.
65+
66+Codes:
67+==========
68+Codes define the precise type of event.
69+
70+EV_SYN:
71+----------
72+EV_SYN event values are undefined. Their usage is defined only by when they are
73+sent in the evdev event stream.
74+
75+* SYN_REPORT:
76+ - Used to synchronize and separate events into packets of input data changes
77+ occurring at the same moment in time. For example, motion of a mouse may set
78+ the REL_X and REL_Y values for one motion, then emit a SYN_REPORT. The next
79+ motion will emit more REL_X and REL_Y values and send another SYN_REPORT.
80+
81+* SYN_CONFIG:
82+ - TBD
83+
84+* SYN_MT_REPORT:
85+ - Used to synchronize and separate touch events. See the
86+ multi-touch-protocol.txt document for more information.
87+
88+* SYN_DROPPED:
89+ - Used to indicate buffer overrun in the evdev client's event queue.
90+ Client should ignore all events up to and including next SYN_REPORT
91+ event and query the device (using EVIOCG* ioctls) to obtain its
92+ current state.
93+
94+EV_KEY:
95+----------
96+EV_KEY events take the form KEY_<name> or BTN_<name>. For example, KEY_A is used
97+to represent the 'A' key on a keyboard. When a key is depressed, an event with
98+the key's code is emitted with value 1. When the key is released, an event is
99+emitted with value 0. Some hardware send events when a key is repeated. These
100+events have a value of 2. In general, KEY_<name> is used for keyboard keys, and
101+BTN_<name> is used for other types of momentary switch events.
102+
103+A few EV_KEY codes have special meanings:
104+
105+* BTN_TOOL_<name>:
106+ - These codes are used in conjunction with input trackpads, tablets, and
107+ touchscreens. These devices may be used with fingers, pens, or other tools.
108+ When an event occurs and a tool is used, the corresponding BTN_TOOL_<name>
109+ code should be set to a value of 1. When the tool is no longer interacting
110+ with the input device, the BTN_TOOL_<name> code should be reset to 0. All
111+ trackpads, tablets, and touchscreens should use at least one BTN_TOOL_<name>
112+ code when events are generated.
113+
114+* BTN_TOUCH:
115+ BTN_TOUCH is used for touch contact. While an input tool is determined to be
116+ within meaningful physical contact, the value of this property must be set
117+ to 1. Meaningful physical contact may mean any contact, or it may mean
118+ contact conditioned by an implementation defined property. For example, a
119+ touchpad may set the value to 1 only when the touch pressure rises above a
120+ certain value. BTN_TOUCH may be combined with BTN_TOOL_<name> codes. For
121+ example, a pen tablet may set BTN_TOOL_PEN to 1 and BTN_TOUCH to 0 while the
122+ pen is hovering over but not touching the tablet surface.
123+
124+Note: For appropriate function of the legacy mousedev emulation driver,
125+BTN_TOUCH must be the first evdev code emitted in a synchronization frame.
126+
127+Note: Historically a touch device with BTN_TOOL_FINGER and BTN_TOUCH was
128+interpreted as a touchpad by userspace, while a similar device without
129+BTN_TOOL_FINGER was interpreted as a touchscreen. For backwards compatibility
130+with current userspace it is recommended to follow this distinction. In the
131+future, this distinction will be deprecated and the device properties ioctl
132+EVIOCGPROP, defined in linux/input.h, will be used to convey the device type.
133+
134+* BTN_TOOL_FINGER, BTN_TOOL_DOUBLETAP, BTN_TOOL_TRIPLETAP, BTN_TOOL_QUADTAP:
135+ - These codes denote one, two, three, and four finger interaction on a
136+ trackpad or touchscreen. For example, if the user uses two fingers and moves
137+ them on the touchpad in an effort to scroll content on screen,
138+ BTN_TOOL_DOUBLETAP should be set to value 1 for the duration of the motion.
139+ Note that all BTN_TOOL_<name> codes and the BTN_TOUCH code are orthogonal in
140+ purpose. A trackpad event generated by finger touches should generate events
141+ for one code from each group. At most only one of these BTN_TOOL_<name>
142+ codes should have a value of 1 during any synchronization frame.
143+
144+Note: Historically some drivers emitted multiple of the finger count codes with
145+a value of 1 in the same synchronization frame. This usage is deprecated.
146+
147+Note: In multitouch drivers, the input_mt_report_finger_count() function should
148+be used to emit these codes. Please see multi-touch-protocol.txt for details.
149+
150+EV_REL:
151+----------
152+EV_REL events describe relative changes in a property. For example, a mouse may
153+move to the left by a certain number of units, but its absolute position in
154+space is unknown. If the absolute position is known, EV_ABS codes should be used
155+instead of EV_REL codes.
156+
157+A few EV_REL codes have special meanings:
158+
159+* REL_WHEEL, REL_HWHEEL:
160+ - These codes are used for vertical and horizontal scroll wheels,
161+ respectively.
162+
163+EV_ABS:
164+----------
165+EV_ABS events describe absolute changes in a property. For example, a touchpad
166+may emit coordinates for a touch location.
167+
168+A few EV_ABS codes have special meanings:
169+
170+* ABS_DISTANCE:
171+ - Used to describe the distance of a tool from an interaction surface. This
172+ event should only be emitted while the tool is hovering, meaning in close
173+ proximity of the device and while the value of the BTN_TOUCH code is 0. If
174+ the input device may be used freely in three dimensions, consider ABS_Z
175+ instead.
176+
177+* ABS_MT_<name>:
178+ - Used to describe multitouch input events. Please see
179+ multi-touch-protocol.txt for details.
180+
181+EV_SW:
182+----------
183+EV_SW events describe stateful binary switches. For example, the SW_LID code is
184+used to denote when a laptop lid is closed.
185+
186+Upon binding to a device or resuming from suspend, a driver must report
187+the current switch state. This ensures that the device, kernel, and userspace
188+state is in sync.
189+
190+Upon resume, if the switch state is the same as before suspend, then the input
191+subsystem will filter out the duplicate switch state reports. The driver does
192+not need to keep the state of the switch at any time.
193+
194+EV_MSC:
195+----------
196+EV_MSC events are used for input and output events that do not fall under other
197+categories.
198+
199+EV_LED:
200+----------
201+EV_LED events are used for input and output to set and query the state of
202+various LEDs on devices.
203+
204+EV_REP:
205+----------
206+EV_REP events are used for specifying autorepeating events.
207+
208+EV_SND:
209+----------
210+EV_SND events are used for sending sound commands to simple sound output
211+devices.
212+
213+EV_FF:
214+----------
215+EV_FF events are used to initialize a force feedback capable device and to cause
216+such device to feedback.
217+
218+EV_PWR:
219+----------
220+EV_PWR events are a special type of event used specifically for power
221+mangement. Its usage is not well defined. To be addressed later.
222+
223+Guidelines:
224+==========
225+The guidelines below ensure proper single-touch and multi-finger functionality.
226+For multi-touch functionality, see the multi-touch-protocol.txt document for
227+more information.
228+
229+Mice:
230+----------
231+REL_{X,Y} must be reported when the mouse moves. BTN_LEFT must be used to report
232+the primary button press. BTN_{MIDDLE,RIGHT,4,5,etc.} should be used to report
233+further buttons of the device. REL_WHEEL and REL_HWHEEL should be used to report
234+scroll wheel events where available.
235+
236+Touchscreens:
237+----------
238+ABS_{X,Y} must be reported with the location of the touch. BTN_TOUCH must be
239+used to report when a touch is active on the screen.
240+BTN_{MOUSE,LEFT,MIDDLE,RIGHT} must not be reported as the result of touch
241+contact. BTN_TOOL_<name> events should be reported where possible.
242+
243+Trackpads:
244+----------
245+Legacy trackpads that only provide relative position information must report
246+events like mice described above.
247+
248+Trackpads that provide absolute touch position must report ABS_{X,Y} for the
249+location of the touch. BTN_TOUCH should be used to report when a touch is active
250+on the trackpad. Where multi-finger support is available, BTN_TOOL_<name> should
251+be used to report the number of touches active on the trackpad.
252+
253+Tablets:
254+----------
255+BTN_TOOL_<name> events must be reported when a stylus or other tool is active on
256+the tablet. ABS_{X,Y} must be reported with the location of the tool. BTN_TOUCH
257+should be used to report when the tool is in contact with the tablet.
258+BTN_{STYLUS,STYLUS2} should be used to report buttons on the tool itself. Any
259+button may be used for buttons on the tablet except BTN_{MOUSE,LEFT}.
260+BTN_{0,1,2,etc} are good generic codes for unlabeled buttons. Do not use
261+meaningful buttons, like BTN_FORWARD, unless the button is labeled for that
262+purpose on the device.
Documentation/input/joystick-parport.txt+1−1
@@ -272,7 +272,7 @@ if you want to use gamecon.c. · 271 unmodified lines
272272
273273 Also, the connection is a bit more complex. You'll need a bunch of diodes,
274274 and one pullup resistor. First, you connect the Directions and the button
275−the same as for db9, however with the diodes inbetween.
275+the same as for db9, however with the diodes between.
276276
277277 Diodes
278278 (pin 2) -----|<|----> Up
Documentation/input/rotary-encoder.txt+14−1
@@ -9,6 +9,9 @@ peripherals with two wires. The outputs are phase-shifted by 90 degrees · 8 unmodified lines
99 and by triggering on falling and rising edges, the turn direction can
1010 be determined.
1111
12+Some encoders have both outputs low in stable states, whereas others also have
13+a stable state with both outputs high (half-period mode).
14+
1215 The phase diagram of these two outputs look like this:
1316
1417 _____ _____ _____
@@ -26,6 +29,8 @@ The phase diagram of these two outputs look like this: · 11 unmodified lines
2629 |<-------->|
2730 one step
2831
32+ |<-->|
33+ one step (half-period mode)
2934
3035 For more information, please see
3136 http://en.wikipedia.org/wiki/Rotary_encoder
@@ -34,6 +39,13 @@ For more information, please see · 2 unmodified lines
3439 1. Events / state machine
3540 -------------------------
3641
42+In half-period mode, state a) and c) above are used to determine the
43+rotational direction based on the last stable state. Events are reported in
44+states b) and d) given that the new stable state is different from the last
45+(i.e. the rotation was not reversed half-way).
46+
47+Otherwise, the following apply:
48+
3749 a) Rising edge on channel A, channel B in low state
3850 This state is used to recognize a clockwise turn
3951
@@ -46,7 +58,7 @@ c) Falling edge on channel A, channel B in high state · 6 unmodified lines
4658
4759 d) Falling edge on channel B, channel A in low state
4860 Parking position. If the encoder enters this state, a full transition
49− should have happend, unless it flipped back on half the way. The
61+ should have happened, unless it flipped back on half the way. The
5062 'armed' state tells us about that.
5163
5264 2. Platform requirements
@@ -96,6 +108,7 @@ static struct rotary_encoder_platform_data my_rotary_encoder_info = { · 43 unmodified lines
96108 .gpio_b = GPIO_ROTARY_B,
97109 .inverted_a = 0,
98110 .inverted_b = 0,
111+ .half_period = false,
99112 };
100113
101114 static struct platform_device rotary_encoder_device = {
Documentation/input/walkera0701.txt+1−1
@@ -77,7 +77,7 @@ pulse length: · 76 unmodified lines
7777
7878 24 bin+oct values + 1 bin value = 24*4+1 bits = 97 bits
7979
80−(Warning, pulses on ACK ar inverted by transistor, irq is rised up on sync
80+(Warning, pulses on ACK are inverted by transistor, irq is raised up on sync
8181 to bin change or octal value to bin change).
8282
8383 Binary data representations:
Documentation/ioctl/ioctl-number.txt+2−1
@@ -166,7 +166,6 @@ Code Seq#(hex) Include File Comments · 165 unmodified lines
166166 'T' all arch/x86/include/asm/ioctls.h conflict!
167167 'T' C0-DF linux/if_tun.h conflict!
168168 'U' all sound/asound.h conflict!
169−'U' 00-0F drivers/media/video/uvc/uvcvideo.h conflict!
170169 'U' 00-CF linux/uinput.h conflict!
171170 'U' 00-EF linux/usbdevice_fs.h
172171 'U' C0-CF drivers/bluetooth/hci_uart.h
@@ -259,6 +258,7 @@ Code Seq#(hex) Include File Comments · 86 unmodified lines
259258 't' 80-8F linux/isdn_ppp.h
260259 't' 90 linux/toshiba.h
261260 'u' 00-1F linux/smb_fs.h gone
261+'u' 20-3F linux/uvcvideo.h USB video class host driver
262262 'v' 00-1F linux/ext2_fs.h conflict!
263263 'v' 00-1F linux/fs.h conflict!
264264 'v' 00-0F linux/sonypi.h conflict!
@@ -304,6 +304,7 @@ Code Seq#(hex) Include File Comments · 39 unmodified lines
304304 0xB0 all RATIO devices in development:
305305 <mailto:vgo@ratio.de>
306306 0xB1 00-1F PPPoX <mailto:mostrows@styx.uwaterloo.ca>
307+0xB3 00 linux/mmc/ioctl.h
307308 0xC0 00-0F linux/usb/iowarrior.h
308309 0xCB 00-1F CBM serial IEC bus in development:
309310 <mailto:michael.klein@puffin.lb.shuttle.de>
Documentation/irqflags-tracing.txt+1−1
@@ -53,5 +53,5 @@ implementation in an architecture: lockdep will detect that and will · 52 unmodified lines
5353 turn itself off. I.e. the lock validator will still be reliable. There
5454 should be no crashes due to irq-tracing bugs. (except if the assembly
5555 changes break other code by modifying conditions or registers that
56−shouldnt be)
56+shouldn't be)
5757
Documentation/isdn/INTERFACE.CAPI+1−1
@@ -240,7 +240,7 @@ Functions capi_cmsg2message() and capi_message2cmsg() are provided to convert · 239 unmodified lines
240240 messages between their transport encoding described in the CAPI 2.0 standard
241241 and their _cmsg structure representation. Note that capi_cmsg2message() does
242242 not know or check the size of its destination buffer. The caller must make
243−sure it is big enough to accomodate the resulting CAPI message.
243+sure it is big enough to accommodate the resulting CAPI message.
244244
245245
246246 5. Lower Layer Interface Functions
Documentation/ja_JP/HOWTO+43−86
@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a · 10 unmodified lines
1111 fork. So if you have any comments or updates for this file, please try
1212 to update the original English file first.
1313
14−Last Updated: 2008/10/24
14+Last Updated: 2011/03/31
1515 ==================================
1616 これは、
17−linux-2.6.28/Documentation/HOWTO
17+linux-2.6.38/Documentation/HOWTO
1818 の和訳です。
1919
2020 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
21−翻訳日: 2008/10/24
21+翻訳日: 2011/3/28
2222 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
2323 校正者: 松倉さん <nbh--mats at nifty dot com>
2424 小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
@@ -256,8 +256,8 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン · 231 unmodified lines
256256 - メインの 2.6.x カーネルツリー
257257 - 2.6.x.y -stable カーネルツリー
258258 - 2.6.x -git カーネルパッチ
259− - 2.6.x -mm カーネルパッチ
260259 - サブシステム毎のカーネルツリーとパッチ
260+ - 統合テストのための 2.6.x -next カーネルツリー
261261
262262 2.6.x カーネルツリー
263263 -----------------
@@ -268,9 +268,9 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン · 4 unmodified lines
268268
269269 - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
270270 この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
271− このような差分は通常 -mm カーネルに数週間含まれてきたパッチです。
271+ このような差分は通常 -next カーネルに数週間含まれてきたパッチです。
272272 大きな変更は git(カーネルのソース管理ツール、詳細は
273− http://git.or.cz/ 参照) を使って送るのが好ましいやり方ですが、パッ
273+ http://git-scm.com/ 参照) を使って送るのが好ましいやり方ですが、パッ
274274 チファイルの形式のまま送るのでも十分です。
275275
276276 - 2週間後、-rc1 カーネルがリリースされ、この後にはカーネル全体の安定
@@ -333,86 +333,44 @@ git リポジトリで管理されているLinus のカーネルツリーの毎 · 56 unmodified lines
333333 れは -rc カーネルと比べて、パッチが大丈夫かどうかも確認しないで自動的
334334 に生成されるので、より実験的です。
335335
336−2.6.x -mm カーネルパッチ
337−------------------------
338−
339−Andrew Morton によってリリースされる実験的なカーネルパッチ群です。
340−Andrew は個別のサブシステムカーネルツリーとパッチを全て集めてきて
341−linux-kernel メーリングリストで収集された多数のパッチと同時に一つにま
342−とめます。
343−このツリーは新機能とパッチが検証される場となります。ある期間の間パッチ
344−が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、
345−メインラインへ入れるように Linus にプッシュします。
346−
347−メインカーネルツリーに含めるために Linus に送る前に、すべての新しいパッ
348−チが -mm ツリーでテストされることが強く推奨されています。マージウィン
349−ドウが開く前に -mm ツリーに現れなかったパッチはメインラインにマージさ
350−れることは困難になります。
351−
352−これらのカーネルは安定して動作すべきシステムとして使うのには適切ではあ
353−りませんし、カーネルブランチの中でももっとも動作にリスクが高いものです。
354−
355−もしあなたが、カーネル開発プロセスの支援をしたいと思っているのであれば、
356−どうぞこれらのカーネルリリースをテストに使ってみて、そしてもし問題があ
357−れば、またもし全てが正しく動作したとしても、linux-kernel メーリングリ
358−ストにフィードバックを提供してください。
359−
360−すべての他の実験的パッチに加えて、これらのカーネルは通常リリース時点で
361−メインラインの -git カーネルに含まれる全ての変更も含んでいます。
362−
363−-mm カーネルは決まったスケジュールではリリースされません、しかし通常幾
364−つかの -mm カーネル (1 から 3 が普通)が各-rc カーネルの間にリリースさ
365−れます。
366−
367336 サブシステム毎のカーネルツリーとパッチ
368337 -------------------------------------------
369338
370−カーネルの様々な領域で何が起きているかを見られるようにするため、多くの
371−カーネルサブシステム開発者は彼らの開発ツリーを公開しています。これらの
372−ツリーは説明したように -mm カーネルリリースに入れ込まれます。
373−
374−以下はさまざまなカーネルツリーの中のいくつかのリスト-
375−
376− git ツリー-
377− - Kbuild の開発ツリー、Sam Ravnborg <sam@ravnborg.org>
378− git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git
379−
380− - ACPI の開発ツリー、 Len Brown <len.brown@intel.com>
381− git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
382−
383− - Block の開発ツリー、Jens Axboe <axboe@suse.de>
384− git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git
385−
386− - DRM の開発ツリー、Dave Airlie <airlied@linux.ie>
387− git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git
388−
389− - ia64 の開発ツリー、Tony Luck <tony.luck@intel.com>
390− git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git
391−
392− - infiniband, Roland Dreier <rolandd@cisco.com>
393− git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git
394−
395− - libata, Jeff Garzik <jgarzik@pobox.com>
396− git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git
397−
398− - ネットワークドライバ, Jeff Garzik <jgarzik@pobox.com>
399− git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git
400−
401− - pcmcia, Dominik Brodowski <linux@dominikbrodowski.net>
402− git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git
403−
404− - SCSI, James Bottomley <James.Bottomley@hansenpartnership.com>
405− git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
406−
407− - x86, Ingo Molnar <mingo@elte.hu>
408− git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
409−
410− quilt ツリー-
411− - USB, ドライバコアと I2C, Greg Kroah-Hartman <gregkh@suse.de>
412− kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/
339+それぞれのカーネルサブシステムのメンテナ達は --- そして多くのカーネル
340+サブシステムの開発者達も --- 各自の最新の開発状況をソースリポジトリに
341+公開しています。そのため、自分とは異なる領域のカーネルで何が起きている
342+かを他の人が見られるようになっています。開発が早く進んでいる領域では、
343+開発者は自身の投稿がどのサブシステムカーネルツリーを元にしているか質問
344+されるので、その投稿とすでに進行中の他の作業との衝突が避けられます。
345+
346+大部分のこれらのリポジトリは git ツリーです。しかしその他の SCM や
347+quilt シリーズとして公開されているパッチキューも使われています。これら
348+のサブシステムリポジトリのアドレスは MAINTAINERS ファイルにリストされ
349+ています。これらの多くは http://git.kernel.org/ で参照することができま
350+す。
413351
414− その他のカーネルツリーは http://git.kernel.org/ と MAINTAINERS ファ
415− イルに一覧表があります。
352+提案されたパッチがこのようなサブシステムツリーにコミットされる前に、メー
353+リングリストで事前にレビューにかけられます(以下の対応するセクションを
354+参照)。いくつかのカーネルサブシステムでは、このレビューは patchwork
355+というツールによって追跡されます。Patchwork は web インターフェイスに
356+よってパッチ投稿の表示、パッチへのコメント付けや改訂などができ、そして
357+メンテナはパッチに対して、レビュー中、受付済み、拒否というようなマーク
358+をつけることができます。大部分のこれらの patchwork のサイトは
359+http://patchwork.kernel.org/ でリストされています。
360+
361+統合テストのための 2.6.x -next カーネルツリー
362+---------------------------------------------
363+
364+サブシステムツリーの更新内容がメインラインの 2.6.x ツリーにマージされ
365+る前に、それらは統合テストされる必要があります。この目的のため、実質的
366+に全サブシステムツリーからほぼ毎日プルされてできる特別なテスト用のリ
367+ポジトリが存在します-
368+ http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git
369+ http://linux.f-seidel.de/linux-next/pmwiki/
370+
371+このやり方によって、-next カーネルは次のマージ機会でどんなものがメイン
372+ラインカーネルにマージされるか、おおまかなの展望を提供します。-next
373+カーネルの実行テストを行う冒険好きなテスターは大いに歓迎されます
416374
417375 バグレポート
418376 -------------
@@ -673,10 +631,9 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を · 254 unmodified lines
673631 じところからスタートしたのですから。
674632
675633 Paolo Ciarrocchi に感謝、彼は彼の書いた "Development Process"
676−(http://linux.tar.bz/articles/2.6-development_process)セクショ
677−ンをこのテキストの原型にすることを許可してくれました。
678−Rundy Dunlap と Gerrit Huizenga はメーリングリストでやるべきこととやっ
679−てはいけないことのリストを提供してくれました。
634+(http://lwn.net/Articles/94386/) セクションをこのテキストの原型にする
635+ことを許可してくれました。Rundy Dunlap と Gerrit Huizenga はメーリング
636+リストでやるべきこととやってはいけないことのリストを提供してくれました。
680637 以下の人々のレビュー、コメント、貢献に感謝。
681638 Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers,
682639 Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi
Documentation/kbuild/kbuild.txt+4−4
@@ -26,11 +26,11 @@ Additional options to the assembler (for built-in and modules). · 25 unmodified lines
2626
2727 AFLAGS_MODULE
2828 --------------------------------------------------
29−Addtional module specific options to use for $(AS).
29+Additional module specific options to use for $(AS).
3030
3131 AFLAGS_KERNEL
3232 --------------------------------------------------
33−Addtional options for $(AS) when used for assembler
33+Additional options for $(AS) when used for assembler
3434 code for code that is compiled as built-in.
3535
3636 KCFLAGS
@@ -39,12 +39,12 @@ Additional options to the C compiler (for built-in and modules). · 2 unmodified lines
3939
4040 CFLAGS_KERNEL
4141 --------------------------------------------------
42−Addtional options for $(CC) when used to compile
42+Additional options for $(CC) when used to compile
4343 code that is compiled as built-in.
4444
4545 CFLAGS_MODULE
4646 --------------------------------------------------
47−Addtional module specific options to use for $(CC).
47+Additional module specific options to use for $(CC).
4848
4949 LDFLAGS_MODULE
5050 --------------------------------------------------
Documentation/kbuild/kconfig-language.txt+31−1
@@ -113,6 +113,13 @@ applicable everywhere (see syntax). · 112 unmodified lines
113113 That will limit the usefulness but on the other hand avoid
114114 the illegal configurations all over.
115115
116+- limiting menu display: "visible if" <expr>
117+ This attribute is only applicable to menu blocks, if the condition is
118+ false, the menu block is not displayed to the user (the symbols
119+ contained there can still be selected by other symbols, though). It is
120+ similar to a conditional "prompt" attribude for individual menu
121+ entries. Default value of "visible" is true.
122+
116123 - numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
117124 This allows to limit the range of possible input values for int
118125 and hex symbols. The user can only input a value which is larger than
@@ -303,7 +310,8 @@ menu: · 184 unmodified lines
303310 "endmenu"
304311
305312 This defines a menu block, see "Menu structure" above for more
306−information. The only possible options are dependencies.
313+information. The only possible options are dependencies and "visible"
314+attributes.
307315
308316 if:
309317
@@ -381,3 +389,25 @@ config FOO · 71 unmodified lines
381389
382390 limits FOO to module (=m) or disabled (=n).
383391
392+Kconfig symbol existence
393+~~~~~~~~~~~~~~~~~~~~~~~~
394+The following two methods produce the same kconfig symbol dependencies
395+but differ greatly in kconfig symbol existence (production) in the
396+generated config file.
397+
398+case 1:
399+
400+config FOO
401+ tristate "about foo"
402+ depends on BAR
403+
404+vs. case 2:
405+
406+if BAR
407+config FOO
408+ tristate "about foo"
409+endif
410+
411+In case 1, the symbol FOO will always exist in the config file (given
412+no other dependencies). In case 2, the symbol FOO will only exist in
413+the config file if BAR is enabled.
Documentation/kbuild/kconfig.txt+0−5
@@ -48,11 +48,6 @@ KCONFIG_OVERWRITECONFIG · 47 unmodified lines
4848 If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
4949 break symlinks when .config is a symlink to somewhere else.
5050
51−KCONFIG_NOTIMESTAMP
52−--------------------------------------------------
53−If this environment variable exists and is non-null, the timestamp line
54−in generated .config files is omitted.
55−
5651 ______________________________________________________________________
5752 Environment variables for '{allyes/allmod/allno/rand}config'
5853
Documentation/kernel-parameters.txt+19−12
@@ -245,7 +245,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 244 unmodified lines
245245
246246 acpi_sleep= [HW,ACPI] Sleep options
247247 Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
248− old_ordering, s4_nonvs, sci_force_enable }
248+ old_ordering, nonvs, sci_force_enable }
249249 See Documentation/power/video.txt for information on
250250 s3_bios and s3_mode.
251251 s3_beep is for debugging; it makes the PC's speaker beep
@@ -699,7 +699,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 447 unmodified lines
699699 ekgdboc= [X86,KGDB] Allow early kernel console debugging
700700 ekgdboc=kbd
701701
702− This is desgined to be used in conjunction with
702+ This is designed to be used in conjunction with
703703 the boot argument: earlyprintk=vga
704704
705705 edd= [EDD]
@@ -1664,6 +1664,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 958 unmodified lines
16641664 noexec=on: enable non-executable mappings (default)
16651665 noexec=off: disable non-executable mappings
16661666
1667+ nosmep [X86]
1668+ Disable SMEP (Supervisor Mode Execution Protection)
1669+ even if it is supported by processor.
1670+
16671671 noexec32 [X86-64]
16681672 This affects only 32-bit executables.
16691673 noexec32=on: enable non-executable mappings (default)
@@ -1773,9 +1777,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 103 unmodified lines
17731777
17741778 nosoftlockup [KNL] Disable the soft-lockup detector.
17751779
1776− noswapaccount [KNL] Disable accounting of swap in memory resource
1777− controller. (See Documentation/cgroups/memory.txt)
1778−
17791780 nosync [HW,M68K] Disables sync negotiation for all devices.
17801781
17811782 notsc [BUGS=X86-32] Disable Time Stamp Counter
@@ -1832,15 +1833,17 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 50 unmodified lines
18321833 perfmon on Intel CPUs instead of the
18331834 CPU specific event set.
18341835
1835− oops=panic Always panic on oopses. Default is to just kill the process,
1836− but there is a small probability of deadlocking the machine.
1836+ oops=panic Always panic on oopses. Default is to just kill the
1837+ process, but there is a small probability of
1838+ deadlocking the machine.
18371839 This will also cause panics on machine check exceptions.
18381840 Useful together with panic=30 to trigger a reboot.
18391841
18401842 OSS [HW,OSS]
18411843 See Documentation/sound/oss/oss-parameters.txt
18421844
1843− panic= [KNL] Kernel behaviour on panic
1845+ panic= [KNL] Kernel behaviour on panic: delay <timeout>
1846+ seconds before rebooting
18441847 Format: <timeout>
18451848
18461849 parkbd.port= [HW] Parallel port number the keyboard adapter is
@@ -2343,6 +2346,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 496 unmodified lines
23432346
23442347 softlockup_panic=
23452348 [KNL] Should the soft-lockup detector generate panics.
2349+ Format: <integer>
23462350
23472351 sonypi.*= [HW] Sony Programmable I/O Control Device driver
23482352 See Documentation/sonypi.txt
@@ -2475,8 +2479,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 126 unmodified lines
24752479 topology= [S390]
24762480 Format: {off | on}
24772481 Specify if the kernel should make use of the cpu
2478− topology informations if the hardware supports these.
2479− The scheduler will make use of these informations and
2482+ topology information if the hardware supports this.
2483+ The scheduler will make use of this information and
24802484 e.g. base its process migration decisions on it.
24812485 Default is on.
24822486
@@ -2529,8 +2533,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 46 unmodified lines
25292533 reported either.
25302534
25312535 unknown_nmi_panic
2532− [X86]
2533− Set unknown_nmi_panic=1 early on boot.
2536+ [X86] Cause panic on unknown NMI.
25342537
25352538 usbcore.autosuspend=
25362539 [USB] The autosuspend time delay (in seconds) used
@@ -2579,6 +2582,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 42 unmodified lines
25792582 bytes of sense data);
25802583 c = FIX_CAPACITY (decrease the reported
25812584 device capacity by one sector);
2585+ d = NO_READ_DISC_INFO (don't use
2586+ READ_DISC_INFO command);
2587+ e = NO_READ_CAPACITY_16 (don't use
2588+ READ_CAPACITY_16 command);
25822589 h = CAPACITY_HEURISTICS (decrease the
25832590 reported device capacity by one
25842591 sector if the number is odd);
Documentation/kmemleak.txt+2−2
@@ -11,6 +11,7 @@ with the difference that the orphan objects are not freed but only · 10 unmodified lines
1111 reported via /sys/kernel/debug/kmemleak. A similar method is used by the
1212 Valgrind tool (memcheck --leak-check) to detect the memory leaks in
1313 user-space applications.
14+Kmemleak is supported on x86, arm, powerpc, sparc, sh, microblaze and tile.
1415
1516 Usage
1617 -----
@@ -178,5 +179,4 @@ block doesn't need to be freed (some cases in the init_call functions), · 161 unmodified lines
178179 the pointer is calculated by other methods than the usual container_of
179180 macro or the pointer is stored in a location not scanned by kmemleak.
180181
181−Page allocations and ioremap are not tracked. Only the ARM and x86
182−architectures are currently supported.
182+Page allocations and ioremap are not tracked.
Documentation/laptops/acer-wmi.txt+0−184
@@ -1,184 +0,0 @@
1−Acer Laptop WMI Extras Driver
2−http://code.google.com/p/aceracpi
3−Version 0.3
4−4th April 2009
5−
6−Copyright 2007-2009 Carlos Corbacho <carlos@strangeworlds.co.uk>
7−
8−acer-wmi is a driver to allow you to control various parts of your Acer laptop
9−hardware under Linux which are exposed via ACPI-WMI.
10−
11−This driver completely replaces the old out-of-tree acer_acpi, which I am
12−currently maintaining for bug fixes only on pre-2.6.25 kernels. All development
13−work is now focused solely on acer-wmi.
14−
15−Disclaimer
16−**********
17−
18−Acer and Wistron have provided nothing towards the development acer_acpi or
19−acer-wmi. All information we have has been through the efforts of the developers
20−and the users to discover as much as possible about the hardware.
21−
22−As such, I do warn that this could break your hardware - this is extremely
23−unlikely of course, but please bear this in mind.
24−
25−Background
26−**********
27−
28−acer-wmi is derived from acer_acpi, originally developed by Mark
29−Smith in 2005, then taken over by Carlos Corbacho in 2007, in order to activate
30−the wireless LAN card under a 64-bit version of Linux, as acerhk[1] (the
31−previous solution to the problem) relied on making 32 bit BIOS calls which are
32−not possible in kernel space from a 64 bit OS.
33−
34−[1] acerhk: http://www.cakey.de/acerhk/
35−
36−Supported Hardware
37−******************
38−
39−NOTE: The Acer Aspire One is not supported hardware. It cannot work with
40−acer-wmi until Acer fix their ACPI-WMI implementation on them, so has been
41−blacklisted until that happens.
42−
43−Please see the website for the current list of known working hardware:
44−
45−http://code.google.com/p/aceracpi/wiki/SupportedHardware
46−
47−If your laptop is not listed, or listed as unknown, and works with acer-wmi,
48−please contact me with a copy of the DSDT.
49−
50−If your Acer laptop doesn't work with acer-wmi, I would also like to see the
51−DSDT.
52−
53−To send me the DSDT, as root/sudo:
54−
55−cat /sys/firmware/acpi/tables/DSDT > dsdt
56−
57−And send me the resulting 'dsdt' file.
58−
59−Usage
60−*****
61−
62−On Acer laptops, acer-wmi should already be autoloaded based on DMI matching.
63−For non-Acer laptops, until WMI based autoloading support is added, you will
64−need to manually load acer-wmi.
65−
66−acer-wmi creates /sys/devices/platform/acer-wmi, and fills it with various
67−files whose usage is detailed below, which enables you to control some of the
68−following (varies between models):
69−
70−* the wireless LAN card radio
71−* inbuilt Bluetooth adapter
72−* inbuilt 3G card
73−* mail LED of your laptop
74−* brightness of the LCD panel
75−
76−Wireless
77−********
78−
79−With regards to wireless, all acer-wmi does is enable the radio on the card. It
80−is not responsible for the wireless LED - once the radio is enabled, this is
81−down to the wireless driver for your card. So the behaviour of the wireless LED,
82−once you enable the radio, will depend on your hardware and driver combination.
83−
84−e.g. With the BCM4318 on the Acer Aspire 5020 series:
85−
86−ndiswrapper: Light blinks on when transmitting
87−b43: Solid light, blinks off when transmitting
88−
89−Wireless radio control is unconditionally enabled - all Acer laptops that support
90−acer-wmi come with built-in wireless. However, should you feel so inclined to
91−ever wish to remove the card, or swap it out at some point, please get in touch
92−with me, as we may well be able to gain some data on wireless card detection.
93−
94−The wireless radio is exposed through rfkill.
95−
96−Bluetooth
97−*********
98−
99−For bluetooth, this is an internal USB dongle, so once enabled, you will get
100−a USB device connection event, and a new USB device appears. When you disable
101−bluetooth, you get the reverse - a USB device disconnect event, followed by the
102−device disappearing again.
103−
104−Bluetooth is autodetected by acer-wmi, so if you do not have a bluetooth module
105−installed in your laptop, this file won't exist (please be aware that it is
106−quite common for Acer not to fit bluetooth to their laptops - so just because
107−you have a bluetooth button on the laptop, doesn't mean that bluetooth is
108−installed).
109−
110−For the adventurously minded - if you want to buy an internal bluetooth
111−module off the internet that is compatible with your laptop and fit it, then
112−it will work just fine with acer-wmi.
113−
114−Bluetooth is exposed through rfkill.
115−
116−3G
117−**
118−
119−3G is currently not autodetected, so the 'threeg' file is always created under
120−sysfs. So far, no-one in possession of an Acer laptop with 3G built-in appears to
121−have tried Linux, or reported back, so we don't have any information on this.
122−
123−If you have an Acer laptop that does have a 3G card in, please contact me so we
124−can properly detect these, and find out a bit more about them.
125−
126−To read the status of the 3G card (0=off, 1=on):
127−cat /sys/devices/platform/acer-wmi/threeg
128−
129−To enable the 3G card:
130−echo 1 > /sys/devices/platform/acer-wmi/threeg
131−
132−To disable the 3G card:
133−echo 0 > /sys/devices/platform/acer-wmi/threeg
134−
135−To set the state of the 3G card when loading acer-wmi, pass:
136−threeg=X (where X is 0 or 1)
137−
138−Mail LED
139−********
140−
141−This can be found in most older Acer laptops supported by acer-wmi, and many
142−newer ones - it is built into the 'mail' button, and blinks when active.
143−
144−On newer (WMID) laptops though, we have no way of detecting the mail LED. If
145−your laptop identifies itself in dmesg as a WMID model, then please try loading
146−acer_acpi with:
147−
148−force_series=2490
149−
150−This will use a known alternative method of reading/ writing the mail LED. If
151−it works, please report back to me with the DMI data from your laptop so this
152−can be added to acer-wmi.
153−
154−The LED is exposed through the LED subsystem, and can be found in:
155−
156−/sys/devices/platform/acer-wmi/leds/acer-wmi::mail/
157−
158−The mail LED is autodetected, so if you don't have one, the LED device won't
159−be registered.
160−
161−Backlight
162−*********
163−
164−The backlight brightness control is available on all acer-wmi supported
165−hardware. The maximum brightness level is usually 15, but on some newer laptops
166−it's 10 (this is again autodetected).
167−
168−The backlight is exposed through the backlight subsystem, and can be found in:
169−
170−/sys/devices/platform/acer-wmi/backlight/acer-wmi/
171−
172−Credits
173−*******
174−
175−Olaf Tauber, who did the real hard work when he developed acerhk
176−http://www.cakey.de/acerhk/
177−All the authors of laptop ACPI modules in the kernel, whose work
178−was an inspiration in the early days of acer_acpi
179−Mathieu Segaud, who solved the problem with having to modprobe the driver
180−twice in acer_acpi 0.2.
181−Jim Ramsay, who added support for the WMID interface
182−Mark Smith, who started the original acer_acpi
183−
184−And the many people who have used both acer_acpi and acer-wmi.
Documentation/laptops/asus-laptop.txt+2−2
@@ -61,7 +61,7 @@ Usage · 60 unmodified lines
6161 Hotkeys are also reported as input keys (like keyboards) you can check
6262 which key are supported using "xev" under X11.
6363
64− You can get informations on the version of your DSDT table by reading the
64+ You can get information on the version of your DSDT table by reading the
6565 /sys/devices/platform/asus-laptop/infos entry. If you have a question or a
6666 bug report to do, please include the output of this entry.
6767
@@ -178,7 +178,7 @@ LED display · 110 unmodified lines
178178 -----------
179179
180180 Some models like the W1N have a LED display that can be used to display
181− several informations.
181+ several items of information.
182182
183183 LED display works for the following models:
184184 W1000N
Documentation/leds/00-INDEX+8−0
@@ -0,0 +1,8 @@
1+leds-class.txt
2+ - documents LED handling under Linux.
3+leds-lp3944.txt
4+ - notes on how to use the leds-lp3944 driver.
5+leds-lp5521.txt
6+ - notes on how to use the leds-lp5521 driver.
7+leds-lp5523.txt
8+ - notes on how to use the leds-lp5523 driver.
Documentation/leds/leds-class.txtrenamed from Documentation/leds-class.txt+0−1
@@ -95,4 +95,3 @@ There are a number of cases where a trigger might only be mappable to a · 94 unmodified lines
9595 particular LED (ACPI?). The addition of triggers provided by the LED driver
9696 should cover this option and be possible to add without breaking the
9797 current interface.
98−
Documentation/leds/leds-lp3944.txtrenamed from Documentation/leds-lp3944.txt+0−0

File renamed without changes.

Documentation/lockstat.txt+35−3
@@ -12,8 +12,9 @@ Because things like lock contention can severely impact performance. · 11 unmodified lines
1212 - HOW
1313
1414 Lockdep already has hooks in the lock functions and maps lock instances to
15−lock classes. We build on that. The graph below shows the relation between
16−the lock functions and the various hooks therein.
15+lock classes. We build on that (see Documentation/lockdep-design.txt).
16+The graph below shows the relation between the lock functions and the various
17+hooks therein.
1718
1819 __acquire
1920 |
@@ -128,6 +129,37 @@ points are the points we're contending with. · 108 unmodified lines
128129
129130 The integer part of the time values is in us.
130131
132+Dealing with nested locks, subclasses may appear:
133+
134+32...............................................................................................................................................................................................
135+33
136+34 &rq->lock: 13128 13128 0.43 190.53 103881.26 97454 3453404 0.00 401.11 13224683.11
137+35 ---------
138+36 &rq->lock 645 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75
139+37 &rq->lock 297 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
140+38 &rq->lock 360 [<ffffffff8103c4c5>] select_task_rq_fair+0x1f0/0x74a
141+39 &rq->lock 428 [<ffffffff81045f98>] scheduler_tick+0x46/0x1fb
142+40 ---------
143+41 &rq->lock 77 [<ffffffff8103bfc4>] task_rq_lock+0x43/0x75
144+42 &rq->lock 174 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
145+43 &rq->lock 4715 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54
146+44 &rq->lock 893 [<ffffffff81340524>] schedule+0x157/0x7b8
147+45
148+46...............................................................................................................................................................................................
149+47
150+48 &rq->lock/1: 11526 11488 0.33 388.73 136294.31 21461 38404 0.00 37.93 109388.53
151+49 -----------
152+50 &rq->lock/1 11526 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54
153+51 -----------
154+52 &rq->lock/1 5645 [<ffffffff8103ed4b>] double_rq_lock+0x42/0x54
155+53 &rq->lock/1 1224 [<ffffffff81340524>] schedule+0x157/0x7b8
156+54 &rq->lock/1 4336 [<ffffffff8103ed58>] double_rq_lock+0x4f/0x54
157+55 &rq->lock/1 181 [<ffffffff8104ba65>] try_to_wake_up+0x127/0x25a
158+
159+Line 48 shows statistics for the second subclass (/1) of &rq->lock class
160+(subclass starts from 0), since in this case, as line 50 suggests,
161+double_rq_lock actually acquires a nested lock of two spinlocks.
162+
131163 View the top contending locks:
132164
133165 # grep : /proc/lock_stat | head
@@ -136,7 +168,7 @@ View the top contending locks: · 2 unmodified lines
136168 dcache_lock: 1037 1161 0.38 45.32 774.51 6611 243371 0.15 306.48 77387.24
137169 &inode->i_mutex: 161 286 18446744073709 62882.54 1244614.55 3653 20598 18446744073709 62318.60 1693822.74
138170 &zone->lru_lock: 94 94 0.53 7.33 92.10 4366 32690 0.29 59.81 16350.06
139− &inode->i_data.i_mmap_lock: 79 79 0.40 3.77 53.03 11779 87755 0.28 116.93 29898.44
171+ &inode->i_data.i_mmap_mutex: 79 79 0.40 3.77 53.03 11779 87755 0.28 116.93 29898.44
140172 &q->__queue_lock: 48 50 0.52 31.62 86.31 774 13131 0.17 113.08 12277.52
141173 &rq->rq_lock_key: 43 47 0.74 68.50 170.63 3706 33929 0.22 107.99 17460.62
142174 &rq->rq_lock_key#2: 39 46 0.75 6.68 49.03 2979 32292 0.17 125.17 17137.63
Documentation/md.txt+10−0
@@ -552,6 +552,16 @@ also have · 551 unmodified lines
552552 within the array where IO will be blocked. This is currently
553553 only supported for raid4/5/6.
554554
555+ sync_min
556+ sync_max
557+ The two values, given as numbers of sectors, indicate a range
558+ withing the array where 'check'/'repair' will operate. Must be
559+ a multiple of chunk_size. When it reaches "sync_max" it will
560+ pause, rather than complete.
561+ You can use 'select' or 'poll' on "sync_completed" to wait for
562+ that number to reach sync_max. Then you can either increase
563+ "sync_max", or can write 'idle' to "sync_action".
564+
555565
556566 Each active md device may also have attributes specific to the
557567 personality module that manages it.
Documentation/media-framework.txt+2−2
@@ -194,7 +194,7 @@ each pad. · 193 unmodified lines
194194
195195 Links are represented by a struct media_link instance, defined in
196196 include/media/media-entity.h. Each entity stores all links originating at or
197−targetting any of its pads in a links array. A given link is thus stored
197+targeting any of its pads in a links array. A given link is thus stored
198198 twice, once in the source entity and once in the target entity. The array is
199199 pre-allocated and grows dynamically as needed.
200200
@@ -348,6 +348,6 @@ a streaming entity. Links that can be modified while streaming must be marked · 147 unmodified lines
348348 with the MEDIA_LNK_FL_DYNAMIC flag.
349349
350350 If other operations need to be disallowed on streaming entities (such as
351−changing entities configuration parameters) drivers can explictly check the
351+changing entities configuration parameters) drivers can explicitly check the
352352 media_entity stream_count field to find out if an entity is streaming. This
353353 operation must be done with the media_device graph_mutex held.
Documentation/mips/AU1xxx_IDE.README+2−2
@@ -39,13 +39,13 @@ Note: for more information, please refer "AMD Alchemy Au1200/Au1550 IDE · 38 unmodified lines
3939 Interface and Linux Device Driver" Application Note.
4040
4141
42−FILES, CONFIGS AND COMPATABILITY
42+FILES, CONFIGS AND COMPATIBILITY
4343 --------------------------------
4444
4545 Two files are introduced:
4646
4747 a) 'arch/mips/include/asm/mach-au1x00/au1xxx_ide.h'
48− containes : struct _auide_hwif
48+ contains : struct _auide_hwif
4949 timing parameters for PIO mode 0/1/2/3/4
5050 timing parameters for MWDMA 0/1/2
5151
Documentation/misc-devices/ics932s401+1−1
@@ -5,7 +5,7 @@ Supported chips: · 4 unmodified lines
55 * IDT ICS932S401
66 Prefix: 'ics932s401'
77 Addresses scanned: I2C 0x69
8− Datasheet: Publically available at the IDT website
8+ Datasheet: Publicly available at the IDT website
99
1010 Author: Darrick J. Wong
1111
Documentation/mmc/00-INDEX+2−0
@@ -2,3 +2,5 @@ · 1 unmodified line
22 - this file
33 mmc-dev-attrs.txt
44 - info on SD and MMC device attributes
5+mmc-dev-parts.txt
6+ - info on SD and MMC device partitions
Documentation/mmc/mmc-dev-attrs.txt+10−0
@@ -1,3 +1,13 @@
1+SD and MMC Block Device Attributes
2+==================================
3+
4+These attributes are defined for the block devices associated with the
5+SD or MMC device.
6+
7+The following attributes are read/write.
8+
9+ force_ro Enforce read-only access even if write protect switch is off.
10+
111 SD and MMC Device Attributes
212 ============================
313
Documentation/mmc/mmc-dev-parts.txt+27−0
@@ -0,0 +1,27 @@
1+SD and MMC Device Partitions
2+============================
3+
4+Device partitions are additional logical block devices present on the
5+SD/MMC device.
6+
7+As of this writing, MMC boot partitions as supported and exposed as
8+/dev/mmcblkXboot0 and /dev/mmcblkXboot1, where X is the index of the
9+parent /dev/mmcblkX.
10+
11+MMC Boot Partitions
12+===================
13+
14+Read and write access is provided to the two MMC boot partitions. Due to
15+the sensitive nature of the boot partition contents, which often store
16+a bootloader or bootloader configuration tables crucial to booting the
17+platform, write access is disabled by default to reduce the chance of
18+accidental bricking.
19+
20+To enable write access to /dev/mmcblkXbootY, disable the forced read-only
21+access with:
22+
23+echo 0 > /sys/block/mmcblkXbootY/force_ro
24+
25+To re-enable read-only access:
26+
27+echo 1 > /sys/block/mmcblkXbootY/force_ro
Documentation/networking/3c359.txt+1−1
@@ -45,7 +45,7 @@ debugging messages on, that must be done by modified the source code. · 44 unmodified lines
4545
4646 Variable MTU size:
4747
48−The driver can handle a MTU size upto either 4500 or 18000 depending upon
48+The driver can handle a MTU size up to either 4500 or 18000 depending upon
4949 ring speed. The driver also changes the size of the receive buffers as part
5050 of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
5151 to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
Documentation/networking/README.ipw2200+1−1
@@ -256,7 +256,7 @@ You can set the debug level via: · 255 unmodified lines
256256
257257 Where $VALUE would be a number in the case of this sysfs entry. The
258258 input to sysfs files does not have to be a number. For example, the
259−firmware loader used by hotplug utilizes sysfs entries for transfering
259+firmware loader used by hotplug utilizes sysfs entries for transferring
260260 the firmware image from user space into the driver.
261261
262262 The Intel(R) PRO/Wireless 2915ABG Driver for Linux exposes sysfs entries
Documentation/networking/batman-adv.txt+7−6
@@ -1,4 +1,4 @@
1−[state: 27-01-2011]
1+[state: 17-04-2011]
22
33 BATMAN-ADV
44 ----------
@@ -19,6 +19,7 @@ duce the overhead to a minimum. It does not depend on any (other) · 14 unmodified lines
1919 network driver, and can be used on wifi as well as ethernet lan,
2020 vpn, etc ... (anything with ethernet-style layer 2).
2121
22+
2223 CONFIGURATION
2324 -------------
2425
@@ -72,7 +73,7 @@ folder: · 47 unmodified lines
7273 # fragmentation gw_sel_class vis_mode
7374
7475
75−There is a special folder for debugging informations:
76+There is a special folder for debugging information:
7677
7778 # ls /sys/kernel/debug/batman_adv/bat0/
7879 # gateways socket transtable_global vis_data
@@ -160,13 +161,13 @@ face. Each entry can/has to have the following values: · 81 unmodified lines
160161 -> "TQ mac value" - src mac's link quality towards mac address
161162 of a neighbor originator's interface which
162163 is being used for routing
163−-> "HNA mac" - HNA announced by source mac
164+-> "TT mac" - TT announced by source mac
164165 -> "PRIMARY" - this is a primary interface
165166 -> "SEC mac" - secondary mac address of source
166167 (requires preceding PRIMARY)
167168
168169 The TQ value has a range from 4 to 255 with 255 being the best.
169−The HNA entries are showing which hosts are connected to the mesh
170+The TT entries are showing which hosts are connected to the mesh
170171 via bat0 or being bridged into the mesh network. The PRIMARY/SEC
171172 values are only applied on primary interfaces
172173
@@ -199,7 +200,7 @@ abled during run time. Following log_levels are defined: · 26 unmodified lines
199200
200201 0 - All debug output disabled
201202 1 - Enable messages related to routing / flooding / broadcasting
202−2 - Enable route or hna added / changed / deleted
203+2 - Enable route or tt entry added / changed / deleted
203204 3 - Enable all messages
204205
205206 The debug output can be changed at runtime using the file
@@ -207,7 +208,7 @@ The debug output can be changed at runtime using the file · 1 unmodified line
207208
208209 # echo 2 > /sys/class/net/bat0/mesh/log_level
209210
210−will enable debug messages for when routes or HNAs change.
211+will enable debug messages for when routes or TTs change.
211212
212213
213214 BATCTL
Documentation/networking/bonding.txt+27−20
@@ -1,7 +1,7 @@
11
22 Linux Ethernet Bonding Driver HOWTO
33
4− Latest update: 23 September 2009
4+ Latest update: 27 April 2011
55
66 Initial release : Thomas Davis <tadavis at lbl.gov>
77 Corrections, HA extensions : 2000/10/03-15 :
@@ -368,7 +368,7 @@ fail_over_mac · 360 unmodified lines
368368 gratuitous ARP is lost, communication may be
369369 disrupted.
370370
371− When this policy is used in conjuction with the mii
371+ When this policy is used in conjunction with the mii
372372 monitor, devices which assert link up prior to being
373373 able to actually transmit and receive are particularly
374374 susceptible to loss of the gratuitous ARP, and an
@@ -585,25 +585,23 @@ mode · 210 unmodified lines
585585 chosen.
586586
587587 num_grat_arp
588−
589− Specifies the number of gratuitous ARPs to be issued after a
590− failover event. One gratuitous ARP is issued immediately after
591− the failover, subsequent ARPs are sent at a rate of one per link
592− monitor interval (arp_interval or miimon, whichever is active).
593−
594− The valid range is 0 - 255; the default value is 1. This option
595− affects only the active-backup mode. This option was added for
596− bonding version 3.3.0.
597−
598588 num_unsol_na
599589
600− Specifies the number of unsolicited IPv6 Neighbor Advertisements
601− to be issued after a failover event. One unsolicited NA is issued
602− immediately after the failover.
590+ Specify the number of peer notifications (gratuitous ARPs and
591+ unsolicited IPv6 Neighbor Advertisements) to be issued after a
592+ failover event. As soon as the link is up on the new slave
593+ (possibly immediately) a peer notification is sent on the
594+ bonding device and each VLAN sub-device. This is repeated at
595+ each link monitor interval (arp_interval or miimon, whichever
596+ is active) if the number is greater than 1.
603597
604− The valid range is 0 - 255; the default value is 1. This option
605− affects only the active-backup mode. This option was added for
606− bonding version 3.4.0.
598+ The valid range is 0 - 255; the default value is 1. These options
599+ affect only the active-backup mode. These options were added for
600+ bonding versions 3.3.0 and 3.4.0 respectively.
601+
602+ From Linux 2.6.40 and bonding version 3.7.1, these notifications
603+ are generated by the ipv4 and ipv6 code and the numbers of
604+ repetitions cannot be set independently.
607605
608606 primary
609607
@@ -772,8 +770,17 @@ resend_igmp · 162 unmodified lines
772770 a failover event. One membership report is issued immediately after
773771 the failover, subsequent packets are sent in each 200ms interval.
774772
775− The valid range is 0 - 255; the default value is 1. This option
776− was added for bonding version 3.7.0.
773+ The valid range is 0 - 255; the default value is 1. A value of 0
774+ prevents the IGMP membership report from being issued in response
775+ to the failover event.
776+
777+ This option is useful for bonding modes balance-rr (0), active-backup
778+ (1), balance-tlb (5) and balance-alb (6), in which a failover can
779+ switch the IGMP traffic from one slave to another. Therefore a fresh
780+ IGMP report must be issued to cause the switch to forward the incoming
781+ IGMP traffic over the newly selected slave.
782+
783+ This option was added for bonding version 3.7.0.
777784
778785 3. Configuring Bonding Devices
779786 ==============================
Documentation/networking/caif/Linux-CAIF.txt+1−1
@@ -136,7 +136,7 @@ The CAIF Protocol implementation contains: · 135 unmodified lines
136136 - CFMUX CAIF Mux layer. Handles multiplexing between multiple
137137 physical bearers and multiple channels such as VEI, Datagram, etc.
138138 The MUX keeps track of the existing CAIF Channels and
139− Physical Instances and selects the apropriate instance based
139+ Physical Instances and selects the appropriate instance based
140140 on Channel-Id and Physical-ID.
141141
142142 - CFFRML CAIF Framing layer. Handles Framing i.e. Frame length
Documentation/networking/caif/spi_porting.txt+1−1
@@ -150,7 +150,7 @@ static int sspi_init_xfer(struct cfspi_xfer *xfer, struct cfspi_dev *dev) · 149 unmodified lines
150150 void sspi_sig_xfer(bool xfer, struct cfspi_dev *dev)
151151 {
152152 /* If xfer is true then you should assert the SPI_INT to indicate to
153− * the master that you are ready to recieve the data from the master
153+ * the master that you are ready to receive the data from the master
154154 * SPI. If xfer is false then you should de-assert SPI_INT to indicate
155155 * that the transfer is done.
156156 */
Documentation/networking/can.txt+1−1
@@ -240,7 +240,7 @@ solution for a couple of reasons: · 239 unmodified lines
240240 the user application using the common CAN filter mechanisms. Inside
241241 this filter definition the (interested) type of errors may be
242242 selected. The reception of error frames is disabled by default.
243− The format of the CAN error frame is briefly decribed in the Linux
243+ The format of the CAN error frame is briefly described in the Linux
244244 header file "include/linux/can/error.h".
245245
246246 4. How to use Socket CAN
Documentation/networking/dns_resolver.txt+2−2
@@ -139,8 +139,8 @@ the key will be discarded and recreated when the data it holds has expired. · 138 unmodified lines
139139 dns_query() returns a copy of the value attached to the key, or an error if
140140 that is indicated instead.
141141
142−See <file:Documentation/keys-request-key.txt> for further information about
143−request-key function.
142+See <file:Documentation/security/keys-request-key.txt> for further
143+information about request-key function.
144144
145145
146146 =========
Documentation/networking/ieee802154.txt+1−1
@@ -9,7 +9,7 @@ The Linux-ZigBee project goal is to provide complete implementation · 8 unmodified lines
99 of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack
1010 of protocols for organizing Low-Rate Wireless Personal Area Networks.
1111
12−Currently only IEEE 802.15.4 layer is implemented. We have choosen
12+Currently only IEEE 802.15.4 layer is implemented. We have chosen
1313 to use plain Berkeley socket API, the generic Linux networking stack
1414 to transfer IEEE 802.15.4 messages and a special protocol over genetlink
1515 for configuration/management
Documentation/networking/igb.txt+13−0
@@ -93,6 +93,19 @@ Additional Configurations · 92 unmodified lines
9393 REQUIREMENTS: MSI-X support is required for Multiqueue. If MSI-X is not
9494 found, the system will fallback to MSI or to Legacy interrupts.
9595
96+ MAC and VLAN anti-spoofing feature
97+ ----------------------------------
98+ When a malicious driver attempts to send a spoofed packet, it is dropped by
99+ the hardware and not transmitted. An interrupt is sent to the PF driver
100+ notifying it of the spoof attempt.
101+
102+ When a spoofed packet is detected the PF driver will send the following
103+ message to the system log (displayed by the "dmesg" command):
104+
105+ Spoof event(s) detected on VF(n)
106+
107+ Where n=the VF that attempted to do the spoofing.
108+
96109 Support
97110 =======
98111
Documentation/networking/olympic.txt+1−1
@@ -65,7 +65,7 @@ together. · 64 unmodified lines
6565
6666 Variable MTU size:
6767
68−The driver can handle a MTU size upto either 4500 or 18000 depending upon
68+The driver can handle a MTU size up to either 4500 or 18000 depending upon
6969 ring speed. The driver also changes the size of the receive buffers as part
7070 of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
7171 to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
Documentation/networking/packet_mmap.txt+1−1
@@ -223,7 +223,7 @@ we will get the following buffer structure: · 222 unmodified lines
223223
224224 A frame can be of any size with the only condition it can fit in a block. A block
225225 can only hold an integer number of frames, or in other words, a frame cannot
226−be spawned accross two blocks, so there are some details you have to take into
226+be spawned across two blocks, so there are some details you have to take into
227227 account when choosing the frame_size. See "Mapping and use of the circular
228228 buffer (ring)".
229229
Documentation/networking/s2io.txt+2−2
@@ -37,7 +37,7 @@ To associate an interface with a physical adapter use "ethtool -p <ethX>". · 36 unmodified lines
3737 The corresponding adapter's LED will blink multiple times.
3838
3939 3. Features supported:
40−a. Jumbo frames. Xframe I/II supports MTU upto 9600 bytes,
40+a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes,
4141 modifiable using ifconfig command.
4242
4343 b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit
@@ -49,7 +49,7 @@ significant performance improvement on certain platforms(SGI Altix, · 5 unmodified lines
4949 IBM xSeries).
5050
5151 d. MSI/MSI-X. Can be enabled on platforms which support this feature
52−(IA64, Xeon) resulting in noticeable performance improvement(upto 7%
52+(IA64, Xeon) resulting in noticeable performance improvement(up to 7%
5353 on certain platforms).
5454
5555 e. Statistics. Comprehensive MAC-level and software statistics displayed
Documentation/networking/tc-actions-env-rules.txt+2−2
@@ -1,5 +1,5 @@
11
2−The "enviromental" rules for authors of any new tc actions are:
2+The "environmental" rules for authors of any new tc actions are:
33
44 1) If you stealeth or borroweth any packet thou shalt be branching
55 from the righteous path and thou shalt cloneth.
@@ -20,7 +20,7 @@ this way any action downstream can stomp on the packet. · 14 unmodified lines
2020 3) Dropping packets you don't own is a no-no. You simply return
2121 TC_ACT_SHOT to the caller and they will drop it.
2222
23−The "enviromental" rules for callers of actions (qdiscs etc) are:
23+The "environmental" rules for callers of actions (qdiscs etc) are:
2424
2525 *) Thou art responsible for freeing anything returned as being
2626 TC_ACT_SHOT/STOLEN/QUEUED. If none of TC_ACT_SHOT/STOLEN/QUEUED is
Documentation/power/devices.txt+10−6
@@ -279,11 +279,15 @@ When the system goes into the standby or memory sleep state, the phases are: · 278 unmodified lines
279279 time.) Unlike the other suspend-related phases, during the prepare
280280 phase the device tree is traversed top-down.
281281
282− The prepare phase uses only a bus callback. After the callback method
283− returns, no new children may be registered below the device. The method
284− may also prepare the device or driver in some way for the upcoming
285− system power transition, but it should not put the device into a
286− low-power state.
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+
286+ After the prepare callback method returns, no new children may be
287+ registered below the device. The method may also prepare the device or
288+ driver in some way for the upcoming system power transition (for
289+ example, by allocating additional memory required for this purpose), but
290+ it should not put the device into a low-power state.
287291
288292 2. The suspend methods should quiesce the device to stop it from performing
289293 I/O. They also may save the device registers and put it into the
@@ -367,7 +371,7 @@ Drivers need to be able to handle hardware which has been reset since the · 77 unmodified lines
367371 suspend methods were called, for example by complete reinitialization.
368372 This may be the hardest part, and the one most protected by NDA'd documents
369373 and chip errata. It's simplest if the hardware state hasn't changed since
370−the suspend was carried out, but that can't be guaranteed (in fact, it ususally
374+the suspend was carried out, but that can't be guaranteed (in fact, it usually
371375 is not the case).
372376
373377 Drivers must also be prepared to notice that the device has been removed
Documentation/power/notifiers.txt+24−29
@@ -1,46 +1,41 @@
11 Suspend notifiers
2− (C) 2007 Rafael J. Wysocki <rjw@sisk.pl>, GPL
3−
4−There are some operations that device drivers may want to carry out in their
5−.suspend() routines, but shouldn't, because they can cause the hibernation or
6−suspend to fail. For example, a driver may want to allocate a substantial amount
7−of memory (like 50 MB) in .suspend(), but that shouldn't be done after the
8−swsusp's memory shrinker has run.
9−
10−Also, there may be some operations, that subsystems want to carry out before a
11−hibernation/suspend or after a restore/resume, requiring the system to be fully
12−functional, so the drivers' .suspend() and .resume() routines are not suitable
13−for this purpose. For example, device drivers may want to upload firmware to
14−their devices after a restore from a hibernation image, but they cannot do it by
15−calling request_firmware() from their .resume() routines (user land processes
16−are frozen at this point). The solution may be to load the firmware into
17−memory before processes are frozen and upload it from there in the .resume()
18−routine. Of course, a hibernation notifier may be used for this purpose.
19−
20−The subsystems that have such needs can register suspend notifiers that will be
21−called upon the following events by the suspend core:
2+ (C) 2007-2011 Rafael J. Wysocki <rjw@sisk.pl>, GPL
3+
4+There are some operations that subsystems or drivers may want to carry out
5+before hibernation/suspend or after restore/resume, but they require the system
6+to be fully functional, so the drivers' and subsystems' .suspend() and .resume()
7+or even .prepare() and .complete() callbacks are not suitable for this purpose.
8+For example, device drivers may want to upload firmware to their devices after
9+resume/restore, but they cannot do it by calling request_firmware() from their
10+.resume() or .complete() routines (user land processes are frozen at these
11+points). The solution may be to load the firmware into memory before processes
12+are frozen and upload it from there in the .resume() routine.
13+A suspend/hibernation notifier may be used for this purpose.
14+
15+The subsystems or drivers having such needs can register suspend notifiers that
16+will be called upon the following events by the PM core:
2217
2318 PM_HIBERNATION_PREPARE The system is going to hibernate or suspend, tasks will
2419 be frozen immediately.
2520
2621 PM_POST_HIBERNATION The system memory state has been restored from a
27− hibernation image or an error occured during the
28− hibernation. Device drivers' .resume() callbacks have
22+ hibernation image or an error occurred during
23+ hibernation. Device drivers' restore callbacks have
2924 been executed and tasks have been thawed.
3025
3126 PM_RESTORE_PREPARE The system is going to restore a hibernation image.
32− If all goes well the restored kernel will issue a
27+ If all goes well, the restored kernel will issue a
3328 PM_POST_HIBERNATION notification.
3429
35−PM_POST_RESTORE An error occurred during the hibernation restore.
36− Device drivers' .resume() callbacks have been executed
30+PM_POST_RESTORE An error occurred during restore from hibernation.
31+ Device drivers' restore callbacks have been executed
3732 and tasks have been thawed.
3833
39−PM_SUSPEND_PREPARE The system is preparing for a suspend.
34+PM_SUSPEND_PREPARE The system is preparing for suspend.
4035
41−PM_POST_SUSPEND The system has just resumed or an error occured during
42− the suspend. Device drivers' .resume() callbacks have
43− been executed and tasks have been thawed.
36+PM_POST_SUSPEND The system has just resumed or an error occurred during
37+ suspend. Device drivers' resume callbacks have been
38+ executed and tasks have been thawed.
4439
4540 It is generally assumed that whatever the notifiers do for
4641 PM_HIBERNATION_PREPARE, should be undone for PM_POST_HIBERNATION. Analogously,
Documentation/power/opp.txt+1−1
@@ -178,7 +178,7 @@ opp_find_freq_ceil - Search for an available OPP which is *at least* the · 177 unmodified lines
178178 if (!IS_ERR(opp))
179179 soc_switch_to_freq_voltage(freq);
180180 else
181− /* do something when we cant satisfy the req */
181+ /* do something when we can't satisfy the req */
182182 /* do other stuff */
183183 }
184184
Documentation/power/regulator/machine.txt+2−2
@@ -53,11 +53,11 @@ static struct regulator_init_data regulator1_data = { · 52 unmodified lines
5353
5454 Regulator-1 supplies power to Regulator-2. This relationship must be registered
5555 with the core so that Regulator-1 is also enabled when Consumer A enables its
56−supply (Regulator-2). The supply regulator is set by the supply_regulator_dev
56+supply (Regulator-2). The supply regulator is set by the supply_regulator
5757 field below:-
5858
5959 static struct regulator_init_data regulator2_data = {
60− .supply_regulator_dev = &platform_regulator1_device.dev,
60+ .supply_regulator = "regulator_name",
6161 .constraints = {
6262 .min_uV = 1800000,
6363 .max_uV = 2000000,
Documentation/power/swsusp.txt+2−2
@@ -192,7 +192,7 @@ Q: There don't seem to be any generally useful behavioral · 191 unmodified lines
192192 distinctions between SUSPEND and FREEZE.
193193
194194 A: Doing SUSPEND when you are asked to do FREEZE is always correct,
195−but it may be unneccessarily slow. If you want your driver to stay simple,
195+but it may be unnecessarily slow. If you want your driver to stay simple,
196196 slowness may not matter to you. It can always be fixed later.
197197
198198 For devices like disk it does matter, you do not want to spindown for
@@ -237,7 +237,7 @@ disk. Whole sequence goes like · 38 unmodified lines
237237
238238 running system, user asks for suspend-to-disk
239239
240− user processes are stopped (in common case there are none, but with resume-from-initrd, noone knows)
240+ user processes are stopped (in common case there are none, but with resume-from-initrd, no one knows)
241241
242242 read image from disk
243243
Documentation/power/userland-swsusp.txt+3−3
@@ -98,7 +98,7 @@ SNAPSHOT_S2RAM - suspend to RAM; using this call causes the kernel to · 97 unmodified lines
9898 The device's read() operation can be used to transfer the snapshot image from
9999 the kernel. It has the following limitations:
100100 - you cannot read() more than one virtual memory page at a time
101−- read()s accross page boundaries are impossible (ie. if ypu read() 1/2 of
101+- read()s across page boundaries are impossible (ie. if ypu read() 1/2 of
102102 a page in the previous call, you will only be able to read()
103103 _at_ _most_ 1/2 of the page in the next call)
104104
@@ -137,7 +137,7 @@ mechanism and the userland utilities using the interface SHOULD use additional · 32 unmodified lines
137137 means, such as checksums, to ensure the integrity of the snapshot image.
138138
139139 The suspending and resuming utilities MUST lock themselves in memory,
140−preferrably using mlockall(), before calling SNAPSHOT_FREEZE.
140+preferably using mlockall(), before calling SNAPSHOT_FREEZE.
141141
142142 The suspending utility MUST check the value stored by SNAPSHOT_CREATE_IMAGE
143143 in the memory location pointed to by the last argument of ioctl() and proceed
@@ -147,7 +147,7 @@ in accordance with it: · 3 unmodified lines
147147 (a) The suspending utility MUST NOT close the snapshot device
148148 _unless_ the whole suspend procedure is to be cancelled, in
149149 which case, if the snapshot image has already been saved, the
150− suspending utility SHOULD destroy it, preferrably by zapping
150+ suspending utility SHOULD destroy it, preferably by zapping
151151 its header. If the suspend is not to be cancelled, the
152152 system MUST be powered off or rebooted after the snapshot
153153 image has been saved.
Documentation/powerpc/hvcs.txt+1−1
@@ -528,7 +528,7 @@ this driver assignment of hotplug added vty-servers may be in a different · 527 unmodified lines
528528 order than how they would be exposed on module load. Rebooting or
529529 reloading the module after dynamic addition may result in the /dev/hvcs*
530530 and vty-server coupling changing if a vty-server adapter was added in a
531−slot inbetween two other vty-server adapters. Refer to the section above
531+slot between two other vty-server adapters. Refer to the section above
532532 on how to determine which vty-server goes with which /dev/hvcs* node.
533533 Hint; look at the sysfs "index" attribute for the vty-server.
534534
Documentation/pti/pti_intel_mid.txt+99−0
@@ -0,0 +1,99 @@
1+The Intel MID PTI project is HW implemented in Intel Atom
2+system-on-a-chip designs based on the Parallel Trace
3+Interface for MIPI P1149.7 cJTAG standard. The kernel solution
4+for this platform involves the following files:
5+
6+./include/linux/pti.h
7+./drivers/.../n_tracesink.h
8+./drivers/.../n_tracerouter.c
9+./drivers/.../n_tracesink.c
10+./drivers/.../pti.c
11+
12+pti.c is the driver that enables various debugging features
13+popular on platforms from certain mobile manufacturers.
14+n_tracerouter.c and n_tracesink.c allow extra system information to
15+be collected and routed to the pti driver, such as trace
16+debugging data from a modem. Although n_tracerouter
17+and n_tracesink are a part of the complete PTI solution,
18+these two line disciplines can work separately from
19+pti.c and route any data stream from one /dev/tty node
20+to another /dev/tty node via kernel-space. This provides
21+a stable, reliable connection that will not break unless
22+the user-space application shuts down (plus avoids
23+kernel->user->kernel context switch overheads of routing
24+data).
25+
26+An example debugging usage for this driver system:
27+ *Hook /dev/ttyPTI0 to syslogd. Opening this port will also start
28+ a console device to further capture debugging messages to PTI.
29+ *Hook /dev/ttyPTI1 to modem debugging data to write to PTI HW.
30+ This is where n_tracerouter and n_tracesink are used.
31+ *Hook /dev/pti to a user-level debugging application for writing
32+ to PTI HW.
33+ *Use mipi_* Kernel Driver API in other device drivers for
34+ debugging to PTI by first requesting a PTI write address via
35+ mipi_request_masterchannel(1).
36+
37+Below is example pseudo-code on how a 'privileged' application
38+can hook up n_tracerouter and n_tracesink to any tty on
39+a system. 'Privileged' means the application has enough
40+privileges to successfully manipulate the ldisc drivers
41+but is not just blindly executing as 'root'. Keep in mind
42+the use of ioctl(,TIOCSETD,) is not specific to the n_tracerouter
43+and n_tracesink line discpline drivers but is a generic
44+operation for a program to use a line discpline driver
45+on a tty port other than the default n_tty.
46+
47+/////////// To hook up n_tracerouter and n_tracesink /////////
48+
49+// Note that n_tracerouter depends on n_tracesink.
50+#include <errno.h>
51+#define ONE_TTY "/dev/ttyOne"
52+#define TWO_TTY "/dev/ttyTwo"
53+
54+// needed global to hand onto ldisc connection
55+static int g_fd_source = -1;
56+static int g_fd_sink = -1;
57+
58+// these two vars used to grab LDISC values from loaded ldisc drivers
59+// in OS. Look at /proc/tty/ldiscs to get the right numbers from
60+// the ldiscs loaded in the system.
61+int source_ldisc_num, sink_ldisc_num = -1;
62+int retval;
63+
64+g_fd_source = open(ONE_TTY, O_RDWR); // must be R/W
65+g_fd_sink = open(TWO_TTY, O_RDWR); // must be R/W
66+
67+if (g_fd_source <= 0) || (g_fd_sink <= 0) {
68+ // doubt you'll want to use these exact error lines of code
69+ printf("Error on open(). errno: %d\n",errno);
70+ return errno;
71+}
72+
73+retval = ioctl(g_fd_sink, TIOCSETD, &sink_ldisc_num);
74+if (retval < 0) {
75+ printf("Error on ioctl(). errno: %d\n", errno);
76+ return errno;
77+}
78+
79+retval = ioctl(g_fd_source, TIOCSETD, &source_ldisc_num);
80+if (retval < 0) {
81+ printf("Error on ioctl(). errno: %d\n", errno);
82+ return errno;
83+}
84+
85+/////////// To disconnect n_tracerouter and n_tracesink ////////
86+
87+// First make sure data through the ldiscs has stopped.
88+
89+// Second, disconnect ldiscs. This provides a
90+// little cleaner shutdown on tty stack.
91+sink_ldisc_num = 0;
92+source_ldisc_num = 0;
93+ioctl(g_fd_uart, TIOCSETD, &sink_ldisc_num);
94+ioctl(g_fd_gadget, TIOCSETD, &source_ldisc_num);
95+
96+// Three, program closes connection, and cleanup:
97+close(g_fd_uart);
98+close(g_fd_gadget);
99+g_fd_uart = g_fd_gadget = NULL;
Documentation/ptp/ptp.txt+89−0
@@ -0,0 +1,89 @@
1+
2+* PTP hardware clock infrastructure for Linux
3+
4+ This patch set introduces support for IEEE 1588 PTP clocks in
5+ Linux. Together with the SO_TIMESTAMPING socket options, this
6+ presents a standardized method for developing PTP user space
7+ programs, synchronizing Linux with external clocks, and using the
8+ ancillary features of PTP hardware clocks.
9+
10+ A new class driver exports a kernel interface for specific clock
11+ drivers and a user space interface. The infrastructure supports a
12+ complete set of PTP hardware clock functionality.
13+
14+ + Basic clock operations
15+ - Set time
16+ - Get time
17+ - Shift the clock by a given offset atomically
18+ - Adjust clock frequency
19+
20+ + Ancillary clock features
21+ - One short or periodic alarms, with signal delivery to user program
22+ - Time stamp external events
23+ - Period output signals configurable from user space
24+ - Synchronization of the Linux system time via the PPS subsystem
25+
26+** PTP hardware clock kernel API
27+
28+ A PTP clock driver registers itself with the class driver. The
29+ class driver handles all of the dealings with user space. The
30+ author of a clock driver need only implement the details of
31+ programming the clock hardware. The clock driver notifies the class
32+ driver of asynchronous events (alarms and external time stamps) via
33+ a simple message passing interface.
34+
35+ The class driver supports multiple PTP clock drivers. In normal use
36+ cases, only one PTP clock is needed. However, for testing and
37+ development, it can be useful to have more than one clock in a
38+ single system, in order to allow performance comparisons.
39+
40+** PTP hardware clock user space API
41+
42+ The class driver also creates a character device for each
43+ registered clock. User space can use an open file descriptor from
44+ the character device as a POSIX clock id and may call
45+ clock_gettime, clock_settime, and clock_adjtime. These calls
46+ implement the basic clock operations.
47+
48+ User space programs may control the clock using standardized
49+ ioctls. A program may query, enable, configure, and disable the
50+ ancillary clock features. User space can receive time stamped
51+ events via blocking read() and poll(). One shot and periodic
52+ signals may be configured via the POSIX timer_settime() system
53+ call.
54+
55+** Writing clock drivers
56+
57+ Clock drivers include include/linux/ptp_clock_kernel.h and register
58+ themselves by presenting a 'struct ptp_clock_info' to the
59+ registration method. Clock drivers must implement all of the
60+ functions in the interface. If a clock does not offer a particular
61+ ancillary feature, then the driver should just return -EOPNOTSUPP
62+ from those functions.
63+
64+ Drivers must ensure that all of the methods in interface are
65+ reentrant. Since most hardware implementations treat the time value
66+ as a 64 bit integer accessed as two 32 bit registers, drivers
67+ should use spin_lock_irqsave/spin_unlock_irqrestore to protect
68+ against concurrent access. This locking cannot be accomplished in
69+ class driver, since the lock may also be needed by the clock
70+ driver's interrupt service routine.
71+
72+** Supported hardware
73+
74+ + Freescale eTSEC gianfar
75+ - 2 Time stamp external triggers, programmable polarity (opt. interrupt)
76+ - 2 Alarm registers (optional interrupt)
77+ - 3 Periodic signals (optional interrupt)
78+
79+ + National DP83640
80+ - 6 GPIOs programmable as inputs or outputs
81+ - 6 GPIOs with dedicated functions (LED/JTAG/clock) can also be
82+ used as general inputs or outputs
83+ - GPIO inputs can time stamp external triggers
84+ - GPIO outputs can produce periodic signals
85+ - 1 interrupt pin
86+
87+ + Intel IXP465
88+ - Auxiliary Slave/Master Mode Snapshot (optional interrupt)
89+ - Target Time (optional interrupt)
Documentation/ptp/testptp.c+381−0
@@ -0,0 +1,381 @@
1+/*
2+ * PTP 1588 clock support - User space test program
3+ *
4+ * Copyright (C) 2010 OMICRON electronics GmbH
5+ *
6+ * This program is free software; you can redistribute it and/or modify
7+ * it under the terms of the GNU General Public License as published by
8+ * the Free Software Foundation; either version 2 of the License, or
9+ * (at your option) any later version.
10+ *
11+ * This program is distributed in the hope that it will be useful,
12+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+ * GNU General Public License for more details.
15+ *
16+ * You should have received a copy of the GNU General Public License
17+ * along with this program; if not, write to the Free Software
18+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19+ */
20+#include <errno.h>
21+#include <fcntl.h>
22+#include <math.h>
23+#include <signal.h>
24+#include <stdio.h>
25+#include <stdlib.h>
26+#include <string.h>
27+#include <sys/ioctl.h>
28+#include <sys/mman.h>
29+#include <sys/stat.h>
30+#include <sys/time.h>
31+#include <sys/timex.h>
32+#include <sys/types.h>
33+#include <time.h>
34+#include <unistd.h>
35+
36+#include <linux/ptp_clock.h>
37+
38+#define DEVICE "/dev/ptp0"
39+
40+#ifndef ADJ_SETOFFSET
41+#define ADJ_SETOFFSET 0x0100
42+#endif
43+
44+#ifndef CLOCK_INVALID
45+#define CLOCK_INVALID -1
46+#endif
47+
48+/* When glibc offers the syscall, this will go away. */
49+#include <sys/syscall.h>
50+static int clock_adjtime(clockid_t id, struct timex *tx)
51+{
52+ return syscall(__NR_clock_adjtime, id, tx);
53+}
54+
55+static clockid_t get_clockid(int fd)
56+{
57+#define CLOCKFD 3
58+#define FD_TO_CLOCKID(fd) ((~(clockid_t) (fd) << 3) | CLOCKFD)
59+
60+ return FD_TO_CLOCKID(fd);
61+}
62+
63+static void handle_alarm(int s)
64+{
65+ printf("received signal %d\n", s);
66+}
67+
68+static int install_handler(int signum, void (*handler)(int))
69+{
70+ struct sigaction action;
71+ sigset_t mask;
72+
73+ /* Unblock the signal. */
74+ sigemptyset(&mask);
75+ sigaddset(&mask, signum);
76+ sigprocmask(SIG_UNBLOCK, &mask, NULL);
77+
78+ /* Install the signal handler. */
79+ action.sa_handler = handler;
80+ action.sa_flags = 0;
81+ sigemptyset(&action.sa_mask);
82+ sigaction(signum, &action, NULL);
83+
84+ return 0;
85+}
86+
87+static long ppb_to_scaled_ppm(int ppb)
88+{
89+ /*
90+ * The 'freq' field in the 'struct timex' is in parts per
91+ * million, but with a 16 bit binary fractional field.
92+ * Instead of calculating either one of
93+ *
94+ * scaled_ppm = (ppb / 1000) << 16 [1]
95+ * scaled_ppm = (ppb << 16) / 1000 [2]
96+ *
97+ * we simply use double precision math, in order to avoid the
98+ * truncation in [1] and the possible overflow in [2].
99+ */
100+ return (long) (ppb * 65.536);
101+}
102+
103+static void usage(char *progname)
104+{
105+ fprintf(stderr,
106+ "usage: %s [options]\n"
107+ " -a val request a one-shot alarm after 'val' seconds\n"
108+ " -A val request a periodic alarm every 'val' seconds\n"
109+ " -c query the ptp clock's capabilities\n"
110+ " -d name device to open\n"
111+ " -e val read 'val' external time stamp events\n"
112+ " -f val adjust the ptp clock frequency by 'val' ppb\n"
113+ " -g get the ptp clock time\n"
114+ " -h prints this message\n"
115+ " -p val enable output with a period of 'val' nanoseconds\n"
116+ " -P val enable or disable (val=1|0) the system clock PPS\n"
117+ " -s set the ptp clock time from the system time\n"
118+ " -S set the system time from the ptp clock time\n"
119+ " -t val shift the ptp clock time by 'val' seconds\n",
120+ progname);
121+}
122+
123+int main(int argc, char *argv[])
124+{
125+ struct ptp_clock_caps caps;
126+ struct ptp_extts_event event;
127+ struct ptp_extts_request extts_request;
128+ struct ptp_perout_request perout_request;
129+ struct timespec ts;
130+ struct timex tx;
131+
132+ static timer_t timerid;
133+ struct itimerspec timeout;
134+ struct sigevent sigevent;
135+
136+ char *progname;
137+ int c, cnt, fd;
138+
139+ char *device = DEVICE;
140+ clockid_t clkid;
141+ int adjfreq = 0x7fffffff;
142+ int adjtime = 0;
143+ int capabilities = 0;
144+ int extts = 0;
145+ int gettime = 0;
146+ int oneshot = 0;
147+ int periodic = 0;
148+ int perout = -1;
149+ int pps = -1;
150+ int settime = 0;
151+
152+ progname = strrchr(argv[0], '/');
153+ progname = progname ? 1+progname : argv[0];
154+ while (EOF != (c = getopt(argc, argv, "a:A:cd:e:f:ghp:P:sSt:v"))) {
155+ switch (c) {
156+ case 'a':
157+ oneshot = atoi(optarg);
158+ break;
159+ case 'A':
160+ periodic = atoi(optarg);
161+ break;
162+ case 'c':
163+ capabilities = 1;
164+ break;
165+ case 'd':
166+ device = optarg;
167+ break;
168+ case 'e':
169+ extts = atoi(optarg);
170+ break;
171+ case 'f':
172+ adjfreq = atoi(optarg);
173+ break;
174+ case 'g':
175+ gettime = 1;
176+ break;
177+ case 'p':
178+ perout = atoi(optarg);
179+ break;
180+ case 'P':
181+ pps = atoi(optarg);
182+ break;
183+ case 's':
184+ settime = 1;
185+ break;
186+ case 'S':
187+ settime = 2;
188+ break;
189+ case 't':
190+ adjtime = atoi(optarg);
191+ break;
192+ case 'h':
193+ usage(progname);
194+ return 0;
195+ case '?':
196+ default:
197+ usage(progname);
198+ return -1;
199+ }
200+ }
201+
202+ fd = open(device, O_RDWR);
203+ if (fd < 0) {
204+ fprintf(stderr, "opening %s: %s\n", device, strerror(errno));
205+ return -1;
206+ }
207+
208+ clkid = get_clockid(fd);
209+ if (CLOCK_INVALID == clkid) {
210+ fprintf(stderr, "failed to read clock id\n");
211+ return -1;
212+ }
213+
214+ if (capabilities) {
215+ if (ioctl(fd, PTP_CLOCK_GETCAPS, &caps)) {
216+ perror("PTP_CLOCK_GETCAPS");
217+ } else {
218+ printf("capabilities:\n"
219+ " %d maximum frequency adjustment (ppb)\n"
220+ " %d programmable alarms\n"
221+ " %d external time stamp channels\n"
222+ " %d programmable periodic signals\n"
223+ " %d pulse per second\n",
224+ caps.max_adj,
225+ caps.n_alarm,
226+ caps.n_ext_ts,
227+ caps.n_per_out,
228+ caps.pps);
229+ }
230+ }
231+
232+ if (0x7fffffff != adjfreq) {
233+ memset(&tx, 0, sizeof(tx));
234+ tx.modes = ADJ_FREQUENCY;
235+ tx.freq = ppb_to_scaled_ppm(adjfreq);
236+ if (clock_adjtime(clkid, &tx)) {
237+ perror("clock_adjtime");
238+ } else {
239+ puts("frequency adjustment okay");
240+ }
241+ }
242+
243+ if (adjtime) {
244+ memset(&tx, 0, sizeof(tx));
245+ tx.modes = ADJ_SETOFFSET;
246+ tx.time.tv_sec = adjtime;
247+ tx.time.tv_usec = 0;
248+ if (clock_adjtime(clkid, &tx) < 0) {
249+ perror("clock_adjtime");
250+ } else {
251+ puts("time shift okay");
252+ }
253+ }
254+
255+ if (gettime) {
256+ if (clock_gettime(clkid, &ts)) {
257+ perror("clock_gettime");
258+ } else {
259+ printf("clock time: %ld.%09ld or %s",
260+ ts.tv_sec, ts.tv_nsec, ctime(&ts.tv_sec));
261+ }
262+ }
263+
264+ if (settime == 1) {
265+ clock_gettime(CLOCK_REALTIME, &ts);
266+ if (clock_settime(clkid, &ts)) {
267+ perror("clock_settime");
268+ } else {
269+ puts("set time okay");
270+ }
271+ }
272+
273+ if (settime == 2) {
274+ clock_gettime(clkid, &ts);
275+ if (clock_settime(CLOCK_REALTIME, &ts)) {
276+ perror("clock_settime");
277+ } else {
278+ puts("set time okay");
279+ }
280+ }
281+
282+ if (extts) {
283+ memset(&extts_request, 0, sizeof(extts_request));
284+ extts_request.index = 0;
285+ extts_request.flags = PTP_ENABLE_FEATURE;
286+ if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) {
287+ perror("PTP_EXTTS_REQUEST");
288+ extts = 0;
289+ } else {
290+ puts("external time stamp request okay");
291+ }
292+ for (; extts; extts--) {
293+ cnt = read(fd, &event, sizeof(event));
294+ if (cnt != sizeof(event)) {
295+ perror("read");
296+ break;
297+ }
298+ printf("event index %u at %lld.%09u\n", event.index,
299+ event.t.sec, event.t.nsec);
300+ fflush(stdout);
301+ }
302+ /* Disable the feature again. */
303+ extts_request.flags = 0;
304+ if (ioctl(fd, PTP_EXTTS_REQUEST, &extts_request)) {
305+ perror("PTP_EXTTS_REQUEST");
306+ }
307+ }
308+
309+ if (oneshot) {
310+ install_handler(SIGALRM, handle_alarm);
311+ /* Create a timer. */
312+ sigevent.sigev_notify = SIGEV_SIGNAL;
313+ sigevent.sigev_signo = SIGALRM;
314+ if (timer_create(clkid, &sigevent, &timerid)) {
315+ perror("timer_create");
316+ return -1;
317+ }
318+ /* Start the timer. */
319+ memset(&timeout, 0, sizeof(timeout));
320+ timeout.it_value.tv_sec = oneshot;
321+ if (timer_settime(timerid, 0, &timeout, NULL)) {
322+ perror("timer_settime");
323+ return -1;
324+ }
325+ pause();
326+ timer_delete(timerid);
327+ }
328+
329+ if (periodic) {
330+ install_handler(SIGALRM, handle_alarm);
331+ /* Create a timer. */
332+ sigevent.sigev_notify = SIGEV_SIGNAL;
333+ sigevent.sigev_signo = SIGALRM;
334+ if (timer_create(clkid, &sigevent, &timerid)) {
335+ perror("timer_create");
336+ return -1;
337+ }
338+ /* Start the timer. */
339+ memset(&timeout, 0, sizeof(timeout));
340+ timeout.it_interval.tv_sec = periodic;
341+ timeout.it_value.tv_sec = periodic;
342+ if (timer_settime(timerid, 0, &timeout, NULL)) {
343+ perror("timer_settime");
344+ return -1;
345+ }
346+ while (1) {
347+ pause();
348+ }
349+ timer_delete(timerid);
350+ }
351+
352+ if (perout >= 0) {
353+ if (clock_gettime(clkid, &ts)) {
354+ perror("clock_gettime");
355+ return -1;
356+ }
357+ memset(&perout_request, 0, sizeof(perout_request));
358+ perout_request.index = 0;
359+ perout_request.start.sec = ts.tv_sec + 2;
360+ perout_request.start.nsec = 0;
361+ perout_request.period.sec = 0;
362+ perout_request.period.nsec = perout;
363+ if (ioctl(fd, PTP_PEROUT_REQUEST, &perout_request)) {
364+ perror("PTP_PEROUT_REQUEST");
365+ } else {
366+ puts("periodic output request okay");
367+ }
368+ }
369+
370+ if (pps != -1) {
371+ int enable = pps ? 1 : 0;
372+ if (ioctl(fd, PTP_ENABLE_PPS, enable)) {
373+ perror("PTP_ENABLE_PPS");
374+ } else {
375+ puts("pps for system time request okay");
376+ }
377+ }
378+
379+ close(fd);
380+ return 0;
381+}
Documentation/ptp/testptp.mk+33−0
@@ -0,0 +1,33 @@
1+# PTP 1588 clock support - User space test program
2+#
3+# Copyright (C) 2010 OMICRON electronics GmbH
4+#
5+# This program is free software; you can redistribute it and/or modify
6+# it under the terms of the GNU General Public License as published by
7+# the Free Software Foundation; either version 2 of the License, or
8+# (at your option) any later version.
9+#
10+# This program is distributed in the hope that it will be useful,
11+# but WITHOUT ANY WARRANTY; without even the implied warranty of
12+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+# GNU General Public License for more details.
14+#
15+# You should have received a copy of the GNU General Public License
16+# along with this program; if not, write to the Free Software
17+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18+
19+CC = $(CROSS_COMPILE)gcc
20+INC = -I$(KBUILD_OUTPUT)/usr/include
21+CFLAGS = -Wall $(INC)
22+LDLIBS = -lrt
23+PROGS = testptp
24+
25+all: $(PROGS)
26+
27+testptp: testptp.o
28+
29+clean:
30+ rm -f testptp.o
31+
32+distclean: clean
33+ rm -f $(PROGS)
Documentation/s390/Debugging390.txt+1−1
@@ -2273,7 +2273,7 @@ IP forwarding is on. · 2272 unmodified lines
22732273 There is a lot of useful info in here best found by going in & having a look around,
22742274 so I'll take you through some entries I consider important.
22752275
2276−All the processes running on the machine have there own entry defined by
2276+All the processes running on the machine have their own entry defined by
22772277 /proc/<pid>
22782278 So lets have a look at the init process
22792279 cd /proc/1
Documentation/scheduler/sched-domains.txt+23−9
@@ -1,8 +1,7 @@
1−Each CPU has a "base" scheduling domain (struct sched_domain). These are
2−accessed via cpu_sched_domain(i) and this_sched_domain() macros. The domain
1+Each CPU has a "base" scheduling domain (struct sched_domain). The domain
32 hierarchy is built from these base domains via the ->parent pointer. ->parent
4−MUST be NULL terminated, and domain structures should be per-CPU as they
5−are locklessly updated.
3+MUST be NULL terminated, and domain structures should be per-CPU as they are
4+locklessly updated.
65
76 Each scheduling domain spans a number of CPUs (stored in the ->span field).
87 A domain's span MUST be a superset of it child's span (this restriction could
@@ -26,11 +25,26 @@ is treated as one entity. The load of a group is defined as the sum of the · 17 unmodified lines
2625 load of each of its member CPUs, and only when the load of a group becomes
2726 out of balance are tasks moved between groups.
2827
29−In kernel/sched.c, rebalance_tick is run periodically on each CPU. This
30−function takes its CPU's base sched domain and checks to see if has reached
31−its rebalance interval. If so, then it will run load_balance on that domain.
32−rebalance_tick then checks the parent sched_domain (if it exists), and the
33−parent of the parent and so forth.
28+In kernel/sched.c, trigger_load_balance() is run periodically on each CPU
29+through scheduler_tick(). It raises a softirq after the next regularly scheduled
30+rebalancing event for the current runqueue has arrived. The actual load
31+balancing workhorse, run_rebalance_domains()->rebalance_domains(), is then run
32+in softirq context (SCHED_SOFTIRQ).
33+
34+The latter function takes two arguments: the current CPU and whether it was idle
35+at the time the scheduler_tick() happened and iterates over all sched domains
36+our CPU is on, starting from its base domain and going up the ->parent chain.
37+While doing that, it checks to see if the current domain has exhausted its
38+rebalance interval. If so, it runs load_balance() on that domain. It then checks
39+the parent sched_domain (if it exists), and the parent of the parent and so
40+forth.
41+
42+Initially, load_balance() finds the busiest group in the current sched domain.
43+If it succeeds, it looks for the busiest runqueue of all the CPUs' runqueues in
44+that group. If it manages to find such a runqueue, it locks both our initial
45+CPU's runqueue and the newly found busiest one and starts moving tasks from it
46+to our runqueue. The exact number of tasks amounts to an imbalance previously
47+computed while iterating over this sched domain's groups.
3448
3549 *** Implementing sched domains ***
3650 The "base" domain will "span" the first level of the hierarchy. In the case
Documentation/scsi/ChangeLog.lpfc+9−9
@@ -352,7 +352,7 @@ Changes from 20041229 to 20050110 · 351 unmodified lines
352352 lpfc_scsiport.c
353353 * In remote port changes: no longer nulling target->pnode when
354354 removing from mapped list. Pnode get nulled when the node is
355− freed (after nodev tmo). This bug was causing i/o recieved in
355+ freed (after nodev tmo). This bug was causing i/o received in
356356 the small window while the device was blocked to be errored w/
357357 did_no_connect. With the fix, it returns host_busy
358358 (per the pre-remote port changes).
@@ -530,7 +530,7 @@ Changes from 20041018 to 20041123 · 171 unmodified lines
530530 coherent mappings. Note: There are more consistent mappings
531531 that are using pci_dma_sync calls. Probably these should be
532532 removed as well.
533− * Modified lpfc_free_scsi_buf to accomodate all three scsi_buf
533+ * Modified lpfc_free_scsi_buf to accommodate all three scsi_buf
534534 free types to alleviate miscellaneous panics with cable pull
535535 testing.
536536 * Set hotplug to default 0 and lpfc_target_remove to not remove
@@ -583,7 +583,7 @@ Changes from 20041018 to 20041123 · 46 unmodified lines
583583 included more than once.
584584 * Replaced "set_current_state(TASK_UNINTERRUPTIBLE);
585585 schedule_timeout(timeout)" with "msleep(timeout)".
586− * Fixnode was loosing starget when rediscovered. We saw messages
586+ * Fixnode was losing starget when rediscovered. We saw messages
587587 like: lpfc 0000:04:02.0: 0:0263 Cannot block scsi target as a
588588 result. Moved starget field into struct lpfc_target which is
589589 referenced from the node.
@@ -604,7 +604,7 @@ Changes from 20041018 to 20041123 · 14 unmodified lines
604604 * Make 3 functions static: lpfc_get_hba_sym_node_name,
605605 lpfc_intr_prep and lpfc_setup_slim_access. Move lpfc_intr_prep
606606 and lpfc_setup_slim_access so they're defined before being used.
607− * Remove an unecessary list_del() in lpfc_hbadisc.c.
607+ * Remove an unnecessary list_del() in lpfc_hbadisc.c.
608608 * Set nlp_state before calling lpfc_nlp_list() since this will
609609 potentially call fc_target_unblock which may cause a race in
610610 queuecommand by releasing host_lock.
@@ -753,7 +753,7 @@ Changes from 20040908 to 20040920 · 142 unmodified lines
753753 * Changed version number to 8.0.12
754754 * Removed used #defines: DEFAULT_PCI_LATENCY_CLOCKS and
755755 PCI_LATENCY_VALUE from lpfc_hw.h.
756− * Changes to accomodate rnid.
756+ * Changes to accommodate rnid.
757757 * Fix RSCN handling so RSCN NS queries only effect NPorts found in
758758 RSCN data.
759759 * If we rcv a plogi on a NPort queued up for discovery, clear the
@@ -813,7 +813,7 @@ Changes from 20040908 to 20040920 · 53 unmodified lines
813813 counter instead, brd_no isn't reused anymore. Also some tiny
814814 whitespace cleanups in surrounding code.
815815 * Reorder functions in lpfc_els.c to remove need for prototypes.
816− * Removed unsed prototypes from lpfc_crtn.h -
816+ * Removed unused prototypes from lpfc_crtn.h -
817817 lpfc_ip_timeout_handler, lpfc_read_pci and lpfc_revoke.
818818 * Removed some unused prototypes from lpfc_crtn.h -
819819 lpfc_scsi_hba_reset, lpfc_scsi_issue_inqsn,
@@ -863,7 +863,7 @@ Changes from 20040823 to 20040908 · 43 unmodified lines
863863 * Minimal support for SCSI flat space addressing/volume set
864864 addressing. Use 16 bits of LUN address so that flat
865865 addressing/VSA will work.
866− * Changed 2 occurences of if( 1 != f(x)) to if(f(x) != 1)
866+ * Changed 2 occurrences of if( 1 != f(x)) to if(f(x) != 1)
867867 * Drop include of lpfc_cfgparm.h.
868868 * Reduce stack usage of lpfc_fdmi_cmd in lpfc_ct.c.
869869 * Add minimum range checking property to /sys write/store
@@ -1449,7 +1449,7 @@ Changes from 20040402 to 20040409 · 579 unmodified lines
14491449 * Removed lpfc_els_chk_latt from the lpfc_config_post function.
14501450 lpfc_els_chk_latt will enable the link event interrupts when
14511451 flogi is pending which causes two discovery state machines
1452− running parallely.
1452+ running parallelly.
14531453 * Add pci_disable_device to unload path.
14541454 * Move lpfc_sleep_event from lpfc_fcp.c to lpfc_util_ioctl.c
14551455 * Call dma_map_single() & pci_map_single() directly instead of via
@@ -1590,7 +1590,7 @@ Changes from 20040326 to 20040402 · 134 unmodified lines
15901590 ELX_WRITE_HS ELX_WRITE_HA ELX_WRITE_CA ELX_READ_HC
15911591 ELX_READ_HS ELX_READ_HA ELX_READ_CA ELX_READ_MB ELX_RESET
15921592 ELX_READ_HBA ELX_INSTANCE ELX_LIP. Also introduced
1593− attribute "set" to be used in conjuction with the above
1593+ attribute "set" to be used in conjunction with the above
15941594 attributes.
15951595 * Removed DLINK, enque and deque declarations now that clock
15961596 doesn't use them anymore
Documentation/scsi/ChangeLog.megaraid+1−1
@@ -168,7 +168,7 @@ Older Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) · 167 unmodified lines
168168
169169 1. Sorted out PCI IDs to remove megaraid support overlaps.
170170 Based on the patch from Daniel, sorted out PCI IDs along with
171− charactor node name change from 'megadev' to 'megadev_legacy' to avoid
171+ character node name change from 'megadev' to 'megadev_legacy' to avoid
172172 conflict.
173173 ---
174174 Hopefully we'll be getting the build restriction zapped much sooner,
Documentation/scsi/ChangeLog.megaraid_sas+14−0
@@ -1,3 +1,17 @@
1+Release Date : Wed. May 11, 2011 17:00:00 PST 2010 -
2+ (emaild-id:megaraidlinux@lsi.com)
3+ Adam Radford
4+Current Version : 00.00.05.38-rc1
5+Old Version : 00.00.05.34-rc1
6+ 1. Remove MSI-X black list, use MFI_REG_STATE.ready.msiEnable.
7+ 2. Remove un-used function megasas_return_cmd_for_smid().
8+ 3. Check MFI_REG_STATE.fault.resetAdapter in megasas_reset_fusion().
9+ 4. Disable interrupts/free_irq() in megasas_shutdown().
10+ 5. Fix bug where AENs could be lost in probe() and resume().
11+ 6. Convert 6,10,12 byte CDB's to 16 byte CDB for large LBA's for FastPath
12+ IO.
13+ 7. Add 1078 OCR support.
14+-------------------------------------------------------------------------------
115 Release Date : Thu. Feb 24, 2011 17:00:00 PST 2010 -
216 (emaild-id:megaraidlinux@lsi.com)
317 Adam Radford
Documentation/scsi/ChangeLog.ncr53c8xx+1−1
@@ -200,7 +200,7 @@ Sun Feb 14:00 1999 Gerard Roudier (groudier@club-internet.fr) · 199 unmodified lines
200200 By default the driver uses both IRQF_SHARED and IRQF_DISABLED.
201201 Option 'ncr53c8xx=irqm:0x20' may be used when an IRQ is shared by
202202 a 53C8XX adapter and a network board.
203− - Tiny mispelling fixed (ABORT instead of ABRT). Was fortunately
203+ - Tiny misspelling fixed (ABORT instead of ABRT). Was fortunately
204204 harmless.
205205 - Negotiate SYNC data transfers with CCS devices.
206206
Documentation/scsi/ChangeLog.sym53c8xx+1−1
@@ -457,7 +457,7 @@ Fri Jan 1 20:00 1999 Gerard Roudier (groudier@club-internet.fr) · 456 unmodified lines
457457 Sat Dec 19 21:00 1998 Gerard Roudier (groudier@club-internet.fr)
458458 * version sym53c8xx-1.0
459459 - Define some new IO registers for the 896 (istat1, mbox0, mbox1)
460− - Revamp slighly the Symbios NVRAM lay-out based on the excerpt of
460+ - Revamp slightly the Symbios NVRAM lay-out based on the excerpt of
461461 the header file I received from Symbios.
462462 - Check the PCI bus number for the boot order (Using a fast
463463 PCI controller behing a PCI-PCI bridge seems sub-optimal).
Documentation/scsi/LICENSE.qla2xxx+287−5
@@ -1,11 +1,11 @@
1−Copyright (c) 2003-2005 QLogic Corporation
2−QLogic Linux Fibre Channel HBA Driver
1+Copyright (c) 2003-2011 QLogic Corporation
2+QLogic Linux/ESX Fibre Channel HBA Driver
33
4−This program includes a device driver for Linux 2.6 that may be
4+This program includes a device driver for Linux 2.6/ESX that may be
55 distributed with QLogic hardware specific firmware binary file.
66 You may modify and redistribute the device driver code under the
7−GNU General Public License as published by the Free Software
8−Foundation (version 2 or a later version).
7+GNU General Public License (a copy of which is attached hereto as
8+Exhibit A) published by the Free Software Foundation (version 2).
99
1010 You may redistribute the hardware specific firmware binary file
1111 under the following terms:
@@ -43,3 +43,285 @@ OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, · 31 unmodified lines
4343 TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN
4444 ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN
4545 COMBINATION WITH THIS PROGRAM.
46+
47+
48+EXHIBIT A
49+
50+ GNU GENERAL PUBLIC LICENSE
51+ Version 2, June 1991
52+
53+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
54+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
55+ Everyone is permitted to copy and distribute verbatim copies
56+ of this license document, but changing it is not allowed.
57+
58+ Preamble
59+
60+ The licenses for most software are designed to take away your
61+freedom to share and change it. By contrast, the GNU General Public
62+License is intended to guarantee your freedom to share and change free
63+software--to make sure the software is free for all its users. This
64+General Public License applies to most of the Free Software
65+Foundation's software and to any other program whose authors commit to
66+using it. (Some other Free Software Foundation software is covered by
67+the GNU Lesser General Public License instead.) You can apply it to
68+your programs, too.
69+
70+ When we speak of free software, we are referring to freedom, not
71+price. Our General Public Licenses are designed to make sure that you
72+have the freedom to distribute copies of free software (and charge for
73+this service if you wish), that you receive source code or can get it
74+if you want it, that you can change the software or use pieces of it
75+in new free programs; and that you know you can do these things.
76+
77+ To protect your rights, we need to make restrictions that forbid
78+anyone to deny you these rights or to ask you to surrender the rights.
79+These restrictions translate to certain responsibilities for you if you
80+distribute copies of the software, or if you modify it.
81+
82+ For example, if you distribute copies of such a program, whether
83+gratis or for a fee, you must give the recipients all the rights that
84+you have. You must make sure that they, too, receive or can get the
85+source code. And you must show them these terms so they know their
86+rights.
87+
88+ We protect your rights with two steps: (1) copyright the software, and
89+(2) offer you this license which gives you legal permission to copy,
90+distribute and/or modify the software.
91+
92+ Also, for each author's protection and ours, we want to make certain
93+that everyone understands that there is no warranty for this free
94+software. If the software is modified by someone else and passed on, we
95+want its recipients to know that what they have is not the original, so
96+that any problems introduced by others will not reflect on the original
97+authors' reputations.
98+
99+ Finally, any free program is threatened constantly by software
100+patents. We wish to avoid the danger that redistributors of a free
101+program will individually obtain patent licenses, in effect making the
102+program proprietary. To prevent this, we have made it clear that any
103+patent must be licensed for everyone's free use or not licensed at all.
104+
105+ The precise terms and conditions for copying, distribution and
106+modification follow.
107+
108+ GNU GENERAL PUBLIC LICENSE
109+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
110+
111+ 0. This License applies to any program or other work which contains
112+a notice placed by the copyright holder saying it may be distributed
113+under the terms of this General Public License. The "Program", below,
114+refers to any such program or work, and a "work based on the Program"
115+means either the Program or any derivative work under copyright law:
116+that is to say, a work containing the Program or a portion of it,
117+either verbatim or with modifications and/or translated into another
118+language. (Hereinafter, translation is included without limitation in
119+the term "modification".) Each licensee is addressed as "you".
120+
121+Activities other than copying, distribution and modification are not
122+covered by this License; they are outside its scope. The act of
123+running the Program is not restricted, and the output from the Program
124+is covered only if its contents constitute a work based on the
125+Program (independent of having been made by running the Program).
126+Whether that is true depends on what the Program does.
127+
128+ 1. You may copy and distribute verbatim copies of the Program's
129+source code as you receive it, in any medium, provided that you
130+conspicuously and appropriately publish on each copy an appropriate
131+copyright notice and disclaimer of warranty; keep intact all the
132+notices that refer to this License and to the absence of any warranty;
133+and give any other recipients of the Program a copy of this License
134+along with the Program.
135+
136+You may charge a fee for the physical act of transferring a copy, and
137+you may at your option offer warranty protection in exchange for a fee.
138+
139+ 2. You may modify your copy or copies of the Program or any portion
140+of it, thus forming a work based on the Program, and copy and
141+distribute such modifications or work under the terms of Section 1
142+above, provided that you also meet all of these conditions:
143+
144+ a) You must cause the modified files to carry prominent notices
145+ stating that you changed the files and the date of any change.
146+
147+ b) You must cause any work that you distribute or publish, that in
148+ whole or in part contains or is derived from the Program or any
149+ part thereof, to be licensed as a whole at no charge to all third
150+ parties under the terms of this License.
151+
152+ c) If the modified program normally reads commands interactively
153+ when run, you must cause it, when started running for such
154+ interactive use in the most ordinary way, to print or display an
155+ announcement including an appropriate copyright notice and a
156+ notice that there is no warranty (or else, saying that you provide
157+ a warranty) and that users may redistribute the program under
158+ these conditions, and telling the user how to view a copy of this
159+ License. (Exception: if the Program itself is interactive but
160+ does not normally print such an announcement, your work based on
161+ the Program is not required to print an announcement.)
162+
163+These requirements apply to the modified work as a whole. If
164+identifiable sections of that work are not derived from the Program,
165+and can be reasonably considered independent and separate works in
166+themselves, then this License, and its terms, do not apply to those
167+sections when you distribute them as separate works. But when you
168+distribute the same sections as part of a whole which is a work based
169+on the Program, the distribution of the whole must be on the terms of
170+this License, whose permissions for other licensees extend to the
171+entire whole, and thus to each and every part regardless of who wrote it.
172+
173+Thus, it is not the intent of this section to claim rights or contest
174+your rights to work written entirely by you; rather, the intent is to
175+exercise the right to control the distribution of derivative or
176+collective works based on the Program.
177+
178+In addition, mere aggregation of another work not based on the Program
179+with the Program (or with a work based on the Program) on a volume of
180+a storage or distribution medium does not bring the other work under
181+the scope of this License.
182+
183+ 3. You may copy and distribute the Program (or a work based on it,
184+under Section 2) in object code or executable form under the terms of
185+Sections 1 and 2 above provided that you also do one of the following:
186+
187+ a) Accompany it with the complete corresponding machine-readable
188+ source code, which must be distributed under the terms of Sections
189+ 1 and 2 above on a medium customarily used for software interchange; or,
190+
191+ b) Accompany it with a written offer, valid for at least three
192+ years, to give any third party, for a charge no more than your
193+ cost of physically performing source distribution, a complete
194+ machine-readable copy of the corresponding source code, to be
195+ distributed under the terms of Sections 1 and 2 above on a medium
196+ customarily used for software interchange; or,
197+
198+ c) Accompany it with the information you received as to the offer
199+ to distribute corresponding source code. (This alternative is
200+ allowed only for noncommercial distribution and only if you
201+ received the program in object code or executable form with such
202+ an offer, in accord with Subsection b above.)
203+
204+The source code for a work means the preferred form of the work for
205+making modifications to it. For an executable work, complete source
206+code means all the source code for all modules it contains, plus any
207+associated interface definition files, plus the scripts used to
208+control compilation and installation of the executable. However, as a
209+special exception, the source code distributed need not include
210+anything that is normally distributed (in either source or binary
211+form) with the major components (compiler, kernel, and so on) of the
212+operating system on which the executable runs, unless that component
213+itself accompanies the executable.
214+
215+If distribution of executable or object code is made by offering
216+access to copy from a designated place, then offering equivalent
217+access to copy the source code from the same place counts as
218+distribution of the source code, even though third parties are not
219+compelled to copy the source along with the object code.
220+
221+ 4. You may not copy, modify, sublicense, or distribute the Program
222+except as expressly provided under this License. Any attempt
223+otherwise to copy, modify, sublicense or distribute the Program is
224+void, and will automatically terminate your rights under this License.
225+However, parties who have received copies, or rights, from you under
226+this License will not have their licenses terminated so long as such
227+parties remain in full compliance.
228+
229+ 5. You are not required to accept this License, since you have not
230+signed it. However, nothing else grants you permission to modify or
231+distribute the Program or its derivative works. These actions are
232+prohibited by law if you do not accept this License. Therefore, by
233+modifying or distributing the Program (or any work based on the
234+Program), you indicate your acceptance of this License to do so, and
235+all its terms and conditions for copying, distributing or modifying
236+the Program or works based on it.
237+
238+ 6. Each time you redistribute the Program (or any work based on the
239+Program), the recipient automatically receives a license from the
240+original licensor to copy, distribute or modify the Program subject to
241+these terms and conditions. You may not impose any further
242+restrictions on the recipients' exercise of the rights granted herein.
243+You are not responsible for enforcing compliance by third parties to
244+this License.
245+
246+ 7. If, as a consequence of a court judgment or allegation of patent
247+infringement or for any other reason (not limited to patent issues),
248+conditions are imposed on you (whether by court order, agreement or
249+otherwise) that contradict the conditions of this License, they do not
250+excuse you from the conditions of this License. If you cannot
251+distribute so as to satisfy simultaneously your obligations under this
252+License and any other pertinent obligations, then as a consequence you
253+may not distribute the Program at all. For example, if a patent
254+license would not permit royalty-free redistribution of the Program by
255+all those who receive copies directly or indirectly through you, then
256+the only way you could satisfy both it and this License would be to
257+refrain entirely from distribution of the Program.
258+
259+If any portion of this section is held invalid or unenforceable under
260+any particular circumstance, the balance of the section is intended to
261+apply and the section as a whole is intended to apply in other
262+circumstances.
263+
264+It is not the purpose of this section to induce you to infringe any
265+patents or other property right claims or to contest validity of any
266+such claims; this section has the sole purpose of protecting the
267+integrity of the free software distribution system, which is
268+implemented by public license practices. Many people have made
269+generous contributions to the wide range of software distributed
270+through that system in reliance on consistent application of that
271+system; it is up to the author/donor to decide if he or she is willing
272+to distribute software through any other system and a licensee cannot
273+impose that choice.
274+
275+This section is intended to make thoroughly clear what is believed to
276+be a consequence of the rest of this License.
277+
278+ 8. If the distribution and/or use of the Program is restricted in
279+certain countries either by patents or by copyrighted interfaces, the
280+original copyright holder who places the Program under this License
281+may add an explicit geographical distribution limitation excluding
282+those countries, so that distribution is permitted only in or among
283+countries not thus excluded. In such case, this License incorporates
284+the limitation as if written in the body of this License.
285+
286+ 9. The Free Software Foundation may publish revised and/or new versions
287+of the General Public License from time to time. Such new versions will
288+be similar in spirit to the present version, but may differ in detail to
289+address new problems or concerns.
290+
291+Each version is given a distinguishing version number. If the Program
292+specifies a version number of this License which applies to it and "any
293+later version", you have the option of following the terms and conditions
294+either of that version or of any later version published by the Free
295+Software Foundation. If the Program does not specify a version number of
296+this License, you may choose any version ever published by the Free Software
297+Foundation.
298+
299+ 10. If you wish to incorporate parts of the Program into other free
300+programs whose distribution conditions are different, write to the author
301+to ask for permission. For software which is copyrighted by the Free
302+Software Foundation, write to the Free Software Foundation; we sometimes
303+make exceptions for this. Our decision will be guided by the two goals
304+of preserving the free status of all derivatives of our free software and
305+of promoting the sharing and reuse of software generally.
306+
307+ NO WARRANTY
308+
309+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
310+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
311+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
312+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
313+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
314+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
315+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
316+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
317+REPAIR OR CORRECTION.
318+
319+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
320+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
321+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
322+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
323+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
324+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
325+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
326+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
327+POSSIBILITY OF SUCH DAMAGES.
Documentation/scsi/aha152x.txt+1−1
@@ -124,7 +124,7 @@ in the partition table and therefore every operating system has to know · 123 unmodified lines
124124 the right geometry to be able to interpret it.
125125
126126 Moreover there are certain limitations to the C/H/S addressing scheme,
127−namely the address space is limited to upto 255 heads, upto 63 sectors
127+namely the address space is limited to up to 255 heads, up to 63 sectors
128128 and a maximum of 1023 cylinders.
129129
130130 The AHA-1522 BIOS calculates the geometry by fixing the number of heads
Documentation/scsi/aic79xx.txt+6−6
@@ -267,7 +267,7 @@ The following information is available in this file: · 266 unmodified lines
267267 Option: tag_info:{{value[,value...]}[,{value[,value...]}...]}
268268 Definition: Set the per-target tagged queue depth on a
269269 per controller basis. Both controllers and targets
270− may be ommitted indicating that they should retain
270+ may be omitted indicating that they should retain
271271 the default tag depth.
272272 Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32}
273273 On Controller 0
@@ -291,7 +291,7 @@ The following information is available in this file: · 17 unmodified lines
291291 The rd_strm_bitmask is a 16 bit hex value in which
292292 each bit represents a target. Setting the target's
293293 bit to '1' enables read streaming for that
294− target. Controllers may be ommitted indicating that
294+ target. Controllers may be omitted indicating that
295295 they should retain the default read streaming setting.
296296 Example: rd_strm:{0x0041}
297297 On Controller 0
@@ -313,7 +313,7 @@ The following information is available in this file: · 15 unmodified lines
313313 -----------------------------------------------------------------
314314 Option: dv: {value[,value...]}
315315 Definition: Set Domain Validation Policy on a per-controller basis.
316− Controllers may be ommitted indicating that
316+ Controllers may be omitted indicating that
317317 they should retain the default read streaming setting.
318318 Example: dv:{-1,0,,1,1,0}
319319 On Controller 0 leave DV at its default setting.
@@ -340,7 +340,7 @@ The following information is available in this file: · 20 unmodified lines
340340 Option: precomp: {value[,value...]}
341341 Definition: Set IO Cell precompensation value on a per-controller
342342 basis.
343− Controllers may be ommitted indicating that
343+ Controllers may be omitted indicating that
344344 they should retain the default precompensation setting.
345345 Example: precomp:{0x1}
346346 On Controller 0 set precompensation to 1.
@@ -353,7 +353,7 @@ The following information is available in this file: · 6 unmodified lines
353353 -----------------------------------------------------------------
354354 Option: slewrate: {value[,value...]}
355355 Definition: Set IO Cell slew rate on a per-controller basis.
356− Controllers may be ommitted indicating that
356+ Controllers may be omitted indicating that
357357 they should retain the default slew rate setting.
358358 Example: slewrate:{0x1}
359359 On Controller 0 set slew rate to 1.
@@ -366,7 +366,7 @@ The following information is available in this file: · 6 unmodified lines
366366 -----------------------------------------------------------------
367367 Option: amplitude: {value[,value...]}
368368 Definition: Set IO Cell signal amplitude on a per-controller basis.
369− Controllers may be ommitted indicating that
369+ Controllers may be omitted indicating that
370370 they should retain the default read streaming setting.
371371 Example: amplitude:{0x1}
372372 On Controller 0 set amplitude to 1.
Documentation/scsi/ibmmca.txt+2−2
@@ -303,7 +303,7 @@ · 302 unmodified lines
303303 (scb) and calls a local function issue_cmd(), which writes a scb
304304 command into subsystem I/O ports. Once the scb command is carried out,
305305 the interrupt_handler() is invoked. If a device is determined to be
306− existant and it has not assigned any ldn, it gets one dynamically.
306+ existent and it has not assigned any ldn, it gets one dynamically.
307307 For this, the whole stuff is done in ibmmca_queuecommand().
308308
309309 2.6 Abort & Reset Commands
@@ -741,7 +741,7 @@ · 431 unmodified lines
741741 some error appeared, else it is undefined. Now, this is fixed. Before
742742 any SCB command gets queued, the tsb.dev_status is set to 0, so the
743743 cmd->result won't screw up Linux higher level drivers.
744− 2) The reset-function has slightly improved. This is still planed for
744+ 2) The reset-function has slightly improved. This is still planned for
745745 abort. During the abort and the reset function, no interrupts are
746746 allowed. This is however quite hard to cope with, so the INT-status
747747 register is read. When the interrupt gets queued, one can find its
Documentation/scsi/scsi-changer.txt+1−1
@@ -102,7 +102,7 @@ Trouble? · 101 unmodified lines
102102
103103 If you insmod the driver with "insmod debug=1", it will be verbose and
104104 prints a lot of stuff to the syslog. Compiling the kernel with
105−CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages alot
105+CONFIG_SCSI_CONSTANTS=y improves the quality of the error messages a lot
106106 because the kernel will translate the error codes into human-readable
107107 strings then.
108108
Documentation/scsi/scsi_eh.txt+1−1
@@ -290,7 +290,7 @@ scmd->allowed. · 289 unmodified lines
290290 SCSI transports/LLDDs automatically acquire sense data on
291291 command failures (autosense). Autosense is recommended for
292292 performance reasons and as sense information could get out of
293− sync inbetween occurrence of CHECK CONDITION and this action.
293+ sync between occurrence of CHECK CONDITION and this action.
294294
295295 Note that if autosense is not supported, scmd->sense_buffer
296296 contains invalid sense data when error-completing the scmd
Documentation/scsi/scsi_fc_transport.txt+1−1
@@ -291,7 +291,7 @@ Transport <-> LLDD Interfaces : · 290 unmodified lines
291291 Vport support by LLDD:
292292
293293 The LLDD indicates support for vports by supplying a vport_create()
294− function in the transport template. The presense of this function will
294+ function in the transport template. The presence of this function will
295295 cause the creation of the new attributes on the fc_host. As part of
296296 the physical port completing its initialization relative to the
297297 transport, it should set the max_npiv_vports attribute to indicate the
Documentation/scsi/sym53c8xx_2.txt+1−1
@@ -285,7 +285,7 @@ from the driver. · 284 unmodified lines
285285
286286 7. Profiling information
287287
288−This driver does not provide profiling informations as did its predecessors.
288+This driver does not provide profiling information as did its predecessors.
289289 This feature was not this useful and added complexity to the code.
290290 As the driver code got more complex, I have decided to remove everything
291291 that didn't seem actually useful.
Documentation/security/00-INDEX+18−0
@@ -0,0 +1,18 @@
1+00-INDEX
2+ - this file.
3+SELinux.txt
4+ - how to get started with the SELinux security enhancement.
5+Smack.txt
6+ - documentation on the Smack Linux Security Module.
7+apparmor.txt
8+ - documentation on the AppArmor security extension.
9+credentials.txt
10+ - documentation about credentials in Linux.
11+keys-request-key.txt
12+ - description of the kernel key request service.
13+keys-trusted-encrypted.txt
14+ - info on the Trusted and Encrypted keys in the kernel key ring service.
15+keys.txt
16+ - description of the kernel key retention service.
17+tomoyo.txt
18+ - documentation on the TOMOYO Linux Security Module.
Documentation/security/SELinux.txtrenamed from Documentation/SELinux.txt+0−0

File renamed without changes.

Documentation/security/Smack.txtrenamed from Documentation/Smack.txt+0−0

File renamed without changes.

Documentation/security/apparmor.txtrenamed from Documentation/apparmor.txt+0−0

File renamed without changes.

Documentation/security/credentials.txtrenamed from Documentation/credentials.txt+1−1
@@ -216,7 +216,7 @@ The Linux kernel supports the following types of credentials: · 215 unmodified lines
216216 When a process accesses a key, if not already present, it will normally be
217217 cached on one of these keyrings for future accesses to find.
218218
219− For more information on using keys, see Documentation/keys.txt.
219+ For more information on using keys, see Documentation/security/keys.txt.
220220
221221 (5) LSM
222222
Documentation/security/keys-request-key.txtrenamed from Documentation/keys-request-key.txt+2−2
@@ -3,8 +3,8 @@ · 2 unmodified lines
33 ===================
44
55 The key request service is part of the key retention service (refer to
6−Documentation/keys.txt). This document explains more fully how the requesting
7−algorithm works.
6+Documentation/security/keys.txt). This document explains more fully how
7+the requesting algorithm works.
88
99 The process starts by either the kernel requesting a service by calling
1010 request_key*():
Documentation/security/keys-trusted-encrypted.txtrenamed from Documentation/keys-trusted-encrypted.txt+0−0

File renamed without changes.

Documentation/security/keys.txtrenamed from Documentation/keys.txt+2−2
@@ -434,7 +434,7 @@ The main syscalls are: · 433 unmodified lines
434434 /sbin/request-key will be invoked in an attempt to obtain a key. The
435435 callout_info string will be passed as an argument to the program.
436436
437− See also Documentation/keys-request-key.txt.
437+ See also Documentation/security/keys-request-key.txt.
438438
439439
440440 The keyctl syscall functions are:
@@ -864,7 +864,7 @@ payload contents" for more information. · 423 unmodified lines
864864 If successful, the key will have been attached to the default keyring for
865865 implicitly obtained request-key keys, as set by KEYCTL_SET_REQKEY_KEYRING.
866866
867− See also Documentation/keys-request-key.txt.
867+ See also Documentation/security/keys-request-key.txt.
868868
869869
870870 (*) To search for a key, passing auxiliary data to the upcaller, call:
Documentation/security/tomoyo.txtrenamed from Documentation/tomoyo.txt+0−0

File renamed without changes.

Documentation/serial/moxa-smartio+1−1
@@ -473,7 +473,7 @@ Content · 472 unmodified lines
473473 spd_normal Use 38.4kb when the application requests 38.4kb.
474474 spd_cust Use the custom divisor to set the speed when the
475475 application requests 38.4kb.
476− divisor This option set the custom divison.
476+ divisor This option set the custom division.
477477 baud_base This option set the base baud rate.
478478
479479 -----------------------------------------------------------------------------
Documentation/serial/n_gsm.txt+1−1
@@ -34,7 +34,7 @@ Major parts of the initialization program : · 33 unmodified lines
3434 /* configure the serial port : speed, flow control ... */
3535
3636 /* send the AT commands to switch the modem to CMUX mode
37− and check that it's succesful (should return OK) */
37+ and check that it's successful (should return OK) */
3838 write(fd, "AT+CMUX=0\r", 10);
3939
4040 /* experience showed that some modems need some time before
Documentation/sound/alsa/ALSA-Configuration.txt+10−3
@@ -322,7 +322,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 321 unmodified lines
322322 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
323323 or the value stored in the card's EEPROM for cards that have an EEPROM and
324324 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
325− be choosen freely from the options enumerated above.
325+ be chosen freely from the options enumerated above.
326326
327327 If dma2 is specified and different from dma1, the card will operate in
328328 full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
@@ -356,7 +356,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 27 unmodified lines
356356 "port" needs to match the BASE ADDRESS jumper on the card (0x220 or 0x240)
357357 or the value stored in the card's EEPROM for cards that have an EEPROM and
358358 their "CONFIG MODE" jumper set to "EEPROM SETTING". The other values can
359− be choosen freely from the options enumerated above.
359+ be chosen freely from the options enumerated above.
360360
361361 If dma2 is specified and different from dma1, the card will operate in
362362 full-duplex mode. When dma1=3, only dma2=0 is valid and the only way to
@@ -1230,6 +1230,13 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 867 unmodified lines
12301230 This module supports multiple cards.
12311231 The driver requires the firmware loader support on kernel.
12321232
1233+ Module snd-lola
1234+ ---------------
1235+
1236+ Module for Digigram Lola PCI-e boards
1237+
1238+ This module supports multiple cards.
1239+
12331240 Module snd-lx6464es
12341241 -------------------
12351242
@@ -2229,7 +2236,7 @@ Proc interfaces (/proc/asound) · 993 unmodified lines
22292236
22302237 /proc/asound/card#/pcm#[cp]/oss
22312238 -------------------------------
2232− String "erase" - erase all additional informations about OSS applications
2239+ String "erase" - erase all additional information about OSS applications
22332240 String "<app_name> <fragments> <fragment_size> [<options>]"
22342241
22352242 <app_name> - name of application with (higher priority) or without path
Documentation/sound/alsa/HD-Audio-Models.txt+1−1
@@ -94,7 +94,7 @@ ALC662/663/272 · 93 unmodified lines
9494 3stack-dig 3-stack (2-channel) with SPDIF
9595 3stack-6ch 3-stack (6-channel)
9696 3stack-6ch-dig 3-stack (6-channel) with SPDIF
97− 6stack-dig 6-stack with SPDIF
97+ 5stack-dig 5-stack with SPDIF
9898 lenovo-101e Lenovo laptop
9999 eeepc-p701 ASUS Eeepc P701
100100 eeepc-ep20 ASUS Eeepc EP20
Documentation/sound/alsa/SB-Live-mixer.txt+3−3
@@ -87,14 +87,14 @@ accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. · 86 unmodified lines
8787 The result is forwarded to the ADC capture FIFO (thus to the standard capture
8888 PCM device).
8989
90−name='Music Playback Volume',index=0
90+name='Synth Playback Volume',index=0
9191
9292 This control is used to attenuate samples for left and right MIDI FX-bus
9393 accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
9494 The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
9595
96−name='Music Capture Volume',index=0
97−name='Music Capture Switch',index=0
96+name='Synth Capture Volume',index=0
97+name='Synth Capture Switch',index=0
9898
9999 These controls are used to attenuate samples for left and right MIDI FX-bus
100100 accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
Documentation/sound/oss/AudioExcelDSP16+3−3
@@ -1,10 +1,10 @@
11 Driver
22 ------
33
4−Informations about Audio Excel DSP 16 driver can be found in the source
4+Information about Audio Excel DSP 16 driver can be found in the source
55 file aedsp16.c
66 Please, read the head of the source before using it. It contain useful
7−informations.
7+information.
88
99 Configuration
1010 -------------
@@ -68,7 +68,7 @@ Sound cards supported · 57 unmodified lines
6868 This driver supports the SC-6000 and SC-6600 based Gallant's sound card.
6969 It don't support the Audio Excel DSP 16 III (try the SC-6600 code).
7070 I'm working on the III version of the card: if someone have useful
71−informations about it, please let me know.
71+information about it, please let me know.
7272 For all the non-supported audio cards, you have to boot MS-DOS (or WIN95)
7373 activating the audio card with the MS-DOS device driver, then you have to
7474 <ctrl>-<alt>-<del> and boot Linux.
Documentation/sound/oss/README.OSS+1−1
@@ -1352,7 +1352,7 @@ OSS-mixer. · 1351 unmodified lines
13521352 The PCM20 contains a radio tuner, which is also controlled by
13531353 ACI. This radio tuner is supported by the ACI driver together with the
13541354 miropcm20.o module. Also the 7-band equalizer is integrated
1355−(limited by the OSS-design). Developement has started and maybe
1355+(limited by the OSS-design). Development has started and maybe
13561356 finished for the RDS decoder on this card, too. You will be able to
13571357 read RadioText, the Programme Service name, Programme TYpe and
13581358 others. Even the v4l radio module benefits from it with a refined
Documentation/sound/oss/README.ymfsb+1−1
@@ -5,7 +5,7 @@ FIRST OF ALL · 4 unmodified lines
55 ============
66
77 This code references YAMAHA's sample codes and data sheets.
8− I respect and thank for all people they made open the informations
8+ I respect and thank for all people they made open the information
99 about YMF7xx cards.
1010
1111 And this codes heavily based on Jeff Garzik <jgarzik@pobox.com>'s
Documentation/spi/pxa2xx+1−1
@@ -143,7 +143,7 @@ configured to use SSPFRM instead. · 142 unmodified lines
143143 NOTE: the SPI driver cannot control the chip select if SSPFRM is used, so the
144144 chipselect is dropped after each spi_transfer. Most devices need chip select
145145 asserted around the complete message. Use SSPFRM as a GPIO (through cs_control)
146−to accomodate these chips.
146+to accommodate these chips.
147147
148148
149149 NSSP SLAVE SAMPLE
Documentation/spi/spi-lm70llp+1−1
@@ -46,7 +46,7 @@ The hardware interfacing on the LM70 LLP eval board is as follows: · 45 unmodified lines
4646
4747 Note that since the LM70 uses a "3-wire" variant of SPI, the SI/SO pin
4848 is connected to both pin D7 (as Master Out) and Select (as Master In)
49−using an arrangment that lets either the parport or the LM70 pull the
49+using an arrangement that lets either the parport or the LM70 pull the
5050 pin low. This can't be shared with true SPI devices, but other 3-wire
5151 devices might share the same SI/SO pin.
5252
Documentation/stable_api_nonsense.txt+1−1
@@ -122,7 +122,7 @@ operating system to suffer. · 121 unmodified lines
122122
123123 In both of these instances, all developers agreed that these were
124124 important changes that needed to be made, and they were made, with
125−relatively little pain. If Linux had to ensure that it preserve a
125+relatively little pain. If Linux had to ensure that it will preserve a
126126 stable source interface, a new interface would have been created, and
127127 the older, broken one would have had to be maintained over time, leading
128128 to extra work for the USB developers. Since all Linux USB developers do
Documentation/sysctl/fs.txt+0−7
@@ -231,13 +231,6 @@ its creation). · 230 unmodified lines
231231
232232 This directory contains configuration options for the epoll(7) interface.
233233
234−max_user_instances
235−------------------
236−
237−This is the maximum number of epoll file descriptors that a single user can
238−have open at a given time. The default value is 128, and should be enough
239−for normal users.
240−
241234 max_user_watches
242235 ----------------
243236
Documentation/sysctl/kernel.txt+2−1
@@ -161,7 +161,8 @@ core_pattern is used to specify a core dumpfile pattern name. · 160 unmodified lines
161161 %s signal number
162162 %t UNIX time of dump
163163 %h hostname
164− %e executable filename
164+ %e executable filename (may be shortened)
165+ %E executable path
165166 %<OTHER> both are dropped
166167 . If the first character of the pattern is a '|', the kernel will treat
167168 the rest of the pattern as a command to run. The core dump will be
Documentation/sysctl/net.txt+11−0
@@ -32,6 +32,17 @@ Table : Subdirectories in /proc/sys/net · 31 unmodified lines
3232 1. /proc/sys/net/core - Network core options
3333 -------------------------------------------------------
3434
35+bpf_jit_enable
36+--------------
37+
38+This enables Berkeley Packet Filter Just in Time compiler.
39+Currently supported on x86_64 architecture, bpf_jit provides a framework
40+to speed packet filtering, the one used by tcpdump/libpcap for example.
41+Values :
42+ 0 - disable the JIT (default value)
43+ 1 - enable the JIT
44+ 2 - enable the JIT and ask the compiler to emit traces on kernel log.
45+
3546 rmem_default
3647 ------------
3748
Documentation/sysctl/vm.txt+2−2
@@ -481,10 +481,10 @@ the DMA zone. · 480 unmodified lines
481481 Type(A) is called as "Node" order. Type (B) is "Zone" order.
482482
483483 "Node order" orders the zonelists by node, then by zone within each node.
484−Specify "[Nn]ode" for zone order
484+Specify "[Nn]ode" for node order
485485
486486 "Zone Order" orders the zonelists by zone type, then by node within each
487−zone. Specify "[Zz]one"for zode order.
487+zone. Specify "[Zz]one" for zone order.
488488
489489 Specify "[Dd]efault" to request automatic configuration. Autoconfiguration
490490 will select "node" order in following case.
Documentation/telephony/ixj.txt+1−1
@@ -51,7 +51,7 @@ be removed to protect the rights of others. · 50 unmodified lines
5151 Specifically, very old Internet PhoneJACK cards have non-standard
5252 G.723.1 codecs (due to the early nature of the DSPs in those days).
5353 The auto-conversion code to bring those cards into compliance with
54−todays standards is available as a binary only module to those people
54+today's standards is available as a binary only module to those people
5555 needing it. If you bought your card after 1997 or so, you are OK -
5656 it's only the very old cards that are affected.
5757
Documentation/timers/timers-howto.txt+1−1
@@ -24,7 +24,7 @@ ATOMIC CONTEXT: · 23 unmodified lines
2424
2525 ndelay(unsigned long nsecs)
2626 udelay(unsigned long usecs)
27− mdelay(unsgined long msecs)
27+ mdelay(unsigned long msecs)
2828
2929 udelay is the generally preferred API; ndelay-level
3030 precision may not actually exist on many non-PC devices.
Documentation/trace/kprobetrace.txt+0−1
@@ -120,7 +120,6 @@ format: · 119 unmodified lines
120120 field:unsigned char common_flags; offset:2; size:1; signed:0;
121121 field:unsigned char common_preempt_count; offset:3; size:1;signed:0;
122122 field:int common_pid; offset:4; size:4; signed:1;
123− field:int common_lock_depth; offset:8; size:4; signed:1;
124123
125124 field:unsigned long __probe_ip; offset:12; size:4; signed:0;
126125 field:int __probe_nargs; offset:16; size:4; signed:1;
Documentation/trace/ring-buffer-design.txt+1−1
@@ -237,7 +237,7 @@ with the previous write. · 236 unmodified lines
237237 |written |
238238 +---------+
239239 |written |
240− +---------+ <--- next positon for write (current commit)
240+ +---------+ <--- next position for write (current commit)
241241 | empty |
242242 +---------+
243243
Documentation/usb/callbacks.txt+5−3
@@ -95,9 +95,11 @@ pre_reset · 94 unmodified lines
9595
9696 int (*pre_reset)(struct usb_interface *intf);
9797
98−Another driver or user space is triggering a reset on the device which
99−contains the interface passed as an argument. Cease IO and save any
100−device state you need to restore.
98+A driver or user space is triggering a reset on the device which
99+contains the interface passed as an argument. Cease IO, wait for all
100+outstanding URBs to complete, and save any device state you need to
101+restore. No more URBs may be submitted until the post_reset method
102+is called.
101103
102104 If you need to allocate memory here, use GFP_NOIO or GFP_ATOMIC, if you
103105 are in atomic context.
Documentation/usb/linux-cdc-acm.inf+2−2
@@ -90,10 +90,10 @@ ServiceBinary=%12%\USBSER.sys · 89 unmodified lines
9090 [SourceDisksFiles]
9191 [SourceDisksNames]
9292 [DeviceList]
93−%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_02
93+%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02
9494
9595 [DeviceList.NTamd64]
96−%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_0525&PID_A4AB&MI_02
96+%DESCRIPTION%=DriverInstall, USB\VID_0525&PID_A4A7, USB\VID_1D6B&PID_0104&MI_02
9797
9898
9999 ;------------------------------------------------------------------------------
Documentation/usb/linux.inf+3−3
@@ -18,15 +18,15 @@ DriverVer = 06/21/2006,6.0.6000.16384 · 17 unmodified lines
1818
1919 ; Decoration for x86 architecture
2020 [LinuxDevices.NTx86]
21−%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
21+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
2222
2323 ; Decoration for x64 architecture
2424 [LinuxDevices.NTamd64]
25−%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
25+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
2626
2727 ; Decoration for ia64 architecture
2828 [LinuxDevices.NTia64]
29−%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_0525&PID_a4ab&MI_00
29+%LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2, USB\VID_1d6b&PID_0104&MI_00
3030
3131 ;@@@ This is the common setting for setup
3232 [ControlFlags]
Documentation/vgaarbiter.txt+9−11
@@ -14,11 +14,10 @@ the legacy VGA arbitration task (besides other bus management tasks) when more · 13 unmodified lines
1414 than one legacy device co-exists on the same machine. But the problem happens
1515 when these devices are trying to be accessed by different userspace clients
1616 (e.g. two server in parallel). Their address assignments conflict. Moreover,
17−ideally, being an userspace application, it is not the role of the the X
18−server to control bus resources. Therefore an arbitration scheme outside of
19−the X server is needed to control the sharing of these resources. This
20−document introduces the operation of the VGA arbiter implemented for Linux
21−kernel.
17+ideally, being a userspace application, it is not the role of the X server to
18+control bus resources. Therefore an arbitration scheme outside of the X server
19+is needed to control the sharing of these resources. This document introduces
20+the operation of the VGA arbiter implemented for the Linux kernel.
2221
2322 ----------------------------------------------------------------------------
2423
@@ -39,7 +38,7 @@ I.1 vgaarb · 14 unmodified lines
3938 The vgaarb is a module of the Linux Kernel. When it is initially loaded, it
4039 scans all PCI devices and adds the VGA ones inside the arbitration. The
4140 arbiter then enables/disables the decoding on different devices of the VGA
42−legacy instructions. Device which do not want/need to use the arbiter may
41+legacy instructions. Devices which do not want/need to use the arbiter may
4342 explicitly tell it by calling vga_set_legacy_decoding().
4443
4544 The kernel exports a char device interface (/dev/vga_arbiter) to the clients,
@@ -95,8 +94,8 @@ In the case of devices hot-{un,}plugged, there is a hook - pci_notify() - to · 49 unmodified lines
9594 notify them being added/removed in the system and automatically added/removed
9695 in the arbiter.
9796
98−There's also a in-kernel API of the arbiter in the case of DRM, vgacon and
99−others which may use the arbiter.
97+There is also an in-kernel API of the arbiter in case DRM, vgacon, or other
98+drivers want to use it.
10099
101100
102101 I.2 libpciaccess
@@ -117,9 +116,8 @@ Besides it, in pci_system were added: · 14 unmodified lines
117116 struct pci_device *vga_default_dev;
118117
119118
120−The vga_count is usually need to keep informed how many cards are being
121−arbitrated, so for instance if there's only one then it can totally escape the
122−scheme.
119+The vga_count is used to track how many cards are being arbitrated, so for
120+instance, if there is only one card, then it can completely escape arbitration.
123121
124122
125123 These functions below acquire VGA resources for the given card and mark those
Documentation/video4linux/CARDLIST.em28xx+1−1
@@ -54,7 +54,7 @@ · 53 unmodified lines
5454 53 -> Pinnacle Hybrid Pro (em2881)
5555 54 -> Kworld VS-DVB-T 323UR (em2882) [eb1a:e323]
5656 55 -> Terratec Cinnergy Hybrid T USB XS (em2882) (em2882) [0ccd:005e,0ccd:0042]
57− 56 -> Pinnacle Hybrid Pro (2) (em2882) [2304:0226]
57+ 56 -> Pinnacle Hybrid Pro (330e) (em2882) [2304:0226]
5858 57 -> Kworld PlusTV HD Hybrid 330 (em2883) [eb1a:a316]
5959 58 -> Compro VideoMate ForYou/Stereo (em2820/em2840) [185b:2041]
6060 60 -> Hauppauge WinTV HVR 850 (em2883) [2040:651f]
Documentation/video4linux/README.pvrusb2+1−1
@@ -172,7 +172,7 @@ Source file list / functional overview: · 171 unmodified lines
172172 to provide a streaming API usable by a read() system call style of
173173 I/O. Right now this is the only layer on top of pvrusb2-io.[ch],
174174 however the underlying architecture here was intended to allow for
175− other styles of I/O to be implemented with additonal modules, like
175+ other styles of I/O to be implemented with additional modules, like
176176 mmap()'ed buffers or something even more exotic.
177177
178178 pvrusb2-main.c - This is the top level of the driver. Module level
Documentation/video4linux/Zoran+0−1
@@ -130,7 +130,6 @@ Card number: 4 · 129 unmodified lines
130130
131131 Note: No module for the mse3000 is available yet
132132 Note: No module for the vpx3224 is available yet
133−Note: use encoder=X or decoder=X for non-default i2c chips
134133
135134 ===========================
136135
Documentation/video4linux/bttv/Insmod-options+1−1
@@ -1,5 +1,5 @@
11
2−Note: "modinfo <module>" prints various informations about a kernel
2+Note: "modinfo <module>" prints various information about a kernel
33 module, among them a complete and up-to-date list of insmod options.
44 This list tends to be outdated because it is updated manually ...
55
Documentation/video4linux/bttv/README+1−1
@@ -70,7 +70,7 @@ If you have trouble with some specific TV card, try to ask there · 69 unmodified lines
7070 instead of mailing me directly. The chance that someone with the
7171 same card listens there is much higher...
7272
73−For problems with sound: There are alot of different systems used
73+For problems with sound: There are a lot of different systems used
7474 for TV sound all over the world. And there are also different chips
7575 which decode the audio signal. Reports about sound problems ("stereo
7676 does'nt work") are pretty useless unless you include some details
Documentation/video4linux/bttv/README.freeze+1−1
@@ -33,7 +33,7 @@ state is stuck. · 32 unmodified lines
3333
3434 I've seen reports that bttv 0.7.x crashes whereas 0.8.x works rock solid
3535 for some people. Thus probably a small buglet left somewhere in bttv
36−0.7.x. I have no idea where exactly, it works stable for me and alot of
36+0.7.x. I have no idea where exactly, it works stable for me and a lot of
3737 other people. But in case you have problems with the 0.7.x versions you
3838 can give 0.8.x a try ...
3939
Documentation/video4linux/bttv/Sound-FAQ+2−2
@@ -2,13 +2,13 @@ · 1 unmodified line
22 bttv and sound mini howto
33 =========================
44
5−There are alot of different bt848/849/878/879 based boards available.
5+There are a lot of different bt848/849/878/879 based boards available.
66 Making video work often is not a big deal, because this is handled
77 completely by the bt8xx chip, which is common on all boards. But
88 sound is handled in slightly different ways on each board.
99
1010 To handle the grabber boards correctly, there is a array tvcards[] in
11−bttv-cards.c, which holds the informations required for each board.
11+bttv-cards.c, which holds the information required for each board.
1212 Sound will work only, if the correct entry is used (for video it often
1313 makes no difference). The bttv driver prints a line to the kernel
1414 log, telling which card type is used. Like this one:
Documentation/video4linux/et61x251.txt+2−2
@@ -191,10 +191,10 @@ Syntax: <n> · 190 unmodified lines
191191 Description: Debugging information level, from 0 to 3:
192192 0 = none (use carefully)
193193 1 = critical errors
194− 2 = significant informations
194+ 2 = significant information
195195 3 = more verbose messages
196196 Level 3 is useful for testing only, when only one device
197− is used at the same time. It also shows some more informations
197+ is used at the same time. It also shows some more information
198198 about the hardware being detected. This module parameter can be
199199 changed at runtime thanks to the /sys filesystem interface.
200200 Default: 2
Documentation/video4linux/gspca.txt+1−0
@@ -275,6 +275,7 @@ pac7302 093a:2629 Genious iSlim 300 · 274 unmodified lines
275275 pac7302 093a:262a Webcam 300k
276276 pac7302 093a:262c Philips SPC 230 NC
277277 jeilinj 0979:0280 Sakar 57379
278+jeilinj 0979:0280 Sportscam DV15
278279 zc3xx 0ac8:0302 Z-star Vimicro zc0302
279280 vc032x 0ac8:0321 Vimicro generic vc0321
280281 vc032x 0ac8:0323 Vimicro Vc0323
Documentation/video4linux/pxa_camera.txt+4−4
@@ -84,12 +84,12 @@ DMA usage · 83 unmodified lines
8484 transfer is not started. On "End Of Frame" interrupt, the irq handler
8585 starts the DMA chain.
8686 - capture of one videobuffer
87− The DMA chain starts transfering data into videobuffer RAM pages.
88− When all pages are transfered, the DMA irq is raised on "ENDINTR" status
87+ The DMA chain starts transferring data into videobuffer RAM pages.
88+ When all pages are transferred, the DMA irq is raised on "ENDINTR" status
8989 - finishing one videobuffer
9090 The DMA irq handler marks the videobuffer as "done", and removes it from
9191 the active running queue
92− Meanwhile, the next videobuffer (if there is one), is transfered by DMA
92+ Meanwhile, the next videobuffer (if there is one), is transferred by DMA
9393 - finishing the last videobuffer
9494 On the DMA irq of the last videobuffer, the QCI is stopped.
9595
@@ -101,7 +101,7 @@ DMA usage · 5 unmodified lines
101101
102102 This structure is pointed by dma->sg_cpu.
103103 The descriptors are used as follows :
104− - desc-sg[i]: i-th descriptor, transfering the i-th sg
104+ - desc-sg[i]: i-th descriptor, transferring the i-th sg
105105 element to the video buffer scatter gather
106106 - finisher: has ddadr=DADDR_STOP, dcmd=ENDIRQEN
107107 - linker: has ddadr= desc-sg[0] of next video buffer, dcmd=0
Documentation/video4linux/sh_mobile_ceu_camera.txt+3−3
@@ -37,7 +37,7 @@ Generic scaling / cropping scheme · 36 unmodified lines
3737 -1'-
3838
3939 In the above chart minuses and slashes represent "real" data amounts, points and
40−accents represent "useful" data, basically, CEU scaled amd cropped output,
40+accents represent "useful" data, basically, CEU scaled and cropped output,
4141 mapped back onto the client's source plane.
4242
4343 Such a configuration can be produced by user requests:
@@ -65,7 +65,7 @@ Do not touch input rectangle - it is already optimal. · 21 unmodified lines
6565
6666 1. Calculate current sensor scales:
6767
68− scale_s = ((3') - (3)) / ((2') - (2))
68+ scale_s = ((2') - (2)) / ((3') - (3))
6969
7070 2. Calculate "effective" input crop (sensor subwindow) - CEU crop scaled back at
7171 current sensor scales onto input window - this is user S_CROP:
@@ -80,7 +80,7 @@ window: · 8 unmodified lines
8080 4. Calculate sensor output window by applying combined scales to real input
8181 window:
8282
83− width_s_out = ((2') - (2)) / scale_comb
83+ width_s_out = ((7') - (7)) = ((2') - (2)) / scale_comb
8484
8585 5. Apply iterative sensor S_FMT for sensor output window.
8686
Documentation/video4linux/sn9c102.txt+2−2
@@ -214,10 +214,10 @@ Syntax: <n> · 213 unmodified lines
214214 Description: Debugging information level, from 0 to 3:
215215 0 = none (use carefully)
216216 1 = critical errors
217− 2 = significant informations
217+ 2 = significant information
218218 3 = more verbose messages
219219 Level 3 is useful for testing only. It also shows some more
220− informations about the hardware being detected.
220+ information about the hardware being detected.
221221 This parameter can be changed at runtime thanks to the /sys
222222 filesystem interface.
223223 Default: 2
Documentation/video4linux/uvcvideo.txt+239−0
@@ -0,0 +1,239 @@
1+Linux USB Video Class (UVC) driver
2+==================================
3+
4+This file documents some driver-specific aspects of the UVC driver, such as
5+driver-specific ioctls and implementation notes.
6+
7+Questions and remarks can be sent to the Linux UVC development mailing list at
8+linux-uvc-devel@lists.berlios.de.
9+
10+
11+Extension Unit (XU) support
12+---------------------------
13+
14+1. Introduction
15+
16+The UVC specification allows for vendor-specific extensions through extension
17+units (XUs). The Linux UVC driver supports extension unit controls (XU controls)
18+through two separate mechanisms:
19+
20+ - through mappings of XU controls to V4L2 controls
21+ - through a driver-specific ioctl interface
22+
23+The first one allows generic V4L2 applications to use XU controls by mapping
24+certain XU controls onto V4L2 controls, which then show up during ordinary
25+control enumeration.
26+
27+The second mechanism requires uvcvideo-specific knowledge for the application to
28+access XU controls but exposes the entire UVC XU concept to user space for
29+maximum flexibility.
30+
31+Both mechanisms complement each other and are described in more detail below.
32+
33+
34+2. Control mappings
35+
36+The UVC driver provides an API for user space applications to define so-called
37+control mappings at runtime. These allow for individual XU controls or byte
38+ranges thereof to be mapped to new V4L2 controls. Such controls appear and
39+function exactly like normal V4L2 controls (i.e. the stock controls, such as
40+brightness, contrast, etc.). However, reading or writing of such a V4L2 controls
41+triggers a read or write of the associated XU control.
42+
43+The ioctl used to create these control mappings is called UVCIOC_CTRL_MAP.
44+Previous driver versions (before 0.2.0) required another ioctl to be used
45+beforehand (UVCIOC_CTRL_ADD) to pass XU control information to the UVC driver.
46+This is no longer necessary as newer uvcvideo versions query the information
47+directly from the device.
48+
49+For details on the UVCIOC_CTRL_MAP ioctl please refer to the section titled
50+"IOCTL reference" below.
51+
52+
53+3. Driver specific XU control interface
54+
55+For applications that need to access XU controls directly, e.g. for testing
56+purposes, firmware upload, or accessing binary controls, a second mechanism to
57+access XU controls is provided in the form of a driver-specific ioctl, namely
58+UVCIOC_CTRL_QUERY.
59+
60+A call to this ioctl allows applications to send queries to the UVC driver that
61+directly map to the low-level UVC control requests.
62+
63+In order to make such a request the UVC unit ID of the control's extension unit
64+and the control selector need to be known. This information either needs to be
65+hardcoded in the application or queried using other ways such as by parsing the
66+UVC descriptor or, if available, using the media controller API to enumerate a
67+device's entities.
68+
69+Unless the control size is already known it is necessary to first make a
70+UVC_GET_LEN requests in order to be able to allocate a sufficiently large buffer
71+and set the buffer size to the correct value. Similarly, to find out whether
72+UVC_GET_CUR or UVC_SET_CUR are valid requests for a given control, a
73+UVC_GET_INFO request should be made. The bits 0 (GET supported) and 1 (SET
74+supported) of the resulting byte indicate which requests are valid.
75+
76+With the addition of the UVCIOC_CTRL_QUERY ioctl the UVCIOC_CTRL_GET and
77+UVCIOC_CTRL_SET ioctls have become obsolete since their functionality is a
78+subset of the former ioctl. For the time being they are still supported but
79+application developers are encouraged to use UVCIOC_CTRL_QUERY instead.
80+
81+For details on the UVCIOC_CTRL_QUERY ioctl please refer to the section titled
82+"IOCTL reference" below.
83+
84+
85+4. Security
86+
87+The API doesn't currently provide a fine-grained access control facility. The
88+UVCIOC_CTRL_ADD and UVCIOC_CTRL_MAP ioctls require super user permissions.
89+
90+Suggestions on how to improve this are welcome.
91+
92+
93+5. Debugging
94+
95+In order to debug problems related to XU controls or controls in general it is
96+recommended to enable the UVC_TRACE_CONTROL bit in the module parameter 'trace'.
97+This causes extra output to be written into the system log.
98+
99+
100+6. IOCTL reference
101+
102+---- UVCIOC_CTRL_MAP - Map a UVC control to a V4L2 control ----
103+
104+Argument: struct uvc_xu_control_mapping
105+
106+Description:
107+ This ioctl creates a mapping between a UVC control or part of a UVC
108+ control and a V4L2 control. Once mappings are defined, userspace
109+ applications can access vendor-defined UVC control through the V4L2
110+ control API.
111+
112+ To create a mapping, applications fill the uvc_xu_control_mapping
113+ structure with information about an existing UVC control defined with
114+ UVCIOC_CTRL_ADD and a new V4L2 control.
115+
116+ A UVC control can be mapped to several V4L2 controls. For instance,
117+ a UVC pan/tilt control could be mapped to separate pan and tilt V4L2
118+ controls. The UVC control is divided into non overlapping fields using
119+ the 'size' and 'offset' fields and are then independantly mapped to
120+ V4L2 control.
121+
122+ For signed integer V4L2 controls the data_type field should be set to
123+ UVC_CTRL_DATA_TYPE_SIGNED. Other values are currently ignored.
124+
125+Return value:
126+ On success 0 is returned. On error -1 is returned and errno is set
127+ appropriately.
128+
129+ ENOMEM
130+ Not enough memory to perform the operation.
131+ EPERM
132+ Insufficient privileges (super user privileges are required).
133+ EINVAL
134+ No such UVC control.
135+ EOVERFLOW
136+ The requested offset and size would overflow the UVC control.
137+ EEXIST
138+ Mapping already exists.
139+
140+Data types:
141+ * struct uvc_xu_control_mapping
142+
143+ __u32 id V4L2 control identifier
144+ __u8 name[32] V4L2 control name
145+ __u8 entity[16] UVC extension unit GUID
146+ __u8 selector UVC control selector
147+ __u8 size V4L2 control size (in bits)
148+ __u8 offset V4L2 control offset (in bits)
149+ enum v4l2_ctrl_type
150+ v4l2_type V4L2 control type
151+ enum uvc_control_data_type
152+ data_type UVC control data type
153+ struct uvc_menu_info
154+ *menu_info Array of menu entries (for menu controls only)
155+ __u32 menu_count Number of menu entries (for menu controls only)
156+
157+ * struct uvc_menu_info
158+
159+ __u32 value Menu entry value used by the device
160+ __u8 name[32] Menu entry name
161+
162+
163+ * enum uvc_control_data_type
164+
165+ UVC_CTRL_DATA_TYPE_RAW Raw control (byte array)
166+ UVC_CTRL_DATA_TYPE_SIGNED Signed integer
167+ UVC_CTRL_DATA_TYPE_UNSIGNED Unsigned integer
168+ UVC_CTRL_DATA_TYPE_BOOLEAN Boolean
169+ UVC_CTRL_DATA_TYPE_ENUM Enumeration
170+ UVC_CTRL_DATA_TYPE_BITMASK Bitmask
171+
172+
173+---- UVCIOC_CTRL_QUERY - Query a UVC XU control ----
174+
175+Argument: struct uvc_xu_control_query
176+
177+Description:
178+ This ioctl queries a UVC XU control identified by its extension unit ID
179+ and control selector.
180+
181+ There are a number of different queries available that closely
182+ correspond to the low-level control requests described in the UVC
183+ specification. These requests are:
184+
185+ UVC_GET_CUR
186+ Obtain the current value of the control.
187+ UVC_GET_MIN
188+ Obtain the minimum value of the control.
189+ UVC_GET_MAX
190+ Obtain the maximum value of the control.
191+ UVC_GET_DEF
192+ Obtain the default value of the control.
193+ UVC_GET_RES
194+ Query the resolution of the control, i.e. the step size of the
195+ allowed control values.
196+ UVC_GET_LEN
197+ Query the size of the control in bytes.
198+ UVC_GET_INFO
199+ Query the control information bitmap, which indicates whether
200+ get/set requests are supported.
201+ UVC_SET_CUR
202+ Update the value of the control.
203+
204+ Applications must set the 'size' field to the correct length for the
205+ control. Exceptions are the UVC_GET_LEN and UVC_GET_INFO queries, for
206+ which the size must be set to 2 and 1, respectively. The 'data' field
207+ must point to a valid writable buffer big enough to hold the indicated
208+ number of data bytes.
209+
210+ Data is copied directly from the device without any driver-side
211+ processing. Applications are responsible for data buffer formatting,
212+ including little-endian/big-endian conversion. This is particularly
213+ important for the result of the UVC_GET_LEN requests, which is always
214+ returned as a little-endian 16-bit integer by the device.
215+
216+Return value:
217+ On success 0 is returned. On error -1 is returned and errno is set
218+ appropriately.
219+
220+ ENOENT
221+ The device does not support the given control or the specified
222+ extension unit could not be found.
223+ ENOBUFS
224+ The specified buffer size is incorrect (too big or too small).
225+ EINVAL
226+ An invalid request code was passed.
227+ EBADRQC
228+ The given request is not supported by the given control.
229+ EFAULT
230+ The data pointer references an inaccessible memory area.
231+
232+Data types:
233+ * struct uvc_xu_control_query
234+
235+ __u8 unit Extension unit ID
236+ __u8 selector Control selector
237+ __u8 query Request code to send to the device
238+ __u16 size Control data size (in bytes)
239+ __u8 *data Control value
Documentation/video4linux/v4l2-framework.txt+1−1
@@ -343,7 +343,7 @@ ignored. If you want to check for errors use this: · 342 unmodified lines
343343 err = v4l2_device_call_until_err(v4l2_dev, 0, core, g_chip_ident, &chip);
344344
345345 Any error except -ENOIOCTLCMD will exit the loop with that error. If no
346−errors (except -ENOIOCTLCMD) occured, then 0 is returned.
346+errors (except -ENOIOCTLCMD) occurred, then 0 is returned.
347347
348348 The second argument to both calls is a group ID. If 0, then all subdevs are
349349 called. If non-zero, then only those whose group ID match that value will
Documentation/video4linux/w9968cf.txt+1−1
@@ -413,7 +413,7 @@ Syntax: <n> · 412 unmodified lines
413413 Description: Debugging information level, from 0 to 6:
414414 0 = none (use carefully)
415415 1 = critical errors
416− 2 = significant informations
416+ 2 = significant information
417417 3 = configuration or general messages
418418 4 = warnings
419419 5 = called functions
Documentation/video4linux/zc0301.txt+3−3
@@ -181,10 +181,10 @@ Syntax: <n> · 180 unmodified lines
181181 Description: Debugging information level, from 0 to 3:
182182 0 = none (use carefully)
183183 1 = critical errors
184− 2 = significant informations
184+ 2 = significant information
185185 3 = more verbose messages
186186 Level 3 is useful for testing only, when only one device
187− is used at the same time. It also shows some more informations
187+ is used at the same time. It also shows some information
188188 about the hardware being detected. This module parameter can be
189189 changed at runtime thanks to the /sys filesystem interface.
190190 Default: 2
@@ -261,7 +261,7 @@ the fingerprint is: '88E8 F32F 7244 68BA 3958 5D40 99DA 5D2A FCE6 35A4'. · 70 unmodified lines
261261
262262 11. Credits
263263 ===========
264−- Informations about the chip internals needed to enable the I2C protocol have
264+- Information about the chip internals needed to enable the I2C protocol have
265265 been taken from the documentation of the ZC030x Video4Linux1 driver written
266266 by Andrew Birkett <andy@nobugs.org>;
267267 - The initialization values of the ZC0301 controller connected to the PAS202BCB
Documentation/virtual/00-INDEX+10−0
@@ -0,0 +1,10 @@
1+Virtualization support in the Linux kernel.
2+
3+00-INDEX
4+ - this file.
5+kvm/
6+ - Kernel Virtual Machine. See also http://linux-kvm.org
7+lguest/
8+ - Extremely simple hypervisor for experimental/educational use.
9+uml/
10+ - User Mode Linux, builds/runs Linux kernel as a userspace program.
Documentation/virtual/kvm/api.txtrenamed from Documentation/kvm/api.txt+31−3
@@ -175,7 +175,10 @@ 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).
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.
180+If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4
181+cpus max.
179182
180183 4.8 KVM_GET_DIRTY_LOG (vm ioctl)
181184
@@ -261,7 +264,7 @@ See KVM_GET_REGS for the data structure. · 79 unmodified lines
261264 4.13 KVM_GET_SREGS
262265
263266 Capability: basic
264−Architectures: x86
267+Architectures: x86, ppc
265268 Type: vcpu ioctl
266269 Parameters: struct kvm_sregs (out)
267270 Returns: 0 on success, -1 on error
@@ -279,6 +282,8 @@ struct kvm_sregs { · 11 unmodified lines
279282 __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64];
280283 };
281284
285+/* ppc -- see arch/powerpc/include/asm/kvm.h */
286+
282287 interrupt_bitmap is a bitmap of pending external interrupts. At most
283288 one bit may be set. This interrupt has been acknowledged by the APIC
284289 but not yet injected into the cpu core.
@@ -286,7 +291,7 @@ but not yet injected into the cpu core. · 1 unmodified line
286291 4.14 KVM_SET_SREGS
287292
288293 Capability: basic
289−Architectures: x86
294+Architectures: x86, ppc
290295 Type: vcpu ioctl
291296 Parameters: struct kvm_sregs (in)
292297 Returns: 0 on success, -1 on error
@@ -1263,6 +1268,29 @@ struct kvm_assigned_msix_entry { · 970 unmodified lines
12631268 __u16 padding[3];
12641269 };
12651270
1271+4.54 KVM_SET_TSC_KHZ
1272+
1273+Capability: KVM_CAP_TSC_CONTROL
1274+Architectures: x86
1275+Type: vcpu ioctl
1276+Parameters: virtual tsc_khz
1277+Returns: 0 on success, -1 on error
1278+
1279+Specifies the tsc frequency for the virtual machine. The unit of the
1280+frequency is KHz.
1281+
1282+4.55 KVM_GET_TSC_KHZ
1283+
1284+Capability: KVM_CAP_GET_TSC_KHZ
1285+Architectures: x86
1286+Type: vcpu ioctl
1287+Parameters: none
1288+Returns: virtual tsc-khz on success, negative value on error
1289+
1290+Returns the tsc frequency of the guest. The unit of the return value is
1291+KHz. If the host has unstable tsc this ioctl returns -EIO instead as an
1292+error.
1293+
12661294 5. The kvm_run structure
12671295
12681296 Application code obtains a pointer to the kvm_run structure by
Documentation/virtual/kvm/cpuid.txtrenamed from Documentation/kvm/cpuid.txt+0−0

File renamed without changes.

Documentation/virtual/kvm/locking.txtrenamed from Documentation/kvm/locking.txt+0−0

File renamed without changes.

Documentation/virtual/kvm/mmu.txtrenamed from Documentation/kvm/mmu.txt+1−1
@@ -23,7 +23,7 @@ The mmu code attempts to satisfy the following requirements: · 22 unmodified lines
2323 and framebuffer-based displays
2424 - footprint: keep the amount of pinned kernel memory low (most memory
2525 should be shrinkable)
26−- reliablity: avoid multipage or GFP_ATOMIC allocations
26+- reliability: avoid multipage or GFP_ATOMIC allocations
2727
2828 Acronyms
2929 ========
Documentation/virtual/kvm/msr.txtrenamed from Documentation/kvm/msr.txt+0−0

File renamed without changes.

Documentation/virtual/kvm/ppc-pv.txtrenamed from Documentation/kvm/ppc-pv.txt+1−1
@@ -136,7 +136,7 @@ Patched instructions · 135 unmodified lines
136136 ====================
137137
138138 The "ld" and "std" instructions are transormed to "lwz" and "stw" instructions
139−respectively on 32 bit systems with an added offset of 4 to accomodate for big
139+respectively on 32 bit systems with an added offset of 4 to accommodate for big
140140 endianness.
141141
142142 The following is a list of mapping the Linux kernel performs when running as
Documentation/virtual/kvm/review-checklist.txtrenamed from Documentation/kvm/review-checklist.txt+1−1
@@ -7,7 +7,7 @@ Review checklist for kvm patches · 6 unmodified lines
77 2. Patches should be against kvm.git master branch.
88
99 3. If the patch introduces or modifies a new userspace API:
10− - the API must be documented in Documentation/kvm/api.txt
10+ - the API must be documented in Documentation/virtual/kvm/api.txt
1111 - the API must be discoverable using KVM_CHECK_EXTENSION
1212
1313 4. New state must include support for save/restore.
Documentation/virtual/kvm/timekeeping.txtrenamed from Documentation/kvm/timekeeping.txt+1−1
@@ -81,7 +81,7 @@ Mode 0: Single Timeout. This is a one-shot software timeout that counts down · 80 unmodified lines
8181 when the gate is high (always true for timers 0 and 1). When the count
8282 reaches zero, the output goes high.
8383
84−Mode 1: Triggered One-shot. The output is intially set high. When the gate
84+Mode 1: Triggered One-shot. The output is initially set high. When the gate
8585 line is set high, a countdown is initiated (which does not stop if the gate is
8686 lowered), during which the output is set low. When the count reaches zero,
8787 the output goes high.
Documentation/virtual/lguest/.gitignorerenamed from Documentation/lguest/.gitignore+0−0

File renamed without changes.

Documentation/virtual/lguest/Makefilerenamed from Documentation/lguest/Makefile+0−0

File renamed without changes.

Documentation/virtual/lguest/extractrenamed from Documentation/lguest/extract+0−0

File renamed without changes.

Documentation/virtual/lguest/lguest.crenamed from Documentation/lguest/lguest.c+0−0

File renamed without changes.

Documentation/virtual/lguest/lguest.txtrenamed from Documentation/lguest/lguest.txt+2−1
@@ -74,7 +74,8 @@ Running Lguest: · 73 unmodified lines
7474
7575 - Run an lguest as root:
7676
77− Documentation/lguest/lguest 64 vmlinux --tunnet=192.168.19.1 --block=rootfile root=/dev/vda
77+ Documentation/virtual/lguest/lguest 64 vmlinux --tunnet=192.168.19.1 \
78+ --block=rootfile root=/dev/vda
7879
7980 Explanation:
8081 64: the amount of memory to use, in MB.
Documentation/virtual/uml/UserModeLinux-HOWTO.txtrenamed from Documentation/uml/UserModeLinux-HOWTO.txt+10−0
@@ -1182,6 +1182,16 @@ · 1181 unmodified lines
11821182 forge.net/> and explains these in detail, as well as
11831183 some other issues.
11841184
1185+ There is also a related point-to-point only "ucast" transport.
1186+ This is useful when your network does not support multicast, and
1187+ all network connections are simple point to point links.
1188+
1189+ The full set of command line options for this transport are
1190+
1191+
1192+ ethn=ucast,ethernet address,remote address,listen port,remote port
1193+
1194+
11851195
11861196
11871197 66..66.. TTUUNN//TTAAPP wwiitthh tthhee uummll__nneett hheellppeerr
Documentation/vm/active_mm.txt+1−1
@@ -74,7 +74,7 @@ we have a user context", and is generally done by the page fault handler · 73 unmodified lines
7474 and things like that).
7575
7676 Anyway, I put a pre-patch-2.3.13-1 on ftp.kernel.org just a moment ago,
77−because it slightly changes the interfaces to accomodate the alpha (who
77+because it slightly changes the interfaces to accommodate the alpha (who
7878 would have thought it, but the alpha actually ends up having one of the
7979 ugliest context switch codes - unlike the other architectures where the MM
8080 and register state is separate, the alpha PALcode joins the two, and you
Documentation/vm/cleancache.txt+278−0
@@ -0,0 +1,278 @@
1+MOTIVATION
2+
3+Cleancache is a new optional feature provided by the VFS layer that
4+potentially dramatically increases page cache effectiveness for
5+many workloads in many environments at a negligible cost.
6+
7+Cleancache can be thought of as a page-granularity victim cache for clean
8+pages that the kernel's pageframe replacement algorithm (PFRA) would like
9+to keep around, but can't since there isn't enough memory. So when the
10+PFRA "evicts" a page, it first attempts to use cleancache code to
11+put the data contained in that page into "transcendent memory", memory
12+that is not directly accessible or addressable by the kernel and is
13+of unknown and possibly time-varying size.
14+
15+Later, when a cleancache-enabled filesystem wishes to access a page
16+in a file on disk, it first checks cleancache to see if it already
17+contains it; if it does, the page of data is copied into the kernel
18+and a disk access is avoided.
19+
20+Transcendent memory "drivers" for cleancache are currently implemented
21+in Xen (using hypervisor memory) and zcache (using in-kernel compressed
22+memory) and other implementations are in development.
23+
24+FAQs are included below.
25+
26+IMPLEMENTATION OVERVIEW
27+
28+A cleancache "backend" that provides transcendent memory registers itself
29+to the kernel's cleancache "frontend" by calling cleancache_register_ops,
30+passing a pointer to a cleancache_ops structure with funcs set appropriately.
31+Note that cleancache_register_ops returns the previous settings so that
32+chaining can be performed if desired. The functions provided must conform to
33+certain semantics as follows:
34+
35+Most important, cleancache is "ephemeral". Pages which are copied into
36+cleancache have an indefinite lifetime which is completely unknowable
37+by the kernel and so may or may not still be in cleancache at any later time.
38+Thus, as its name implies, cleancache is not suitable for dirty pages.
39+Cleancache has complete discretion over what pages to preserve and what
40+pages to discard and when.
41+
42+Mounting a cleancache-enabled filesystem should call "init_fs" to obtain a
43+pool id which, if positive, must be saved in the filesystem's superblock;
44+a negative return value indicates failure. A "put_page" will copy a
45+(presumably about-to-be-evicted) page into cleancache and associate it with
46+the pool id, a file key, and a page index into the file. (The combination
47+of a pool id, a file key, and an index is sometimes called a "handle".)
48+A "get_page" will copy the page, if found, from cleancache into kernel memory.
49+A "flush_page" will ensure the page no longer is present in cleancache;
50+a "flush_inode" will flush all pages associated with the specified file;
51+and, when a filesystem is unmounted, a "flush_fs" will flush all pages in
52+all files specified by the given pool id and also surrender the pool id.
53+
54+An "init_shared_fs", like init_fs, obtains a pool id but tells cleancache
55+to treat the pool as shared using a 128-bit UUID as a key. On systems
56+that may run multiple kernels (such as hard partitioned or virtualized
57+systems) that may share a clustered filesystem, and where cleancache
58+may be shared among those kernels, calls to init_shared_fs that specify the
59+same UUID will receive the same pool id, thus allowing the pages to
60+be shared. Note that any security requirements must be imposed outside
61+of the kernel (e.g. by "tools" that control cleancache). Or a
62+cleancache implementation can simply disable shared_init by always
63+returning a negative value.
64+
65+If a get_page is successful on a non-shared pool, the page is flushed (thus
66+making cleancache an "exclusive" cache). On a shared pool, the page
67+is NOT flushed on a successful get_page so that it remains accessible to
68+other sharers. The kernel is responsible for ensuring coherency between
69+cleancache (shared or not), the page cache, and the filesystem, using
70+cleancache flush operations as required.
71+
72+Note that cleancache must enforce put-put-get coherency and get-get
73+coherency. For the former, if two puts are made to the same handle but
74+with different data, say AAA by the first put and BBB by the second, a
75+subsequent get can never return the stale data (AAA). For get-get coherency,
76+if a get for a given handle fails, subsequent gets for that handle will
77+never succeed unless preceded by a successful put with that handle.
78+
79+Last, cleancache provides no SMP serialization guarantees; if two
80+different Linux threads are simultaneously putting and flushing a page
81+with the same handle, the results are indeterminate. Callers must
82+lock the page to ensure serial behavior.
83+
84+CLEANCACHE PERFORMANCE METRICS
85+
86+Cleancache monitoring is done by sysfs files in the
87+/sys/kernel/mm/cleancache directory. The effectiveness of cleancache
88+can be measured (across all filesystems) with:
89+
90+succ_gets - number of gets that were successful
91+failed_gets - number of gets that failed
92+puts - number of puts attempted (all "succeed")
93+flushes - number of flushes attempted
94+
95+A backend implementatation may provide additional metrics.
96+
97+FAQ
98+
99+1) Where's the value? (Andrew Morton)
100+
101+Cleancache provides a significant performance benefit to many workloads
102+in many environments with negligible overhead by improving the
103+effectiveness of the pagecache. Clean pagecache pages are
104+saved in transcendent memory (RAM that is otherwise not directly
105+addressable to the kernel); fetching those pages later avoids "refaults"
106+and thus disk reads.
107+
108+Cleancache (and its sister code "frontswap") provide interfaces for
109+this transcendent memory (aka "tmem"), which conceptually lies between
110+fast kernel-directly-addressable RAM and slower DMA/asynchronous devices.
111+Disallowing direct kernel or userland reads/writes to tmem
112+is ideal when data is transformed to a different form and size (such
113+as with compression) or secretly moved (as might be useful for write-
114+balancing for some RAM-like devices). Evicted page-cache pages (and
115+swap pages) are a great use for this kind of slower-than-RAM-but-much-
116+faster-than-disk transcendent memory, and the cleancache (and frontswap)
117+"page-object-oriented" specification provides a nice way to read and
118+write -- and indirectly "name" -- the pages.
119+
120+In the virtual case, the whole point of virtualization is to statistically
121+multiplex physical resources across the varying demands of multiple
122+virtual machines. This is really hard to do with RAM and efforts to
123+do it well with no kernel change have essentially failed (except in some
124+well-publicized special-case workloads). Cleancache -- and frontswap --
125+with a fairly small impact on the kernel, provide a huge amount
126+of flexibility for more dynamic, flexible RAM multiplexing.
127+Specifically, the Xen Transcendent Memory backend allows otherwise
128+"fallow" hypervisor-owned RAM to not only be "time-shared" between multiple
129+virtual machines, but the pages can be compressed and deduplicated to
130+optimize RAM utilization. And when guest OS's are induced to surrender
131+underutilized RAM (e.g. with "self-ballooning"), page cache pages
132+are the first to go, and cleancache allows those pages to be
133+saved and reclaimed if overall host system memory conditions allow.
134+
135+And the identical interface used for cleancache can be used in
136+physical systems as well. The zcache driver acts as a memory-hungry
137+device that stores pages of data in a compressed state. And
138+the proposed "RAMster" driver shares RAM across multiple physical
139+systems.
140+
141+2) Why does cleancache have its sticky fingers so deep inside the
142+ filesystems and VFS? (Andrew Morton and Christoph Hellwig)
143+
144+The core hooks for cleancache in VFS are in most cases a single line
145+and the minimum set are placed precisely where needed to maintain
146+coherency (via cleancache_flush operations) between cleancache,
147+the page cache, and disk. All hooks compile into nothingness if
148+cleancache is config'ed off and turn into a function-pointer-
149+compare-to-NULL if config'ed on but no backend claims the ops
150+functions, or to a compare-struct-element-to-negative if a
151+backend claims the ops functions but a filesystem doesn't enable
152+cleancache.
153+
154+Some filesystems are built entirely on top of VFS and the hooks
155+in VFS are sufficient, so don't require an "init_fs" hook; the
156+initial implementation of cleancache didn't provide this hook.
157+But for some filesystems (such as btrfs), the VFS hooks are
158+incomplete and one or more hooks in fs-specific code are required.
159+And for some other filesystems, such as tmpfs, cleancache may
160+be counterproductive. So it seemed prudent to require a filesystem
161+to "opt in" to use cleancache, which requires adding a hook in
162+each filesystem. Not all filesystems are supported by cleancache
163+only because they haven't been tested. The existing set should
164+be sufficient to validate the concept, the opt-in approach means
165+that untested filesystems are not affected, and the hooks in the
166+existing filesystems should make it very easy to add more
167+filesystems in the future.
168+
169+The total impact of the hooks to existing fs and mm files is only
170+about 40 lines added (not counting comments and blank lines).
171+
172+3) Why not make cleancache asynchronous and batched so it can
173+ more easily interface with real devices with DMA instead
174+ of copying each individual page? (Minchan Kim)
175+
176+The one-page-at-a-time copy semantics simplifies the implementation
177+on both the frontend and backend and also allows the backend to
178+do fancy things on-the-fly like page compression and
179+page deduplication. And since the data is "gone" (copied into/out
180+of the pageframe) before the cleancache get/put call returns,
181+a great deal of race conditions and potential coherency issues
182+are avoided. While the interface seems odd for a "real device"
183+or for real kernel-addressable RAM, it makes perfect sense for
184+transcendent memory.
185+
186+4) Why is non-shared cleancache "exclusive"? And where is the
187+ page "flushed" after a "get"? (Minchan Kim)
188+
189+The main reason is to free up space in transcendent memory and
190+to avoid unnecessary cleancache_flush calls. If you want inclusive,
191+the page can be "put" immediately following the "get". If
192+put-after-get for inclusive becomes common, the interface could
193+be easily extended to add a "get_no_flush" call.
194+
195+The flush is done by the cleancache backend implementation.
196+
197+5) What's the performance impact?
198+
199+Performance analysis has been presented at OLS'09 and LCA'10.
200+Briefly, performance gains can be significant on most workloads,
201+especially when memory pressure is high (e.g. when RAM is
202+overcommitted in a virtual workload); and because the hooks are
203+invoked primarily in place of or in addition to a disk read/write,
204+overhead is negligible even in worst case workloads. Basically
205+cleancache replaces I/O with memory-copy-CPU-overhead; on older
206+single-core systems with slow memory-copy speeds, cleancache
207+has little value, but in newer multicore machines, especially
208+consolidated/virtualized machines, it has great value.
209+
210+6) How do I add cleancache support for filesystem X? (Boaz Harrash)
211+
212+Filesystems that are well-behaved and conform to certain
213+restrictions can utilize cleancache simply by making a call to
214+cleancache_init_fs at mount time. Unusual, misbehaving, or
215+poorly layered filesystems must either add additional hooks
216+and/or undergo extensive additional testing... or should just
217+not enable the optional cleancache.
218+
219+Some points for a filesystem to consider:
220+
221+- The FS should be block-device-based (e.g. a ram-based FS such
222+ as tmpfs should not enable cleancache)
223+- To ensure coherency/correctness, the FS must ensure that all
224+ file removal or truncation operations either go through VFS or
225+ add hooks to do the equivalent cleancache "flush" operations
226+- To ensure coherency/correctness, either inode numbers must
227+ be unique across the lifetime of the on-disk file OR the
228+ FS must provide an "encode_fh" function.
229+- The FS must call the VFS superblock alloc and deactivate routines
230+ or add hooks to do the equivalent cleancache calls done there.
231+- To maximize performance, all pages fetched from the FS should
232+ go through the do_mpag_readpage routine or the FS should add
233+ hooks to do the equivalent (cf. btrfs)
234+- Currently, the FS blocksize must be the same as PAGESIZE. This
235+ is not an architectural restriction, but no backends currently
236+ support anything different.
237+- A clustered FS should invoke the "shared_init_fs" cleancache
238+ hook to get best performance for some backends.
239+
240+7) Why not use the KVA of the inode as the key? (Christoph Hellwig)
241+
242+If cleancache would use the inode virtual address instead of
243+inode/filehandle, the pool id could be eliminated. But, this
244+won't work because cleancache retains pagecache data pages
245+persistently even when the inode has been pruned from the
246+inode unused list, and only flushes the data page if the file
247+gets removed/truncated. So if cleancache used the inode kva,
248+there would be potential coherency issues if/when the inode
249+kva is reused for a different file. Alternately, if cleancache
250+flushed the pages when the inode kva was freed, much of the value
251+of cleancache would be lost because the cache of pages in cleanache
252+is potentially much larger than the kernel pagecache and is most
253+useful if the pages survive inode cache removal.
254+
255+8) Why is a global variable required?
256+
257+The cleancache_enabled flag is checked in all of the frequently-used
258+cleancache hooks. The alternative is a function call to check a static
259+variable. Since cleancache is enabled dynamically at runtime, systems
260+that don't enable cleancache would suffer thousands (possibly
261+tens-of-thousands) of unnecessary function calls per second. So the
262+global variable allows cleancache to be enabled by default at compile
263+time, but have insignificant performance impact when cleancache remains
264+disabled at runtime.
265+
266+9) Does cleanache work with KVM?
267+
268+The memory model of KVM is sufficiently different that a cleancache
269+backend may have less value for KVM. This remains to be tested,
270+especially in an overcommitted system.
271+
272+10) Does cleancache work in userspace? It sounds useful for
273+ memory hungry caches like web browsers. (Jamie Lokier)
274+
275+No plans yet, though we agree it sounds useful, at least for
276+apps that bypass the page cache (e.g. O_DIRECT).
277+
278+Last updated: Dan Magenheimer, April 13 2011
Documentation/vm/hugetlbpage.txt+1−1
@@ -72,7 +72,7 @@ number of huge pages requested. This is the most reliable method of · 71 unmodified lines
7272 allocating huge pages as memory has not yet become fragmented.
7373
7474 Some platforms support multiple huge page sizes. To allocate huge pages
75−of a specific size, one must preceed the huge pages boot command parameters
75+of a specific size, one must precede the huge pages boot command parameters
7676 with a huge page size selection parameter "hugepagesz=<size>". <size> must
7777 be specified in bytes with optional scale suffix [kKmMgG]. The default huge
7878 page size may be selected with the "default_hugepagesz=<size>" boot parameter.
Documentation/vm/locking+1−1
@@ -66,7 +66,7 @@ in some cases it is not really needed. Eg, vm_start is modified by · 65 unmodified lines
6666 expand_stack(), it is hard to come up with a destructive scenario without
6767 having the vmlist protection in this case.
6868
69−The page_table_lock nests with the inode i_mmap_lock and the kmem cache
69+The page_table_lock nests with the inode i_mmap_mutex and the kmem cache
7070 c_spinlock spinlocks. This is okay, since the kmem code asks for pages after
7171 dropping c_spinlock. The page_table_lock also nests with pagecache_lock and
7272 pagemap_lru_lock spinlocks, and no code asks for memory with these locks
Documentation/vm/overcommit-accounting+1−1
@@ -4,7 +4,7 @@ The Linux kernel supports the following overcommit handling modes · 3 unmodified lines
44 address space are refused. Used for a typical system. It
55 ensures a seriously wild allocation fails while allowing
66 overcommit to reduce swap usage. root is allowed to
7− allocate slighly more memory in this mode. This is the
7+ allocate slightly more memory in this mode. This is the
88 default.
99
1010 1 - Always overcommit. Appropriate for some scientific
Documentation/w1/slaves/w1_ds2423+3−3
@@ -21,8 +21,8 @@ value and associated ram buffer is outpputed to own line. · 20 unmodified lines
2121
2222 Each lines will contain the values of 42 bytes read from the counter and
2323 memory page along the crc=YES or NO for indicating whether the read operation
24−was successfull and CRC matched.
25−If the operation was successfull, there is also in the end of each line
24+was successful and CRC matched.
25+If the operation was successful, there is also in the end of each line
2626 a counter value expressed as an integer after c=
2727
2828 Meaning of 42 bytes represented is following:
@@ -34,7 +34,7 @@ Meaning of 42 bytes represented is following: · 5 unmodified lines
3434 - crc=YES/NO indicating whether read was ok and crc matched
3535 - c=<int> current counter value
3636
37−example from the successfull read:
37+example from the successful read:
3838 00 02 00 00 00 00 00 00 00 6d 38 00 ff ff 00 00 fe ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2
3939 00 02 00 00 00 00 00 00 00 e0 1f 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=2
4040 00 29 c6 5d 18 00 00 00 00 04 37 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff 00 00 ff ff crc=YES c=408798761
Documentation/w1/w1.netlink+1−1
@@ -81,7 +81,7 @@ which will contain list of all registered master ids in the following · 80 unmodified lines
8181 format:
8282
8383 cn_msg (CN_W1_IDX.CN_W1_VAL as id, len is equal to sizeof(struct
84− w1_netlink_msg) plus number of masters multipled by 4)
84+ w1_netlink_msg) plus number of masters multiplied by 4)
8585 w1_netlink_msg (type: W1_LIST_MASTERS, len is equal to
8686 number of masters multiplied by 4 (u32 size))
8787 id0 ... idN
Documentation/watchdog/hpwdt.txt+1−1
@@ -8,7 +8,7 @@ Last reviewed: 06/02/2009 · 7 unmodified lines
88 The HP iLO2 NMI Watchdog driver is a kernel module that provides basic
99 watchdog functionality and the added benefit of NMI sourcing. Both the
1010 watchdog functionality and the NMI sourcing capability need to be enabled
11− by the user. Remember that the two modes are not dependant on one another.
11+ by the user. Remember that the two modes are not dependent on one another.
1212 A user can have the NMI sourcing without the watchdog timer and vice-versa.
1313
1414 Watchdog functionality is enabled like any other common watchdog driver. That
Documentation/workqueue.txt+40−0
@@ -12,6 +12,7 @@ CONTENTS · 11 unmodified lines
1212 4. Application Programming Interface (API)
1313 5. Example Execution Scenarios
1414 6. Guidelines
15+7. Debugging
1516
1617
1718 1. Introduction
@@ -379,3 +380,42 @@ If q1 has WQ_CPU_INTENSIVE set, · 361 unmodified lines
379380 * Unless work items are expected to consume a huge amount of CPU
380381 cycles, using a bound wq is usually beneficial due to the increased
381382 level of locality in wq operations and work item execution.
383+
384+
385+7. Debugging
386+
387+Because the work functions are executed by generic worker threads
388+there are a few tricks needed to shed some light on misbehaving
389+workqueue users.
390+
391+Worker threads show up in the process list as:
392+
393+root 5671 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/0:1]
394+root 5672 0.0 0.0 0 0 ? S 12:07 0:00 [kworker/1:2]
395+root 5673 0.0 0.0 0 0 ? S 12:12 0:00 [kworker/0:0]
396+root 5674 0.0 0.0 0 0 ? S 12:13 0:00 [kworker/1:0]
397+
398+If kworkers are going crazy (using too much cpu), there are two types
399+of possible problems:
400+
401+ 1. Something beeing scheduled in rapid succession
402+ 2. A single work item that consumes lots of cpu cycles
403+
404+The first one can be tracked using tracing:
405+
406+ $ echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event
407+ $ cat /sys/kernel/debug/tracing/trace_pipe > out.txt
408+ (wait a few secs)
409+ ^C
410+
411+If something is busy looping on work queueing, it would be dominating
412+the output and the offender can be determined with the work item
413+function.
414+
415+For the second type of problems it should be possible to just check
416+the stack trace of the offending worker thread.
417+
418+ $ cat /proc/THE_OFFENDING_KWORKER/stack
419+
420+The work item's function should be trivially visible in the stack
421+trace.
Documentation/x86/x86_64/boot-options.txt+1−1
@@ -206,7 +206,7 @@ IOMMU (input/output memory management unit) · 205 unmodified lines
206206 (e.g. because you have < 3 GB memory).
207207 Kernel boot message: "PCI-DMA: Disabling IOMMU"
208208
209− 2. <arch/x86_64/kernel/pci-gart.c>: AMD GART based hardware IOMMU.
209+ 2. <arch/x86/kernel/amd_gart_64.c>: AMD GART based hardware IOMMU.
210210 Kernel boot message: "PCI-DMA: using GART IOMMU"
211211
212212 3. <arch/x86_64/kernel/pci-swiotlb.c> : Software IOMMU implementation. Used
Documentation/zh_CN/email-clients.txt+210−0
@@ -0,0 +1,210 @@
1+锘?Chinese translated version of Documentation/email-clients.txt
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/email-clients.txt ???涓????缈昏??
12+
13+濡??????宠??璁烘????存?版???????????瀹癸??璇风?存?ヨ??绯诲?????妗g??缁存?よ?????濡????浣?浣跨?ㄨ?辨??
14+浜ゆ???????伴?剧??璇?锛?涔????浠ュ??涓???????缁存?よ??姹???┿??濡???????缈昏????存?颁???????舵?????缈?
15+璇?瀛???ㄩ??棰?锛?璇疯??绯讳腑??????缁存?よ?????
16+
17+涓???????缁存?よ??锛? 璐惧??濞? Harry Wei <harryxiyou@gmail.com>
18+涓???????缈昏?????锛? 璐惧??濞? Harry Wei <harryxiyou@gmail.com>
19+涓?????????¤?????锛? Yinglin Luan <synmyth@gmail.com>
20+ Xiaochen Wang <wangxiaochen0@gmail.com>
21+ yaxinsn <yaxinsn@163.com>
22+
23+浠ヤ??涓烘?f??
24+---------------------------------------------------------------------
25+
26+Linux???浠跺?㈡?风?????缃?淇℃??
27+======================================================================
28+
29+?????????缃?
30+----------------------------------------------------------------------
31+Linux?????歌ˉ涓???????杩????浠惰?????浜ょ??锛????濂芥??琛ヤ??浣?涓洪??浠朵????????宓?????????????浜?缁存?よ??
32+??ユ?堕??浠讹??浣???????浠剁?????瀹规?煎??搴?璇ユ??"text/plain"?????惰??锛????浠朵????????涓?璧???????锛?
33+???涓鸿??浼?浣胯ˉ涓????寮???ㄩ?ㄥ????ㄨ??璁鸿??绋?涓???????寰???伴?俱??
34+
35+??ㄦ?ュ?????Linux?????歌ˉ涓???????浠跺?㈡?风????ㄥ?????琛ヤ????跺??璇ュ??浜?????????????濮???舵?????渚?濡?锛?
36+浠?浠?涓???芥?瑰?????????????ゅ?惰〃绗???????绌烘?硷???????虫????ㄦ??涓?琛????寮?澶存?????缁?灏俱??
37+
38+涓?瑕????杩?"format=flowed"妯″????????琛ヤ?????杩???蜂??寮?璧蜂?????棰????浠ュ?????瀹崇?????琛????
39+
40+涓?瑕?璁╀????????浠跺?㈡?风??杩?琛??????ㄦ?㈣?????杩???蜂??浼???村??浣????琛ヤ?????
41+
42+???浠跺?㈡?风??涓???芥?瑰???????????瀛?绗????缂??????瑰?????瑕??????????琛ヤ???????芥??ASCII??????UTF-8缂??????瑰??锛?
43+濡????浣?浣跨??UTF-8缂??????瑰???????????浠讹????d??浣?灏?浼???垮??涓?浜??????藉????????瀛?绗???????棰????
44+
45+???浠跺?㈡?风??搴?璇ュ舰???骞朵??淇???? References: ?????? In-Reply-To: ???棰?锛???d??
46+???浠惰??棰?灏变??浼?涓???????
47+
48+澶???剁??甯?(?????????璐寸??甯?)???甯镐????界?ㄤ??琛ヤ??锛????涓哄?惰〃绗?浼?杞????涓虹┖??笺??浣跨??xclipboard, xclip
49+??????xcutsel涔?璁稿??浠ワ??浣???????濂芥??璇?涓?涓?????????垮??浣跨?ㄥ????剁??甯????
50+
51+涓?瑕???ㄤ娇???PGP/GPG缃插????????浠朵腑??????琛ヤ?????杩???蜂??浣垮??寰?澶???????涓???借?诲??????????ㄤ??浣????琛ヤ?????
52+锛?杩?涓????棰?搴?璇ユ?????浠ヤ慨澶????锛?
53+
54+??ㄧ???????搁??浠跺??琛ㄥ?????琛ヤ??涔????锛?缁????宸卞?????涓?涓?琛ヤ?????涓?涓???????涓绘??锛?淇?瀛???ユ?跺?扮??
55+???浠讹??灏?琛ヤ?????'patch'??戒护???涓?锛?濡??????????浜?锛????缁??????搁??浠跺??琛ㄥ????????
56+
57+
58+涓?浜????浠跺?㈡?风?????绀?
59+----------------------------------------------------------------------
60+杩????缁???轰??浜?璇?缁????MUA???缃????绀猴?????浠ョ?ㄤ??缁?Linux?????稿?????琛ヤ?????杩?浜?骞朵???????虫??
61+?????????杞?浠跺?????缃???荤?????
62+
63+璇存??锛?
64+TUI = 浠ユ?????涓哄?虹???????ㄦ?锋?ュ??
65+GUI = ??惧舰?????㈢?ㄦ?锋?ュ??
66+
67+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68+Alpine (TUI)
69+
70+???缃????椤癸??
71+???"Sending Preferences"??ㄥ??锛?
72+
73+- "Do Not Send Flowed Text"蹇?椤诲?????
74+- "Strip Whitespace Before Sending"蹇?椤诲?抽??
75+
76+褰???????浠舵?讹????????搴?璇ユ?惧?ㄨˉ涓?浼???虹?扮????版?癸????跺?????涓?CTRL-R缁???????锛?浣挎??瀹????
77+琛ヤ?????浠跺????ュ?伴??浠朵腑???
78+
79+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80+Evolution (GUI)
81+
82+涓?浜?寮????????????????浣跨?ㄥ????????琛ヤ??
83+
84+褰??????╅??浠堕??椤癸??Preformat
85+ 浠?Format->Heading->Preformatted (Ctrl-7)??????宸ュ?锋??
86+
87+??跺??浣跨??锛?
88+ Insert->Text File... (Alt-n x)?????ヨˉ涓????浠躲??
89+
90+浣?杩????浠?"diff -Nru old.c new.c | xclip"锛???????Preformat锛???跺??浣跨?ㄤ腑??撮??杩?琛?绮?甯????
91+
92+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93+Kmail (GUI)
94+
95+涓?浜?寮????????????????浣跨?ㄥ????????琛ヤ?????
96+
97+榛?璁よ?剧疆涓?涓?HTML??煎??????????????锛?涓?瑕??????ㄥ?????
98+
99+褰?涔????涓?灏????浠剁????跺??锛???ㄩ??椤逛?????涓?瑕??????╄????ㄦ?㈣????????涓????缂虹?瑰氨???浣???ㄩ??浠朵腑杈???ョ??浠讳????????
100+??戒??浼?琚??????ㄦ?㈣??锛????姝や??蹇?椤诲?ㄥ?????琛ヤ??涔?????????ㄦ?㈣????????绠?????????规??灏辨???????ㄨ????ㄦ?㈣????ヤ功??????浠讹??
101+??跺?????瀹?淇?瀛?涓鸿??绋裤??涓????浣???ㄨ??绋夸腑???娆℃??寮?瀹?锛?瀹?宸茬????ㄩ?ㄨ????ㄦ?㈣??浜?锛???d??浣???????浠惰?界?舵病???
102+?????╄????ㄦ?㈣??锛?浣????杩?涓?浼?澶卞?诲凡???????????ㄦ?㈣?????
103+
104+??ㄩ??浠剁??搴????锛??????ヨˉ涓?涔????锛???句??甯哥?ㄧ??琛ヤ??瀹????绗?锛?涓?涓?杩?瀛????(---)???
105+
106+??跺?????"Message"????????$??锛??????╂????ユ??浠讹????ョ????????浣????琛ヤ?????浠躲??杩????涓?涓?棰?澶???????椤癸??浣????浠?
107+???杩?瀹????缃?浣???????浠跺缓绔?宸ュ?锋????????锛?杩????浠ュ甫涓?"insert file"??炬?????
108+
109+浣????浠ュ????ㄥ?伴??杩?GPG???璁伴??浠讹??浣???????宓?琛ヤ?????濂戒??瑕?浣跨??GPG???璁板??浠????浣?涓哄??宓??????????绛惧??琛ヤ??锛?
110+褰?浠?GPG涓???????7浣?缂??????朵??浣夸??浠?????????村??澶???????
111+
112+濡????浣????瑕?浠ラ??浠剁??褰㈠????????琛ヤ??锛???d??灏卞?抽????瑰?婚??浠讹????跺?????涓?灞???э??绐????"Suggest automatic
113+display"锛?杩???峰??宓????浠舵?村?规??璁╄?昏???????般??
114+
115+褰?浣?瑕?淇?瀛?灏?瑕?????????????宓???????琛ヤ??锛?浣????浠ヤ??娑???????琛ㄧ????奸????╁?????琛ヤ????????浠讹????跺????冲?婚?????
116+"save as"???浣????浠ヤ娇??ㄤ??涓?娌℃????存?圭????????琛ヤ????????浠讹??濡????瀹????浠ユ?g‘???褰㈠??缁???????褰?浣?姝g????ㄥ??
117+???宸辩??绐???d??涓?瀵????锛???f?舵病??????椤瑰??浠ヤ??瀛????浠?--宸茬?????涓?涓?杩???风??bug琚?姹???ュ?颁??kmail???bugzilla
118+骞朵??甯????杩?灏?浼?琚?澶??????????浠舵??浠ュ?????瀵规??涓???ㄦ?峰??璇诲???????????琚?淇?瀛????锛????浠ュ?????浣???虫?????浠跺????跺?板?朵????版?癸??
119+浣?涓?寰?涓????浠?浠????????????逛负缁?????????翠?????璇汇??
120+
121+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122+Lotus Notes (GUI)
123+
124+涓?瑕?浣跨?ㄥ?????
125+
126+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127+Mutt (TUI)
128+
129+寰?澶?Linux寮????浜哄??浣跨??mutt瀹㈡?风??锛????浠ヨ?????瀹????瀹?宸ヤ????????甯告??浜????
130+
131+Mutt涓????甯?缂?杈????锛????浠ヤ??绠′??浣跨?ㄤ??涔?缂?杈???ㄩ?戒??搴?璇ュ甫????????ㄦ??琛????澶у????扮??杈???ㄩ?藉甫???
132+涓?涓?"insert file"???椤癸??瀹????浠ラ??杩?涓???瑰?????浠跺??瀹圭????瑰???????ユ??浠躲??
133+
134+'vim'浣?涓?mutt???缂?杈????锛?
135+ set editor="vi"
136+
137+ 濡????浣跨??xclip锛???插?ヤ互涓???戒护
138+ :set paste
139+ ???涓????涔??????????shift-insert??????浣跨??
140+ :r filename
141+
142+濡??????宠?????琛ヤ??浣?涓哄??宓??????????
143+(a)ttach宸ヤ?????寰?濂斤??涓?甯????"set paste"???
144+
145+???缃????椤癸??
146+瀹?搴?璇ヤ互榛?璁よ?剧疆???褰㈠??宸ヤ?????
147+??惰??锛????"send_charset"璁剧疆涓?"us-ascii::utf-8"涔????涓?涓?涓???????涓绘?????
148+
149+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
150+Pine (TUI)
151+
152+Pine杩???绘??涓?浜?绌烘?煎????????棰?锛?浣????杩?浜???板?ㄥ??璇ラ?借??淇?澶?浜????
153+
154+濡???????浠ワ??璇蜂娇???alpine(pine???缁ф?胯??)
155+
156+???缃????椤癸??
157+- ???杩?????????????瑕?娑???ゆ??绋???????
158+- "no-strip-whitespace-before-send"???椤逛????????瑕???????
159+
160+
161+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
162+Sylpheed (GUI)
163+
164+- ???宓??????????浠ュ??濂界??宸ヤ??锛???????浣跨?ㄩ??浠讹?????
165+- ???璁镐娇??ㄥ????ㄧ??缂?杈???ㄣ??
166+- 瀵逛?????褰?杈?澶???堕??甯告?????
167+- 濡???????杩?non-SSL杩???ワ?????娉?浣跨??TLS SMTP?????????
168+- ??ㄧ?????绐???d腑???涓?涓?寰??????ㄧ??ruler bar???
169+- 缁???板?????涓?娣诲????板??灏变??浼?姝g‘???浜?瑙f?剧ず??????
170+
171+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172+Thunderbird (GUI)
173+
174+榛?璁ゆ????典??锛?thunderbird寰?瀹规??????????????锛?浣????杩????涓?浜???规?????浠ュ己??跺?????寰???村ソ???
175+
176+- ??ㄧ?ㄦ?峰????疯?剧疆???锛?缁???????瀵诲??锛?涓?瑕???????"Compose messages in HTML format"???
177+
178+- 缂?杈?浣????Thunderbird???缃?璁剧疆??ヤ娇瀹?涓?瑕????琛?浣跨??锛?user_pref("mailnews.wraplength", 0);
179+
180+- 缂?杈?浣????Thunderbird???缃?璁剧疆锛?浣垮??涓?瑕?浣跨??"format=flowed"??煎??锛?user_pref("mailnews.
181+ send_plaintext_flowed", false);
182+
183+- 浣????瑕?浣?Thunderbird???涓洪???????煎????瑰??锛?
184+ 濡????榛?璁ゆ????典??浣?涔??????????HTML??煎??锛???d?????寰???俱??浠?浠?浠????棰???????涓????妗?涓???????"Preformat"??煎?????
185+ 濡????榛?璁ゆ????典??浣?涔??????????????????煎??锛?浣?涓?寰????瀹???逛负HTML??煎??锛?浠?浠?浣?涓轰??娆℃?х??锛???ヤ功?????扮??娑????锛?
186+ ??跺??寮哄?朵娇瀹??????版???????煎??锛???????瀹?灏变?????琛????瑕?瀹???板??锛???ㄥ??淇$????炬??涓?浣跨??shift?????ヤ娇瀹????涓?HTML
187+ ??煎??锛???跺?????棰???????涓????妗?涓???????"Preformat"??煎?????
188+
189+- ???璁镐娇??ㄥ????ㄧ??缂?杈????锛?
190+ ???瀵?Thunderbird???琛ヤ?????绠?????????规??灏辨??浣跨?ㄤ??涓?"external editor"??╁??锛???跺??浣跨?ㄤ????????娆㈢??
191+ $EDITOR??ヨ?诲???????????骞惰ˉ涓???版?????涓????瑕?瀹???板??锛????浠ヤ??杞藉苟涓?瀹?瑁?杩?涓???╁??锛???跺??娣诲??涓?涓?浣跨?ㄥ?????
192+ ??????View->Toolbars->Customize...??????褰?浣?涔????淇℃???????跺??浠?浠???瑰?诲??灏卞??浠ヤ?????
193+
194+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195+TkRat (GUI)
196+
197+???浠ヤ娇??ㄥ?????浣跨??"Insert file..."??????澶???ㄧ??缂?杈???ㄣ??
198+
199+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
200+Gmail (Web GUI)
201+
202+涓?瑕?浣跨?ㄥ????????琛ヤ?????
203+
204+Gmail缃?椤靛?㈡?风???????ㄥ?版????惰〃绗?杞????涓虹┖??笺??
205+
206+??界?跺?惰〃绗?杞????涓虹┖??奸??棰????浠ヨ??澶???ㄧ??杈???ㄨВ??筹???????跺??杩?浼?浣跨?ㄥ??杞???㈣?????姣?琛???????涓?78涓?瀛?绗????
207+
208+???涓?涓????棰????Gmail杩?浼????浠讳??涓????ASCII???瀛?绗????淇℃????逛负base64缂???????瀹????涓?瑗垮????????娆ф床浜虹?????瀛????
209+
210+ ###
MAINTAINERS+210−136
@@ -151,6 +151,7 @@ S: Maintained · 150 unmodified lines
151151 F: drivers/net/hamradio/6pack.c
152152
153153 8169 10/100/1000 GIGABIT ETHERNET DRIVER
154+M: Realtek linux nic maintainers <nic_swsd@realtek.com>
154155 M: Francois Romieu <romieu@fr.zoreil.com>
155156 L: netdev@vger.kernel.org
156157 S: Maintained
@@ -184,10 +185,9 @@ F: Documentation/filesystems/9p.txt · 27 unmodified lines
184185 F: fs/9p/
185186
186187 A2232 SERIAL BOARD DRIVER
187−M: Enver Haase <A2232@gmx.net>
188188 L: linux-m68k@lists.linux-m68k.org
189−S: Maintained
190−F: drivers/char/ser_a2232*
189+S: Orphan
190+F: drivers/staging/generic_serial/ser_a2232*
191191
192192 AACRAID SCSI RAID DRIVER
193193 M: Adaptec OEM Raid Solutions <aacraid@adaptec.com>
@@ -223,10 +223,8 @@ S: Maintained · 29 unmodified lines
223223 F: drivers/platform/x86/acerhdf.c
224224
225225 ACER WMI LAPTOP EXTRAS
226−M: Carlos Corbacho <carlos@strangeworlds.co.uk>
227−L: aceracpi@googlegroups.com (subscribers-only)
226+M: Joey Lee <jlee@novell.com>
228227 L: platform-driver-x86@vger.kernel.org
229−W: http://code.google.com/p/aceracpi
230228 S: Maintained
231229 F: drivers/platform/x86/acer-wmi.c
232230
@@ -271,10 +269,8 @@ S: Supported · 38 unmodified lines
271269 F: drivers/acpi/video.c
272270
273271 ACPI WMI DRIVER
274−M: Carlos Corbacho <carlos@strangeworlds.co.uk>
275272 L: platform-driver-x86@vger.kernel.org
276−W: http://www.lesswatts.org/projects/acpi/
277−S: Maintained
273+S: Orphan
278274 F: drivers/platform/x86/wmi.c
279275
280276 AD1889 ALSA SOUND DRIVER
@@ -287,35 +283,35 @@ F: sound/pci/ad1889.* · 6 unmodified lines
287283
288284 AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
289285 M: Michael Hennerich <michael.hennerich@analog.com>
290−L: device-driver-devel@blackfin.uclinux.org
286+L: device-drivers-devel@blackfin.uclinux.org
291287 W: http://wiki.analog.com/AD5254
292288 S: Supported
293289 F: drivers/misc/ad525x_dpot.c
294290
295291 AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)
296292 M: Michael Hennerich <michael.hennerich@analog.com>
297−L: device-driver-devel@blackfin.uclinux.org
293+L: device-drivers-devel@blackfin.uclinux.org
298294 W: http://wiki.analog.com/AD5398
299295 S: Supported
300296 F: drivers/regulator/ad5398.c
301297
302298 AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)
303299 M: Michael Hennerich <michael.hennerich@analog.com>
304−L: device-driver-devel@blackfin.uclinux.org
300+L: device-drivers-devel@blackfin.uclinux.org
305301 W: http://wiki.analog.com/AD7142
306302 S: Supported
307303 F: drivers/input/misc/ad714x.c
308304
309305 AD7877 TOUCHSCREEN DRIVER
310306 M: Michael Hennerich <michael.hennerich@analog.com>
311−L: device-driver-devel@blackfin.uclinux.org
307+L: device-drivers-devel@blackfin.uclinux.org
312308 W: http://wiki.analog.com/AD7877
313309 S: Supported
314310 F: drivers/input/touchscreen/ad7877.c
315311
316312 AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)
317313 M: Michael Hennerich <michael.hennerich@analog.com>
318−L: device-driver-devel@blackfin.uclinux.org
314+L: device-drivers-devel@blackfin.uclinux.org
319315 W: http://wiki.analog.com/AD7879
320316 S: Supported
321317 F: drivers/input/touchscreen/ad7879.c
@@ -341,7 +337,7 @@ F: drivers/net/wireless/adm8211.* · 19 unmodified lines
341337
342338 ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)
343339 M: Michael Hennerich <michael.hennerich@analog.com>
344−L: device-driver-devel@blackfin.uclinux.org
340+L: device-drivers-devel@blackfin.uclinux.org
345341 W: http://wiki.analog.com/ADP5520
346342 S: Supported
347343 F: drivers/mfd/adp5520.c
@@ -352,7 +348,7 @@ F: drivers/input/keyboard/adp5520-keys.c · 4 unmodified lines
352348
353349 ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
354350 M: Michael Hennerich <michael.hennerich@analog.com>
355−L: device-driver-devel@blackfin.uclinux.org
351+L: device-drivers-devel@blackfin.uclinux.org
356352 W: http://wiki.analog.com/ADP5588
357353 S: Supported
358354 F: drivers/input/keyboard/adp5588-keys.c
@@ -360,7 +356,7 @@ F: drivers/gpio/adp5588-gpio.c · 1 unmodified line
360356
361357 ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
362358 M: Michael Hennerich <michael.hennerich@analog.com>
363−L: device-driver-devel@blackfin.uclinux.org
359+L: device-drivers-devel@blackfin.uclinux.org
364360 W: http://wiki.analog.com/ADP8860
365361 S: Supported
366362 F: drivers/video/backlight/adp8860_bl.c
@@ -387,7 +383,7 @@ F: drivers/hwmon/adt7475.c · 20 unmodified lines
387383
388384 ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
389385 M: Michael Hennerich <michael.hennerich@analog.com>
390−L: device-driver-devel@blackfin.uclinux.org
386+L: device-drivers-devel@blackfin.uclinux.org
391387 W: http://wiki.analog.com/ADXL345
392388 S: Supported
393389 F: drivers/input/misc/adxl34x.c
@@ -405,8 +401,8 @@ S: Maintained · 11 unmodified lines
405401 F: sound/oss/aedsp16.c
406402
407403 AFFS FILE SYSTEM
408−M: Roman Zippel <zippel@linux-m68k.org>
409−S: Maintained
404+L: linux-fsdevel@vger.kernel.org
405+S: Orphan
410406 F: Documentation/filesystems/affs.txt
411407 F: fs/affs/
412408
@@ -483,6 +479,13 @@ F: drivers/tty/serial/altera_jtaguart.c · 70 unmodified lines
483479 F: include/linux/altera_uart.h
484480 F: include/linux/altera_jtaguart.h
485481
482+AMD FAM15H PROCESSOR POWER MONITORING DRIVER
483+M: Andreas Herrmann <andreas.herrmann3@amd.com>
484+L: lm-sensors@lm-sensors.org
485+S: Maintained
486+F: Documentation/hwmon/fam15h_power
487+F: drivers/hwmon/fam15h_power.c
488+
486489 AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
487490 M: Thomas Dahlmann <dahlmann.thomas@arcor.de>
488491 L: linux-geode@lists.infradead.org (moderated for non-subscribers)
@@ -526,7 +529,7 @@ S: Maintained · 37 unmodified lines
526529 F: drivers/infiniband/hw/amso1100/
527530
528531 ANALOG DEVICES INC ASOC CODEC DRIVERS
529−L: device-driver-devel@blackfin.uclinux.org
532+L: device-drivers-devel@blackfin.uclinux.org
530533 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
531534 W: http://wiki.analog.com/
532535 S: Supported
@@ -548,10 +551,11 @@ S: Maintained · 15 unmodified lines
548551 F: sound/aoa/
549552
550553 APM DRIVER
551−L: linux-laptop@vger.kernel.org
552−S: Orphan
554+M: Jiri Kosina <jkosina@suse.cz>
555+S: Odd fixes
553556 F: arch/x86/kernel/apm_32.c
554557 F: include/linux/apm_bios.h
558+F: drivers/char/apm-emulation.c
555559
556560 APPLE BCM5974 MULTITOUCH DRIVER
557561 M: Henrik Rydberg <rydberg@euromail.se>
@@ -729,7 +733,7 @@ ARM/EZX SMARTPHONES (A780, A910, A1200, E680, ROKR E2 and ROKR E6) · 171 unmodified lines
729733 M: Daniel Ribeiro <drwyrm@gmail.com>
730734 M: Stefan Schmidt <stefan@openezx.org>
731735 M: Harald Welte <laforge@openezx.org>
732−L: openezx-devel@lists.openezx.org (subscribers-only)
736+L: openezx-devel@lists.openezx.org (moderated for non-subscribers)
733737 W: http://www.openezx.org/
734738 S: Maintained
735739 T: topgit git://git.openezx.org/openezx.git
@@ -877,6 +881,13 @@ F: arch/arm/mach-mv78xx0/ · 141 unmodified lines
877881 F: arch/arm/mach-orion5x/
878882 F: arch/arm/plat-orion/
879883
884+ARM/Orion SoC/Technologic Systems TS-78xx platform support
885+M: Alexander Clouter <alex@digriz.org.uk>
886+L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
887+W: http://www.digriz.org.uk/ts78xx/kernel
888+S: Maintained
889+F: arch/arm/mach-orion5x/ts78xx-*
890+
880891 ARM/MIOA701 MACHINE SUPPORT
881892 M: Robert Jarzmik <robert.jarzmik@free.fr>
882893 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@ -916,6 +927,8 @@ F: drivers/mmc/host/msm_sdcc.h · 33 unmodified lines
916927 F: drivers/tty/serial/msm_serial.h
917928 F: drivers/tty/serial/msm_serial.c
918929 F: drivers/platform/msm/
930+F: drivers/*/pm8???-*
931+F: include/linux/mfd/pm8xxx/
919932 T: git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
920933 S: Maintained
921934
@@ -1025,12 +1038,13 @@ W: http://www.fluff.org/ben/linux/ · 103 unmodified lines
10251038 S: Maintained
10261039 F: arch/arm/mach-s3c64xx/
10271040
1028−ARM/S5P ARM ARCHITECTURES
1041+ARM/S5P EXYNOS ARM ARCHITECTURES
10291042 M: Kukjin Kim <kgene.kim@samsung.com>
10301043 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
10311044 L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
10321045 S: Maintained
10331046 F: arch/arm/mach-s5p*/
1047+F: arch/arm/mach-exynos*/
10341048
10351049 ARM/SAMSUNG MOBILE MACHINE SUPPORT
10361050 M: Kyungmin Park <kyungmin.park@samsung.com>
@@ -1063,7 +1077,7 @@ F: arch/arm/mach-shmobile/ · 26 unmodified lines
10631077 F: drivers/sh/
10641078
10651079 ARM/TELECHIPS ARM ARCHITECTURE
1066−M: "Hans J. Koch" <hjk@linutronix.de>
1080+M: "Hans J. Koch" <hjk@hansjkoch.de>
10671081 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
10681082 S: Maintained
10691083 F: arch/arm/plat-tcc/
@@ -1224,13 +1238,6 @@ W: http://wireless.kernel.org/en/users/Drivers/ath9k · 154 unmodified lines
12241238 S: Supported
12251239 F: drivers/net/wireless/ath/ath9k/
12261240
1227−ATHEROS AR9170 WIRELESS DRIVER
1228−M: Christian Lamparter <chunkeey@web.de>
1229−L: linux-wireless@vger.kernel.org
1230−W: http://wireless.kernel.org/en/users/Drivers/ar9170
1231−S: Obsolete
1232−F: drivers/net/wireless/ath/ar9170/
1233−
12341241 CARL9170 LINUX COMMUNITY WIRELESS DRIVER
12351242 M: Christian Lamparter <chunkeey@googlemail.com>
12361243 L: linux-wireless@vger.kernel.org
@@ -1823,11 +1830,10 @@ S: Maintained · 586 unmodified lines
18231830 F: drivers/platform/x86/compal-laptop.c
18241831
18251832 COMPUTONE INTELLIPORT MULTIPORT CARD
1826−M: "Michael H. Warfield" <mhw@wittsend.com>
18271833 W: http://www.wittsend.com/computone.html
1828−S: Maintained
1834+S: Orphan
18291835 F: Documentation/serial/computone.txt
1830−F: drivers/char/ip2/
1836+F: drivers/staging/tty/ip2/
18311837
18321838 CONEXANT ACCESSRUNNER USB DRIVER
18331839 M: Simon Arlott <cxacru@fire.lp0.eu>
@@ -2010,7 +2016,7 @@ F: drivers/net/wan/cycx* · 176 unmodified lines
20102016 CYCLADES ASYNC MUX DRIVER
20112017 W: http://www.cyclades.com/
20122018 S: Orphan
2013−F: drivers/char/cyclades.c
2019+F: drivers/tty/cyclades.c
20142020 F: include/linux/cyclades.h
20152021
20162022 CYCLADES PC300 DRIVER
@@ -2033,9 +2039,8 @@ F: net/ax25/ax25_timer.c · 16 unmodified lines
20332039 F: net/ax25/sysctl_net_ax25.c
20342040
20352041 DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
2036−M: Tobias Ringstrom <tori@unhappy.mine.nu>
20372042 L: netdev@vger.kernel.org
2038−S: Maintained
2043+S: Orphan
20392044 F: Documentation/networking/dmfe.txt
20402045 F: drivers/net/tulip/dmfe.c
20412046
@@ -2124,8 +2129,8 @@ L: Eng.Linux@digi.com · 82 unmodified lines
21242129 W: http://www.digi.com
21252130 S: Orphan
21262131 F: Documentation/serial/digiepca.txt
2127−F: drivers/char/epca*
2128−F: drivers/char/digi*
2132+F: drivers/staging/tty/epca*
2133+F: drivers/staging/tty/digi*
21292134
21302135 DIOLAN U2C-12 I2C DRIVER
21312136 M: Guenter Roeck <guenter.roeck@ericsson.com>
@@ -2169,6 +2174,8 @@ M: Dan Williams <dan.j.williams@intel.com> · 37 unmodified lines
21692174 S: Supported
21702175 F: drivers/dma/
21712176 F: include/linux/dma*
2177+T: git git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx.git
2178+T: git git://git.infradead.org/users/vkoul/slave-dma.git (slave-dma)
21722179
21732180 DME1737 HARDWARE MONITOR DRIVER
21742181 M: Juerg Haefliger <juergh@gmail.com>
@@ -2244,10 +2251,10 @@ F: drivers/gpu/drm/ · 69 unmodified lines
22442251 F: include/drm/
22452252
22462253 INTEL DRM DRIVERS (excluding Poulsbo, Moorestown and derivative chipsets)
2247−M: Chris Wilson <chris@chris-wilson.co.uk>
2254+M: Keith Packard <keithp@keithp.com>
22482255 L: intel-gfx@lists.freedesktop.org (subscribers-only)
22492256 L: dri-devel@lists.freedesktop.org
2250−T: git git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel.git
2257+T: git git://git.kernel.org/pub/scm/linux/kernel/git/keithp/linux-2.6.git
22512258 S: Supported
22522259 F: drivers/gpu/drm/i915
22532260 F: include/drm/i915*
@@ -2295,7 +2302,7 @@ F: net/bridge/netfilter/ebt*.c · 41 unmodified lines
22952302 ECRYPT FILE SYSTEM
22962303 M: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
22972304 M: Dustin Kirkland <kirkland@canonical.com>
2298−L: ecryptfs-devel@lists.launchpad.net
2305+L: ecryptfs@vger.kernel.org
22992306 W: https://launchpad.net/ecryptfs
23002307 S: Supported
23012308 F: Documentation/filesystems/ecryptfs.txt
@@ -2575,6 +2582,13 @@ S: Maintained · 273 unmodified lines
25752582 F: drivers/hwmon/f75375s.c
25762583 F: include/linux/f75375s.h
25772584
2585+FIREWIRE AUDIO DRIVERS
2586+M: Clemens Ladisch <clemens@ladisch.de>
2587+L: alsa-devel@alsa-project.org (moderated for non-subscribers)
2588+T: git git://git.alsa-project.org/alsa-kernel.git
2589+S: Maintained
2590+F: sound/firewire/
2591+
25782592 FIREWIRE SUBSYSTEM
25792593 M: Stefan Richter <stefanr@s5r6.in-berlin.de>
25802594 L: linux1394-devel@lists.sourceforge.net
@@ -2802,42 +2816,23 @@ GPIO SUBSYSTEM · 221 unmodified lines
28022816 M: Grant Likely <grant.likely@secretlab.ca>
28032817 S: Maintained
28042818 T: git git://git.secretlab.ca/git/linux-2.6.git
2805−F: Documentation/gpio/gpio.txt
2819+F: Documentation/gpio.txt
28062820 F: drivers/gpio/
28072821 F: include/linux/gpio*
28082822
2823+GRE DEMULTIPLEXER DRIVER
2824+M: Dmitry Kozlov <xeb@mail.ru>
2825+L: netdev@vger.kernel.org
2826+S: Maintained
2827+F: net/ipv4/gre.c
2828+F: include/net/gre.h
2829+
28092830 GRETH 10/100/1G Ethernet MAC device driver
28102831 M: Kristoffer Glembo <kristoffer@gaisler.com>
28112832 L: netdev@vger.kernel.org
28122833 S: Maintained
28132834 F: drivers/net/greth*
28142835
2815−HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
2816−M: Frank Seidel <frank@f-seidel.de>
2817−L: platform-driver-x86@vger.kernel.org
2818−W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
2819−S: Maintained
2820−F: drivers/platform/x86/hdaps.c
2821−
2822−HWPOISON MEMORY FAILURE HANDLING
2823−M: Andi Kleen <andi@firstfloor.org>
2824−L: linux-mm@kvack.org
2825−T: git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
2826−S: Maintained
2827−F: mm/memory-failure.c
2828−F: mm/hwpoison-inject.c
2829−
2830−HYPERVISOR VIRTUAL CONSOLE DRIVER
2831−L: linuxppc-dev@lists.ozlabs.org
2832−S: Odd Fixes
2833−F: drivers/tty/hvc/
2834−
2835−iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
2836−M: Peter Jones <pjones@redhat.com>
2837−M: Konrad Rzeszutek Wilk <konrad@kernel.org>
2838−S: Maintained
2839−F: drivers/firmware/iscsi_ibft*
2840−
28412836 GSPCA FINEPIX SUBDRIVER
28422837 M: Frank Zago <frank@zago.net>
28432838 L: linux-media@vger.kernel.org
@@ -2888,6 +2883,26 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git · 44 unmodified lines
28882883 S: Maintained
28892884 F: drivers/media/video/gspca/
28902885
2886+HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
2887+M: Frank Seidel <frank@f-seidel.de>
2888+L: platform-driver-x86@vger.kernel.org
2889+W: http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
2890+S: Maintained
2891+F: drivers/platform/x86/hdaps.c
2892+
2893+HWPOISON MEMORY FAILURE HANDLING
2894+M: Andi Kleen <andi@firstfloor.org>
2895+L: linux-mm@kvack.org
2896+T: git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
2897+S: Maintained
2898+F: mm/memory-failure.c
2899+F: mm/hwpoison-inject.c
2900+
2901+HYPERVISOR VIRTUAL CONSOLE DRIVER
2902+L: linuxppc-dev@lists.ozlabs.org
2903+S: Odd Fixes
2904+F: drivers/tty/hvc/
2905+
28912906 HARDWARE MONITORING
28922907 M: Jean Delvare <khali@linux-fr.org>
28932908 M: Guenter Roeck <guenter.roeck@ericsson.com>
@@ -2938,8 +2953,8 @@ F: drivers/block/cciss* · 44 unmodified lines
29382953 F: include/linux/cciss_ioctl.h
29392954
29402955 HFS FILESYSTEM
2941−M: Roman Zippel <zippel@linux-m68k.org>
2942−S: Maintained
2956+L: linux-fsdevel@vger.kernel.org
2957+S: Orphan
29432958 F: Documentation/filesystems/hfs.txt
29442959 F: fs/hfs/
29452960
@@ -3014,9 +3029,8 @@ S: Maintained · 68 unmodified lines
30143029 F: drivers/net/wireless/hostap/
30153030
30163031 HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
3017−M: Carlos Corbacho <carlos@strangeworlds.co.uk>
30183032 L: platform-driver-x86@vger.kernel.org
3019−S: Odd Fixes
3033+S: Orphan
30203034 F: drivers/platform/x86/tc1100-wmi.c
30213035
30223036 HP100: Driver for HP 10/100 Mbit/s Voice Grade Network Adapter Series
@@ -3355,6 +3369,12 @@ F: Documentation/wimax/README.i2400m · 332 unmodified lines
33553369 F: drivers/net/wimax/i2400m/
33563370 F: include/linux/wimax/i2400m.h
33573371
3372+INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
3373+M: Stanislaw Gruszka <sgruszka@redhat.com>
3374+L: linux-wireless@vger.kernel.org
3375+S: Supported
3376+F: drivers/net/wireless/iwlegacy/
3377+
33583378 INTEL WIRELESS WIFI LINK (iwlwifi)
33593379 M: Wey-Yi Guy <wey-yi.w.guy@intel.com>
33603380 M: Intel Linux Wireless <ilw@linux.intel.com>
@@ -3471,6 +3491,12 @@ F: Documentation/isapnp.txt · 110 unmodified lines
34713491 F: drivers/pnp/isapnp/
34723492 F: include/linux/isapnp.h
34733493
3494+iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
3495+M: Peter Jones <pjones@redhat.com>
3496+M: Konrad Rzeszutek Wilk <konrad@kernel.org>
3497+S: Maintained
3498+F: drivers/firmware/iscsi_ibft*
3499+
34743500 ISCSI
34753501 M: Mike Christie <michaelc@cs.wisc.edu>
34763502 L: open-iscsi@googlegroups.com
@@ -3552,9 +3578,16 @@ M: Andrew Morton <akpm@linux-foundation.org> · 75 unmodified lines
35523578 M: Jan Kara <jack@suse.cz>
35533579 L: linux-ext4@vger.kernel.org
35543580 S: Maintained
3555−F: fs/jbd*/
3556−F: include/linux/ext*jbd*.h
3557−F: include/linux/jbd*.h
3581+F: fs/jbd/
3582+F: include/linux/ext3_jbd.h
3583+F: include/linux/jbd.h
3584+
3585+JOURNALLING LAYER FOR BLOCK DEVICES (JBD2)
3586+M: "Theodore Ts'o" <tytso@mit.edu>
3587+L: linux-ext4@vger.kernel.org
3588+S: Maintained
3589+F: fs/jbd2/
3590+F: include/linux/jbd2.h
35583591
35593592 JSM Neo PCI based serial card
35603593 M: Breno Leitao <leitao@linux.vnet.ibm.com>
@@ -3577,10 +3610,9 @@ F: Documentation/hwmon/k8temp · 16 unmodified lines
35773610 F: drivers/hwmon/k8temp.c
35783611
35793612 KCONFIG
3580−M: Roman Zippel <zippel@linux-m68k.org>
3613+M: Michal Marek <mmarek@suse.cz>
35813614 L: linux-kbuild@vger.kernel.org
3582−Q: http://patchwork.kernel.org/project/linux-kbuild/list/
3583−S: Maintained
3615+S: Odd Fixes
35843616 F: Documentation/kbuild/kconfig-language.txt
35853617 F: scripts/kconfig/
35863618
@@ -3691,7 +3723,7 @@ KEYS/KEYRINGS: · 104 unmodified lines
36913723 M: David Howells <dhowells@redhat.com>
36923724 L: keyrings@linux-nfs.org
36933725 S: Maintained
3694−F: Documentation/keys.txt
3726+F: Documentation/security/keys.txt
36953727 F: include/linux/key.h
36963728 F: include/linux/key-type.h
36973729 F: include/keys/
@@ -3703,7 +3735,7 @@ M: Mimi Zohar <zohar@us.ibm.com> · 5 unmodified lines
37033735 L: linux-security-module@vger.kernel.org
37043736 L: keyrings@linux-nfs.org
37053737 S: Supported
3706−F: Documentation/keys-trusted-encrypted.txt
3738+F: Documentation/security/keys-trusted-encrypted.txt
37073739 F: include/keys/trusted-type.h
37083740 F: security/keys/trusted.c
37093741 F: security/keys/trusted.h
@@ -3714,7 +3746,7 @@ M: David Safford <safford@watson.ibm.com> · 4 unmodified lines
37143746 L: linux-security-module@vger.kernel.org
37153747 L: keyrings@linux-nfs.org
37163748 S: Supported
3717−F: Documentation/keys-trusted-encrypted.txt
3749+F: Documentation/security/keys-trusted-encrypted.txt
37183750 F: include/keys/encrypted-type.h
37193751 F: security/keys/encrypted.c
37203752 F: security/keys/encrypted.h
@@ -3800,7 +3832,7 @@ M: Rusty Russell <rusty@rustcorp.com.au> · 79 unmodified lines
38003832 L: lguest@lists.ozlabs.org
38013833 W: http://lguest.ozlabs.org/
38023834 S: Odd Fixes
3803−F: Documentation/lguest/
3835+F: Documentation/virtual/lguest/
38043836 F: arch/x86/lguest/
38053837 F: drivers/lguest/
38063838 F: include/linux/lguest*.h
@@ -3884,7 +3916,6 @@ F: drivers/*/*/*pasemi* · 77 unmodified lines
38843916 LINUX SECURITY MODULE (LSM) FRAMEWORK
38853917 M: Chris Wright <chrisw@sous-sol.org>
38863918 L: linux-security-module@vger.kernel.org
3887−T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
38883919 S: Supported
38893920
38903921 LIS3LV02D ACCELEROMETER DRIVER
@@ -3987,7 +4018,6 @@ F: arch/m32r/ · 96 unmodified lines
39874018
39884019 M68K ARCHITECTURE
39894020 M: Geert Uytterhoeven <geert@linux-m68k.org>
3990−M: Roman Zippel <zippel@linux-m68k.org>
39914021 L: linux-m68k@lists.linux-m68k.org
39924022 W: http://www.linux-m68k.org/
39934023 T: git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
@@ -4077,7 +4107,7 @@ F: drivers/video/matrox/matroxfb_* · 83 unmodified lines
40774107 F: include/linux/matroxfb.h
40784108
40794109 MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
4080−M: "Hans J. Koch" <hjk@linutronix.de>
4110+M: "Hans J. Koch" <hjk@hansjkoch.de>
40814111 L: lm-sensors@lm-sensors.org
40824112 S: Maintained
40834113 F: Documentation/hwmon/max6650
@@ -4121,6 +4151,7 @@ M: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> · 37 unmodified lines
41214151 L: linux-mm@kvack.org
41224152 S: Maintained
41234153 F: mm/memcontrol.c
4154+F: mm/page_cgroup.c
41244155
41254156 MEMORY TECHNOLOGY DEVICES (MTD)
41264157 M: David Woodhouse <dwmw2@infradead.org>
@@ -4192,7 +4223,7 @@ MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL CARD · 65 unmodified lines
41924223 M: Jiri Slaby <jirislaby@gmail.com>
41934224 S: Maintained
41944225 F: Documentation/serial/moxa-smartio
4195−F: drivers/char/mxser.*
4226+F: drivers/tty/mxser.*
41964227
41974228 MSI LAPTOP SUPPORT
41984229 M: "Lee, Chun-Yi" <jlee@novell.com>
@@ -4234,13 +4265,13 @@ F: sound/oss/msnd* · 35 unmodified lines
42344265
42354266 MULTITECH MULTIPORT CARD (ISICOM)
42364267 S: Orphan
4237−F: drivers/char/isicom.c
4268+F: drivers/tty/isicom.c
42384269 F: include/linux/isicom.h
42394270
42404271 MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
42414272 M: Felipe Balbi <balbi@ti.com>
42424273 L: linux-usb@vger.kernel.org
4243−T: git git://gitorious.org/usb/usb.git
4274+T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
42444275 S: Maintained
42454276 F: drivers/usb/musb/
42464277
@@ -4257,6 +4288,13 @@ M: Tim Hockin <thockin@hockin.org> · 10 unmodified lines
42574288 S: Maintained
42584289 F: drivers/net/natsemi.c
42594290
4291+NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
4292+M: Daniel Mack <zonque@gmail.com>
4293+S: Maintained
4294+L: alsa-devel@alsa-project.org
4295+W: http://www.native-instruments.com
4296+F: sound/usb/caiaq/
4297+
42604298 NCP FILESYSTEM
42614299 M: Petr Vandrovec <petr@vandrovec.name>
42624300 S: Odd Fixes
@@ -4372,6 +4410,7 @@ S: Maintained · 109 unmodified lines
43724410 F: net/ipv4/
43734411 F: net/ipv6/
43744412 F: include/net/ip*
4413+F: arch/x86/net/*
43754414
43764415 NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
43774416 M: Paul Moore <paul.moore@hp.com>
@@ -4567,6 +4606,7 @@ M: Felipe Balbi <balbi@ti.com> · 189 unmodified lines
45674606 M: David Brownell <dbrownell@users.sourceforge.net>
45684607 L: linux-usb@vger.kernel.org
45694608 L: linux-omap@vger.kernel.org
4609+T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
45704610 S: Maintained
45714611 F: drivers/usb/*/*omap*
45724612 F: arch/arm/*omap*/usb*
@@ -4982,6 +5022,13 @@ F: Documentation/pps/ · 409 unmodified lines
49825022 F: drivers/pps/
49835023 F: include/linux/pps*.h
49845024
5025+PPTP DRIVER
5026+M: Dmitry Kozlov <xeb@mail.ru>
5027+L: netdev@vger.kernel.org
5028+S: Maintained
5029+F: drivers/net/pptp.c
5030+W: http://sourceforge.net/projects/accel-pptp
5031+
49855032 PREEMPTIBLE KERNEL
49865033 M: Robert Love <rml@tech9.net>
49875034 L: kpreempt-tech@lists.sourceforge.net
@@ -5273,14 +5320,14 @@ F: drivers/memstick/host/r592.* · 285 unmodified lines
52735320 RISCOM8 DRIVER
52745321 S: Orphan
52755322 F: Documentation/serial/riscom8.txt
5276−F: drivers/char/riscom8*
5323+F: drivers/staging/tty/riscom8*
52775324
52785325 ROCKETPORT DRIVER
52795326 P: Comtrol Corp.
52805327 W: http://www.comtrol.com
52815328 S: Maintained
52825329 F: Documentation/serial/rocket.txt
5283−F: drivers/char/rocket*
5330+F: drivers/tty/rocket*
52845331
52855332 ROSE NETWORK LAYER
52865333 M: Ralf Baechle <ralf@linux-mips.org>
@@ -5390,7 +5437,7 @@ F: drivers/media/video/*7146* · 103 unmodified lines
53905437 F: include/media/*7146*
53915438
53925439 SAMSUNG AUDIO (ASoC) DRIVERS
5393−M: Jassi Brar <jassi.brar@samsung.com>
5440+M: Jassi Brar <jassisinghbrar@gmail.com>
53945441 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
53955442 S: Supported
53965443 F: sound/soc/samsung
@@ -5401,6 +5448,13 @@ L: linux-serial@vger.kernel.org · 4 unmodified lines
54015448 S: Maintained
54025449 F: drivers/tty/serial
54035450
5451+SYNOPSYS DESIGNWARE DMAC DRIVER
5452+M: Viresh Kumar <viresh.kumar@st.com>
5453+S: Maintained
5454+F: include/linux/dw_dmac.h
5455+F: drivers/dma/dw_dmac_regs.h
5456+F: drivers/dma/dw_dmac.c
5457+
54045458 TIMEKEEPING, NTP
54055459 M: John Stultz <johnstul@us.ibm.com>
54065460 M: Thomas Gleixner <tglx@linutronix.de>
@@ -5411,6 +5465,7 @@ F: include/linux/timex.h · 4 unmodified lines
54115465 F: kernel/time/clocksource.c
54125466 F: kernel/time/time*.c
54135467 F: kernel/time/ntp.c
5468+F: drivers/clocksource
54145469
54155470 TLG2300 VIDEO4LINUX-2 DRIVER
54165471 M: Huang Shijie <shijie8@gmail.com>
@@ -5464,7 +5519,7 @@ F: drivers/scsi/sg.c · 47 unmodified lines
54645519 F: include/scsi/sg.h
54655520
54665521 SCSI SUBSYSTEM
5467−M: "James E.J. Bottomley" <James.Bottomley@suse.de>
5522+M: "James E.J. Bottomley" <JBottomley@parallels.com>
54685523 L: linux-scsi@vger.kernel.org
54695524 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git
54705525 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6.git
@@ -5562,10 +5617,11 @@ M: James Morris <jmorris@namei.org> · 91 unmodified lines
55625617 M: Eric Paris <eparis@parisplace.org>
55635618 L: selinux@tycho.nsa.gov (subscribers-only, general discussion)
55645619 W: http://selinuxproject.org
5565−T: git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
5620+T: git git://git.infradead.org/users/eparis/selinux.git
55665621 S: Supported
55675622 F: include/linux/selinux*
55685623 F: security/selinux/
5624+F: scripts/selinux/
55695625
55705626 APPARMOR SECURITY MODULE
55715627 M: John Johansen <john.johansen@canonical.com>
@@ -5591,9 +5647,9 @@ F: include/linux/ata.h · 19 unmodified lines
55915647 F: include/linux/libata.h
55925648
55935649 SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
5594−M: Jayamohan Kallickal <jayamohank@serverengines.com>
5650+M: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
55955651 L: linux-scsi@vger.kernel.org
5596−W: http://www.serverengines.com
5652+W: http://www.emulex.com
55975653 S: Supported
55985654 F: drivers/scsi/be2iscsi/
55995655
@@ -5811,6 +5867,13 @@ S: Maintained · 211 unmodified lines
58115867 F: drivers/ssb/
58125868 F: include/linux/ssb/
58135869
5870+BROADCOM SPECIFIC AMBA DRIVER (BCMA)
5871+M: Rafał Miłecki <zajec5@gmail.com>
5872+L: linux-wireless@vger.kernel.org
5873+S: Maintained
5874+F: drivers/bcma/
5875+F: include/linux/bcma/
5876+
58145877 SONY VAIO CONTROL DEVICE DRIVER
58155878 M: Mattia Dongili <malattia@linux.it>
58165879 L: platform-driver-x86@vger.kernel.org
@@ -5840,7 +5903,7 @@ F: include/sound/ · 23 unmodified lines
58405903 F: sound/
58415904
58425905 SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
5843−M: Liam Girdwood <lrg@slimlogic.co.uk>
5906+M: Liam Girdwood <lrg@ti.com>
58445907 M: Mark Brown <broonie@opensource.wolfsonmicro.com>
58455908 T: git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
58465909 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
@@ -5916,10 +5979,9 @@ F: arch/arm/mach-spear6xx/spear600.c · 69 unmodified lines
59165979 F: arch/arm/mach-spear6xx/spear600_evb.c
59175980
59185981 SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
5919−M: Roger Wolff <R.E.Wolff@BitWizard.nl>
5920−S: Supported
5982+S: Orphan
59215983 F: Documentation/serial/specialix.txt
5922−F: drivers/char/specialix*
5984+F: drivers/staging/tty/specialix*
59235985
59245986 SPI SUBSYSTEM
59255987 M: David Brownell <dbrownell@users.sourceforge.net>
@@ -5950,7 +6012,7 @@ F: Documentation/filesystems/spufs.txt · 24 unmodified lines
59506012 F: arch/powerpc/platforms/cell/spufs/
59516013
59526014 SQUASHFS FILE SYSTEM
5953−M: Phillip Lougher <phillip@lougher.demon.co.uk>
6015+M: Phillip Lougher <phillip@squashfs.org.uk>
59546016 L: squashfs-devel@lists.sourceforge.net (subscribers-only)
59556017 W: http://squashfs.org.uk
59566018 S: Maintained
@@ -5964,7 +6026,6 @@ F: arch/alpha/kernel/srm_env.c · 7 unmodified lines
59646026
59656027 STABLE BRANCH
59666028 M: Greg Kroah-Hartman <greg@kroah.com>
5967−M: Chris Wright <chrisw@sous-sol.org>
59686029 L: stable@kernel.org
59696030 S: Maintained
59706031
@@ -6027,6 +6088,17 @@ F: Documentation/filesystems/sysv-fs.txt · 56 unmodified lines
60276088 F: fs/sysv/
60286089 F: include/linux/sysv_fs.h
60296090
6091+TARGET SUBSYSTEM
6092+M: Nicholas A. Bellinger <nab@linux-iscsi.org>
6093+L: linux-scsi@vger.kernel.org
6094+L: http://groups.google.com/group/linux-iscsi-target-dev
6095+W: http://www.linux-iscsi.org
6096+T: git git://git.kernel.org/pub/scm/linux/kernel/git/nab/lio-core-2.6.git master
6097+S: Supported
6098+F: drivers/target/
6099+F: include/target/
6100+F: Documentation/target/
6101+
60306102 TASKSTATS STATISTICS INTERFACE
60316103 M: Balbir Singh <balbir@linux.vnet.ibm.com>
60326104 S: Maintained
@@ -6093,7 +6165,7 @@ F: drivers/mmc/host/tifm_sd.c · 60 unmodified lines
60936165 F: include/linux/tifm.h
60946166
60956167 TI TWL4030 SERIES SOC CODEC DRIVER
6096−M: Peter Ujfalusi <peter.ujfalusi@nokia.com>
6168+M: Peter Ujfalusi <peter.ujfalusi@ti.com>
60976169 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
60986170 S: Maintained
60996171 F: sound/soc/codecs/twl4030*
@@ -6196,6 +6268,7 @@ TRIVIAL PATCHES · 96 unmodified lines
61966268 M: Jiri Kosina <trivial@kernel.org>
61976269 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
61986270 S: Maintained
6271+K: ^Subject:.*(?i)trivial
61996272
62006273 TTY LAYER
62016274 M: Greg Kroah-Hartman <gregkh@suse.de>
@@ -6248,7 +6321,8 @@ M: Greg Ungerer <gerg@uclinux.org> · 46 unmodified lines
62486321 W: http://www.uclinux.org/
62496322 L: uclinux-dev@uclinux.org (subscribers-only)
62506323 S: Maintained
6251−F: arch/m68knommu/
6324+F: arch/m68k/*/*_no.*
6325+F: arch/m68k/include/asm/*_no.*
62526326
62536327 UCLINUX FOR RENESAS H8/300 (H8300)
62546328 M: Yoshinori Sato <ysato@users.sourceforge.jp>
@@ -6550,7 +6624,7 @@ S: Maintained · 295 unmodified lines
65506624 F: drivers/usb/host/uhci*
65516625
65526626 USB "USBNET" DRIVER FRAMEWORK
6553−M: David Brownell <dbrownell@users.sourceforge.net>
6627+M: Oliver Neukum <oneukum@suse.de>
65546628 L: netdev@vger.kernel.org
65556629 W: http://www.linux-usb.org/usbnet
65566630 S: Maintained
@@ -6612,13 +6686,13 @@ L: user-mode-linux-devel@lists.sourceforge.net · 55 unmodified lines
66126686 L: user-mode-linux-user@lists.sourceforge.net
66136687 W: http://user-mode-linux.sourceforge.net
66146688 S: Maintained
6615−F: Documentation/uml/
6689+F: Documentation/virtual/uml/
66166690 F: arch/um/
66176691 F: fs/hostfs/
66186692 F: fs/hppfs/
66196693
66206694 USERSPACE I/O (UIO)
6621−M: "Hans J. Koch" <hjk@linutronix.de>
6695+M: "Hans J. Koch" <hjk@hansjkoch.de>
66226696 M: Greg Kroah-Hartman <gregkh@suse.de>
66236697 S: Maintained
66246698 F: Documentation/DocBook/uio-howto.tmpl
@@ -6736,7 +6810,7 @@ F: drivers/scsi/vmw_pvscsi.c · 111 unmodified lines
67366810 F: drivers/scsi/vmw_pvscsi.h
67376811
67386812 VOLTAGE AND CURRENT REGULATOR FRAMEWORK
6739−M: Liam Girdwood <lrg@slimlogic.co.uk>
6813+M: Liam Girdwood <lrg@ti.com>
67406814 M: Mark Brown <broonie@opensource.wolfsonmicro.com>
67416815 W: http://opensource.wolfsonmicro.com/node/15
67426816 W: http://www.slimlogic.co.uk/?p=48
@@ -6758,6 +6832,13 @@ L: lm-sensors@lm-sensors.org · 15 unmodified lines
67586832 S: Maintained
67596833 F: drivers/hwmon/vt8231.c
67606834
6835+VUB300 USB to SDIO/SD/MMC bridge chip
6836+M: Tony Olech <tony.olech@elandigitalsystems.com>
6837+L: linux-mmc@vger.kernel.org
6838+L: linux-usb@vger.kernel.org
6839+S: Supported
6840+F: drivers/mmc/host/vub300.c
6841+
67616842 W1 DALLAS'S 1-WIRE BUS
67626843 M: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
67636844 S: Maintained
@@ -6916,6 +6997,25 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86. · 152 unmodified lines
69166997 S: Maintained
69176998 F: drivers/platform/x86
69186999
7000+XEN HYPERVISOR INTERFACE
7001+M: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
7002+M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
7003+L: xen-devel@lists.xensource.com (moderated for non-subscribers)
7004+L: virtualization@lists.linux-foundation.org
7005+S: Supported
7006+F: arch/x86/xen/
7007+F: drivers/*/xen-*front.c
7008+F: drivers/xen/
7009+F: arch/x86/include/asm/xen/
7010+F: include/xen/
7011+
7012+XEN NETWORK BACKEND DRIVER
7013+M: Ian Campbell <ian.campbell@citrix.com>
7014+L: xen-devel@lists.xensource.com (moderated for non-subscribers)
7015+L: netdev@vger.kernel.org
7016+S: Supported
7017+F: drivers/net/xen-netback/*
7018+
69197019 XEN PCI SUBSYSTEM
69207020 M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
69217021 L: xen-devel@lists.xensource.com (moderated for non-subscribers)
@@ -6930,18 +7030,6 @@ S: Supported · 8 unmodified lines
69307030 F: arch/x86/xen/*swiotlb*
69317031 F: drivers/xen/*swiotlb*
69327032
6933−XEN HYPERVISOR INTERFACE
6934−M: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
6935−M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
6936−L: xen-devel@lists.xensource.com (moderated for non-subscribers)
6937−L: virtualization@lists.linux-foundation.org
6938−S: Supported
6939−F: arch/x86/xen/
6940−F: drivers/*/xen-*front.c
6941−F: drivers/xen/
6942−F: arch/x86/include/asm/xen/
6943−F: include/xen/
6944−
69457033 XFS FILESYSTEM
69467034 P: Silicon Graphics Inc
69477035 M: Alex Elder <aelder@sgi.com>
@@ -7011,20 +7099,6 @@ M: "Maciej W. Rozycki" <macro@linux-mips.org> · 63 unmodified lines
70117099 S: Maintained
70127100 F: drivers/tty/serial/zs.*
70137101
7014−GRE DEMULTIPLEXER DRIVER
7015−M: Dmitry Kozlov <xeb@mail.ru>
7016−L: netdev@vger.kernel.org
7017−S: Maintained
7018−F: net/ipv4/gre.c
7019−F: include/net/gre.h
7020−
7021−PPTP DRIVER
7022−M: Dmitry Kozlov <xeb@mail.ru>
7023−L: netdev@vger.kernel.org
7024−S: Maintained
7025−F: drivers/net/pptp.c
7026−W: http://sourceforge.net/projects/accel-pptp
7027−
70287102 THE REST
70297103 M: Linus Torvalds <torvalds@linux-foundation.org>
70307104 L: linux-kernel@vger.kernel.org
Makefile+19−7
@@ -1,8 +1,8 @@
1−VERSION = 2
2−PATCHLEVEL = 6
3−SUBLEVEL = 39
1+VERSION = 3
2+PATCHLEVEL = 0
3+SUBLEVEL = 0
44 EXTRAVERSION = -rc1
5−NAME = Flesh-Eating Bats with Fangs
5+NAME = Sneaky Weasel
66
77 # *DOCUMENTATION*
88 # To see a list of typical targets execute "make help"
@@ -220,6 +220,14 @@ ifeq ($(ARCH),sh64) · 211 unmodified lines
220220 SRCARCH := sh
221221 endif
222222
223+# Additional ARCH settings for tile
224+ifeq ($(ARCH),tilepro)
225+ SRCARCH := tile
226+endif
227+ifeq ($(ARCH),tilegx)
228+ SRCARCH := tile
229+endif
230+
223231 # Where to locate arch specific headers
224232 hdr-arch := $(SRCARCH)
225233
@@ -1009,7 +1017,8 @@ include/generated/utsrelease.h: include/config/kernel.release FORCE · 783 unmodified lines
10091017
10101018 PHONY += headerdep
10111019 headerdep:
1012− $(Q)find include/ -name '*.h' | xargs --max-args 1 scripts/headerdep.pl
1020+ $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
1021+ $(srctree)/scripts/headerdep.pl -I$(srctree)/include
10131022
10141023 # ---------------------------------------------------------------------------
10151024
@@ -1291,6 +1300,7 @@ help: · 275 unmodified lines
12911300 @echo ' 2: warnings which occur quite often but may still be relevant'
12921301 @echo ' 3: more obscure warnings, can most likely be ignored'
12931302 @echo ' Multiple levels can be combined with W=12 or W=123'
1303+ @echo ' make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections'
12941304 @echo ''
12951305 @echo 'Execute "make" or "make all" to build all targets marked with [*] '
12961306 @echo 'For further info see the ./README file'
@@ -1416,13 +1426,15 @@ tags TAGS cscope gtags: FORCE · 119 unmodified lines
14161426 # Scripts to check various things for consistency
14171427 # ---------------------------------------------------------------------------
14181428
1429+PHONY += includecheck versioncheck coccicheck namespacecheck export_report
1430+
14191431 includecheck:
1420− find * $(RCS_FIND_IGNORE) \
1432+ find $(srctree)/* $(RCS_FIND_IGNORE) \
14211433 -name '*.[hcS]' -type f -print | sort \
14221434 | xargs $(PERL) -w $(srctree)/scripts/checkincludes.pl
14231435
14241436 versioncheck:
1425− find * $(RCS_FIND_IGNORE) \
1437+ find $(srctree)/* $(RCS_FIND_IGNORE) \
14261438 -name '*.[hcS]' -type f -print | sort \
14271439 | xargs $(PERL) -w $(srctree)/scripts/checkversion.pl
14281440
arch/Kconfig+3−3
@@ -144,9 +144,6 @@ config HAVE_CLK · 143 unmodified lines
144144 config HAVE_DMA_API_DEBUG
145145 bool
146146
147−config HAVE_DEFAULT_NO_SPIN_MUTEXES
148− bool
149−
150147 config HAVE_HW_BREAKPOINT
151148 bool
152149 depends on PERF_EVENTS
@@ -178,4 +175,7 @@ config HAVE_ARCH_JUMP_LABEL · 25 unmodified lines
178175 config HAVE_ARCH_MUTEX_CPU_RELAX
179176 bool
180177
178+config HAVE_RCU_TABLE_FREE
179+ bool
180+
181181 source "kernel/gcov/Kconfig"
arch/alpha/Kconfig+4−5
@@ -12,7 +12,7 @@ config ALPHA · 11 unmodified lines
1212 select GENERIC_IRQ_PROBE
1313 select AUTO_IRQ_AFFINITY if SMP
1414 select GENERIC_IRQ_SHOW
15− select GENERIC_HARDIRQS_NO_DEPRECATED
15+ select ARCH_WANT_OPTIONAL_GPIOLIB
1616 help
1717 The Alpha is a 64-bit general-purpose processor designed and
1818 marketed by the Digital Equipment Corporation of blessed memory,
@@ -41,10 +41,6 @@ config ARCH_HAS_ILOG2_U64 · 22 unmodified lines
4141 bool
4242 default n
4343
44−config GENERIC_FIND_NEXT_BIT
45− bool
46− default y
47−
4844 config GENERIC_CALIBRATE_DELAY
4945 bool
5046 default y
@@ -52,6 +48,9 @@ config GENERIC_CALIBRATE_DELAY · 1 unmodified line
5248 config GENERIC_CMOS_UPDATE
5349 def_bool y
5450
51+config GENERIC_GPIO
52+ def_bool y
53+
5554 config ZONE_DMA
5655 bool
5756 default y
arch/alpha/include/asm/elf.h+1−1
@@ -101,7 +101,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; · 100 unmodified lines
101101
102102 #define ELF_PLAT_INIT(_r, load_addr) _r->r0 = 0
103103
104−/* The registers are layed out in pt_regs for PAL and syscall
104+/* The registers are laid out in pt_regs for PAL and syscall
105105 convenience. Re-order them for the linear elf_gregset_t. */
106106
107107 struct pt_regs;
arch/alpha/include/asm/gpio.h+55−0
@@ -0,0 +1,55 @@
1+/*
2+ * Generic GPIO API implementation for Alpha.
3+ *
4+ * A stright copy of that for PowerPC which was:
5+ *
6+ * Copyright (c) 2007-2008 MontaVista Software, Inc.
7+ *
8+ * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
9+ *
10+ * This program is free software; you can redistribute it and/or modify
11+ * it under the terms of the GNU General Public License as published by
12+ * the Free Software Foundation; either version 2 of the License, or
13+ * (at your option) any later version.
14+ */
15+
16+#ifndef _ASM_ALPHA_GPIO_H
17+#define _ASM_ALPHA_GPIO_H
18+
19+#include <linux/errno.h>
20+#include <asm-generic/gpio.h>
21+
22+#ifdef CONFIG_GPIOLIB
23+
24+/*
25+ * We don't (yet) implement inlined/rapid versions for on-chip gpios.
26+ * Just call gpiolib.
27+ */
28+static inline int gpio_get_value(unsigned int gpio)
29+{
30+ return __gpio_get_value(gpio);
31+}
32+
33+static inline void gpio_set_value(unsigned int gpio, int value)
34+{
35+ __gpio_set_value(gpio, value);
36+}
37+
38+static inline int gpio_cansleep(unsigned int gpio)
39+{
40+ return __gpio_cansleep(gpio);
41+}
42+
43+static inline int gpio_to_irq(unsigned int gpio)
44+{
45+ return __gpio_to_irq(gpio);
46+}
47+
48+static inline int irq_to_gpio(unsigned int irq)
49+{
50+ return -EINVAL;
51+}
52+
53+#endif /* CONFIG_GPIOLIB */
54+
55+#endif /* _ASM_ALPHA_GPIO_H */
arch/alpha/include/asm/smp.h+0−2
@@ -39,8 +39,6 @@ struct cpuinfo_alpha { · 38 unmodified lines
3939
4040 extern struct cpuinfo_alpha cpu_data[NR_CPUS];
4141
42−#define PROC_CHANGE_PENALTY 20
43−
4442 #define hard_smp_processor_id() __hard_smp_processor_id()
4543 #define raw_smp_processor_id() (current_thread_info()->cpu)
4644
arch/alpha/include/asm/unistd.h+6−1
@@ -452,10 +452,15 @@ · 451 unmodified lines
452452 #define __NR_fanotify_init 494
453453 #define __NR_fanotify_mark 495
454454 #define __NR_prlimit64 496
455+#define __NR_name_to_handle_at 497
456+#define __NR_open_by_handle_at 498
457+#define __NR_clock_adjtime 499
458+#define __NR_syncfs 500
459+#define __NR_setns 501
455460
456461 #ifdef __KERNEL__
457462
458−#define NR_SYSCALLS 497
463+#define NR_SYSCALLS 502
459464
460465 #define __ARCH_WANT_IPC_PARSE_VERSION
461466 #define __ARCH_WANT_OLD_READDIR
arch/alpha/kernel/Makefile+1−1
@@ -4,7 +4,7 @@ · 3 unmodified lines
44
55 extra-y := head.o vmlinux.lds
66 asflags-y := $(KBUILD_CFLAGS)
7−ccflags-y := -Werror -Wno-sign-compare
7+ccflags-y := -Wno-sign-compare
88
99 obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \
1010 irq_alpha.o signal.o setup.o ptrace.o time.o \
arch/alpha/kernel/core_lca.c+2−2
@@ -133,7 +133,7 @@ conf_read(unsigned long addr) · 132 unmodified lines
133133
134134 local_irq_save(flags);
135135
136− /* Reset status register to avoid loosing errors. */
136+ /* Reset status register to avoid losing errors. */
137137 stat0 = *(vulp)LCA_IOC_STAT0;
138138 *(vulp)LCA_IOC_STAT0 = stat0;
139139 mb();
@@ -170,7 +170,7 @@ conf_write(unsigned long addr, unsigned int value) · 30 unmodified lines
170170
171171 local_irq_save(flags); /* avoid getting hit by machine check */
172172
173− /* Reset status register to avoid loosing errors. */
173+ /* Reset status register to avoid losing errors. */
174174 stat0 = *(vulp)LCA_IOC_STAT0;
175175 *(vulp)LCA_IOC_STAT0 = stat0;
176176 mb();
arch/alpha/kernel/core_mcpcia.c+5−7
@@ -88,7 +88,7 @@ conf_read(unsigned long addr, unsigned char type1, · 87 unmodified lines
8888 {
8989 unsigned long flags;
9090 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
91− unsigned int stat0, value, temp, cpu;
91+ unsigned int stat0, value, cpu;
9292
9393 cpu = smp_processor_id();
9494
@@ -101,7 +101,7 @@ conf_read(unsigned long addr, unsigned char type1, · 6 unmodified lines
101101 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);
102102 *(vuip)MCPCIA_CAP_ERR(mid) = stat0;
103103 mb();
104− temp = *(vuip)MCPCIA_CAP_ERR(mid);
104+ *(vuip)MCPCIA_CAP_ERR(mid);
105105 DBG_CFG(("conf_read: MCPCIA_CAP_ERR(%d) was 0x%x\n", mid, stat0));
106106
107107 mb();
@@ -136,7 +136,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 28 unmodified lines
136136 {
137137 unsigned long flags;
138138 unsigned long mid = MCPCIA_HOSE2MID(hose->index);
139− unsigned int stat0, temp, cpu;
139+ unsigned int stat0, cpu;
140140
141141 cpu = smp_processor_id();
142142
@@ -145,7 +145,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 2 unmodified lines
145145 /* Reset status register to avoid losing errors. */
146146 stat0 = *(vuip)MCPCIA_CAP_ERR(mid);
147147 *(vuip)MCPCIA_CAP_ERR(mid) = stat0; mb();
148− temp = *(vuip)MCPCIA_CAP_ERR(mid);
148+ *(vuip)MCPCIA_CAP_ERR(mid);
149149 DBG_CFG(("conf_write: MCPCIA CAP_ERR(%d) was 0x%x\n", mid, stat0));
150150
151151 draina();
@@ -157,7 +157,7 @@ conf_write(unsigned long addr, unsigned int value, unsigned char type1, · 5 unmodified lines
157157 *((vuip)addr) = value;
158158 mb();
159159 mb(); /* magic */
160− temp = *(vuip)MCPCIA_CAP_ERR(mid); /* read to force the write */
160+ *(vuip)MCPCIA_CAP_ERR(mid); /* read to force the write */
161161 mcheck_expected(cpu) = 0;
162162 mb();
163163
@@ -572,12 +572,10 @@ mcpcia_print_system_area(unsigned long la_ptr) · 408 unmodified lines
572572 void
573573 mcpcia_machine_check(unsigned long vector, unsigned long la_ptr)
574574 {
575− struct el_common *mchk_header;
576575 struct el_MCPCIA_uncorrected_frame_mcheck *mchk_logout;
577576 unsigned int cpu = smp_processor_id();
578577 int expected;
579578
580− mchk_header = (struct el_common *)la_ptr;
581579 mchk_logout = (struct el_MCPCIA_uncorrected_frame_mcheck *)la_ptr;
582580 expected = mcheck_expected(cpu);
583581
arch/alpha/kernel/err_marvel.c+1−1
@@ -1027,7 +1027,7 @@ marvel_process_logout_frame(struct ev7_lf_subpackets *lf_subpackets, int print) · 1026 unmodified lines
10271027 * normal operation, dismiss them.
10281028 *
10291029 * Dismiss if:
1030− * C_STAT = 0x14 (Error Reponse)
1030+ * C_STAT = 0x14 (Error Response)
10311031 * C_STS<3> = 0 (C_ADDR valid)
10321032 * C_ADDR<42> = 1 (I/O)
10331033 * C_ADDR<31:22> = 111110xxb (PCI Config space)
arch/alpha/kernel/err_titan.c+1−3
@@ -533,8 +533,6 @@ static struct el_subpacket_annotation el_titan_annotations[] = { · 532 unmodified lines
533533 static struct el_subpacket *
534534 el_process_regatta_subpacket(struct el_subpacket *header)
535535 {
536− int status;
537−
538536 if (header->class != EL_CLASS__REGATTA_FAMILY) {
539537 printk("%s ** Unexpected header CLASS %d TYPE %d, aborting\n",
540538 err_print_prefix,
@@ -551,7 +549,7 @@ el_process_regatta_subpacket(struct el_subpacket *header) · 10 unmodified lines
551549 printk("%s ** Occurred on CPU %d:\n",
552550 err_print_prefix,
553551 (int)header->by_type.regatta_frame.cpuid);
554− status = privateer_process_logout_frame((struct el_common *)
552+ privateer_process_logout_frame((struct el_common *)
555553 header->by_type.regatta_frame.data_start, 1);
556554 break;
557555 default:
arch/alpha/kernel/irq_alpha.c+1−1
@@ -228,7 +228,7 @@ struct irqaction timer_irqaction = { · 227 unmodified lines
228228 void __init
229229 init_rtc_irq(void)
230230 {
231− irq_set_chip_and_handler_name(RTC_IRQ, &no_irq_chip,
231+ irq_set_chip_and_handler_name(RTC_IRQ, &dummy_irq_chip,
232232 handle_simple_irq, "RTC");
233233 setup_irq(RTC_IRQ, &timer_irqaction);
234234 }
arch/alpha/kernel/process.c+1−1
@@ -121,7 +121,7 @@ common_shutdown_1(void *generic_ptr) · 120 unmodified lines
121121 /* Wait for the secondaries to halt. */
122122 set_cpu_present(boot_cpuid, false);
123123 set_cpu_possible(boot_cpuid, false);
124− while (cpus_weight(cpu_present_map))
124+ while (cpumask_weight(cpu_present_mask))
125125 barrier();
126126 #endif
127127
arch/alpha/kernel/setup.c+4−4
@@ -1257,7 +1257,7 @@ show_cpuinfo(struct seq_file *f, void *slot) · 1256 unmodified lines
12571257 #ifdef CONFIG_SMP
12581258 seq_printf(f, "cpus active\t\t: %u\n"
12591259 "cpu active mask\t\t: %016lx\n",
1260− num_online_cpus(), cpus_addr(cpu_possible_map)[0]);
1260+ num_online_cpus(), cpumask_bits(cpu_possible_mask)[0]);
12611261 #endif
12621262
12631263 show_cache_size (f, "L1 Icache", alpha_l1i_cacheshape);
@@ -1404,8 +1404,6 @@ determine_cpu_caches (unsigned int cpu_type) · 140 unmodified lines
14041404 case PCA56_CPU:
14051405 case PCA57_CPU:
14061406 {
1407− unsigned long cbox_config, size;
1408−
14091407 if (cpu_type == PCA56_CPU) {
14101408 L1I = CSHAPE(16*1024, 6, 1);
14111409 L1D = CSHAPE(8*1024, 5, 1);
@@ -1415,10 +1413,12 @@ determine_cpu_caches (unsigned int cpu_type) · 3 unmodified lines
14151413 }
14161414 L3 = -1;
14171415
1416+#if 0
1417+ unsigned long cbox_config, size;
1418+
14181419 cbox_config = *(vulp) phys_to_virt (0xfffff00008UL);
14191420 size = 512*1024 * (1 << ((cbox_config >> 12) & 3));
14201421
1421−#if 0
14221422 L2 = ((cbox_config >> 31) & 1 ? CSHAPE (size, 6, 1) : -1);
14231423 #else
14241424 L2 = external_cache_probe(512*1024, 6);
arch/alpha/kernel/smc37c93x.c+1−2
@@ -79,7 +79,6 @@ · 78 unmodified lines
7979 static unsigned long __init SMCConfigState(unsigned long baseAddr)
8080 {
8181 unsigned char devId;
82− unsigned char devRev;
8382
8483 unsigned long configPort;
8584 unsigned long indexPort;
@@ -100,7 +99,7 @@ static unsigned long __init SMCConfigState(unsigned long baseAddr) · 14 unmodified lines
10099 devId = inb(dataPort);
101100 if (devId == VALID_DEVICE_ID) {
102101 outb(DEVICE_REV, indexPort);
103− devRev = inb(dataPort);
102+ /* unsigned char devRev = */ inb(dataPort);
104103 break;
105104 }
106105 else
arch/alpha/kernel/smp.c+5−5
@@ -451,7 +451,7 @@ setup_smp(void) · 450 unmodified lines
451451 }
452452
453453 printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n",
454− smp_num_probed, cpu_present_map.bits[0]);
454+ smp_num_probed, cpumask_bits(cpu_present_mask)[0]);
455455 }
456456
457457 /*
@@ -585,8 +585,7 @@ handle_ipi(struct pt_regs *regs) · 127 unmodified lines
585585
586586 switch (which) {
587587 case IPI_RESCHEDULE:
588− /* Reschedule callback. Everything to be done
589− is done by the interrupt return path. */
588+ scheduler_ipi();
590589 break;
591590
592591 case IPI_CALL_FUNC:
@@ -630,8 +629,9 @@ smp_send_reschedule(int cpu) · 37 unmodified lines
630629 void
631630 smp_send_stop(void)
632631 {
633− cpumask_t to_whom = cpu_possible_map;
634− cpu_clear(smp_processor_id(), to_whom);
632+ cpumask_t to_whom;
633+ cpumask_copy(&to_whom, cpu_possible_mask);
634+ cpumask_clear_cpu(smp_processor_id(), &to_whom);
635635 #ifdef DEBUG_IPI_MSG
636636 if (hard_smp_processor_id() != boot_cpu_id)
637637 printk(KERN_WARNING "smp_send_stop: Not on boot cpu.\n");
arch/alpha/kernel/sys_dp264.c+1−1
@@ -140,7 +140,7 @@ cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) · 139 unmodified lines
140140
141141 for (cpu = 0; cpu < 4; cpu++) {
142142 unsigned long aff = cpu_irq_affinity[cpu];
143− if (cpu_isset(cpu, affinity))
143+ if (cpumask_test_cpu(cpu, &affinity))
144144 aff |= 1UL << irq;
145145 else
146146 aff &= ~(1UL << irq);
arch/alpha/kernel/sys_titan.c+7−6
@@ -65,10 +65,11 @@ titan_update_irq_hw(unsigned long mask) · 64 unmodified lines
6565 register int bcpu = boot_cpuid;
6666
6767 #ifdef CONFIG_SMP
68− cpumask_t cpm = cpu_present_map;
68+ cpumask_t cpm;
6969 volatile unsigned long *dim0, *dim1, *dim2, *dim3;
7070 unsigned long mask0, mask1, mask2, mask3, dummy;
7171
72+ cpumask_copy(&cpm, cpu_present_mask);
7273 mask &= ~isa_enable;
7374 mask0 = mask & titan_cpu_irq_affinity[0];
7475 mask1 = mask & titan_cpu_irq_affinity[1];
@@ -84,10 +85,10 @@ titan_update_irq_hw(unsigned long mask) · 9 unmodified lines
8485 dim1 = &cchip->dim1.csr;
8586 dim2 = &cchip->dim2.csr;
8687 dim3 = &cchip->dim3.csr;
87− if (!cpu_isset(0, cpm)) dim0 = &dummy;
88− if (!cpu_isset(1, cpm)) dim1 = &dummy;
89− if (!cpu_isset(2, cpm)) dim2 = &dummy;
90− if (!cpu_isset(3, cpm)) dim3 = &dummy;
88+ if (!cpumask_test_cpu(0, &cpm)) dim0 = &dummy;
89+ if (!cpumask_test_cpu(1, &cpm)) dim1 = &dummy;
90+ if (!cpumask_test_cpu(2, &cpm)) dim2 = &dummy;
91+ if (!cpumask_test_cpu(3, &cpm)) dim3 = &dummy;
9192
9293 *dim0 = mask0;
9394 *dim1 = mask1;
@@ -137,7 +138,7 @@ titan_cpu_set_irq_affinity(unsigned int irq, cpumask_t affinity) · 43 unmodified lines
137138 int cpu;
138139
139140 for (cpu = 0; cpu < 4; cpu++) {
140− if (cpu_isset(cpu, affinity))
141+ if (cpumask_test_cpu(cpu, &affinity))
141142 titan_cpu_irq_affinity[cpu] |= 1UL << irq;
142143 else
143144 titan_cpu_irq_affinity[cpu] &= ~(1UL << irq);
arch/alpha/kernel/sys_wildfire.c+3−2
@@ -156,7 +156,6 @@ static void __init · 155 unmodified lines
156156 wildfire_init_irq_per_pca(int qbbno, int pcano)
157157 {
158158 int i, irq_bias;
159− unsigned long io_bias;
160159 static struct irqaction isa_enable = {
161160 .handler = no_action,
162161 .name = "isa_enable",
@@ -165,10 +164,12 @@ wildfire_init_irq_per_pca(int qbbno, int pcano) · 2 unmodified lines
165164 irq_bias = qbbno * (WILDFIRE_PCA_PER_QBB * WILDFIRE_IRQ_PER_PCA)
166165 + pcano * WILDFIRE_IRQ_PER_PCA;
167166
167+#if 0
168+ unsigned long io_bias;
169+
168170 /* Only need the following for first PCI bus per PCA. */
169171 io_bias = WILDFIRE_IO(qbbno, pcano<<1) - WILDFIRE_IO_BIAS;
170172
171−#if 0
172173 outb(0, DMA1_RESET_REG + io_bias);
173174 outb(0, DMA2_RESET_REG + io_bias);
174175 outb(DMA_MODE_CASCADE, DMA2_MODE_REG + io_bias);
arch/alpha/kernel/systbls.S+9−4
@@ -498,23 +498,28 @@ sys_call_table: · 497 unmodified lines
498498 .quad sys_ni_syscall /* sys_timerfd */
499499 .quad sys_eventfd
500500 .quad sys_recvmmsg
501− .quad sys_fallocate /* 480 */
501+ .quad sys_fallocate /* 480 */
502502 .quad sys_timerfd_create
503503 .quad sys_timerfd_settime
504504 .quad sys_timerfd_gettime
505505 .quad sys_signalfd4
506− .quad sys_eventfd2 /* 485 */
506+ .quad sys_eventfd2 /* 485 */
507507 .quad sys_epoll_create1
508508 .quad sys_dup3
509509 .quad sys_pipe2
510510 .quad sys_inotify_init1
511− .quad sys_preadv /* 490 */
511+ .quad sys_preadv /* 490 */
512512 .quad sys_pwritev
513513 .quad sys_rt_tgsigqueueinfo
514514 .quad sys_perf_event_open
515515 .quad sys_fanotify_init
516− .quad sys_fanotify_mark /* 495 */
516+ .quad sys_fanotify_mark /* 495 */
517517 .quad sys_prlimit64
518+ .quad sys_name_to_handle_at
519+ .quad sys_open_by_handle_at
520+ .quad sys_clock_adjtime
521+ .quad sys_syncfs /* 500 */
522+ .quad sys_setns
518523
519524 .size sys_call_table, . - sys_call_table
520525 .type sys_call_table, @object
arch/alpha/kernel/time.c+2−2
@@ -153,6 +153,7 @@ void read_persistent_clock(struct timespec *ts) · 152 unmodified lines
153153 year += 100;
154154
155155 ts->tv_sec = mktime(year, mon, day, hour, min, sec);
156+ ts->tv_nsec = 0;
156157 }
157158
158159
@@ -374,8 +375,7 @@ static struct clocksource clocksource_rpcc = { · 215 unmodified lines
374375
375376 static inline void register_rpcc_clocksource(long cycle_freq)
376377 {
377− clocksource_calc_mult_shift(&clocksource_rpcc, cycle_freq, 4);
378− clocksource_register(&clocksource_rpcc);
378+ clocksource_register_hz(&clocksource_rpcc, cycle_freq);
379379 }
380380 #else /* !CONFIG_SMP */
381381 static inline void register_rpcc_clocksource(long cycle_freq)
arch/alpha/kernel/vmlinux.lds.S+2−1
@@ -39,13 +39,14 @@ SECTIONS · 38 unmodified lines
3939 __init_begin = ALIGN(PAGE_SIZE);
4040 INIT_TEXT_SECTION(PAGE_SIZE)
4141 INIT_DATA_SECTION(16)
42− PERCPU(L1_CACHE_BYTES, PAGE_SIZE)
42+ PERCPU_SECTION(L1_CACHE_BYTES)
4343 /* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
4444 needed for the THREAD_SIZE aligned init_task gets freed after init */
4545 . = ALIGN(THREAD_SIZE);
4646 __init_end = .;
4747 /* Freed after init ends here */
4848
49+ _sdata = .; /* Start of rw data section */
4950 _data = .;
5051 RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
5152
arch/alpha/lib/ev67-strrchr.S+1−1
@@ -82,7 +82,7 @@ $loop: · 81 unmodified lines
8282 $eos:
8383 negq t1, t4 # E : isolate first null byte match
8484 and t1, t4, t4 # E :
85− subq t4, 1, t5 # E : build a mask of the bytes upto...
85+ subq t4, 1, t5 # E : build a mask of the bytes up to...
8686 or t4, t5, t4 # E : ... and including the null
8787
8888 and t3, t4, t3 # E : mask out char matches after null
arch/alpha/lib/fls.c+1−1
@@ -6,7 +6,7 @@ · 5 unmodified lines
66 #include <linux/bitops.h>
77
88 /* This is fls(x)-1, except zero is held to zero. This allows most
9− efficent input into extbl, plus it allows easy handling of fls(0)=0. */
9+ efficient input into extbl, plus it allows easy handling of fls(0)=0. */
1010
1111 const unsigned char __flsm1_tab[256] =
1212 {
arch/alpha/lib/strrchr.S+1−1
@@ -54,7 +54,7 @@ $loop: · 53 unmodified lines
5454 $eos:
5555 negq t1, t4 # e0 : isolate first null byte match
5656 and t1, t4, t4 # e1 :
57− subq t4, 1, t5 # e0 : build a mask of the bytes upto...
57+ subq t4, 1, t5 # e0 : build a mask of the bytes up to...
5858 or t4, t5, t4 # e1 : ... and including the null
5959
6060 and t3, t4, t3 # e0 : mask out char matches after null
arch/alpha/mm/init.c+0−2
@@ -32,8 +32,6 @@ · 31 unmodified lines
3232 #include <asm/console.h>
3333 #include <asm/tlb.h>
3434
35−DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
36−
3735 extern void die_if_kernel(char *,struct pt_regs *,long);
3836
3937 static struct pcb_struct original_pcb;
arch/alpha/mm/numa.c+1−0
@@ -313,6 +313,7 @@ void __init paging_init(void) · 312 unmodified lines
313313 zones_size[ZONE_DMA] = dma_local_pfn;
314314 zones_size[ZONE_NORMAL] = (end_pfn - start_pfn) - dma_local_pfn;
315315 }
316+ node_set_state(nid, N_NORMAL_MEMORY);
316317 free_area_init_node(nid, zones_size, start_pfn, NULL);
317318 }
318319
arch/alpha/oprofile/op_model_ev67.c+1−1
@@ -192,7 +192,7 @@ ev67_handle_interrupt(unsigned long which, struct pt_regs *regs, · 191 unmodified lines
192192 case TRAP_INVALID1:
193193 case TRAP_INVALID2:
194194 case TRAP_INVALID3:
195− /* Pipeline redirection ocurred. PMPC points
195+ /* Pipeline redirection occurred. PMPC points
196196 to PALcode. Recognize ITB miss by PALcode
197197 offset address, and get actual PC from
198198 EXC_ADDR. */
arch/arm/Kconfig+67−55
@@ -197,15 +197,21 @@ config ARM_PATCH_PHYS_VIRT · 196 unmodified lines
197197 depends on !XIP_KERNEL && MMU
198198 depends on !ARCH_REALVIEW || !SPARSEMEM
199199 help
200− Patch phys-to-virt translation functions at runtime according to
201− the position of the kernel in system memory.
200+ Patch phys-to-virt and virt-to-phys translation functions at
201+ boot and module load time according to the position of the
202+ kernel in system memory.
202203
203− This can only be used with non-XIP with MMU kernels where
204− the base of physical memory is at a 16MB boundary.
204+ This can only be used with non-XIP MMU kernels where the base
205+ of physical memory is at a 16MB boundary, or theoretically 64K
206+ for the MSM machine class.
205207
206208 config ARM_PATCH_PHYS_VIRT_16BIT
207209 def_bool y
208210 depends on ARM_PATCH_PHYS_VIRT && ARCH_MSM
211+ help
212+ This option extends the physical to virtual translation patching
213+ to allow physical memory down to a theoretical minimum of 64K
214+ boundaries.
209215
210216 source "init/Kconfig"
211217
@@ -288,6 +294,8 @@ config ARCH_AT91 · 76 unmodified lines
288294 bool "Atmel AT91"
289295 select ARCH_REQUIRE_GPIOLIB
290296 select HAVE_CLK
297+ select CLKDEV_LOOKUP
298+ select ARM_PATCH_PHYS_VIRT if MMU
291299 help
292300 This enables support for systems based on the Atmel AT91RM9200,
293301 AT91SAM9 and AT91CAP9 processors.
@@ -297,6 +305,7 @@ config ARCH_BCMRING · 3 unmodified lines
297305 depends on MMU
298306 select CPU_V6
299307 select ARM_AMBA
308+ select ARM_TIMER_SP804
300309 select CLKDEV_LOOKUP
301310 select GENERIC_CLOCKEVENTS
302311 select ARCH_WANT_OPTIONAL_GPIOLIB
@@ -366,6 +375,8 @@ config ARCH_MXC · 63 unmodified lines
366375 select GENERIC_CLOCKEVENTS
367376 select ARCH_REQUIRE_GPIOLIB
368377 select CLKDEV_LOOKUP
378+ select CLKSRC_MMIO
379+ select HAVE_SCHED_CLOCK
369380 help
370381 Support for Freescale MXC/iMX-based family of processors
371382
@@ -374,21 +385,13 @@ config ARCH_MXS · 2 unmodified lines
374385 select GENERIC_CLOCKEVENTS
375386 select ARCH_REQUIRE_GPIOLIB
376387 select CLKDEV_LOOKUP
388+ select CLKSRC_MMIO
377389 help
378390 Support for Freescale MXS-based family of processors
379391
380−config ARCH_STMP3XXX
381− bool "Freescale STMP3xxx"
382− select CPU_ARM926T
383− select CLKDEV_LOOKUP
384− select ARCH_REQUIRE_GPIOLIB
385− select GENERIC_CLOCKEVENTS
386− select USB_ARCH_HAS_EHCI
387− help
388− Support for systems based on the Freescale 3xxx CPUs.
389−
390392 config ARCH_NETX
391393 bool "Hilscher NetX based"
394+ select CLKSRC_MMIO
392395 select CPU_ARM926T
393396 select ARM_VIC
394397 select GENERIC_CLOCKEVENTS
@@ -456,6 +459,7 @@ config ARCH_IXP2000 · 61 unmodified lines
456459 config ARCH_IXP4XX
457460 bool "IXP4xx-based"
458461 depends on MMU
462+ select CLKSRC_MMIO
459463 select CPU_XSCALE
460464 select GENERIC_GPIO
461465 select GENERIC_CLOCKEVENTS
@@ -467,7 +471,7 @@ config ARCH_IXP4XX · 5 unmodified lines
467471
468472 config ARCH_DOVE
469473 bool "Marvell Dove"
470− select CPU_V6K
474+ select CPU_V7
471475 select PCI
472476 select ARCH_REQUIRE_GPIOLIB
473477 select GENERIC_CLOCKEVENTS
@@ -496,6 +500,7 @@ config ARCH_LOKI · 22 unmodified lines
496500
497501 config ARCH_LPC32XX
498502 bool "NXP LPC32XX"
503+ select CLKSRC_MMIO
499504 select CPU_ARM926T
500505 select ARCH_REQUIRE_GPIOLIB
501506 select HAVE_IDE
@@ -553,23 +558,12 @@ config ARCH_KS8695 · 51 unmodified lines
553558 Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
554559 System-on-Chip devices.
555560
556−config ARCH_NS9XXX
557− bool "NetSilicon NS9xxx"
558− select CPU_ARM926T
559− select GENERIC_GPIO
560− select GENERIC_CLOCKEVENTS
561− select HAVE_CLK
562− help
563− Say Y here if you intend to run this kernel on a NetSilicon NS9xxx
564− System.
565−
566− <http://www.digi.com/products/microprocessors/index.jsp>
567−
568561 config ARCH_W90X900
569562 bool "Nuvoton W90X900 CPU"
570563 select CPU_ARM926T
571564 select ARCH_REQUIRE_GPIOLIB
572565 select CLKDEV_LOOKUP
566+ select CLKSRC_MMIO
573567 select GENERIC_CLOCKEVENTS
574568 help
575569 Support for Nuvoton (Winbond logic dept.) ARM9 processor,
@@ -591,6 +585,7 @@ config ARCH_NUC93X · 15 unmodified lines
591585 config ARCH_TEGRA
592586 bool "NVIDIA Tegra"
593587 select CLKDEV_LOOKUP
588+ select CLKSRC_MMIO
594589 select GENERIC_TIME
595590 select GENERIC_CLOCKEVENTS
596591 select GENERIC_GPIO
@@ -616,6 +611,7 @@ config ARCH_PXA · 19 unmodified lines
616611 select ARCH_MTD_XIP
617612 select ARCH_HAS_CPUFREQ
618613 select CLKDEV_LOOKUP
614+ select CLKSRC_MMIO
619615 select ARCH_REQUIRE_GPIOLIB
620616 select GENERIC_CLOCKEVENTS
621617 select HAVE_SCHED_CLOCK
@@ -666,6 +662,7 @@ config ARCH_RPC · 44 unmodified lines
666662
667663 config ARCH_SA1100
668664 bool "SA1100-based"
665+ select CLKSRC_MMIO
669666 select CPU_SA1100
670667 select ISA
671668 select ARCH_SPARSEMEM_ENABLE
@@ -693,7 +690,7 @@ config ARCH_S3C2410 · 21 unmodified lines
693690 the Samsung SMDK2410 development board (and derivatives).
694691
695692 Note, the S3C2416 and the S3C2450 are so close that they even share
696− the same SoC ID code. This means that there is no seperate machine
693+ the same SoC ID code. This means that there is no separate machine
697694 directory (no arch/arm/mach-s3c2450) as the S3C2416 was first.
698695
699696 config ARCH_S3C64XX
@@ -735,16 +732,6 @@ config ARCH_S5P64X0 · 35 unmodified lines
735732 Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
736733 SMDK6450.
737734
738−config ARCH_S5P6442
739− bool "Samsung S5P6442"
740− select CPU_V6
741− select GENERIC_GPIO
742− select HAVE_CLK
743− select ARCH_USES_GETTIMEOFFSET
744− select HAVE_S3C2410_WATCHDOG if WATCHDOG
745− help
746− Samsung S5P6442 CPU based systems
747−
748735 config ARCH_S5PC100
749736 bool "Samsung S5PC100"
750737 select GENERIC_GPIO
@@ -802,6 +789,7 @@ config ARCH_SHARK · 51 unmodified lines
802789
803790 config ARCH_TCC_926
804791 bool "Telechips TCC ARM926-based systems"
792+ select CLKSRC_MMIO
805793 select CPU_ARM926T
806794 select HAVE_CLK
807795 select CLKDEV_LOOKUP
@@ -812,6 +800,7 @@ config ARCH_TCC_926 · 4 unmodified lines
812800 config ARCH_U300
813801 bool "ST-Ericsson U300 Series"
814802 depends on MMU
803+ select CLKSRC_MMIO
815804 select CPU_ARM926T
816805 select HAVE_SCHED_CLOCK
817806 select HAVE_TCM
@@ -853,6 +842,7 @@ config ARCH_DAVINCI · 35 unmodified lines
853842 select HAVE_IDE
854843 select CLKDEV_LOOKUP
855844 select GENERIC_ALLOCATOR
845+ select GENERIC_IRQ_CHIP
856846 select ARCH_HAS_HOLES_MEMORYMODEL
857847 help
858848 Support for TI's DaVinci platform.
@@ -873,6 +863,7 @@ config PLAT_SPEAR · 14 unmodified lines
873863 select ARM_AMBA
874864 select ARCH_REQUIRE_GPIOLIB
875865 select CLKDEV_LOOKUP
866+ select CLKSRC_MMIO
876867 select GENERIC_CLOCKEVENTS
877868 select HAVE_CLK
878869 help
@@ -950,8 +941,6 @@ source "arch/arm/mach-netx/Kconfig" · 71 unmodified lines
950941 source "arch/arm/mach-nomadik/Kconfig"
951942 source "arch/arm/plat-nomadik/Kconfig"
952943
953−source "arch/arm/mach-ns9xxx/Kconfig"
954−
955944 source "arch/arm/mach-nuc93x/Kconfig"
956945
957946 source "arch/arm/plat-omap/Kconfig"
@@ -994,8 +983,6 @@ endif · 36 unmodified lines
994983
995984 source "arch/arm/mach-s5p64x0/Kconfig"
996985
997−source "arch/arm/mach-s5p6442/Kconfig"
998−
999986 source "arch/arm/mach-s5pc100/Kconfig"
1000987
1001988 source "arch/arm/mach-s5pv210/Kconfig"
@@ -1004,8 +991,6 @@ source "arch/arm/mach-exynos4/Kconfig" · 2 unmodified lines
1004991
1005992 source "arch/arm/mach-shmobile/Kconfig"
1006993
1007−source "arch/arm/plat-stmp3xxx/Kconfig"
1008−
1009994 source "arch/arm/mach-tegra/Kconfig"
1010995
1011996 source "arch/arm/mach-u300/Kconfig"
@@ -1032,6 +1017,8 @@ config PLAT_IOP · 20 unmodified lines
10321017
10331018 config PLAT_ORION
10341019 bool
1020+ select CLKSRC_MMIO
1021+ select GENERIC_IRQ_CHIP
10351022 select HAVE_SCHED_CLOCK
10361023
10371024 config PLAT_PXA
@@ -1042,6 +1029,7 @@ config PLAT_VERSATILE · 4 unmodified lines
10421029
10431030 config ARM_TIMER_SP804
10441031 bool
1032+ select CLKSRC_MMIO
10451033
10461034 source arch/arm/mm/Kconfig
10471035
@@ -1317,8 +1305,7 @@ menu "Kernel Features" · 269 unmodified lines
13171305 source "kernel/time/Kconfig"
13181306
13191307 config SMP
1320− bool "Symmetric Multi-Processing (EXPERIMENTAL)"
1321− depends on EXPERIMENTAL
1308+ bool "Symmetric Multi-Processing"
13221309 depends on CPU_V6K || CPU_V7
13231310 depends on GENERIC_CLOCKEVENTS
13241311 depends on REALVIEW_EB_ARM11MP || REALVIEW_EB_A9MP || \
@@ -1402,7 +1389,6 @@ config NR_CPUS · 77 unmodified lines
14021389 config HOTPLUG_CPU
14031390 bool "Support for hot-pluggable CPUs (EXPERIMENTAL)"
14041391 depends on SMP && HOTPLUG && EXPERIMENTAL
1405− depends on !ARCH_MSM
14061392 help
14071393 Say Y here to experiment with turning CPUs off and on. CPUs
14081394 can be controlled through /sys/devices/system/cpu.
@@ -1423,7 +1409,7 @@ source kernel/Kconfig.preempt · 14 unmodified lines
14231409 config HZ
14241410 int
14251411 default 200 if ARCH_EBSA110 || ARCH_S3C2410 || ARCH_S5P64X0 || \
1426− ARCH_S5P6442 || ARCH_S5PV210 || ARCH_EXYNOS4
1412+ ARCH_S5PV210 || ARCH_EXYNOS4
14271413 default OMAP_32K_TIMER_HZ if ARCH_OMAP && OMAP_32K_TIMER
14281414 default AT91_TIMER_HZ if ARCH_AT91
14291415 default SHMOBILE_TIMER_HZ if ARCH_SHMOBILE
@@ -1519,9 +1505,12 @@ config ARCH_SPARSEMEM_DEFAULT · 89 unmodified lines
15191505 config ARCH_SELECT_MEMORY_MODEL
15201506 def_bool ARCH_SPARSEMEM_ENABLE
15211507
1508+config HAVE_ARCH_PFN_VALID
1509+ def_bool ARCH_HAS_HOLES_MEMORYMODEL || !SPARSEMEM
1510+
15221511 config HIGHMEM
1523− bool "High Memory Support (EXPERIMENTAL)"
1524− depends on MMU && EXPERIMENTAL
1512+ bool "High Memory Support"
1513+ depends on MMU
15251514 help
15261515 The address space of ARM processors is only 4 Gigabytes large
15271516 and it has to accommodate user address space, kernel address
@@ -1539,7 +1528,6 @@ config HIGHMEM · 11 unmodified lines
15391528 config HIGHPTE
15401529 bool "Allocate 2nd-level pagetables from highmem"
15411530 depends on HIGHMEM
1542− depends on !OUTER_CACHE
15431531
15441532 config HW_PERF_EVENTS
15451533 bool "Enable hardware performance counter support for perf events"
@@ -1687,6 +1675,13 @@ endmenu · 141 unmodified lines
16871675
16881676 menu "Boot options"
16891677
1678+config USE_OF
1679+ bool "Flattened Device Tree support"
1680+ select OF
1681+ select OF_EARLY_FLATTREE
1682+ help
1683+ Include support for flattened device tree machine descriptions.
1684+
16901685 # Compressed boot loader in ROM. Yes, we really want to ask about
16911686 # TEXT and BSS so we preserve their values in the config files.
16921687 config ZBOOT_ROM_TEXT
@@ -1742,16 +1737,31 @@ config CMDLINE · 49 unmodified lines
17421737 time by entering them here. As a minimum, you should specify the
17431738 memory size and the root device (e.g., mem=64M root=/dev/nfs).
17441739
1740+choice
1741+ prompt "Kernel command line type" if CMDLINE != ""
1742+ default CMDLINE_FROM_BOOTLOADER
1743+
1744+config CMDLINE_FROM_BOOTLOADER
1745+ bool "Use bootloader kernel arguments if available"
1746+ help
1747+ Uses the command-line options passed by the boot loader. If
1748+ the boot loader doesn't provide any, the default kernel command
1749+ string provided in CMDLINE will be used.
1750+
1751+config CMDLINE_EXTEND
1752+ bool "Extend bootloader kernel arguments"
1753+ help
1754+ The command-line arguments provided by the boot loader will be
1755+ appended to the default kernel command string.
1756+
17451757 config CMDLINE_FORCE
17461758 bool "Always use the default kernel command string"
1747− depends on CMDLINE != ""
17481759 help
17491760 Always use the default kernel command string, even if the boot
17501761 loader passes other arguments to the kernel.
17511762 This is useful if you cannot or don't want to change the
17521763 command-line options your boot loader passes to the kernel.
1753−
1754− If unsure, say N.
1764+endchoice
17551765
17561766 config XIP_KERNEL
17571767 bool "Kernel Execute-In-Place from ROM"
@@ -2010,7 +2020,9 @@ menu "Power management options" · 252 unmodified lines
20102020 source "kernel/power/Kconfig"
20112021
20122022 config ARCH_SUSPEND_POSSIBLE
2013− depends on !ARCH_S5P64X0 && !ARCH_S5P6442
2023+ depends on !ARCH_S5P64X0 && !ARCH_S5PC100
2024+ depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
2025+ CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE
20142026 def_bool y
20152027
20162028 endmenu
arch/arm/Kconfig-nommu+1−1
@@ -34,7 +34,7 @@ config PROCESSOR_ID · 33 unmodified lines
3434 used instead of the auto-probing which utilizes the register.
3535
3636 config REMAP_VECTORS_TO_RAM
37− bool 'Install vectors to the begining of RAM' if DRAM_BASE
37+ bool 'Install vectors to the beginning of RAM' if DRAM_BASE
3838 depends on DRAM_BASE
3939 help
4040 The kernel needs to change the hardware exception vectors.
arch/arm/Kconfig.debug+0−18
@@ -63,24 +63,6 @@ config DEBUG_USER · 62 unmodified lines
6363 8 - SIGSEGV faults
6464 16 - SIGBUS faults
6565
66−config DEBUG_ERRORS
67− bool "Verbose kernel error messages"
68− depends on DEBUG_KERNEL
69− help
70− This option controls verbose debugging information which can be
71− printed when the kernel detects an internal error. This debugging
72− information is useful to kernel hackers when tracking down problems,
73− but mostly meaningless to other people. It's safe to say Y unless
74− you are concerned with the code size or don't want to see these
75− messages.
76−
77−config DEBUG_STACK_USAGE
78− bool "Enable stack utilization instrumentation"
79− depends on DEBUG_KERNEL
80− help
81− Enables the display of the minimum amount of free stack which each
82− task has ever had available in the sysrq-T output.
83−
8466 # These options are only for real kernel hackers who want to get their hands dirty.
8567 config DEBUG_LL
8668 bool "Kernel low-level debugging functions"
arch/arm/Makefile+1−7
@@ -158,13 +158,11 @@ machine-$(CONFIG_ARCH_MV78XX0) := mv78xx0 · 157 unmodified lines
158158 machine-$(CONFIG_ARCH_MX1) := imx
159159 machine-$(CONFIG_ARCH_MX2) := imx
160160 machine-$(CONFIG_ARCH_MX25) := imx
161−machine-$(CONFIG_ARCH_MX3) := mx3
161+machine-$(CONFIG_ARCH_MX3) := imx
162162 machine-$(CONFIG_ARCH_MX5) := mx5
163−machine-$(CONFIG_ARCH_MXC91231) := mxc91231
164163 machine-$(CONFIG_ARCH_MXS) := mxs
165164 machine-$(CONFIG_ARCH_NETX) := netx
166165 machine-$(CONFIG_ARCH_NOMADIK) := nomadik
167−machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx
168166 machine-$(CONFIG_ARCH_OMAP1) := omap1
169167 machine-$(CONFIG_ARCH_OMAP2) := omap2
170168 machine-$(CONFIG_ARCH_OMAP3) := omap2
@@ -178,15 +176,12 @@ machine-$(CONFIG_ARCH_S3C2410) := s3c2410 s3c2400 s3c2412 s3c2416 s3c2440 s3c24 · 7 unmodified lines
178176 machine-$(CONFIG_ARCH_S3C24A0) := s3c24a0
179177 machine-$(CONFIG_ARCH_S3C64XX) := s3c64xx
180178 machine-$(CONFIG_ARCH_S5P64X0) := s5p64x0
181−machine-$(CONFIG_ARCH_S5P6442) := s5p6442
182179 machine-$(CONFIG_ARCH_S5PC100) := s5pc100
183180 machine-$(CONFIG_ARCH_S5PV210) := s5pv210
184181 machine-$(CONFIG_ARCH_EXYNOS4) := exynos4
185182 machine-$(CONFIG_ARCH_SA1100) := sa1100
186183 machine-$(CONFIG_ARCH_SHARK) := shark
187184 machine-$(CONFIG_ARCH_SHMOBILE) := shmobile
188−machine-$(CONFIG_ARCH_STMP378X) := stmp378x
189−machine-$(CONFIG_ARCH_STMP37XX) := stmp37xx
190185 machine-$(CONFIG_ARCH_TCC8K) := tcc8k
191186 machine-$(CONFIG_ARCH_TEGRA) := tegra
192187 machine-$(CONFIG_ARCH_U300) := u300
@@ -207,7 +202,6 @@ machine-$(CONFIG_MACH_SPEAR600) := spear6xx · 14 unmodified lines
207202 plat-$(CONFIG_ARCH_MXC) := mxc
208203 plat-$(CONFIG_ARCH_OMAP) := omap
209204 plat-$(CONFIG_ARCH_S3C64XX) := samsung
210−plat-$(CONFIG_ARCH_STMP3XXX) := stmp3xxx
211205 plat-$(CONFIG_ARCH_TCC_926) := tcc
212206 plat-$(CONFIG_PLAT_IOP) := iop
213207 plat-$(CONFIG_PLAT_NOMADIK) := nomadik
arch/arm/boot/compressed/Makefile+15−4
@@ -74,7 +74,7 @@ ZTEXTADDR := $(CONFIG_ZBOOT_ROM_TEXT) · 73 unmodified lines
7474 ZBSSADDR := $(CONFIG_ZBOOT_ROM_BSS)
7575 else
7676 ZTEXTADDR := 0
77−ZBSSADDR := ALIGN(4)
77+ZBSSADDR := ALIGN(8)
7878 endif
7979
8080 SEDFLAGS = s/TEXT_START/$(ZTEXTADDR)/;s/BSS_START/$(ZBSSADDR)/
@@ -98,8 +98,6 @@ endif · 17 unmodified lines
9898 ccflags-y := -fpic -fno-builtin
9999 asflags-y := -Wa,-march=all
100100
101−# Provide size of uncompressed kernel to the decompressor via a linker symbol.
102−LDFLAGS_vmlinux = --defsym _image_size=$(shell stat -c "%s" $(obj)/../Image)
103101 # Supply ZRELADDR to the decompressor via a linker symbol.
104102 ifneq ($(CONFIG_AUTO_ZRELADDR),y)
105103 LDFLAGS_vmlinux += --defsym zreladdr=$(ZRELADDR)
@@ -122,10 +120,23 @@ lib1funcs = $(obj)/lib1funcs.o · 16 unmodified lines
122120 $(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
123121 $(call cmd,shipped)
124122
123+# We need to prevent any GOTOFF relocs being used with references
124+# to symbols in the .bss section since we cannot relocate them
125+# independently from the rest at run time. This can be achieved by
126+# ensuring that no private .bss symbols exist, as global symbols
127+# always have a GOT entry which is what we need.
128+# The .data section is already discarded by the linker script so no need
129+# to bother about it here.
130+check_for_bad_syms = \
131+bad_syms=$$($(CROSS_COMPILE)nm $@ | sed -n 's/^.\{8\} [bc] \(.*\)/\1/p') && \
132+[ -z "$$bad_syms" ] || \
133+ ( echo "following symbols must have non local/private scope:" >&2; \
134+ echo "$$bad_syms" >&2; rm -f $@; false )
135+
125136 $(obj)/vmlinux: $(obj)/vmlinux.lds $(obj)/$(HEAD) $(obj)/piggy.$(suffix_y).o \
126137 $(addprefix $(obj)/, $(OBJS)) $(lib1funcs) FORCE
127138 $(call if_changed,ld)
128− @:
139+ @$(check_for_bad_syms)
129140
130141 $(obj)/piggy.$(suffix_y): $(obj)/../Image FORCE
131142 $(call if_changed,$(suffix_y))
arch/arm/boot/compressed/decompress.c+2−2
@@ -44,7 +44,7 @@ extern void error(char *); · 43 unmodified lines
4444 #include "../../../../lib/decompress_unlzma.c"
4545 #endif
4646
47−void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
47+int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x))
4848 {
49− decompress(input, len, NULL, NULL, output, NULL, error);
49+ return decompress(input, len, NULL, NULL, output, NULL, error);
5050 }
arch/arm/boot/compressed/head.S+59−30
@@ -21,20 +21,12 @@ · 20 unmodified lines
2121
2222 #if defined(CONFIG_DEBUG_ICEDCC)
2323
24−#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
24+#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
2525 .macro loadsp, rb, tmp
2626 .endm
2727 .macro writeb, ch, rb
2828 mcr p14, 0, \ch, c0, c5, 0
2929 .endm
30−#elif defined(CONFIG_CPU_V7)
31− .macro loadsp, rb, tmp
32− .endm
33− .macro writeb, ch, rb
34−wait: mrc p14, 0, pc, c0, c1, 0
35− bcs wait
36− mcr p14, 0, \ch, c0, c5, 0
37− .endm
3830 #elif defined(CONFIG_CPU_XSCALE)
3931 .macro loadsp, rb, tmp
4032 .endm
@@ -187,16 +179,29 @@ not_angel: · 146 unmodified lines
187179 bl cache_on
188180
189181 restart: adr r0, LC0
190− ldmia r0, {r1, r2, r3, r5, r6, r9, r11, r12}
191− ldr sp, [r0, #32]
182+ ldmia r0, {r1, r2, r3, r6, r10, r11, r12}
183+ ldr sp, [r0, #28]
192184
193185 /*
194186 * We might be running at a different address. We need
195187 * to fix up various pointers.
196188 */
197189 sub r0, r0, r1 @ calculate the delta offset
198− add r5, r5, r0 @ _start
199190 add r6, r6, r0 @ _edata
191+ add r10, r10, r0 @ inflated kernel size location
192+
193+ /*
194+ * The kernel build system appends the size of the
195+ * decompressed kernel at the end of the compressed data
196+ * in little-endian form.
197+ */
198+ ldrb r9, [r10, #0]
199+ ldrb lr, [r10, #1]
200+ orr r9, r9, lr, lsl #8
201+ ldrb lr, [r10, #2]
202+ ldrb r10, [r10, #3]
203+ orr r9, r9, lr, lsl #16
204+ orr r9, r9, r10, lsl #24
200205
201206 #ifndef CONFIG_ZBOOT_ROM
202207 /* malloc space is above the relocated stack (64k max) */
@@ -214,31 +219,40 @@ restart: adr r0, LC0 · 11 unmodified lines
214219 /*
215220 * Check to see if we will overwrite ourselves.
216221 * r4 = final kernel address
217− * r5 = start of this image
218222 * r9 = size of decompressed image
219223 * r10 = end of this image, including bss/stack/malloc space if non XIP
220224 * We basically want:
221− * r4 >= r10 -> OK
222− * r4 + image length <= r5 -> OK
225+ * r4 - 16k page directory >= r10 -> OK
226+ * r4 + image length <= current position (pc) -> OK
223227 */
228+ add r10, r10, #16384
224229 cmp r4, r10
225230 bhs wont_overwrite
226231 add r10, r4, r9
227− cmp r10, r5
232+ ARM( cmp r10, pc )
233+ THUMB( mov lr, pc )
234+ THUMB( cmp r10, lr )
228235 bls wont_overwrite
229236
230237 /*
231238 * Relocate ourselves past the end of the decompressed kernel.
232− * r5 = start of this image
233239 * r6 = _edata
234240 * r10 = end of the decompressed kernel
235241 * Because we always copy ahead, we need to do it from the end and go
236242 * backward in case the source and destination overlap.
237243 */
238− /* Round up to next 256-byte boundary. */
239− add r10, r10, #256
244+ /*
245+ * Bump to the next 256-byte boundary with the size of
246+ * the relocation code added. This avoids overwriting
247+ * ourself when the offset is small.
248+ */
249+ add r10, r10, #((reloc_code_end - restart + 256) & ~255)
240250 bic r10, r10, #255
241251
252+ /* Get start of code we want to copy and align it down. */
253+ adr r5, restart
254+ bic r5, r5, #31
255+
242256 sub r9, r6, r5 @ size to copy
243257 add r9, r9, #31 @ rounded up to a multiple
244258 bic r9, r9, #31 @ ... of 32 bytes
@@ -253,6 +267,11 @@ restart: adr r0, LC0 · 8 unmodified lines
253267 /* Preserve offset to relocated code. */
254268 sub r6, r9, r6
255269
270+#ifndef CONFIG_ZBOOT_ROM
271+ /* cache_clean_flush may use the stack, so relocate it */
272+ add sp, sp, r6
273+#endif
274+
256275 bl cache_clean_flush
257276
258277 adr r0, BSYM(restart)
@@ -341,12 +360,11 @@ not_relocated: mov r0, #0 · 82 unmodified lines
341360 LC0: .word LC0 @ r1
342361 .word __bss_start @ r2
343362 .word _end @ r3
344− .word _start @ r5
345363 .word _edata @ r6
346− .word _image_size @ r9
364+ .word input_data_end - 4 @ r10 (inflated size location)
347365 .word _got_start @ r11
348366 .word _got_end @ ip
349− .word user_stack_end @ sp
367+ .word .L_user_stack_end @ sp
350368 .size LC0, . - LC0
351369
352370 #ifdef CONFIG_ARCH_RPC
@@ -455,7 +473,11 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size · 102 unmodified lines
455473 orr r1, r1, #3 << 10
456474 add r2, r3, #16384
457475 1: cmp r1, r9 @ if virt > start of RAM
476+#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
477+ orrhs r1, r1, #0x08 @ set cacheable
478+#else
458479 orrhs r1, r1, #0x0c @ set cacheable, bufferable
480+#endif
459481 cmp r1, r10 @ if virt > end of RAM
460482 bichs r1, r1, #0x0c @ clear cacheable, bufferable
461483 str r1, [r0], #4 @ 1:1 mapping
@@ -480,6 +502,12 @@ __setup_mmu: sub r3, r4, #16384 @ Page directory size · 18 unmodified lines
480502 mov pc, lr
481503 ENDPROC(__setup_mmu)
482504
505+__arm926ejs_mmu_cache_on:
506+#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
507+ mov r0, #4 @ put dcache in WT mode
508+ mcr p15, 7, r0, c15, c0, 0
509+#endif
510+
483511 __armv4_mmu_cache_on:
484512 mov r12, lr
485513 #ifdef CONFIG_MMU
@@ -661,6 +689,12 @@ proc_types: · 175 unmodified lines
661689 W(b) __armv4_mpu_cache_off
662690 W(b) __armv4_mpu_cache_flush
663691
692+ .word 0x41069260 @ ARM926EJ-S (v5TEJ)
693+ .word 0xff0ffff0
694+ b __arm926ejs_mmu_cache_on
695+ b __armv4_mmu_cache_off
696+ b __armv5tej_mmu_cache_flush
697+
664698 .word 0x00007000 @ ARM7 IDs
665699 .word 0x0000f000
666700 mov pc, lr
@@ -743,12 +777,6 @@ proc_types: · 76 unmodified lines
743777 W(b) __armv4_mmu_cache_off
744778 W(b) __armv6_mmu_cache_flush
745779
746− .word 0x560f5810 @ Marvell PJ4 ARMv6
747− .word 0xff0ffff0
748− W(b) __armv4_mmu_cache_on
749− W(b) __armv4_mmu_cache_off
750− W(b) __armv6_mmu_cache_flush
751−
752780 .word 0x000f0000 @ new CPU Id
753781 .word 0x000f0000
754782 W(b) __armv7_mmu_cache_on
@@ -1070,8 +1098,9 @@ memdump: mov r12, r0 · 315 unmodified lines
10701098 #endif
10711099
10721100 .ltorg
1101+reloc_code_end:
10731102
10741103 .align
10751104 .section ".stack", "aw", %nobits
1076−user_stack: .space 4096
1077−user_stack_end:
1105+.L_user_stack: .space 4096
1106+.L_user_stack_end:
arch/arm/boot/compressed/misc.c+11−25
@@ -26,8 +26,6 @@ unsigned int __machine_arch_type; · 25 unmodified lines
2626 #include <linux/linkage.h>
2727 #include <asm/string.h>
2828
29−#include <asm/unaligned.h>
30−
3129
3230 static void putstr(const char *ptr);
3331 extern void error(char *x);
@@ -36,7 +34,7 @@ extern void error(char *x); · 2 unmodified lines
3634
3735 #ifdef CONFIG_DEBUG_ICEDCC
3836
39−#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
37+#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
4038
4139 static void icedcc_putc(int ch)
4240 {
@@ -52,16 +50,6 @@ static void icedcc_putc(int ch) · 9 unmodified lines
5250 asm("mcr p14, 0, %0, c0, c5, 0" : : "r" (ch));
5351 }
5452
55−#elif defined(CONFIG_CPU_V7)
56−
57−static void icedcc_putc(int ch)
58−{
59− asm(
60− "wait: mrc p14, 0, pc, c0, c1, 0 \n\
61− bcs wait \n\
62− mcr p14, 0, %0, c0, c5, 0 "
63− : : "r" (ch));
64−}
6553
6654 #elif defined(CONFIG_CPU_XSCALE)
6755
@@ -149,13 +137,12 @@ void *memcpy(void *__dest, __const void *__src, size_t __n) · 81 unmodified lines
149137 }
150138
151139 /*
152− * gzip delarations
140+ * gzip declarations
153141 */
154142 extern char input_data[];
155143 extern char input_data_end[];
156144
157145 unsigned char *output_data;
158−unsigned long output_ptr;
159146
160147 unsigned long free_mem_ptr;
161148 unsigned long free_mem_end_ptr;
@@ -180,15 +167,15 @@ asmlinkage void __div0(void) · 18 unmodified lines
180167 error("Attempting division by 0!");
181168 }
182169
183−extern void do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
170+extern int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x));
184171
185172
186−unsigned long
173+void
187174 decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p,
188175 unsigned long free_mem_ptr_end_p,
189176 int arch_id)
190177 {
191− unsigned char *tmp;
178+ int ret;
192179
193180 output_data = (unsigned char *)output_start;
194181 free_mem_ptr = free_mem_ptr_p;
@@ -197,12 +184,11 @@ decompress_kernel(unsigned long output_start, unsigned long free_mem_ptr_p, · 2 unmodified lines
197184
198185 arch_decomp_setup();
199186
200− tmp = (unsigned char *) (((unsigned long)input_data_end) - 4);
201− output_ptr = get_unaligned_le32(tmp);
202−
203187 putstr("Uncompressing Linux...");
204− do_decompress(input_data, input_data_end - input_data,
205− output_data, error);
206− putstr(" done, booting the kernel.\n");
207− return output_ptr;
188+ ret = do_decompress(input_data, input_data_end - input_data,
189+ output_data, error);
190+ if (ret)
191+ error("decompressor returned an error");
192+ else
193+ putstr(" done, booting the kernel.\n");
208194 }
arch/arm/boot/compressed/vmlinux.lds.in+1−0
@@ -54,6 +54,7 @@ SECTIONS · 53 unmodified lines
5454 .bss : { *(.bss) }
5555 _end = .;
5656
57+ . = ALIGN(8); /* the stack must be 64-bit aligned */
5758 .stack : { *(.stack) }
5859
5960 .stab 0 : { *(.stab) }
arch/arm/common/Kconfig+1−1
@@ -7,7 +7,7 @@ config ARM_VIC · 6 unmodified lines
77 config ARM_VIC_NR
88 int
99 default 4 if ARCH_S5PV210
10− default 3 if ARCH_S5P6442 || ARCH_S5PC100
10+ default 3 if ARCH_S5PC100
1111 default 2
1212 depends on ARM_VIC
1313 help
arch/arm/common/Makefile+0−1
@@ -16,5 +16,4 @@ obj-$(CONFIG_SHARP_SCOOP) += scoop.o · 15 unmodified lines
1616 obj-$(CONFIG_ARCH_IXP2000) += uengine.o
1717 obj-$(CONFIG_ARCH_IXP23XX) += uengine.o
1818 obj-$(CONFIG_PCI_HOST_ITE8152) += it8152.o
19−obj-$(CONFIG_COMMON_CLKDEV) += clkdev.o
2019 obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp.o
arch/arm/common/gic.c+45−39
@@ -49,7 +49,7 @@ struct gic_chip_data { · 48 unmodified lines
4949 * Default make them NULL.
5050 */
5151 struct irq_chip gic_arch_extn = {
52− .irq_ack = NULL,
52+ .irq_eoi = NULL,
5353 .irq_mask = NULL,
5454 .irq_unmask = NULL,
5555 .irq_retrigger = NULL,
@@ -84,21 +84,12 @@ static inline unsigned int gic_irq(struct irq_data *d) · 28 unmodified lines
8484 /*
8585 * Routines to acknowledge, disable and enable interrupts
8686 */
87−static void gic_ack_irq(struct irq_data *d)
88−{
89− spin_lock(&irq_controller_lock);
90− if (gic_arch_extn.irq_ack)
91− gic_arch_extn.irq_ack(d);
92− writel(gic_irq(d), gic_cpu_base(d) + GIC_CPU_EOI);
93− spin_unlock(&irq_controller_lock);
94−}
95−
9687 static void gic_mask_irq(struct irq_data *d)
9788 {
9889 u32 mask = 1 << (d->irq % 32);
9990
10091 spin_lock(&irq_controller_lock);
101− writel(mask, gic_dist_base(d) + GIC_DIST_ENABLE_CLEAR + (gic_irq(d) / 32) * 4);
92+ writel_relaxed(mask, gic_dist_base(d) + GIC_DIST_ENABLE_CLEAR + (gic_irq(d) / 32) * 4);
10293 if (gic_arch_extn.irq_mask)
10394 gic_arch_extn.irq_mask(d);
10495 spin_unlock(&irq_controller_lock);
@@ -111,10 +102,21 @@ static void gic_unmask_irq(struct irq_data *d) · 6 unmodified lines
111102 spin_lock(&irq_controller_lock);
112103 if (gic_arch_extn.irq_unmask)
113104 gic_arch_extn.irq_unmask(d);
114− writel(mask, gic_dist_base(d) + GIC_DIST_ENABLE_SET + (gic_irq(d) / 32) * 4);
105+ writel_relaxed(mask, gic_dist_base(d) + GIC_DIST_ENABLE_SET + (gic_irq(d) / 32) * 4);
115106 spin_unlock(&irq_controller_lock);
116107 }
117108
109+static void gic_eoi_irq(struct irq_data *d)
110+{
111+ if (gic_arch_extn.irq_eoi) {
112+ spin_lock(&irq_controller_lock);
113+ gic_arch_extn.irq_eoi(d);
114+ spin_unlock(&irq_controller_lock);
115+ }
116+
117+ writel_relaxed(gic_irq(d), gic_cpu_base(d) + GIC_CPU_EOI);
118+}
119+
118120 static int gic_set_type(struct irq_data *d, unsigned int type)
119121 {
120122 void __iomem *base = gic_dist_base(d);
@@ -138,7 +140,7 @@ static int gic_set_type(struct irq_data *d, unsigned int type) · 17 unmodified lines
138140 if (gic_arch_extn.irq_set_type)
139141 gic_arch_extn.irq_set_type(d, type);
140142
141− val = readl(base + GIC_DIST_CONFIG + confoff);
143+ val = readl_relaxed(base + GIC_DIST_CONFIG + confoff);
142144 if (type == IRQ_TYPE_LEVEL_HIGH)
143145 val &= ~confmask;
144146 else if (type == IRQ_TYPE_EDGE_RISING)
@@ -148,15 +150,15 @@ static int gic_set_type(struct irq_data *d, unsigned int type) · 3 unmodified lines
148150 * As recommended by the spec, disable the interrupt before changing
149151 * the configuration
150152 */
151− if (readl(base + GIC_DIST_ENABLE_SET + enableoff) & enablemask) {
152− writel(enablemask, base + GIC_DIST_ENABLE_CLEAR + enableoff);
153+ if (readl_relaxed(base + GIC_DIST_ENABLE_SET + enableoff) & enablemask) {
154+ writel_relaxed(enablemask, base + GIC_DIST_ENABLE_CLEAR + enableoff);
153155 enabled = true;
154156 }
155157
156− writel(val, base + GIC_DIST_CONFIG + confoff);
158+ writel_relaxed(val, base + GIC_DIST_CONFIG + confoff);
157159
158160 if (enabled)
159− writel(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);
161+ writel_relaxed(enablemask, base + GIC_DIST_ENABLE_SET + enableoff);
160162
161163 spin_unlock(&irq_controller_lock);
162164
@@ -188,8 +190,8 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, · 25 unmodified lines
188190
189191 spin_lock(&irq_controller_lock);
190192 d->node = cpu;
191− val = readl(reg) & ~mask;
192− writel(val | bit, reg);
193+ val = readl_relaxed(reg) & ~mask;
194+ writel_relaxed(val | bit, reg);
193195 spin_unlock(&irq_controller_lock);
194196
195197 return 0;
@@ -218,11 +220,10 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) · 22 unmodified lines
218220 unsigned int cascade_irq, gic_irq;
219221 unsigned long status;
220222
221− /* primary controller ack'ing */
222− chip->irq_ack(&desc->irq_data);
223+ chained_irq_enter(chip, desc);
223224
224225 spin_lock(&irq_controller_lock);
225− status = readl(chip_data->cpu_base + GIC_CPU_INTACK);
226+ status = readl_relaxed(chip_data->cpu_base + GIC_CPU_INTACK);
226227 spin_unlock(&irq_controller_lock);
227228
228229 gic_irq = (status & 0x3ff);
@@ -236,15 +237,14 @@ static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc) · 7 unmodified lines
236237 generic_handle_irq(cascade_irq);
237238
238239 out:
239− /* primary controller unmasking */
240− chip->irq_unmask(&desc->irq_data);
240+ chained_irq_exit(chip, desc);
241241 }
242242
243243 static struct irq_chip gic_chip = {
244244 .name = "GIC",
245− .irq_ack = gic_ack_irq,
246245 .irq_mask = gic_mask_irq,
247246 .irq_unmask = gic_unmask_irq,
247+ .irq_eoi = gic_eoi_irq,
248248 .irq_set_type = gic_set_type,
249249 .irq_retrigger = gic_retrigger,
250250 #ifdef CONFIG_SMP
@@ -272,13 +272,13 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 21 unmodified lines
272272 cpumask |= cpumask << 8;
273273 cpumask |= cpumask << 16;
274274
275− writel(0, base + GIC_DIST_CTRL);
275+ writel_relaxed(0, base + GIC_DIST_CTRL);
276276
277277 /*
278278 * Find out how many interrupts are supported.
279279 * The GIC only supports up to 1020 interrupt sources.
280280 */
281− gic_irqs = readl(base + GIC_DIST_CTR) & 0x1f;
281+ gic_irqs = readl_relaxed(base + GIC_DIST_CTR) & 0x1f;
282282 gic_irqs = (gic_irqs + 1) * 32;
283283 if (gic_irqs > 1020)
284284 gic_irqs = 1020;
@@ -287,26 +287,26 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 2 unmodified lines
287287 * Set all global interrupts to be level triggered, active low.
288288 */
289289 for (i = 32; i < gic_irqs; i += 16)
290− writel(0, base + GIC_DIST_CONFIG + i * 4 / 16);
290+ writel_relaxed(0, base + GIC_DIST_CONFIG + i * 4 / 16);
291291
292292 /*
293293 * Set all global interrupts to this CPU only.
294294 */
295295 for (i = 32; i < gic_irqs; i += 4)
296− writel(cpumask, base + GIC_DIST_TARGET + i * 4 / 4);
296+ writel_relaxed(cpumask, base + GIC_DIST_TARGET + i * 4 / 4);
297297
298298 /*
299299 * Set priority on all global interrupts.
300300 */
301301 for (i = 32; i < gic_irqs; i += 4)
302− writel(0xa0a0a0a0, base + GIC_DIST_PRI + i * 4 / 4);
302+ writel_relaxed(0xa0a0a0a0, base + GIC_DIST_PRI + i * 4 / 4);
303303
304304 /*
305305 * Disable all interrupts. Leave the PPI and SGIs alone
306306 * as these enables are banked registers.
307307 */
308308 for (i = 32; i < gic_irqs; i += 32)
309− writel(0xffffffff, base + GIC_DIST_ENABLE_CLEAR + i * 4 / 32);
309+ writel_relaxed(0xffffffff, base + GIC_DIST_ENABLE_CLEAR + i * 4 / 32);
310310
311311 /*
312312 * Limit number of interrupts registered to the platform maximum
@@ -319,12 +319,12 @@ static void __init gic_dist_init(struct gic_chip_data *gic, · 6 unmodified lines
319319 * Setup the Linux IRQ subsystem.
320320 */
321321 for (i = irq_start; i < irq_limit; i++) {
322− irq_set_chip_and_handler(i, &gic_chip, handle_level_irq);
322+ irq_set_chip_and_handler(i, &gic_chip, handle_fasteoi_irq);
323323 irq_set_chip_data(i, gic);
324324 set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
325325 }
326326
327− writel(1, base + GIC_DIST_CTRL);
327+ writel_relaxed(1, base + GIC_DIST_CTRL);
328328 }
329329
330330 static void __cpuinit gic_cpu_init(struct gic_chip_data *gic)
@@ -337,17 +337,17 @@ static void __cpuinit gic_cpu_init(struct gic_chip_data *gic) · 6 unmodified lines
337337 * Deal with the banked PPI and SGI interrupts - disable all
338338 * PPI interrupts, ensure all SGI interrupts are enabled.
339339 */
340− writel(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR);
341− writel(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET);
340+ writel_relaxed(0xffff0000, dist_base + GIC_DIST_ENABLE_CLEAR);
341+ writel_relaxed(0x0000ffff, dist_base + GIC_DIST_ENABLE_SET);
342342
343343 /*
344344 * Set priority on PPI and SGI interrupts
345345 */
346346 for (i = 0; i < 32; i += 4)
347− writel(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4 / 4);
347+ writel_relaxed(0xa0a0a0a0, dist_base + GIC_DIST_PRI + i * 4 / 4);
348348
349− writel(0xf0, base + GIC_CPU_PRIMASK);
350− writel(1, base + GIC_CPU_CTRL);
349+ writel_relaxed(0xf0, base + GIC_CPU_PRIMASK);
350+ writel_relaxed(1, base + GIC_CPU_CTRL);
351351 }
352352
353353 void __init gic_init(unsigned int gic_nr, unsigned int irq_start,
@@ -391,7 +391,13 @@ void gic_raise_softirq(const struct cpumask *mask, unsigned int irq) · 37 unmodified lines
391391 {
392392 unsigned long map = *cpus_addr(*mask);
393393
394+ /*
395+ * Ensure that stores to Normal memory are visible to the
396+ * other CPUs before issuing the IPI.
397+ */
398+ dsb();
399+
394400 /* this always happens on GIC0 */
395− writel(map << 16 | irq, gic_data[0].dist_base + GIC_DIST_SOFTINT);
401+ writel_relaxed(map << 16 | irq, gic_data[0].dist_base + GIC_DIST_SOFTINT);
396402 }
397403 #endif
arch/arm/common/pl330.c+2−2
@@ -1045,7 +1045,7 @@ static inline int _loop(unsigned dry_run, u8 buf[], · 1044 unmodified lines
10451045 unsigned lcnt0, lcnt1, ljmp0, ljmp1;
10461046 struct _arg_LPEND lpend;
10471047
1048− /* Max iterations possibile in DMALP is 256 */
1048+ /* Max iterations possible in DMALP is 256 */
10491049 if (*bursts >= 256*256) {
10501050 lcnt1 = 256;
10511051 lcnt0 = 256;
@@ -1446,7 +1446,7 @@ int pl330_update(const struct pl330_info *pi) · 394 unmodified lines
14461446 }
14471447
14481448 for (ev = 0; ev < pi->pcfg.num_events; ev++) {
1449− if (val & (1 << ev)) { /* Event occured */
1449+ if (val & (1 << ev)) { /* Event occurred */
14501450 struct pl330_thread *thrd;
14511451 u32 inten = readl(regs + INTEN);
14521452 int active;
arch/arm/common/sa1111.c+0−8
@@ -185,14 +185,6 @@ static struct sa1111_dev_info sa1111_devices[] = { · 184 unmodified lines
185185 },
186186 };
187187
188−void __init sa1111_adjust_zones(unsigned long *size, unsigned long *holes)
189−{
190− unsigned int sz = SZ_1M >> PAGE_SHIFT;
191−
192− size[1] = size[0] - sz;
193− size[0] = sz;
194−}
195−
196188 /*
197189 * SA1111 interrupt support. Since clearing an IRQ while there are
198190 * active IRQs causes the interrupt output to pulse, the upper levels
arch/arm/common/timer-sp.c+51−31
@@ -18,53 +18,67 @@ · 17 unmodified lines
1818 * along with this program; if not, write to the Free Software
1919 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2020 */
21+#include <linux/clk.h>
2122 #include <linux/clocksource.h>
2223 #include <linux/clockchips.h>
24+#include <linux/err.h>
2325 #include <linux/interrupt.h>
2426 #include <linux/irq.h>
2527 #include <linux/io.h>
2628
2729 #include <asm/hardware/arm_timer.h>
2830
29−/*
30− * These timers are currently always setup to be clocked at 1MHz.
31− */
32−#define TIMER_FREQ_KHZ (1000)
33−#define TIMER_RELOAD (TIMER_FREQ_KHZ * 1000 / HZ)
31+static long __init sp804_get_clock_rate(const char *name)
32+{
33+ struct clk *clk;
34+ long rate;
35+ int err;
36+
37+ clk = clk_get_sys("sp804", name);
38+ if (IS_ERR(clk)) {
39+ pr_err("sp804: %s clock not found: %d\n", name,
40+ (int)PTR_ERR(clk));
41+ return PTR_ERR(clk);
42+ }
3443
35−static void __iomem *clksrc_base;
44+ err = clk_enable(clk);
45+ if (err) {
46+ pr_err("sp804: %s clock failed to enable: %d\n", name, err);
47+ clk_put(clk);
48+ return err;
49+ }
3650
37−static cycle_t sp804_read(struct clocksource *cs)
38−{
39− return ~readl(clksrc_base + TIMER_VALUE);
40−}
51+ rate = clk_get_rate(clk);
52+ if (rate < 0) {
53+ pr_err("sp804: %s clock failed to get rate: %ld\n", name, rate);
54+ clk_disable(clk);
55+ clk_put(clk);
56+ }
4157
42−static struct clocksource clocksource_sp804 = {
43− .name = "timer3",
44− .rating = 200,
45− .read = sp804_read,
46− .mask = CLOCKSOURCE_MASK(32),
47− .flags = CLOCK_SOURCE_IS_CONTINUOUS,
48−};
58+ return rate;
59+}
4960
50−void __init sp804_clocksource_init(void __iomem *base)
61+void __init sp804_clocksource_init(void __iomem *base, const char *name)
5162 {
52− struct clocksource *cs = &clocksource_sp804;
63+ long rate = sp804_get_clock_rate(name);
5364
54− clksrc_base = base;
65+ if (rate < 0)
66+ return;
5567
5668 /* setup timer 0 as free-running clocksource */
57− writel(0, clksrc_base + TIMER_CTRL);
58− writel(0xffffffff, clksrc_base + TIMER_LOAD);
59− writel(0xffffffff, clksrc_base + TIMER_VALUE);
69+ writel(0, base + TIMER_CTRL);
70+ writel(0xffffffff, base + TIMER_LOAD);
71+ writel(0xffffffff, base + TIMER_VALUE);
6072 writel(TIMER_CTRL_32BIT | TIMER_CTRL_ENABLE | TIMER_CTRL_PERIODIC,
61− clksrc_base + TIMER_CTRL);
73+ base + TIMER_CTRL);
6274
63− clocksource_register_khz(cs, TIMER_FREQ_KHZ);
75+ clocksource_mmio_init(base + TIMER_VALUE, name,
76+ rate, 200, 32, clocksource_mmio_readl_down);
6477 }
6578
6679
6780 static void __iomem *clkevt_base;
81+static unsigned long clkevt_reload;
6882
6983 /*
7084 * IRQ handler for the timer
@@ -90,7 +104,7 @@ static void sp804_set_mode(enum clock_event_mode mode, · 19 unmodified lines
90104
91105 switch (mode) {
92106 case CLOCK_EVT_MODE_PERIODIC:
93− writel(TIMER_RELOAD, clkevt_base + TIMER_LOAD);
107+ writel(clkevt_reload, clkevt_base + TIMER_LOAD);
94108 ctrl |= TIMER_CTRL_PERIODIC | TIMER_CTRL_ENABLE;
95109 break;
96110
@@ -120,7 +134,6 @@ static int sp804_set_next_event(unsigned long next, · 23 unmodified lines
120134 }
121135
122136 static struct clock_event_device sp804_clockevent = {
123− .name = "timer0",
124137 .shift = 32,
125138 .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT,
126139 .set_mode = sp804_set_mode,
@@ -136,17 +149,24 @@ static struct irqaction sp804_timer_irq = { · 9 unmodified lines
136149 .dev_id = &sp804_clockevent,
137150 };
138151
139−void __init sp804_clockevents_init(void __iomem *base, unsigned int timer_irq)
152+void __init sp804_clockevents_init(void __iomem *base, unsigned int irq,
153+ const char *name)
140154 {
141155 struct clock_event_device *evt = &sp804_clockevent;
156+ long rate = sp804_get_clock_rate(name);
157+
158+ if (rate < 0)
159+ return;
142160
143161 clkevt_base = base;
162+ clkevt_reload = DIV_ROUND_CLOSEST(rate, HZ);
144163
145− evt->irq = timer_irq;
146− evt->mult = div_sc(TIMER_FREQ_KHZ, NSEC_PER_MSEC, evt->shift);
164+ evt->name = name;
165+ evt->irq = irq;
166+ evt->mult = div_sc(rate, NSEC_PER_SEC, evt->shift);
147167 evt->max_delta_ns = clockevent_delta2ns(0xffffffff, evt);
148168 evt->min_delta_ns = clockevent_delta2ns(0xf, evt);
149169
150− setup_irq(timer_irq, &sp804_timer_irq);
170+ setup_irq(irq, &sp804_timer_irq);
151171 clockevents_register_device(evt);
152172 }
arch/arm/common/vic.c+25−44
@@ -22,17 +22,16 @@ · 21 unmodified lines
2222 #include <linux/init.h>
2323 #include <linux/list.h>
2424 #include <linux/io.h>
25−#include <linux/sysdev.h>
25+#include <linux/syscore_ops.h>
2626 #include <linux/device.h>
2727 #include <linux/amba/bus.h>
2828
2929 #include <asm/mach/irq.h>
3030 #include <asm/hardware/vic.h>
3131
32−#if defined(CONFIG_PM)
32+#ifdef CONFIG_PM
3333 /**
3434 * struct vic_device - VIC PM device
35− * @sysdev: The system device which is registered.
3635 * @irq: The IRQ number for the base of the VIC.
3736 * @base: The register base for the VIC.
3837 * @resume_sources: A bitmask of interrupts for resume.
@@ -43,8 +42,6 @@ · 4 unmodified lines
4342 * @protect: Save for VIC_PROTECT.
4443 */
4544 struct vic_device {
46− struct sys_device sysdev;
47−
4845 void __iomem *base;
4946 int irq;
5047 u32 resume_sources;
@@ -59,11 +56,6 @@ struct vic_device { · 8 unmodified lines
5956 static struct vic_device vic_devices[CONFIG_ARM_VIC_NR];
6057
6158 static int vic_id;
62−
63−static inline struct vic_device *to_vic(struct sys_device *sys)
64−{
65− return container_of(sys, struct vic_device, sysdev);
66−}
6759 #endif /* CONFIG_PM */
6860
6961 /**
@@ -85,10 +77,9 @@ static void vic_init2(void __iomem *base) · 15 unmodified lines
8577 writel(32, base + VIC_PL190_DEF_VECT_ADDR);
8678 }
8779
88−#if defined(CONFIG_PM)
89−static int vic_class_resume(struct sys_device *dev)
80+#ifdef CONFIG_PM
81+static void resume_one_vic(struct vic_device *vic)
9082 {
91− struct vic_device *vic = to_vic(dev);
9283 void __iomem *base = vic->base;
9384
9485 printk(KERN_DEBUG "%s: resuming vic at %p\n", __func__, base);
@@ -107,13 +98,18 @@ static int vic_class_resume(struct sys_device *dev) · 12 unmodified lines
10798
10899 writel(vic->soft_int, base + VIC_INT_SOFT);
109100 writel(~vic->soft_int, base + VIC_INT_SOFT_CLEAR);
101+}
110102
111− return 0;
103+static void vic_resume(void)
104+{
105+ int id;
106+
107+ for (id = vic_id - 1; id >= 0; id--)
108+ resume_one_vic(vic_devices + id);
112109 }
113110
114−static int vic_class_suspend(struct sys_device *dev, pm_message_t state)
111+static void suspend_one_vic(struct vic_device *vic)
115112 {
116− struct vic_device *vic = to_vic(dev);
117113 void __iomem *base = vic->base;
118114
119115 printk(KERN_DEBUG "%s: suspending vic at %p\n", __func__, base);
@@ -128,14 +124,21 @@ static int vic_class_suspend(struct sys_device *dev, pm_message_t state) · 8 unmodified lines
128124
129125 writel(vic->resume_irqs, base + VIC_INT_ENABLE);
130126 writel(~vic->resume_irqs, base + VIC_INT_ENABLE_CLEAR);
127+}
128+
129+static int vic_suspend(void)
130+{
131+ int id;
132+
133+ for (id = 0; id < vic_id; id++)
134+ suspend_one_vic(vic_devices + id);
131135
132136 return 0;
133137 }
134138
135−struct sysdev_class vic_class = {
136− .name = "vic",
137− .suspend = vic_class_suspend,
138− .resume = vic_class_resume,
139+struct syscore_ops vic_syscore_ops = {
140+ .suspend = vic_suspend,
141+ .resume = vic_resume,
139142 };
140143
141144 /**
@@ -147,30 +150,8 @@ struct sysdev_class vic_class = { · 5 unmodified lines
147150 */
148151 static int __init vic_pm_init(void)
149152 {
150− struct vic_device *dev = vic_devices;
151− int err;
152− int id;
153−
154− if (vic_id == 0)
155− return 0;
156−
157− err = sysdev_class_register(&vic_class);
158− if (err) {
159− printk(KERN_ERR "%s: cannot register class\n", __func__);
160− return err;
161− }
162−
163− for (id = 0; id < vic_id; id++, dev++) {
164− dev->sysdev.id = id;
165− dev->sysdev.cls = &vic_class;
166−
167− err = sysdev_register(&dev->sysdev);
168− if (err) {
169− printk(KERN_ERR "%s: failed to register device\n",
170− __func__);
171− return err;
172− }
173− }
153+ if (vic_id > 0)
154+ register_syscore_ops(&vic_syscore_ops);
174155
175156 return 0;
176157 }
arch/arm/configs/at572d940hfek_defconfig+0−358
@@ -1,358 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_LOCALVERSION="-AT572D940HF"
3−# CONFIG_LOCALVERSION_AUTO is not set
4−CONFIG_SYSVIPC=y
5−CONFIG_POSIX_MQUEUE=y
6−CONFIG_BSD_PROCESS_ACCT=y
7−CONFIG_BSD_PROCESS_ACCT_V3=y
8−CONFIG_TASKSTATS=y
9−CONFIG_TASK_XACCT=y
10−CONFIG_TASK_IO_ACCOUNTING=y
11−CONFIG_AUDIT=y
12−CONFIG_CGROUPS=y
13−CONFIG_CGROUP_CPUACCT=y
14−CONFIG_CGROUP_SCHED=y
15−CONFIG_RT_GROUP_SCHED=y
16−CONFIG_SYSFS_DEPRECATED_V2=y
17−CONFIG_RELAY=y
18−CONFIG_BLK_DEV_INITRD=y
19−# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
20−CONFIG_EXPERT=y
21−CONFIG_SLAB=y
22−CONFIG_PROFILING=y
23−CONFIG_OPROFILE=m
24−CONFIG_KPROBES=y
25−CONFIG_MODULES=y
26−CONFIG_MODULE_UNLOAD=y
27−CONFIG_MODVERSIONS=y
28−CONFIG_MODULE_SRCVERSION_ALL=y
29−# CONFIG_BLK_DEV_BSG is not set
30−CONFIG_ARCH_AT91=y
31−CONFIG_ARCH_AT572D940HF=y
32−CONFIG_MACH_AT572D940HFEB=y
33−CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
34−CONFIG_NO_HZ=y
35−CONFIG_HIGH_RES_TIMERS=y
36−CONFIG_PREEMPT=y
37−CONFIG_CMDLINE="mem=48M console=ttyS0 initrd=0x21100000,3145728 root=/dev/ram0 rw ip=172.16.1.181"
38−CONFIG_KEXEC=y
39−CONFIG_FPE_NWFPE=y
40−CONFIG_FPE_NWFPE_XP=y
41−CONFIG_NET=y
42−CONFIG_PACKET=m
43−CONFIG_UNIX=y
44−CONFIG_INET=y
45−# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
46−# CONFIG_INET_XFRM_MODE_TUNNEL is not set
47−# CONFIG_INET_XFRM_MODE_BEET is not set
48−# CONFIG_INET_LRO is not set
49−# CONFIG_INET_DIAG is not set
50−# CONFIG_IPV6 is not set
51−CONFIG_NET_PKTGEN=m
52−CONFIG_NET_TCPPROBE=m
53−CONFIG_CAN=m
54−CONFIG_CAN_RAW=m
55−CONFIG_CAN_BCM=m
56−CONFIG_CAN_VCAN=m
57−CONFIG_CAN_DEBUG_DEVICES=y
58−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
59−CONFIG_CONNECTOR=m
60−CONFIG_MTD=m
61−CONFIG_MTD_DEBUG=y
62−CONFIG_MTD_DEBUG_VERBOSE=1
63−CONFIG_MTD_CONCAT=m
64−CONFIG_MTD_PARTITIONS=y
65−CONFIG_MTD_CHAR=m
66−CONFIG_MTD_BLOCK=m
67−CONFIG_MTD_BLOCK_RO=m
68−CONFIG_FTL=m
69−CONFIG_NFTL=m
70−CONFIG_NFTL_RW=y
71−CONFIG_INFTL=m
72−CONFIG_RFD_FTL=m
73−CONFIG_SSFDC=m
74−CONFIG_MTD_OOPS=m
75−CONFIG_MTD_CFI=m
76−CONFIG_MTD_JEDECPROBE=m
77−CONFIG_MTD_CFI_INTELEXT=m
78−CONFIG_MTD_CFI_AMDSTD=m
79−CONFIG_MTD_CFI_STAA=m
80−CONFIG_MTD_ROM=m
81−CONFIG_MTD_ABSENT=m
82−CONFIG_MTD_COMPLEX_MAPPINGS=y
83−CONFIG_MTD_PHYSMAP=m
84−CONFIG_MTD_PLATRAM=m
85−CONFIG_MTD_DATAFLASH=m
86−CONFIG_MTD_M25P80=m
87−CONFIG_MTD_SLRAM=m
88−CONFIG_MTD_PHRAM=m
89−CONFIG_MTD_MTDRAM=m
90−CONFIG_MTD_BLOCK2MTD=m
91−CONFIG_MTD_NAND=m
92−CONFIG_MTD_NAND_VERIFY_WRITE=y
93−CONFIG_MTD_NAND_DISKONCHIP=m
94−CONFIG_MTD_NAND_NANDSIM=m
95−CONFIG_MTD_NAND_PLATFORM=m
96−CONFIG_MTD_ALAUDA=m
97−CONFIG_MTD_UBI=m
98−CONFIG_MTD_UBI_GLUEBI=m
99−CONFIG_BLK_DEV_LOOP=y
100−CONFIG_BLK_DEV_CRYPTOLOOP=m
101−CONFIG_BLK_DEV_NBD=m
102−CONFIG_BLK_DEV_RAM=y
103−CONFIG_BLK_DEV_RAM_SIZE=65536
104−CONFIG_ATMEL_TCLIB=y
105−CONFIG_ATMEL_SSC=m
106−CONFIG_SENSORS_TSL2550=m
107−CONFIG_DS1682=m
108−CONFIG_RAID_ATTRS=m
109−CONFIG_SCSI=m
110−CONFIG_SCSI_TGT=m
111−# CONFIG_SCSI_PROC_FS is not set
112−CONFIG_BLK_DEV_SD=m
113−CONFIG_BLK_DEV_SR=m
114−CONFIG_CHR_DEV_SG=m
115−CONFIG_CHR_DEV_SCH=m
116−CONFIG_SCSI_MULTI_LUN=y
117−CONFIG_SCSI_CONSTANTS=y
118−CONFIG_SCSI_LOGGING=y
119−CONFIG_SCSI_SCAN_ASYNC=y
120−CONFIG_SCSI_ISCSI_ATTRS=m
121−CONFIG_NETDEVICES=y
122−CONFIG_DUMMY=m
123−CONFIG_BONDING=m
124−CONFIG_MACVLAN=m
125−CONFIG_EQUALIZER=m
126−CONFIG_TUN=m
127−CONFIG_VETH=m
128−CONFIG_PHYLIB=y
129−CONFIG_MARVELL_PHY=m
130−CONFIG_DAVICOM_PHY=m
131−CONFIG_QSEMI_PHY=m
132−CONFIG_LXT_PHY=m
133−CONFIG_CICADA_PHY=m
134−CONFIG_VITESSE_PHY=m
135−CONFIG_SMSC_PHY=m
136−CONFIG_BROADCOM_PHY=m
137−CONFIG_ICPLUS_PHY=m
138−CONFIG_MDIO_BITBANG=m
139−CONFIG_NET_ETHERNET=y
140−# CONFIG_NETDEV_1000 is not set
141−# CONFIG_NETDEV_10000 is not set
142−CONFIG_USB_ZD1201=m
143−CONFIG_HOSTAP=m
144−CONFIG_HOSTAP_FIRMWARE=y
145−CONFIG_HOSTAP_FIRMWARE_NVRAM=y
146−CONFIG_USB_CATC=m
147−CONFIG_USB_KAWETH=m
148−CONFIG_USB_PEGASUS=m
149−CONFIG_USB_RTL8150=m
150−CONFIG_USB_USBNET=m
151−CONFIG_USB_NET_DM9601=m
152−CONFIG_USB_NET_GL620A=m
153−CONFIG_USB_NET_PLUSB=m
154−CONFIG_USB_NET_MCS7830=m
155−CONFIG_USB_NET_RNDIS_HOST=m
156−CONFIG_USB_ALI_M5632=y
157−CONFIG_USB_AN2720=y
158−CONFIG_USB_EPSON2888=y
159−CONFIG_USB_KC2190=y
160−# CONFIG_USB_NET_ZAURUS is not set
161−CONFIG_INPUT_MOUSEDEV=m
162−CONFIG_INPUT_EVDEV=m
163−CONFIG_INPUT_EVBUG=m
164−CONFIG_KEYBOARD_LKKBD=m
165−CONFIG_KEYBOARD_GPIO=m
166−CONFIG_KEYBOARD_NEWTON=m
167−CONFIG_KEYBOARD_STOWAWAY=m
168−CONFIG_KEYBOARD_SUNKBD=m
169−CONFIG_KEYBOARD_XTKBD=m
170−CONFIG_MOUSE_PS2=m
171−CONFIG_MOUSE_SERIAL=m
172−CONFIG_MOUSE_APPLETOUCH=m
173−CONFIG_MOUSE_VSXXXAA=m
174−CONFIG_MOUSE_GPIO=m
175−CONFIG_INPUT_MISC=y
176−CONFIG_INPUT_UINPUT=m
177−CONFIG_SERIO_SERPORT=m
178−CONFIG_SERIO_RAW=m
179−CONFIG_VT_HW_CONSOLE_BINDING=y
180−CONFIG_SERIAL_NONSTANDARD=y
181−CONFIG_N_HDLC=m
182−CONFIG_SPECIALIX=m
183−CONFIG_STALDRV=y
184−CONFIG_SERIAL_ATMEL=y
185−CONFIG_SERIAL_ATMEL_CONSOLE=y
186−CONFIG_IPMI_HANDLER=m
187−CONFIG_IPMI_DEVICE_INTERFACE=m
188−CONFIG_IPMI_SI=m
189−CONFIG_IPMI_WATCHDOG=m
190−CONFIG_IPMI_POWEROFF=m
191−CONFIG_HW_RANDOM=y
192−CONFIG_R3964=m
193−CONFIG_RAW_DRIVER=m
194−CONFIG_TCG_TPM=m
195−CONFIG_TCG_NSC=m
196−CONFIG_TCG_ATMEL=m
197−CONFIG_I2C=m
198−CONFIG_I2C_CHARDEV=m
199−CONFIG_SPI=y
200−CONFIG_SPI_ATMEL=y
201−CONFIG_SPI_BITBANG=m
202−CONFIG_SPI_SPIDEV=m
203−# CONFIG_HWMON is not set
204−# CONFIG_VGA_CONSOLE is not set
205−CONFIG_SOUND=m
206−CONFIG_SND=m
207−CONFIG_SND_SEQUENCER=m
208−CONFIG_SND_SEQ_DUMMY=m
209−CONFIG_SND_MIXER_OSS=m
210−CONFIG_SND_PCM_OSS=m
211−# CONFIG_SND_PCM_OSS_PLUGINS is not set
212−CONFIG_SND_SEQUENCER_OSS=y
213−CONFIG_SND_DYNAMIC_MINORS=y
214−# CONFIG_SND_VERBOSE_PROCFS is not set
215−CONFIG_SND_DUMMY=m
216−CONFIG_SND_VIRMIDI=m
217−CONFIG_SND_USB_AUDIO=m
218−CONFIG_SND_USB_CAIAQ=m
219−CONFIG_SND_USB_CAIAQ_INPUT=y
220−CONFIG_HID=m
221−CONFIG_HIDRAW=y
222−CONFIG_USB_HID=m
223−CONFIG_USB_HIDDEV=y
224−CONFIG_USB_KBD=m
225−CONFIG_USB_MOUSE=m
226−CONFIG_HID_A4TECH=m
227−CONFIG_HID_APPLE=m
228−CONFIG_HID_BELKIN=m
229−CONFIG_HID_CHERRY=m
230−CONFIG_HID_CHICONY=m
231−CONFIG_HID_CYPRESS=m
232−CONFIG_HID_EZKEY=m
233−CONFIG_HID_GYRATION=m
234−CONFIG_HID_LOGITECH=m
235−CONFIG_HID_MICROSOFT=m
236−CONFIG_HID_MONTEREY=m
237−CONFIG_HID_PANTHERLORD=m
238−CONFIG_HID_PETALYNX=m
239−CONFIG_HID_SAMSUNG=m
240−CONFIG_HID_SONY=m
241−CONFIG_HID_SUNPLUS=m
242−CONFIG_USB=y
243−CONFIG_USB_DEVICEFS=y
244−# CONFIG_USB_DEVICE_CLASS is not set
245−CONFIG_USB_DYNAMIC_MINORS=y
246−CONFIG_USB_MON=y
247−CONFIG_USB_OHCI_HCD=y
248−CONFIG_USB_STORAGE=m
249−CONFIG_USB_STORAGE_DATAFAB=m
250−CONFIG_USB_STORAGE_FREECOM=m
251−CONFIG_USB_STORAGE_ISD200=m
252−CONFIG_USB_STORAGE_USBAT=m
253−CONFIG_USB_STORAGE_SDDR09=m
254−CONFIG_USB_STORAGE_SDDR55=m
255−CONFIG_USB_STORAGE_JUMPSHOT=m
256−CONFIG_USB_STORAGE_ALAUDA=m
257−CONFIG_USB_STORAGE_KARMA=m
258−CONFIG_USB_LIBUSUAL=y
259−CONFIG_USB_SERIAL=m
260−CONFIG_USB_EZUSB=y
261−CONFIG_USB_SERIAL_GENERIC=y
262−CONFIG_USB_SERIAL_PL2303=m
263−CONFIG_USB_SERIAL_SPCP8X5=m
264−CONFIG_USB_SERIAL_DEBUG=m
265−CONFIG_USB_EMI62=m
266−CONFIG_USB_EMI26=m
267−CONFIG_USB_ADUTUX=m
268−CONFIG_USB_TEST=m
269−CONFIG_USB_GADGET=m
270−CONFIG_USB_GADGET_DEBUG_FILES=y
271−CONFIG_USB_GADGET_DEBUG_FS=y
272−CONFIG_USB_ZERO=m
273−CONFIG_USB_ETH=m
274−CONFIG_USB_GADGETFS=m
275−CONFIG_USB_FILE_STORAGE=m
276−CONFIG_USB_G_SERIAL=m
277−CONFIG_USB_MIDI_GADGET=m
278−CONFIG_MMC=y
279−CONFIG_SDIO_UART=m
280−CONFIG_MMC_AT91=m
281−CONFIG_MMC_SPI=m
282−CONFIG_NEW_LEDS=y
283−CONFIG_LEDS_CLASS=m
284−CONFIG_LEDS_GPIO=m
285−CONFIG_LEDS_TRIGGERS=y
286−CONFIG_LEDS_TRIGGER_TIMER=m
287−CONFIG_LEDS_TRIGGER_HEARTBEAT=m
288−CONFIG_RTC_CLASS=y
289−CONFIG_RTC_INTF_DEV_UIE_EMUL=y
290−CONFIG_RTC_DRV_DS1307=m
291−CONFIG_RTC_DRV_DS1305=y
292−CONFIG_EXT2_FS=y
293−CONFIG_EXT2_FS_XATTR=y
294−CONFIG_EXT2_FS_POSIX_ACL=y
295−CONFIG_EXT2_FS_SECURITY=y
296−CONFIG_EXT3_FS=y
297−CONFIG_EXT3_FS_POSIX_ACL=y
298−CONFIG_EXT3_FS_SECURITY=y
299−CONFIG_JBD_DEBUG=y
300−CONFIG_REISERFS_FS=m
301−CONFIG_REISERFS_CHECK=y
302−CONFIG_REISERFS_PROC_INFO=y
303−CONFIG_REISERFS_FS_XATTR=y
304−CONFIG_REISERFS_FS_POSIX_ACL=y
305−CONFIG_REISERFS_FS_SECURITY=y
306−CONFIG_INOTIFY=y
307−CONFIG_FUSE_FS=m
308−CONFIG_MSDOS_FS=m
309−CONFIG_VFAT_FS=y
310−CONFIG_NTFS_FS=m
311−CONFIG_NTFS_RW=y
312−CONFIG_TMPFS=y
313−CONFIG_TMPFS_POSIX_ACL=y
314−CONFIG_JFFS2_FS=m
315−CONFIG_JFFS2_COMPRESSION_OPTIONS=y
316−CONFIG_JFFS2_LZO=y
317−CONFIG_JFFS2_CMODE_FAVOURLZO=y
318−CONFIG_CRAMFS=m
319−CONFIG_NFS_FS=m
320−CONFIG_NFS_V3=y
321−CONFIG_NFS_V3_ACL=y
322−CONFIG_NFS_V4=y
323−CONFIG_NFSD=m
324−CONFIG_NFSD_V3_ACL=y
325−CONFIG_NFSD_V4=y
326−CONFIG_CIFS=m
327−CONFIG_CIFS_WEAK_PW_HASH=y
328−CONFIG_PARTITION_ADVANCED=y
329−CONFIG_MAC_PARTITION=y
330−CONFIG_BSD_DISKLABEL=y
331−CONFIG_MINIX_SUBPARTITION=y
332−CONFIG_SOLARIS_X86_PARTITION=y
333−CONFIG_UNIXWARE_DISKLABEL=y
334−CONFIG_LDM_PARTITION=y
335−CONFIG_LDM_DEBUG=y
336−CONFIG_SGI_PARTITION=y
337−CONFIG_SUN_PARTITION=y
338−CONFIG_NLS_DEFAULT="cp437"
339−CONFIG_NLS_CODEPAGE_437=y
340−CONFIG_NLS_CODEPAGE_850=m
341−CONFIG_NLS_ASCII=y
342−CONFIG_NLS_ISO8859_1=y
343−CONFIG_NLS_UTF8=m
344−CONFIG_DLM=m
345−CONFIG_PRINTK_TIME=y
346−CONFIG_MAGIC_SYSRQ=y
347−CONFIG_UNUSED_SYMBOLS=y
348−CONFIG_DEBUG_FS=y
349−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
350−CONFIG_SYSCTL_SYSCALL_CHECK=y
351−CONFIG_CRYPTO=y
352−CONFIG_CRYPTO_GF128MUL=m
353−CONFIG_CRYPTO_HMAC=y
354−CONFIG_CRYPTO_MD5=y
355−# CONFIG_CRYPTO_ANSI_CPRNG is not set
356−# CONFIG_CRYPTO_HW is not set
357−CONFIG_CRC_CCITT=m
358−CONFIG_CRC16=m
arch/arm/configs/at91sam9261_defconfigrenamed from arch/arm/configs/at91sam9261ek_defconfig+74−11
@@ -1,9 +1,13 @@
11 CONFIG_EXPERIMENTAL=y
22 # CONFIG_LOCALVERSION_AUTO is not set
3+CONFIG_KERNEL_LZMA=y
34 # CONFIG_SWAP is not set
45 CONFIG_SYSVIPC=y
6+CONFIG_IKCONFIG=y
7+CONFIG_IKCONFIG_PROC=y
58 CONFIG_LOG_BUF_SHIFT=14
6−CONFIG_BLK_DEV_INITRD=y
9+CONFIG_NAMESPACES=y
10+CONFIG_EMBEDDED=y
711 CONFIG_SLAB=y
812 CONFIG_MODULES=y
913 CONFIG_MODULE_UNLOAD=y
@@ -15,18 +19,27 @@ CONFIG_ARCH_AT91SAM9261=y · 5 unmodified lines
1519 CONFIG_MACH_AT91SAM9261EK=y
1620 CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
1721 # CONFIG_ARM_THUMB is not set
22+CONFIG_AEABI=y
23+# CONFIG_OABI_COMPAT is not set
1824 CONFIG_ZBOOT_ROM_TEXT=0x0
1925 CONFIG_ZBOOT_ROM_BSS=0x0
2026 CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
21−CONFIG_FPE_NWFPE=y
27+CONFIG_AUTO_ZRELADDR=y
28+CONFIG_VFP=y
29+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
2230 CONFIG_NET=y
2331 CONFIG_PACKET=y
2432 CONFIG_UNIX=y
2533 CONFIG_INET=y
34+CONFIG_IP_MULTICAST=y
2635 CONFIG_IP_PNP=y
36+CONFIG_IP_PNP_DHCP=y
2737 CONFIG_IP_PNP_BOOTP=y
2838 # CONFIG_INET_LRO is not set
2939 # CONFIG_IPV6 is not set
40+CONFIG_CFG80211=y
41+CONFIG_LIB80211=y
42+CONFIG_MAC80211=y
3043 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3144 CONFIG_MTD=y
3245 CONFIG_MTD_PARTITIONS=y
@@ -34,8 +47,12 @@ CONFIG_MTD_CMDLINE_PARTS=y · 1 unmodified line
3447 CONFIG_MTD_BLOCK=y
3548 CONFIG_MTD_NAND=y
3649 CONFIG_MTD_NAND_ATMEL=y
50+CONFIG_MTD_UBI=y
51+CONFIG_MTD_UBI_GLUEBI=y
3752 CONFIG_BLK_DEV_RAM=y
3853 CONFIG_BLK_DEV_RAM_SIZE=8192
54+CONFIG_MISC_DEVICES=y
55+CONFIG_ATMEL_TCLIB=y
3956 CONFIG_ATMEL_SSC=y
4057 CONFIG_SCSI=y
4158 CONFIG_BLK_DEV_SD=y
@@ -45,12 +62,27 @@ CONFIG_NET_ETHERNET=y · 3 unmodified lines
4562 CONFIG_DM9000=y
4663 # CONFIG_NETDEV_1000 is not set
4764 # CONFIG_NETDEV_10000 is not set
65+CONFIG_USB_ZD1201=m
66+CONFIG_RTL8187=m
67+CONFIG_LIBERTAS=m
68+CONFIG_LIBERTAS_USB=m
69+CONFIG_LIBERTAS_SDIO=m
70+CONFIG_LIBERTAS_SPI=m
71+CONFIG_RT2X00=m
72+CONFIG_RT2500USB=m
73+CONFIG_RT73USB=m
74+CONFIG_ZD1211RW=m
75+CONFIG_INPUT_POLLDEV=m
4876 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
77+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
78+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
79+CONFIG_INPUT_EVDEV=y
4980 # CONFIG_KEYBOARD_ATKBD is not set
5081 CONFIG_KEYBOARD_GPIO=y
5182 # CONFIG_INPUT_MOUSE is not set
5283 CONFIG_INPUT_TOUCHSCREEN=y
5384 CONFIG_TOUCHSCREEN_ADS7846=y
85+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
5486 CONFIG_SERIAL_ATMEL=y
5587 CONFIG_SERIAL_ATMEL_CONSOLE=y
5688 CONFIG_HW_RANDOM=y
@@ -65,31 +97,62 @@ CONFIG_WATCHDOG_NOWAYOUT=y · 8 unmodified lines
6597 CONFIG_AT91SAM9X_WATCHDOG=y
6698 CONFIG_FB=y
6799 CONFIG_FB_ATMEL=y
68−# CONFIG_VGA_CONSOLE is not set
100+CONFIG_BACKLIGHT_LCD_SUPPORT=y
101+# CONFIG_LCD_CLASS_DEVICE is not set
102+CONFIG_BACKLIGHT_CLASS_DEVICE=y
103+CONFIG_BACKLIGHT_ATMEL_LCDC=y
104+# CONFIG_BACKLIGHT_GENERIC is not set
105+CONFIG_FRAMEBUFFER_CONSOLE=y
106+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
107+CONFIG_LOGO=y
108+CONFIG_SOUND=y
109+CONFIG_SND=y
110+CONFIG_SND_SEQUENCER=y
111+CONFIG_SND_MIXER_OSS=y
112+CONFIG_SND_PCM_OSS=y
113+# CONFIG_SND_SUPPORT_OLD_API is not set
114+# CONFIG_SND_VERBOSE_PROCFS is not set
115+# CONFIG_SND_DRIVERS is not set
116+# CONFIG_SND_ARM is not set
117+CONFIG_SND_AT73C213=y
118+CONFIG_SND_USB_AUDIO=m
69119 # CONFIG_USB_HID is not set
70120 CONFIG_USB=y
71121 CONFIG_USB_DEVICEFS=y
72−CONFIG_USB_MON=y
73122 CONFIG_USB_OHCI_HCD=y
74123 CONFIG_USB_STORAGE=y
75−CONFIG_USB_STORAGE_DEBUG=y
76124 CONFIG_USB_GADGET=y
77125 CONFIG_USB_ZERO=m
126+CONFIG_USB_ETH=m
78127 CONFIG_USB_GADGETFS=m
79128 CONFIG_USB_FILE_STORAGE=m
80129 CONFIG_USB_G_SERIAL=m
81130 CONFIG_MMC=y
82131 CONFIG_MMC_AT91=m
132+CONFIG_NEW_LEDS=y
133+CONFIG_LEDS_CLASS=y
134+CONFIG_LEDS_GPIO=y
135+CONFIG_LEDS_TRIGGERS=y
136+CONFIG_LEDS_TRIGGER_TIMER=y
137+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
138+CONFIG_LEDS_TRIGGER_GPIO=y
83139 CONFIG_RTC_CLASS=y
84140 CONFIG_RTC_DRV_AT91SAM9=y
85−CONFIG_EXT2_FS=y
86−CONFIG_INOTIFY=y
141+CONFIG_MSDOS_FS=y
87142 CONFIG_VFAT_FS=y
88143 CONFIG_TMPFS=y
89−CONFIG_CRAMFS=y
144+CONFIG_UBIFS_FS=y
145+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
146+CONFIG_SQUASHFS=y
147+CONFIG_SQUASHFS_LZO=y
148+CONFIG_SQUASHFS_XZ=y
149+CONFIG_NFS_FS=y
150+CONFIG_NFS_V3=y
151+CONFIG_ROOT_NFS=y
90152 CONFIG_NLS_CODEPAGE_437=y
91153 CONFIG_NLS_CODEPAGE_850=y
92154 CONFIG_NLS_ISO8859_1=y
93−CONFIG_DEBUG_KERNEL=y
94−CONFIG_DEBUG_USER=y
95−CONFIG_DEBUG_LL=y
155+CONFIG_NLS_ISO8859_15=y
156+CONFIG_NLS_UTF8=y
157+CONFIG_FTRACE=y
158+CONFIG_CRC_CCITT=m
arch/arm/configs/at91sam9263_defconfigrenamed from arch/arm/configs/at91sam9263ek_defconfig+73−11
@@ -1,9 +1,13 @@
11 CONFIG_EXPERIMENTAL=y
22 # CONFIG_LOCALVERSION_AUTO is not set
3+CONFIG_KERNEL_LZMA=y
34 # CONFIG_SWAP is not set
45 CONFIG_SYSVIPC=y
6+CONFIG_IKCONFIG=y
7+CONFIG_IKCONFIG_PROC=y
58 CONFIG_LOG_BUF_SHIFT=14
6−CONFIG_BLK_DEV_INITRD=y
9+CONFIG_NAMESPACES=y
10+CONFIG_EMBEDDED=y
711 CONFIG_SLAB=y
812 CONFIG_MODULES=y
913 CONFIG_MODULE_UNLOAD=y
@@ -13,53 +17,81 @@ CONFIG_MODULE_UNLOAD=y · 3 unmodified lines
1317 CONFIG_ARCH_AT91=y
1418 CONFIG_ARCH_AT91SAM9263=y
1519 CONFIG_MACH_AT91SAM9263EK=y
20+CONFIG_MACH_USB_A9263=y
21+CONFIG_MACH_NEOCORE926=y
1622 CONFIG_MTD_AT91_DATAFLASH_CARD=y
1723 # CONFIG_ARM_THUMB is not set
24+CONFIG_AEABI=y
25+# CONFIG_OABI_COMPAT is not set
1826 CONFIG_ZBOOT_ROM_TEXT=0x0
1927 CONFIG_ZBOOT_ROM_BSS=0x0
2028 CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw"
21−CONFIG_FPE_NWFPE=y
29+CONFIG_AUTO_ZRELADDR=y
2230 CONFIG_NET=y
2331 CONFIG_PACKET=y
2432 CONFIG_UNIX=y
33+CONFIG_NET_KEY=y
2534 CONFIG_INET=y
35+CONFIG_IP_MULTICAST=y
36+CONFIG_IP_ADVANCED_ROUTER=y
37+CONFIG_IP_ROUTE_VERBOSE=y
2638 CONFIG_IP_PNP=y
39+CONFIG_IP_PNP_DHCP=y
2740 CONFIG_IP_PNP_BOOTP=y
2841 CONFIG_IP_PNP_RARP=y
42+CONFIG_NET_IPIP=y
43+CONFIG_IP_MROUTE=y
44+CONFIG_IP_PIMSM_V1=y
45+CONFIG_IP_PIMSM_V2=y
2946 # CONFIG_INET_XFRM_MODE_TRANSPORT is not set
3047 # CONFIG_INET_XFRM_MODE_TUNNEL is not set
3148 # CONFIG_INET_XFRM_MODE_BEET is not set
3249 # CONFIG_INET_LRO is not set
3350 # CONFIG_INET_DIAG is not set
34−# CONFIG_IPV6 is not set
51+CONFIG_IPV6=y
3552 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
3653 CONFIG_MTD=y
3754 CONFIG_MTD_PARTITIONS=y
3855 CONFIG_MTD_CMDLINE_PARTS=y
3956 CONFIG_MTD_CHAR=y
4057 CONFIG_MTD_BLOCK=y
58+CONFIG_NFTL=y
59+CONFIG_NFTL_RW=y
4160 CONFIG_MTD_DATAFLASH=y
61+CONFIG_MTD_BLOCK2MTD=y
4262 CONFIG_MTD_NAND=y
4363 CONFIG_MTD_NAND_ATMEL=y
64+CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
65+CONFIG_MTD_UBI=y
66+CONFIG_MTD_UBI_GLUEBI=y
4467 CONFIG_BLK_DEV_LOOP=y
4568 CONFIG_BLK_DEV_RAM=y
4669 CONFIG_BLK_DEV_RAM_SIZE=8192
47−CONFIG_ATMEL_SSC=y
70+CONFIG_MISC_DEVICES=y
71+CONFIG_ATMEL_PWM=y
72+CONFIG_ATMEL_TCLIB=y
4873 CONFIG_SCSI=y
4974 CONFIG_BLK_DEV_SD=y
5075 CONFIG_SCSI_MULTI_LUN=y
5176 CONFIG_NETDEVICES=y
52−CONFIG_NET_ETHERNET=y
5377 CONFIG_MII=y
78+CONFIG_SMSC_PHY=y
79+CONFIG_NET_ETHERNET=y
5480 CONFIG_MACB=y
81+# CONFIG_NETDEV_1000 is not set
82+# CONFIG_NETDEV_10000 is not set
83+CONFIG_USB_ZD1201=m
84+CONFIG_INPUT_POLLDEV=m
5585 # CONFIG_INPUT_MOUSEDEV_PSAUX is not set
86+CONFIG_INPUT_MOUSEDEV_SCREEN_X=240
87+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=320
5688 CONFIG_INPUT_EVDEV=y
5789 # CONFIG_KEYBOARD_ATKBD is not set
5890 CONFIG_KEYBOARD_GPIO=y
5991 # CONFIG_INPUT_MOUSE is not set
6092 CONFIG_INPUT_TOUCHSCREEN=y
6193 CONFIG_TOUCHSCREEN_ADS7846=y
62−# CONFIG_SERIO is not set
94+CONFIG_LEGACY_PTY_COUNT=4
6395 CONFIG_SERIAL_ATMEL=y
6496 CONFIG_SERIAL_ATMEL_CONSOLE=y
6597 CONFIG_HW_RANDOM=y
@@ -74,8 +106,25 @@ CONFIG_WATCHDOG_NOWAYOUT=y · 8 unmodified lines
74106 CONFIG_AT91SAM9X_WATCHDOG=y
75107 CONFIG_FB=y
76108 CONFIG_FB_ATMEL=y
77−# CONFIG_VGA_CONSOLE is not set
78−# CONFIG_USB_HID is not set
109+CONFIG_BACKLIGHT_LCD_SUPPORT=y
110+CONFIG_LCD_CLASS_DEVICE=y
111+CONFIG_BACKLIGHT_CLASS_DEVICE=y
112+CONFIG_BACKLIGHT_ATMEL_LCDC=y
113+CONFIG_FRAMEBUFFER_CONSOLE=y
114+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
115+CONFIG_LOGO=y
116+CONFIG_SOUND=y
117+CONFIG_SND=y
118+CONFIG_SND_SEQUENCER=y
119+CONFIG_SND_MIXER_OSS=y
120+CONFIG_SND_PCM_OSS=y
121+# CONFIG_SND_SUPPORT_OLD_API is not set
122+# CONFIG_SND_VERBOSE_PROCFS is not set
123+# CONFIG_SND_DRIVERS is not set
124+# CONFIG_SND_ARM is not set
125+CONFIG_SND_ATMEL_AC97C=y
126+# CONFIG_SND_SPI is not set
127+CONFIG_SND_USB_AUDIO=m
79128 CONFIG_USB=y
80129 CONFIG_USB_DEVICEFS=y
81130 CONFIG_USB_MON=y
@@ -83,24 +132,37 @@ CONFIG_USB_OHCI_HCD=y · 1 unmodified line
83132 CONFIG_USB_STORAGE=y
84133 CONFIG_USB_GADGET=y
85134 CONFIG_USB_ZERO=m
135+CONFIG_USB_ETH=m
86136 CONFIG_USB_GADGETFS=m
87137 CONFIG_USB_FILE_STORAGE=m
88138 CONFIG_USB_G_SERIAL=m
89139 CONFIG_MMC=y
140+CONFIG_SDIO_UART=m
90141 CONFIG_MMC_AT91=m
142+CONFIG_NEW_LEDS=y
143+CONFIG_LEDS_CLASS=y
144+CONFIG_LEDS_ATMEL_PWM=y
145+CONFIG_LEDS_GPIO=y
146+CONFIG_LEDS_TRIGGERS=y
147+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
91148 CONFIG_RTC_CLASS=y
92149 CONFIG_RTC_DRV_AT91SAM9=y
93150 CONFIG_EXT2_FS=y
94−CONFIG_INOTIFY=y
151+CONFIG_FUSE_FS=m
95152 CONFIG_VFAT_FS=y
96153 CONFIG_TMPFS=y
97154 CONFIG_JFFS2_FS=y
155+CONFIG_UBIFS_FS=y
156+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
98157 CONFIG_CRAMFS=y
99158 CONFIG_NFS_FS=y
159+CONFIG_NFS_V3=y
160+CONFIG_NFS_V3_ACL=y
161+CONFIG_NFS_V4=y
100162 CONFIG_ROOT_NFS=y
101163 CONFIG_NLS_CODEPAGE_437=y
102164 CONFIG_NLS_CODEPAGE_850=y
103165 CONFIG_NLS_ISO8859_1=y
104−CONFIG_DEBUG_KERNEL=y
166+CONFIG_FTRACE=y
105167 CONFIG_DEBUG_USER=y
106−CONFIG_DEBUG_LL=y
168+CONFIG_XZ_DEC=y
arch/arm/configs/at91x40_defconfig+48−0
@@ -0,0 +1,48 @@
1+CONFIG_EXPERIMENTAL=y
2+CONFIG_LOG_BUF_SHIFT=14
3+CONFIG_EMBEDDED=y
4+# CONFIG_HOTPLUG is not set
5+# CONFIG_ELF_CORE is not set
6+# CONFIG_FUTEX is not set
7+# CONFIG_TIMERFD is not set
8+# CONFIG_VM_EVENT_COUNTERS is not set
9+# CONFIG_COMPAT_BRK is not set
10+CONFIG_SLAB=y
11+# CONFIG_LBDAF is not set
12+# CONFIG_BLK_DEV_BSG is not set
13+# CONFIG_IOSCHED_DEADLINE is not set
14+# CONFIG_IOSCHED_CFQ is not set
15+# CONFIG_MMU is not set
16+CONFIG_ARCH_AT91=y
17+CONFIG_ARCH_AT91X40=y
18+CONFIG_MACH_AT91EB01=y
19+CONFIG_AT91_EARLY_USART0=y
20+CONFIG_CPU_ARM7TDMI=y
21+CONFIG_SET_MEM_PARAM=y
22+CONFIG_DRAM_BASE=0x01000000
23+CONFIG_DRAM_SIZE=0x00400000
24+CONFIG_FLASH_MEM_BASE=0x01400000
25+CONFIG_PROCESSOR_ID=0x14000040
26+CONFIG_ZBOOT_ROM_TEXT=0x0
27+CONFIG_ZBOOT_ROM_BSS=0x0
28+CONFIG_BINFMT_FLAT=y
29+# CONFIG_SUSPEND is not set
30+# CONFIG_FW_LOADER is not set
31+CONFIG_MTD=y
32+CONFIG_MTD_PARTITIONS=y
33+CONFIG_MTD_CHAR=y
34+CONFIG_MTD_BLOCK=y
35+CONFIG_MTD_RAM=y
36+CONFIG_MTD_ROM=y
37+CONFIG_BLK_DEV_RAM=y
38+# CONFIG_INPUT is not set
39+# CONFIG_SERIO is not set
40+# CONFIG_VT is not set
41+# CONFIG_DEVKMEM is not set
42+# CONFIG_HW_RANDOM is not set
43+# CONFIG_HWMON is not set
44+# CONFIG_USB_SUPPORT is not set
45+CONFIG_EXT2_FS=y
46+# CONFIG_DNOTIFY is not set
47+CONFIG_ROMFS_FS=y
48+# CONFIG_ENABLE_MUST_CHECK is not set
arch/arm/configs/dove_defconfig+1−11
@@ -8,8 +8,6 @@ CONFIG_MODULE_UNLOAD=y · 7 unmodified lines
88 # CONFIG_BLK_DEV_BSG is not set
99 CONFIG_ARCH_DOVE=y
1010 CONFIG_MACH_DOVE_DB=y
11−CONFIG_CPU_V6=y
12−CONFIG_CPU_32v6K=y
1311 CONFIG_NO_HZ=y
1412 CONFIG_HIGH_RES_TIMERS=y
1513 CONFIG_AEABI=y
@@ -44,7 +42,6 @@ CONFIG_MTD_UBI=y · 28 unmodified lines
4442 CONFIG_BLK_DEV_LOOP=y
4543 CONFIG_BLK_DEV_RAM=y
4644 CONFIG_BLK_DEV_RAM_COUNT=1
47−# CONFIG_MISC_DEVICES is not set
4845 # CONFIG_SCSI_PROC_FS is not set
4946 CONFIG_BLK_DEV_SD=y
5047 # CONFIG_SCSI_LOWLEVEL is not set
@@ -59,12 +56,12 @@ CONFIG_INPUT_EVDEV=y · 8 unmodified lines
5956 # CONFIG_KEYBOARD_ATKBD is not set
6057 # CONFIG_MOUSE_PS2 is not set
6158 # CONFIG_SERIO is not set
59+CONFIG_LEGACY_PTY_COUNT=16
6260 # CONFIG_DEVKMEM is not set
6361 CONFIG_SERIAL_8250=y
6462 CONFIG_SERIAL_8250_CONSOLE=y
6563 # CONFIG_SERIAL_8250_PCI is not set
6664 CONFIG_SERIAL_8250_RUNTIME_UARTS=2
67−CONFIG_LEGACY_PTY_COUNT=16
6865 # CONFIG_HW_RANDOM is not set
6966 CONFIG_I2C=y
7067 CONFIG_I2C_CHARDEV=y
@@ -72,12 +69,10 @@ CONFIG_I2C_MV64XXX=y · 1 unmodified line
7269 CONFIG_SPI=y
7370 CONFIG_SPI_ORION=y
7471 # CONFIG_HWMON is not set
75−# CONFIG_VGA_CONSOLE is not set
7672 CONFIG_USB=y
7773 CONFIG_USB_DEVICEFS=y
7874 CONFIG_USB_EHCI_HCD=y
7975 CONFIG_USB_EHCI_ROOT_HUB_TT=y
80−CONFIG_USB_EHCI_TT_NEWSCHED=y
8176 CONFIG_USB_STORAGE=y
8277 CONFIG_RTC_CLASS=y
8378 CONFIG_RTC_DRV_MV=y
@@ -86,7 +81,6 @@ CONFIG_MV_XOR=y · 2 unmodified lines
8681 CONFIG_EXT2_FS=y
8782 CONFIG_EXT3_FS=y
8883 # CONFIG_EXT3_FS_XATTR is not set
89−CONFIG_INOTIFY=y
9084 CONFIG_ISO9660_FS=y
9185 CONFIG_JOLIET=y
9286 CONFIG_UDF_FS=m
@@ -110,23 +104,19 @@ CONFIG_DEBUG_KERNEL=y · 17 unmodified lines
110104 CONFIG_TIMER_STATS=y
111105 # CONFIG_DEBUG_BUGVERBOSE is not set
112106 CONFIG_DEBUG_INFO=y
113−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
114107 CONFIG_SYSCTL_SYSCALL_CHECK=y
115108 CONFIG_DEBUG_USER=y
116109 CONFIG_DEBUG_ERRORS=y
117110 CONFIG_CRYPTO_NULL=y
118−CONFIG_CRYPTO_CBC=y
119111 CONFIG_CRYPTO_ECB=m
120112 CONFIG_CRYPTO_PCBC=m
121113 CONFIG_CRYPTO_HMAC=y
122114 CONFIG_CRYPTO_MD4=y
123−CONFIG_CRYPTO_MD5=y
124115 CONFIG_CRYPTO_SHA1=y
125116 CONFIG_CRYPTO_SHA256=y
126117 CONFIG_CRYPTO_SHA512=y
127118 CONFIG_CRYPTO_AES=y
128119 CONFIG_CRYPTO_BLOWFISH=y
129−CONFIG_CRYPTO_DES=y
130120 CONFIG_CRYPTO_TEA=y
131121 CONFIG_CRYPTO_TWOFISH=y
132122 CONFIG_CRYPTO_DEFLATE=y
arch/arm/configs/exynos4_defconfig+2−0
@@ -8,7 +8,9 @@ CONFIG_ARCH_EXYNOS4=y · 7 unmodified lines
88 CONFIG_S3C_LOWLEVEL_UART_PORT=1
99 CONFIG_MACH_SMDKC210=y
1010 CONFIG_MACH_SMDKV310=y
11+CONFIG_MACH_ARMLEX4210=y
1112 CONFIG_MACH_UNIVERSAL_C210=y
13+CONFIG_MACH_NURI=y
1214 CONFIG_NO_HZ=y
1315 CONFIG_HIGH_RES_TIMERS=y
1416 CONFIG_SMP=y
arch/arm/configs/mx1_defconfig+1−0
@@ -15,6 +15,7 @@ CONFIG_ARCH_MXC=y · 14 unmodified lines
1515 CONFIG_ARCH_MX1=y
1616 CONFIG_ARCH_MX1ADS=y
1717 CONFIG_MACH_SCB9328=y
18+CONFIG_MACH_APF9328=y
1819 CONFIG_MXC_IRQ_PRIOR=y
1920 CONFIG_NO_HZ=y
2021 CONFIG_HIGH_RES_TIMERS=y
arch/arm/configs/mx51_defconfig+1−1
@@ -13,7 +13,7 @@ CONFIG_MODULE_SRCVERSION_ALL=y · 12 unmodified lines
1313 # CONFIG_LBDAF is not set
1414 # CONFIG_BLK_DEV_BSG is not set
1515 CONFIG_ARCH_MXC=y
16−CONFIG_ARCH_MX5=y
16+CONFIG_ARCH_MX51=y
1717 CONFIG_MACH_MX51_BABBAGE=y
1818 CONFIG_MACH_MX51_3DS=y
1919 CONFIG_MACH_EUKREA_CPUIMX51=y
arch/arm/configs/mxs_defconfig+129−0
@@ -0,0 +1,129 @@
1+CONFIG_EXPERIMENTAL=y
2+CONFIG_SYSVIPC=y
3+CONFIG_TASKSTATS=y
4+CONFIG_TASK_DELAY_ACCT=y
5+CONFIG_TASK_XACCT=y
6+CONFIG_TASK_IO_ACCOUNTING=y
7+CONFIG_IKCONFIG=y
8+CONFIG_IKCONFIG_PROC=y
9+# CONFIG_UTS_NS is not set
10+# CONFIG_IPC_NS is not set
11+# CONFIG_USER_NS is not set
12+# CONFIG_PID_NS is not set
13+# CONFIG_NET_NS is not set
14+CONFIG_PERF_EVENTS=y
15+# CONFIG_COMPAT_BRK is not set
16+CONFIG_MODULES=y
17+CONFIG_MODULE_FORCE_LOAD=y
18+CONFIG_MODULE_UNLOAD=y
19+CONFIG_MODULE_FORCE_UNLOAD=y
20+CONFIG_MODVERSIONS=y
21+CONFIG_BLK_DEV_INTEGRITY=y
22+# CONFIG_IOSCHED_DEADLINE is not set
23+# CONFIG_IOSCHED_CFQ is not set
24+CONFIG_ARCH_MXS=y
25+CONFIG_MACH_STMP378X_DEVB=y
26+CONFIG_MACH_TX28=y
27+# CONFIG_ARM_THUMB is not set
28+CONFIG_NO_HZ=y
29+CONFIG_HIGH_RES_TIMERS=y
30+CONFIG_PREEMPT_VOLUNTARY=y
31+CONFIG_AEABI=y
32+CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
33+CONFIG_AUTO_ZRELADDR=y
34+CONFIG_FPE_NWFPE=y
35+CONFIG_NET=y
36+CONFIG_PACKET=y
37+CONFIG_UNIX=y
38+CONFIG_INET=y
39+CONFIG_IP_PNP=y
40+CONFIG_IP_PNP_DHCP=y
41+CONFIG_SYN_COOKIES=y
42+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
43+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
44+# CONFIG_INET_XFRM_MODE_BEET is not set
45+# CONFIG_INET_LRO is not set
46+# CONFIG_INET_DIAG is not set
47+# CONFIG_IPV6 is not set
48+CONFIG_CAN=m
49+CONFIG_CAN_RAW=m
50+CONFIG_CAN_BCM=m
51+CONFIG_CAN_DEV=m
52+CONFIG_CAN_FLEXCAN=m
53+# CONFIG_WIRELESS is not set
54+CONFIG_DEVTMPFS=y
55+# CONFIG_FIRMWARE_IN_KERNEL is not set
56+# CONFIG_BLK_DEV is not set
57+CONFIG_NETDEVICES=y
58+CONFIG_NET_ETHERNET=y
59+CONFIG_ENC28J60=y
60+# CONFIG_NETDEV_1000 is not set
61+# CONFIG_NETDEV_10000 is not set
62+# CONFIG_WLAN is not set
63+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
64+CONFIG_INPUT_EVDEV=m
65+# CONFIG_INPUT_KEYBOARD is not set
66+# CONFIG_INPUT_MOUSE is not set
67+CONFIG_INPUT_TOUCHSCREEN=y
68+CONFIG_TOUCHSCREEN_TSC2007=m
69+# CONFIG_SERIO is not set
70+CONFIG_VT_HW_CONSOLE_BINDING=y
71+CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
72+# CONFIG_LEGACY_PTYS is not set
73+# CONFIG_DEVKMEM is not set
74+CONFIG_SERIAL_AMBA_PL011=y
75+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
76+# CONFIG_HW_RANDOM is not set
77+CONFIG_I2C=m
78+# CONFIG_I2C_COMPAT is not set
79+CONFIG_I2C_CHARDEV=m
80+CONFIG_I2C_MXS=m
81+CONFIG_SPI=y
82+CONFIG_SPI_GPIO=m
83+CONFIG_DEBUG_GPIO=y
84+CONFIG_GPIO_SYSFS=y
85+# CONFIG_HWMON is not set
86+# CONFIG_MFD_SUPPORT is not set
87+CONFIG_DISPLAY_SUPPORT=m
88+# CONFIG_HID_SUPPORT is not set
89+# CONFIG_USB_SUPPORT is not set
90+CONFIG_MMC=y
91+CONFIG_MMC_MXS=y
92+CONFIG_RTC_CLASS=m
93+CONFIG_RTC_DRV_DS1307=m
94+CONFIG_DMADEVICES=y
95+CONFIG_MXS_DMA=y
96+CONFIG_EXT3_FS=y
97+# CONFIG_DNOTIFY is not set
98+CONFIG_FSCACHE=m
99+CONFIG_FSCACHE_STATS=y
100+CONFIG_CACHEFILES=m
101+CONFIG_TMPFS=y
102+CONFIG_TMPFS_POSIX_ACL=y
103+# CONFIG_MISC_FILESYSTEMS is not set
104+CONFIG_NFS_FS=y
105+CONFIG_NFS_V3=y
106+CONFIG_NFS_V3_ACL=y
107+CONFIG_NFS_V4=y
108+CONFIG_ROOT_NFS=y
109+CONFIG_PRINTK_TIME=y
110+CONFIG_FRAME_WARN=2048
111+CONFIG_MAGIC_SYSRQ=y
112+CONFIG_UNUSED_SYMBOLS=y
113+CONFIG_DEBUG_KERNEL=y
114+CONFIG_LOCKUP_DETECTOR=y
115+CONFIG_DETECT_HUNG_TASK=y
116+CONFIG_TIMER_STATS=y
117+CONFIG_PROVE_LOCKING=y
118+CONFIG_DEBUG_SPINLOCK_SLEEP=y
119+CONFIG_DEBUG_INFO=y
120+CONFIG_SYSCTL_SYSCALL_CHECK=y
121+CONFIG_BLK_DEV_IO_TRACE=y
122+CONFIG_STRICT_DEVMEM=y
123+CONFIG_DEBUG_USER=y
124+CONFIG_CRYPTO=y
125+CONFIG_CRYPTO_CRC32C=m
126+# CONFIG_CRYPTO_ANSI_CPRNG is not set
127+# CONFIG_CRYPTO_HW is not set
128+CONFIG_CRC_ITU_T=m
129+CONFIG_CRC7=m
arch/arm/configs/neocore926_defconfig+0−104
@@ -1,104 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−# CONFIG_LOCALVERSION_AUTO is not set
3−# CONFIG_SWAP is not set
4−CONFIG_SYSVIPC=y
5−CONFIG_BLK_DEV_INITRD=y
6−# CONFIG_COMPAT_BRK is not set
7−CONFIG_MODULES=y
8−CONFIG_MODULE_UNLOAD=y
9−# CONFIG_BLK_DEV_BSG is not set
10−# CONFIG_IOSCHED_DEADLINE is not set
11−# CONFIG_IOSCHED_CFQ is not set
12−CONFIG_ARCH_AT91=y
13−CONFIG_ARCH_AT91SAM9263=y
14−CONFIG_MACH_NEOCORE926=y
15−CONFIG_MTD_AT91_DATAFLASH_CARD=y
16−CONFIG_ZBOOT_ROM_TEXT=0x0
17−CONFIG_ZBOOT_ROM_BSS=0x0
18−CONFIG_FPE_NWFPE=y
19−CONFIG_NET=y
20−CONFIG_PACKET=y
21−CONFIG_UNIX=y
22−CONFIG_NET_KEY=y
23−CONFIG_INET=y
24−CONFIG_IP_PNP=y
25−CONFIG_IP_PNP_DHCP=y
26−CONFIG_IP_PNP_BOOTP=y
27−CONFIG_IP_PNP_RARP=y
28−CONFIG_NET_IPIP=y
29−# CONFIG_INET_LRO is not set
30−CONFIG_IPV6=y
31−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
32−# CONFIG_PREVENT_FIRMWARE_BUILD is not set
33−CONFIG_MTD=y
34−CONFIG_MTD_PARTITIONS=y
35−CONFIG_MTD_CHAR=y
36−CONFIG_MTD_BLOCK=y
37−CONFIG_NFTL=y
38−CONFIG_NFTL_RW=y
39−CONFIG_MTD_BLOCK2MTD=y
40−CONFIG_MTD_NAND=y
41−CONFIG_MTD_NAND_ECC_SMC=y
42−CONFIG_MTD_NAND_VERIFY_WRITE=y
43−CONFIG_MTD_NAND_ATMEL=y
44−CONFIG_MTD_NAND_PLATFORM=y
45−CONFIG_BLK_DEV_LOOP=y
46−CONFIG_BLK_DEV_NBD=y
47−CONFIG_ATMEL_PWM=y
48−CONFIG_ATMEL_TCLIB=y
49−CONFIG_SCSI=y
50−CONFIG_CHR_DEV_SG=y
51−CONFIG_NETDEVICES=y
52−CONFIG_SMSC_PHY=y
53−CONFIG_NET_ETHERNET=y
54−CONFIG_MACB=y
55−# CONFIG_NETDEV_1000 is not set
56−# CONFIG_NETDEV_10000 is not set
57−# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
58−CONFIG_INPUT_EVDEV=y
59−CONFIG_INPUT_TOUCHSCREEN=y
60−CONFIG_TOUCHSCREEN_ADS7846=y
61−CONFIG_VT_HW_CONSOLE_BINDING=y
62−# CONFIG_DEVKMEM is not set
63−CONFIG_SERIAL_NONSTANDARD=y
64−CONFIG_SERIAL_ATMEL=y
65−CONFIG_SERIAL_ATMEL_CONSOLE=y
66−# CONFIG_SERIAL_ATMEL_PDC is not set
67−# CONFIG_HW_RANDOM is not set
68−CONFIG_I2C=y
69−CONFIG_I2C_CHARDEV=y
70−CONFIG_SPI=y
71−CONFIG_SPI_ATMEL=y
72−# CONFIG_HWMON is not set
73−CONFIG_VIDEO_OUTPUT_CONTROL=y
74−CONFIG_FB=y
75−CONFIG_FB_ATMEL=y
76−CONFIG_BACKLIGHT_LCD_SUPPORT=y
77−CONFIG_LCD_CLASS_DEVICE=y
78−CONFIG_BACKLIGHT_CLASS_DEVICE=y
79−CONFIG_BACKLIGHT_ATMEL_LCDC=y
80−# CONFIG_VGA_CONSOLE is not set
81−CONFIG_FRAMEBUFFER_CONSOLE=y
82−CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
83−CONFIG_LOGO=y
84−CONFIG_USB=y
85−CONFIG_USB_DEVICEFS=y
86−CONFIG_USB_MON=y
87−CONFIG_USB_OHCI_HCD=y
88−CONFIG_USB_STORAGE=y
89−CONFIG_MMC=y
90−CONFIG_SDIO_UART=y
91−CONFIG_MMC_AT91=m
92−CONFIG_EXT2_FS=y
93−# CONFIG_DNOTIFY is not set
94−CONFIG_AUTOFS_FS=y
95−CONFIG_VFAT_FS=y
96−CONFIG_TMPFS=y
97−CONFIG_JFFS2_FS=y
98−CONFIG_JFFS2_FS_WBUF_VERIFY=y
99−CONFIG_NFS_FS=y
100−CONFIG_ROOT_NFS=y
101−# CONFIG_ENABLE_WARN_DEPRECATED is not set
102−# CONFIG_ENABLE_MUST_CHECK is not set
103−CONFIG_SYSCTL_SYSCALL_CHECK=y
104−# CONFIG_CRYPTO_HW is not set
arch/arm/configs/ns9xxx_defconfig+0−56
@@ -1,56 +0,0 @@
1−CONFIG_IKCONFIG=y
2−CONFIG_IKCONFIG_PROC=y
3−CONFIG_BLK_DEV_INITRD=y
4−CONFIG_MODULES=y
5−CONFIG_MODULE_UNLOAD=y
6−# CONFIG_IOSCHED_DEADLINE is not set
7−# CONFIG_IOSCHED_CFQ is not set
8−CONFIG_ARCH_NS9XXX=y
9−CONFIG_MACH_CC9P9360DEV=y
10−CONFIG_MACH_CC9P9360JS=y
11−CONFIG_NO_HZ=y
12−CONFIG_HIGH_RES_TIMERS=y
13−CONFIG_FPE_NWFPE=y
14−CONFIG_NET=y
15−CONFIG_PACKET=m
16−CONFIG_INET=y
17−CONFIG_IP_PNP=y
18−CONFIG_SYN_COOKIES=y
19−CONFIG_MTD=m
20−CONFIG_MTD_CONCAT=m
21−CONFIG_MTD_CHAR=m
22−CONFIG_MTD_BLOCK=m
23−CONFIG_MTD_CFI=m
24−CONFIG_MTD_JEDECPROBE=m
25−CONFIG_MTD_CFI_AMDSTD=m
26−CONFIG_MTD_PHYSMAP=m
27−CONFIG_BLK_DEV_LOOP=m
28−CONFIG_NETDEVICES=y
29−CONFIG_NET_ETHERNET=y
30−# CONFIG_SERIO_SERPORT is not set
31−CONFIG_SERIAL_8250=y
32−CONFIG_SERIAL_8250_CONSOLE=y
33−# CONFIG_LEGACY_PTYS is not set
34−# CONFIG_HW_RANDOM is not set
35−CONFIG_I2C=m
36−CONFIG_I2C_GPIO=m
37−# CONFIG_HWMON is not set
38−# CONFIG_VGA_CONSOLE is not set
39−# CONFIG_USB_SUPPORT is not set
40−CONFIG_NEW_LEDS=y
41−CONFIG_LEDS_CLASS=m
42−CONFIG_LEDS_GPIO=m
43−CONFIG_LEDS_TRIGGERS=y
44−CONFIG_LEDS_TRIGGER_TIMER=m
45−CONFIG_LEDS_TRIGGER_HEARTBEAT=m
46−CONFIG_RTC_CLASS=m
47−CONFIG_EXT2_FS=m
48−CONFIG_TMPFS=y
49−CONFIG_JFFS2_FS=m
50−CONFIG_NFS_FS=y
51−CONFIG_ROOT_NFS=y
52−# CONFIG_ENABLE_MUST_CHECK is not set
53−CONFIG_DEBUG_KERNEL=y
54−CONFIG_DEBUG_INFO=y
55−CONFIG_DEBUG_USER=y
56−CONFIG_DEBUG_ERRORS=y
arch/arm/configs/omap2plus_defconfig+7−76
@@ -21,58 +21,22 @@ CONFIG_MODVERSIONS=y · 20 unmodified lines
2121 CONFIG_MODULE_SRCVERSION_ALL=y
2222 # CONFIG_BLK_DEV_BSG is not set
2323 CONFIG_ARCH_OMAP=y
24−CONFIG_ARCH_OMAP2=y
25−CONFIG_ARCH_OMAP3=y
26−CONFIG_ARCH_OMAP4=y
2724 CONFIG_OMAP_RESET_CLOCKS=y
2825 CONFIG_OMAP_MUX_DEBUG=y
29−CONFIG_OMAP_32K_TIMER=y
30−CONFIG_MACH_OMAP_GENERIC=y
31−CONFIG_ARCH_OMAP2420=y
32−CONFIG_ARCH_OMAP2430=y
33−CONFIG_ARCH_OMAP3430=y
34−CONFIG_MACH_OMAP_H4=y
35−CONFIG_MACH_OMAP_APOLLON=y
36−CONFIG_MACH_OMAP_2430SDP=y
37−CONFIG_MACH_OMAP3_BEAGLE=y
38−CONFIG_MACH_DEVKIT8000=y
39−CONFIG_MACH_OMAP_LDP=y
40−CONFIG_MACH_OVERO=y
41−CONFIG_MACH_OMAP3EVM=y
42−CONFIG_MACH_OMAP3517EVM=y
43−CONFIG_MACH_OMAP3_PANDORA=y
44−CONFIG_MACH_OMAP3_TOUCHBOOK=y
45−CONFIG_MACH_OMAP_3430SDP=y
46−CONFIG_MACH_NOKIA_N8X0=y
47−CONFIG_MACH_NOKIA_RX51=y
48−CONFIG_MACH_OMAP_ZOOM2=y
49−CONFIG_MACH_OMAP_ZOOM3=y
50−CONFIG_MACH_CM_T35=y
51−CONFIG_MACH_IGEP0020=y
52−CONFIG_MACH_SBC3530=y
53−CONFIG_MACH_OMAP_3630SDP=y
54−CONFIG_MACH_OMAP_4430SDP=y
5526 CONFIG_ARM_THUMBEE=y
56−CONFIG_ARM_L1_CACHE_SHIFT=5
5727 CONFIG_ARM_ERRATA_411920=y
5828 CONFIG_NO_HZ=y
5929 CONFIG_HIGH_RES_TIMERS=y
6030 CONFIG_SMP=y
6131 CONFIG_NR_CPUS=2
62−# CONFIG_LOCAL_TIMERS is not set
63−CONFIG_AEABI=y
6432 CONFIG_LEDS=y
6533 CONFIG_ZBOOT_ROM_TEXT=0x0
6634 CONFIG_ZBOOT_ROM_BSS=0x0
6735 CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO2,115200"
6836 CONFIG_KEXEC=y
6937 CONFIG_FPE_NWFPE=y
70−CONFIG_VFP=y
71−CONFIG_NEON=y
7238 CONFIG_BINFMT_MISC=y
73−CONFIG_PM=y
7439 CONFIG_PM_DEBUG=y
75−CONFIG_PM_RUNTIME=y
7640 CONFIG_NET=y
7741 CONFIG_PACKET=y
7842 CONFIG_UNIX=y
@@ -89,14 +53,6 @@ CONFIG_IP_PNP_RARP=y · 10 unmodified lines
8953 # CONFIG_IPV6 is not set
9054 CONFIG_NETFILTER=y
9155 CONFIG_BT=m
92−CONFIG_BT_L2CAP=m
93−CONFIG_BT_SCO=m
94−CONFIG_BT_RFCOMM=y
95−CONFIG_BT_RFCOMM_TTY=y
96−CONFIG_BT_BNEP=m
97−CONFIG_BT_BNEP_MC_FILTER=y
98−CONFIG_BT_BNEP_PROTO_FILTER=y
99−CONFIG_BT_HIDP=m
10056 CONFIG_BT_HCIUART=m
10157 CONFIG_BT_HCIUART_H4=y
10258 CONFIG_BT_HCIUART_BCSP=y
@@ -107,11 +63,9 @@ CONFIG_CFG80211=m · 4 unmodified lines
10763 CONFIG_MAC80211=m
10864 CONFIG_MAC80211_RC_PID=y
10965 CONFIG_MAC80211_RC_DEFAULT_PID=y
110−CONFIG_MAC80211_LEDS=y
11166 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
11267 CONFIG_CONNECTOR=y
11368 CONFIG_MTD=y
114−CONFIG_MTD_CONCAT=y
11569 CONFIG_MTD_CMDLINE_PARTS=y
11670 CONFIG_MTD_CHAR=y
11771 CONFIG_MTD_BLOCK=y
@@ -127,7 +81,6 @@ CONFIG_MTD_UBI=y · 9 unmodified lines
12781 CONFIG_BLK_DEV_LOOP=y
12882 CONFIG_BLK_DEV_RAM=y
12983 CONFIG_BLK_DEV_RAM_SIZE=16384
130−CONFIG_EEPROM_LEGACY=y
13184 CONFIG_SCSI=y
13285 CONFIG_BLK_DEV_SD=y
13386 CONFIG_SCSI_MULTI_LUN=y
@@ -158,19 +111,15 @@ CONFIG_TOUCHSCREEN_ADS7846=y · 24 unmodified lines
158111 CONFIG_INPUT_MISC=y
159112 CONFIG_INPUT_TWL4030_PWRBUTTON=y
160113 CONFIG_VT_HW_CONSOLE_BINDING=y
161−CONFIG_SERIAL_8250=y
162−CONFIG_SERIAL_8250_CONSOLE=y
114+# CONFIG_LEGACY_PTYS is not set
163115 CONFIG_SERIAL_8250_NR_UARTS=32
164116 CONFIG_SERIAL_8250_EXTENDED=y
165117 CONFIG_SERIAL_8250_MANY_PORTS=y
166118 CONFIG_SERIAL_8250_SHARE_IRQ=y
167119 CONFIG_SERIAL_8250_DETECT_IRQ=y
168120 CONFIG_SERIAL_8250_RSA=y
169−# CONFIG_LEGACY_PTYS is not set
170121 CONFIG_HW_RANDOM=y
171−CONFIG_I2C=y
172122 CONFIG_I2C_CHARDEV=y
173−CONFIG_I2C_OMAP=y
174123 CONFIG_SPI=y
175124 CONFIG_SPI_OMAP24XX=y
176125 CONFIG_DEBUG_GPIO=y
@@ -181,10 +130,6 @@ CONFIG_POWER_SUPPLY=y · 4 unmodified lines
181130 CONFIG_WATCHDOG=y
182131 CONFIG_OMAP_WATCHDOG=y
183132 CONFIG_TWL4030_WATCHDOG=y
184−CONFIG_MENELAUS=y
185−CONFIG_TWL4030_CORE=y
186−CONFIG_TWL4030_POWER=y
187−CONFIG_REGULATOR=y
188133 CONFIG_REGULATOR_TWL4030=y
189134 CONFIG_REGULATOR_TPS65023=y
190135 CONFIG_REGULATOR_TPS6507X=y
@@ -208,7 +153,6 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y · 17 unmodified lines
208153 CONFIG_LCD_CLASS_DEVICE=y
209154 CONFIG_LCD_PLATFORM=y
210155 CONFIG_DISPLAY_SUPPORT=y
211−# CONFIG_VGA_CONSOLE is not set
212156 CONFIG_FRAMEBUFFER_CONSOLE=y
213157 CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
214158 CONFIG_FONTS=y
@@ -217,25 +161,20 @@ CONFIG_FONT_8x16=y · 2 unmodified lines
217161 CONFIG_LOGO=y
218162 CONFIG_SOUND=m
219163 CONFIG_SND=m
220−CONFIG_SND_MIXER_OSS=y
221−CONFIG_SND_PCM_OSS=y
164+CONFIG_SND_MIXER_OSS=m
165+CONFIG_SND_PCM_OSS=m
222166 CONFIG_SND_VERBOSE_PRINTK=y
223167 CONFIG_SND_DEBUG=y
224−CONFIG_SND_USB_AUDIO=y
225−CONFIG_SND_SOC=y
226−CONFIG_SND_OMAP_SOC=y
227−CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=y
168+CONFIG_SND_USB_AUDIO=m
169+CONFIG_SND_SOC=m
170+CONFIG_SND_OMAP_SOC=m
171+CONFIG_SND_OMAP_SOC_OMAP3_PANDORA=m
228172 CONFIG_USB=y
229173 CONFIG_USB_DEBUG=y
230174 CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
231175 CONFIG_USB_DEVICEFS=y
232176 CONFIG_USB_SUSPEND=y
233−# CONFIG_USB_OTG_WHITELIST is not set
234177 CONFIG_USB_MON=y
235−# CONFIG_USB_MUSB_HDRC is not set
236−# CONFIG_USB_MUSB_OTG is not set
237−# CONFIG_USB_GADGET_MUSB_HDRC is not set
238−CONFIG_USB_MUSB_DEBUG=y
239178 CONFIG_USB_WDM=y
240179 CONFIG_USB_STORAGE=y
241180 CONFIG_USB_LIBUSUAL=y
@@ -250,18 +189,12 @@ CONFIG_MMC_UNSAFE_RESUME=y · 8 unmodified lines
250189 CONFIG_SDIO_UART=y
251190 CONFIG_MMC_OMAP=y
252191 CONFIG_MMC_OMAP_HS=y
253−CONFIG_LEDS_CLASS=y
254−CONFIG_LEDS_GPIO=y
255−CONFIG_LEDS_TRIGGER_TIMER=y
256−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
257−CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
258192 CONFIG_RTC_CLASS=y
259193 CONFIG_RTC_DRV_TWL92330=y
260194 CONFIG_RTC_DRV_TWL4030=y
261195 CONFIG_EXT2_FS=y
262196 CONFIG_EXT3_FS=y
263197 # CONFIG_EXT3_FS_XATTR is not set
264−CONFIG_INOTIFY=y
265198 CONFIG_QUOTA=y
266199 CONFIG_QFMT_V2=y
267200 CONFIG_MSDOS_FS=y
@@ -285,12 +218,10 @@ CONFIG_NLS_CODEPAGE_437=y · 17 unmodified lines
285218 CONFIG_NLS_ISO8859_1=y
286219 CONFIG_PRINTK_TIME=y
287220 CONFIG_MAGIC_SYSRQ=y
288−CONFIG_DEBUG_FS=y
289221 CONFIG_DEBUG_KERNEL=y
290222 CONFIG_SCHEDSTATS=y
291223 CONFIG_TIMER_STATS=y
292224 CONFIG_PROVE_LOCKING=y
293−# CONFIG_LOCK_STAT is not set
294225 CONFIG_DEBUG_SPINLOCK_SLEEP=y
295226 # CONFIG_DEBUG_BUGVERBOSE is not set
296227 CONFIG_DEBUG_INFO=y
arch/arm/configs/realview-smp_defconfig+1−1
@@ -38,7 +38,7 @@ CONFIG_MTD_BLOCK=y · 37 unmodified lines
3838 CONFIG_MTD_CFI=y
3939 CONFIG_MTD_CFI_INTELEXT=y
4040 CONFIG_MTD_CFI_AMDSTD=y
41−CONFIG_MTD_ARM_INTEGRATOR=y
41+CONFIG_MTD_PHYSMAP=y
4242 CONFIG_ARM_CHARLCD=y
4343 CONFIG_NETDEVICES=y
4444 CONFIG_SMSC_PHY=y
arch/arm/configs/realview_defconfig+1−1
@@ -37,7 +37,7 @@ CONFIG_MTD_BLOCK=y · 36 unmodified lines
3737 CONFIG_MTD_CFI=y
3838 CONFIG_MTD_CFI_INTELEXT=y
3939 CONFIG_MTD_CFI_AMDSTD=y
40−CONFIG_MTD_ARM_INTEGRATOR=y
40+CONFIG_MTD_PHYSMAP=y
4141 CONFIG_ARM_CHARLCD=y
4242 CONFIG_NETDEVICES=y
4343 CONFIG_SMSC_PHY=y
arch/arm/configs/s5p6442_defconfig+0−65
@@ -1,65 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSFS_DEPRECATED_V2=y
3−CONFIG_BLK_DEV_INITRD=y
4−CONFIG_KALLSYMS_ALL=y
5−CONFIG_MODULES=y
6−CONFIG_MODULE_UNLOAD=y
7−# CONFIG_BLK_DEV_BSG is not set
8−CONFIG_ARCH_S5P6442=y
9−CONFIG_S3C_LOWLEVEL_UART_PORT=1
10−CONFIG_MACH_SMDK6442=y
11−CONFIG_CPU_32v6K=y
12−CONFIG_AEABI=y
13−CONFIG_CMDLINE="root=/dev/ram0 rw ramdisk=8192 initrd=0x20800000,8M console=ttySAC1,115200 init=/linuxrc"
14−CONFIG_FPE_NWFPE=y
15−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
16−# CONFIG_PREVENT_FIRMWARE_BUILD is not set
17−CONFIG_BLK_DEV_LOOP=y
18−CONFIG_BLK_DEV_RAM=y
19−CONFIG_BLK_DEV_RAM_SIZE=8192
20−# CONFIG_MISC_DEVICES is not set
21−CONFIG_SCSI=y
22−CONFIG_BLK_DEV_SD=y
23−CONFIG_CHR_DEV_SG=y
24−CONFIG_INPUT_EVDEV=y
25−# CONFIG_INPUT_KEYBOARD is not set
26−# CONFIG_INPUT_MOUSE is not set
27−CONFIG_INPUT_TOUCHSCREEN=y
28−CONFIG_SERIAL_8250=y
29−CONFIG_SERIAL_8250_NR_UARTS=3
30−CONFIG_SERIAL_SAMSUNG=y
31−CONFIG_SERIAL_SAMSUNG_CONSOLE=y
32−CONFIG_HW_RANDOM=y
33−# CONFIG_HWMON is not set
34−# CONFIG_VGA_CONSOLE is not set
35−# CONFIG_HID_SUPPORT is not set
36−# CONFIG_USB_SUPPORT is not set
37−CONFIG_EXT2_FS=y
38−CONFIG_INOTIFY=y
39−CONFIG_MSDOS_FS=y
40−CONFIG_VFAT_FS=y
41−CONFIG_TMPFS=y
42−CONFIG_TMPFS_POSIX_ACL=y
43−CONFIG_CRAMFS=y
44−CONFIG_ROMFS_FS=y
45−CONFIG_PARTITION_ADVANCED=y
46−CONFIG_BSD_DISKLABEL=y
47−CONFIG_SOLARIS_X86_PARTITION=y
48−CONFIG_NLS_CODEPAGE_437=y
49−CONFIG_NLS_ASCII=y
50−CONFIG_NLS_ISO8859_1=y
51−CONFIG_MAGIC_SYSRQ=y
52−CONFIG_DEBUG_KERNEL=y
53−CONFIG_DEBUG_RT_MUTEXES=y
54−CONFIG_DEBUG_SPINLOCK=y
55−CONFIG_DEBUG_MUTEXES=y
56−CONFIG_DEBUG_SPINLOCK_SLEEP=y
57−CONFIG_DEBUG_INFO=y
58−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
59−CONFIG_SYSCTL_SYSCALL_CHECK=y
60−# CONFIG_ARM_UNWIND is not set
61−CONFIG_DEBUG_USER=y
62−CONFIG_DEBUG_ERRORS=y
63−CONFIG_DEBUG_LL=y
64−CONFIG_DEBUG_S3C_UART=1
65−CONFIG_CRC_CCITT=y
arch/arm/configs/spear300_defconfig+0−51
@@ -1,51 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_BLK_DEV_INITRD=y
5−CONFIG_KALLSYMS_EXTRA_PASS=y
6−CONFIG_MODULES=y
7−CONFIG_MODULE_UNLOAD=y
8−CONFIG_MODVERSIONS=y
9−CONFIG_PLAT_SPEAR=y
10−CONFIG_BINFMT_MISC=y
11−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
12−CONFIG_BLK_DEV_RAM=y
13−CONFIG_BLK_DEV_RAM_SIZE=16384
14−CONFIG_INPUT_FF_MEMLESS=y
15−# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
16−# CONFIG_INPUT_KEYBOARD is not set
17−# CONFIG_INPUT_MOUSE is not set
18−CONFIG_SERIAL_AMBA_PL011=y
19−CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
20−# CONFIG_LEGACY_PTYS is not set
21−# CONFIG_HW_RANDOM is not set
22−CONFIG_RAW_DRIVER=y
23−CONFIG_MAX_RAW_DEVS=8192
24−CONFIG_GPIO_SYSFS=y
25−CONFIG_GPIO_PL061=y
26−# CONFIG_HWMON is not set
27−# CONFIG_VGA_CONSOLE is not set
28−# CONFIG_HID_SUPPORT is not set
29−# CONFIG_USB_SUPPORT is not set
30−CONFIG_EXT2_FS=y
31−CONFIG_EXT2_FS_XATTR=y
32−CONFIG_EXT2_FS_SECURITY=y
33−CONFIG_EXT3_FS=y
34−CONFIG_EXT3_FS_SECURITY=y
35−CONFIG_AUTOFS4_FS=m
36−CONFIG_MSDOS_FS=m
37−CONFIG_VFAT_FS=m
38−CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
39−CONFIG_TMPFS=y
40−CONFIG_PARTITION_ADVANCED=y
41−CONFIG_NLS=y
42−CONFIG_NLS_DEFAULT="utf8"
43−CONFIG_NLS_CODEPAGE_437=y
44−CONFIG_NLS_ASCII=m
45−CONFIG_MAGIC_SYSRQ=y
46−CONFIG_DEBUG_FS=y
47−CONFIG_DEBUG_KERNEL=y
48−CONFIG_DEBUG_SPINLOCK=y
49−CONFIG_DEBUG_SPINLOCK_SLEEP=y
50−CONFIG_DEBUG_INFO=y
51−# CONFIG_CRC32 is not set
arch/arm/configs/spear320_defconfig+0−52
@@ -1,52 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_SYSVIPC=y
3−CONFIG_BSD_PROCESS_ACCT=y
4−CONFIG_BLK_DEV_INITRD=y
5−CONFIG_KALLSYMS_EXTRA_PASS=y
6−CONFIG_MODULES=y
7−CONFIG_MODULE_UNLOAD=y
8−CONFIG_MODVERSIONS=y
9−CONFIG_PLAT_SPEAR=y
10−CONFIG_MACH_SPEAR320=y
11−CONFIG_BINFMT_MISC=y
12−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
13−CONFIG_BLK_DEV_RAM=y
14−CONFIG_BLK_DEV_RAM_SIZE=16384
15−CONFIG_INPUT_FF_MEMLESS=y
16−# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
17−# CONFIG_INPUT_KEYBOARD is not set
18−# CONFIG_INPUT_MOUSE is not set
19−CONFIG_SERIAL_AMBA_PL011=y
20−CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
21−# CONFIG_LEGACY_PTYS is not set
22−# CONFIG_HW_RANDOM is not set
23−CONFIG_RAW_DRIVER=y
24−CONFIG_MAX_RAW_DEVS=8192
25−CONFIG_GPIO_SYSFS=y
26−CONFIG_GPIO_PL061=y
27−# CONFIG_HWMON is not set
28−# CONFIG_VGA_CONSOLE is not set
29−# CONFIG_HID_SUPPORT is not set
30−# CONFIG_USB_SUPPORT is not set
31−CONFIG_EXT2_FS=y
32−CONFIG_EXT2_FS_XATTR=y
33−CONFIG_EXT2_FS_SECURITY=y
34−CONFIG_EXT3_FS=y
35−CONFIG_EXT3_FS_SECURITY=y
36−CONFIG_AUTOFS4_FS=m
37−CONFIG_MSDOS_FS=m
38−CONFIG_VFAT_FS=m
39−CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
40−CONFIG_TMPFS=y
41−CONFIG_PARTITION_ADVANCED=y
42−CONFIG_NLS=y
43−CONFIG_NLS_DEFAULT="utf8"
44−CONFIG_NLS_CODEPAGE_437=y
45−CONFIG_NLS_ASCII=m
46−CONFIG_MAGIC_SYSRQ=y
47−CONFIG_DEBUG_FS=y
48−CONFIG_DEBUG_KERNEL=y
49−CONFIG_DEBUG_SPINLOCK=y
50−CONFIG_DEBUG_SPINLOCK_SLEEP=y
51−CONFIG_DEBUG_INFO=y
52−# CONFIG_CRC32 is not set
arch/arm/configs/spear3xx_defconfigrenamed from arch/arm/configs/spear310_defconfig+3−2
@@ -7,7 +7,9 @@ CONFIG_MODULES=y · 6 unmodified lines
77 CONFIG_MODULE_UNLOAD=y
88 CONFIG_MODVERSIONS=y
99 CONFIG_PLAT_SPEAR=y
10−CONFIG_MACH_SPEAR310=y
10+CONFIG_BOARD_SPEAR300_EVB=y
11+CONFIG_BOARD_SPEAR310_EVB=y
12+CONFIG_BOARD_SPEAR320_EVB=y
1113 CONFIG_BINFMT_MISC=y
1214 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
1315 CONFIG_BLK_DEV_RAM=y
@@ -25,7 +27,6 @@ CONFIG_MAX_RAW_DEVS=8192 · 11 unmodified lines
2527 CONFIG_GPIO_SYSFS=y
2628 CONFIG_GPIO_PL061=y
2729 # CONFIG_HWMON is not set
28−# CONFIG_VGA_CONSOLE is not set
2930 # CONFIG_HID_SUPPORT is not set
3031 # CONFIG_USB_SUPPORT is not set
3132 CONFIG_EXT2_FS=y
arch/arm/configs/spear6xx_defconfigrenamed from arch/arm/configs/spear600_defconfig+1−1
@@ -8,6 +8,7 @@ CONFIG_MODULE_UNLOAD=y · 7 unmodified lines
88 CONFIG_MODVERSIONS=y
99 CONFIG_PLAT_SPEAR=y
1010 CONFIG_ARCH_SPEAR6XX=y
11+CONFIG_BOARD_SPEAR600_EVB=y
1112 CONFIG_BINFMT_MISC=y
1213 CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
1314 CONFIG_BLK_DEV_RAM=y
@@ -22,7 +23,6 @@ CONFIG_MAX_RAW_DEVS=8192 · 8 unmodified lines
2223 CONFIG_GPIO_SYSFS=y
2324 CONFIG_GPIO_PL061=y
2425 # CONFIG_HWMON is not set
25−# CONFIG_VGA_CONSOLE is not set
2626 # CONFIG_HID_SUPPORT is not set
2727 # CONFIG_USB_SUPPORT is not set
2828 CONFIG_EXT2_FS=y
arch/arm/configs/stmp378x_defconfig+0−128
@@ -1,128 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_LOCALVERSION="-default"
3−CONFIG_SYSVIPC=y
4−CONFIG_POSIX_MQUEUE=y
5−CONFIG_BSD_PROCESS_ACCT=y
6−CONFIG_SYSFS_DEPRECATED_V2=y
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EXPERT=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODULE_FORCE_UNLOAD=y
13−CONFIG_MODVERSIONS=y
14−CONFIG_MODULE_SRCVERSION_ALL=y
15−# CONFIG_BLK_DEV_BSG is not set
16−CONFIG_ARCH_STMP3XXX=y
17−CONFIG_ARCH_STMP378X=y
18−CONFIG_NO_HZ=y
19−CONFIG_HIGH_RES_TIMERS=y
20−CONFIG_PREEMPT=y
21−CONFIG_AEABI=y
22−CONFIG_HIGHMEM=y
23−CONFIG_ZBOOT_ROM_TEXT=0x0
24−CONFIG_ZBOOT_ROM_BSS=0x0
25−CONFIG_CMDLINE="console=ttySDBG0,115200 mem=32M"
26−CONFIG_NET=y
27−CONFIG_PACKET=y
28−CONFIG_UNIX=y
29−CONFIG_INET=y
30−CONFIG_IP_MULTICAST=y
31−CONFIG_IP_ADVANCED_ROUTER=y
32−CONFIG_IP_MULTIPLE_TABLES=y
33−CONFIG_IP_ROUTE_MULTIPATH=y
34−CONFIG_IP_ROUTE_VERBOSE=y
35−CONFIG_IP_PNP=y
36−CONFIG_IP_PNP_DHCP=y
37−CONFIG_IP_PNP_BOOTP=y
38−CONFIG_IP_MROUTE=y
39−CONFIG_IP_PIMSM_V1=y
40−CONFIG_IP_PIMSM_V2=y
41−CONFIG_SYN_COOKIES=y
42−# CONFIG_INET_LRO is not set
43−# CONFIG_IPV6 is not set
44−CONFIG_NET_SCHED=y
45−# CONFIG_WIRELESS is not set
46−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
47−# CONFIG_STANDALONE is not set
48−CONFIG_MTD=y
49−CONFIG_MTD_CHAR=y
50−CONFIG_MTD_NAND=y
51−CONFIG_MTD_UBI=y
52−CONFIG_MTD_UBI_GLUEBI=y
53−CONFIG_BLK_DEV_LOOP=y
54−CONFIG_BLK_DEV_CRYPTOLOOP=y
55−CONFIG_BLK_DEV_RAM=y
56−CONFIG_BLK_DEV_RAM_COUNT=4
57−CONFIG_BLK_DEV_RAM_SIZE=6144
58−# CONFIG_MISC_DEVICES is not set
59−CONFIG_SCSI=y
60−CONFIG_BLK_DEV_SD=y
61−CONFIG_CHR_DEV_SG=y
62−# CONFIG_SCSI_LOWLEVEL is not set
63−CONFIG_INPUT_POLLDEV=y
64−CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
65−CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
66−CONFIG_INPUT_EVDEV=y
67−# CONFIG_KEYBOARD_ATKBD is not set
68−# CONFIG_INPUT_MOUSE is not set
69−CONFIG_INPUT_TOUCHSCREEN=y
70−CONFIG_INPUT_MISC=y
71−# CONFIG_SERIO_SERPORT is not set
72−CONFIG_VT_HW_CONSOLE_BINDING=y
73−# CONFIG_LEGACY_PTYS is not set
74−CONFIG_HW_RANDOM=y
75−CONFIG_DEBUG_GPIO=y
76−CONFIG_GPIO_SYSFS=y
77−# CONFIG_HWMON is not set
78−CONFIG_FB=y
79−CONFIG_BACKLIGHT_LCD_SUPPORT=y
80−CONFIG_LCD_CLASS_DEVICE=y
81−CONFIG_BACKLIGHT_CLASS_DEVICE=y
82−# CONFIG_VGA_CONSOLE is not set
83−CONFIG_FRAMEBUFFER_CONSOLE=y
84−CONFIG_LOGO=y
85−# CONFIG_HID_SUPPORT is not set
86−# CONFIG_USB_SUPPORT is not set
87−# CONFIG_DNOTIFY is not set
88−CONFIG_TMPFS=y
89−CONFIG_CONFIGFS_FS=m
90−# CONFIG_MISC_FILESYSTEMS is not set
91−# CONFIG_NETWORK_FILESYSTEMS is not set
92−# CONFIG_ENABLE_MUST_CHECK is not set
93−CONFIG_STRIP_ASM_SYMS=y
94−CONFIG_DEBUG_KERNEL=y
95−CONFIG_DEBUG_SHIRQ=y
96−# CONFIG_SCHED_DEBUG is not set
97−CONFIG_DEBUG_OBJECTS=y
98−CONFIG_DEBUG_OBJECTS_SELFTEST=y
99−CONFIG_DEBUG_OBJECTS_FREE=y
100−CONFIG_DEBUG_OBJECTS_TIMERS=y
101−CONFIG_DEBUG_SLAB=y
102−CONFIG_DEBUG_SLAB_LEAK=y
103−CONFIG_DEBUG_RT_MUTEXES=y
104−CONFIG_PROVE_LOCKING=y
105−CONFIG_DEBUG_SPINLOCK_SLEEP=y
106−CONFIG_DEBUG_KOBJECT=y
107−# CONFIG_DEBUG_BUGVERBOSE is not set
108−CONFIG_DEBUG_INFO=y
109−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
110−CONFIG_SYSCTL_SYSCALL_CHECK=y
111−CONFIG_BOOT_TRACER=y
112−CONFIG_STACK_TRACER=y
113−CONFIG_BLK_DEV_IO_TRACE=y
114−CONFIG_KEYS=y
115−CONFIG_KEYS_DEBUG_PROC_KEYS=y
116−CONFIG_SECURITY=y
117−CONFIG_CRYPTO_TEST=m
118−CONFIG_CRYPTO_ECB=y
119−CONFIG_CRYPTO_HMAC=y
120−CONFIG_CRYPTO_MD5=y
121−CONFIG_CRYPTO_SHA1=m
122−CONFIG_CRYPTO_AES=m
123−CONFIG_CRYPTO_DES=y
124−CONFIG_CRYPTO_DEFLATE=y
125−CONFIG_CRYPTO_LZO=y
126−# CONFIG_CRYPTO_ANSI_CPRNG is not set
127−CONFIG_CRC_CCITT=m
128−CONFIG_CRC16=y
arch/arm/configs/stmp37xx_defconfig+0−108
@@ -1,108 +0,0 @@
1−CONFIG_EXPERIMENTAL=y
2−CONFIG_LOCALVERSION="-default"
3−CONFIG_SYSVIPC=y
4−CONFIG_POSIX_MQUEUE=y
5−CONFIG_BSD_PROCESS_ACCT=y
6−CONFIG_SYSFS_DEPRECATED_V2=y
7−CONFIG_BLK_DEV_INITRD=y
8−CONFIG_EXPERT=y
9−CONFIG_SLAB=y
10−CONFIG_MODULES=y
11−CONFIG_MODULE_UNLOAD=y
12−CONFIG_MODULE_FORCE_UNLOAD=y
13−CONFIG_MODVERSIONS=y
14−CONFIG_MODULE_SRCVERSION_ALL=y
15−# CONFIG_BLK_DEV_BSG is not set
16−CONFIG_ARCH_STMP3XXX=y
17−CONFIG_NO_HZ=y
18−CONFIG_HIGH_RES_TIMERS=y
19−CONFIG_PREEMPT=y
20−CONFIG_AEABI=y
21−CONFIG_ZBOOT_ROM_TEXT=0x0
22−CONFIG_ZBOOT_ROM_BSS=0x0
23−CONFIG_CMDLINE="console=ttySDBG0,115200 mem=32M lcd_panel=lms350 rdinit=/bin/sh ignore_loglevel"
24−CONFIG_NET=y
25−CONFIG_PACKET=y
26−CONFIG_UNIX=y
27−CONFIG_INET=y
28−CONFIG_IP_MULTICAST=y
29−CONFIG_IP_ADVANCED_ROUTER=y
30−CONFIG_IP_MULTIPLE_TABLES=y
31−CONFIG_IP_ROUTE_MULTIPATH=y
32−CONFIG_IP_ROUTE_VERBOSE=y
33−CONFIG_IP_PNP=y
34−CONFIG_IP_PNP_DHCP=y
35−CONFIG_IP_PNP_BOOTP=y
36−CONFIG_IP_MROUTE=y
37−CONFIG_IP_PIMSM_V1=y
38−CONFIG_IP_PIMSM_V2=y
39−CONFIG_SYN_COOKIES=y
40−# CONFIG_INET_LRO is not set
41−# CONFIG_IPV6 is not set
42−CONFIG_NET_SCHED=y
43−# CONFIG_WIRELESS is not set
44−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
45−# CONFIG_STANDALONE is not set
46−CONFIG_BLK_DEV_LOOP=y
47−CONFIG_BLK_DEV_CRYPTOLOOP=y
48−CONFIG_BLK_DEV_RAM=y
49−CONFIG_BLK_DEV_RAM_COUNT=4
50−CONFIG_BLK_DEV_RAM_SIZE=6144
51−# CONFIG_MISC_DEVICES is not set
52−CONFIG_SCSI=y
53−CONFIG_BLK_DEV_SD=y
54−CONFIG_CHR_DEV_SG=y
55−# CONFIG_SCSI_LOWLEVEL is not set
56−CONFIG_INPUT_POLLDEV=y
57−CONFIG_INPUT_MOUSEDEV_SCREEN_X=320
58−CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
59−CONFIG_INPUT_EVDEV=y
60−# CONFIG_KEYBOARD_ATKBD is not set
61−# CONFIG_INPUT_MOUSE is not set
62−CONFIG_INPUT_TOUCHSCREEN=y
63−CONFIG_INPUT_MISC=y
64−# CONFIG_SERIO_SERPORT is not set
65−CONFIG_VT_HW_CONSOLE_BINDING=y
66−# CONFIG_LEGACY_PTYS is not set
67−CONFIG_HW_RANDOM=y
68−CONFIG_DEBUG_GPIO=y
69−CONFIG_GPIO_SYSFS=y
70−# CONFIG_HWMON is not set
71−CONFIG_FB=y
72−CONFIG_BACKLIGHT_LCD_SUPPORT=y
73−CONFIG_LCD_CLASS_DEVICE=y
74−CONFIG_BACKLIGHT_CLASS_DEVICE=y
75−# CONFIG_VGA_CONSOLE is not set
76−CONFIG_FRAMEBUFFER_CONSOLE=y
77−CONFIG_LOGO=y
78−# CONFIG_HID_SUPPORT is not set
79−# CONFIG_USB_SUPPORT is not set
80−# CONFIG_DNOTIFY is not set
81−CONFIG_TMPFS=y
82−CONFIG_CONFIGFS_FS=m
83−# CONFIG_MISC_FILESYSTEMS is not set
84−# CONFIG_NETWORK_FILESYSTEMS is not set
85−# CONFIG_ENABLE_MUST_CHECK is not set
86−CONFIG_DEBUG_KERNEL=y
87−# CONFIG_DEBUG_BUGVERBOSE is not set
88−# CONFIG_RCU_CPU_STALL_DETECTOR is not set
89−CONFIG_SYSCTL_SYSCALL_CHECK=y
90−CONFIG_BOOT_TRACER=y
91−CONFIG_STACK_TRACER=y
92−CONFIG_BLK_DEV_IO_TRACE=y
93−CONFIG_DEBUG_LL=y
94−CONFIG_KEYS=y
95−CONFIG_KEYS_DEBUG_PROC_KEYS=y
96−CONFIG_SECURITY=y
97−CONFIG_CRYPTO_TEST=m
98−CONFIG_CRYPTO_ECB=y
99−CONFIG_CRYPTO_HMAC=y
100−CONFIG_CRYPTO_MD5=y
101−CONFIG_CRYPTO_SHA1=m
102−CONFIG_CRYPTO_AES=m
103−CONFIG_CRYPTO_DES=y
104−CONFIG_CRYPTO_DEFLATE=y
105−CONFIG_CRYPTO_LZO=y
106−# CONFIG_CRYPTO_ANSI_CPRNG is not set
107−CONFIG_CRC_CCITT=m
108−CONFIG_CRC16=y
arch/arm/configs/usb-a9263_defconfig+0−106
@@ -1,106 +0,0 @@
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_CC_OPTIMIZE_FOR_SIZE is not set
7−CONFIG_SLAB=y
8−CONFIG_MODULES=y
9−CONFIG_MODULE_UNLOAD=y
10−# CONFIG_BLK_DEV_BSG is not set
11−# CONFIG_IOSCHED_DEADLINE is not set
12−# CONFIG_IOSCHED_CFQ is not set
13−CONFIG_ARCH_AT91=y
14−CONFIG_ARCH_AT91SAM9263=y
15−CONFIG_MACH_USB_A9263=y
16−CONFIG_AT91_SLOW_CLOCK=y
17−# CONFIG_ARM_THUMB is not set
18−CONFIG_AEABI=y
19−CONFIG_ZBOOT_ROM_TEXT=0x0
20−CONFIG_ZBOOT_ROM_BSS=0x0
21−CONFIG_CMDLINE="mem=64M console=ttyS0,115200"
22−CONFIG_FPE_NWFPE=y
23−CONFIG_PM=y
24−CONFIG_NET=y
25−CONFIG_PACKET=y
26−CONFIG_UNIX=y
27−CONFIG_INET=y
28−CONFIG_IP_MULTICAST=y
29−CONFIG_IP_ADVANCED_ROUTER=y
30−CONFIG_IP_ROUTE_VERBOSE=y
31−CONFIG_IP_PNP=y
32−CONFIG_IP_PNP_BOOTP=y
33−CONFIG_IP_PNP_RARP=y
34−CONFIG_IP_MROUTE=y
35−CONFIG_IP_PIMSM_V1=y
36−CONFIG_IP_PIMSM_V2=y
37−# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
38−# CONFIG_INET_XFRM_MODE_TUNNEL is not set
39−# CONFIG_INET_XFRM_MODE_BEET is not set
40−# CONFIG_INET_LRO is not set
41−# CONFIG_INET_DIAG is not set
42−# CONFIG_IPV6 is not set
43−CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
44−CONFIG_MTD=y
45−CONFIG_MTD_PARTITIONS=y
46−CONFIG_MTD_CMDLINE_PARTS=y
47−CONFIG_MTD_CHAR=y
48−CONFIG_MTD_BLOCK=y
49−CONFIG_MTD_DATAFLASH=y
50−CONFIG_MTD_NAND=y
51−CONFIG_MTD_NAND_ATMEL=y
52−CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y
53−CONFIG_BLK_DEV_LOOP=y
54−# CONFIG_MISC_DEVICES is not set
55−CONFIG_SCSI=y
56−CONFIG_BLK_DEV_SD=y
57−CONFIG_SCSI_MULTI_LUN=y
58−CONFIG_NETDEVICES=y
59−CONFIG_NET_ETHERNET=y
60−CONFIG_MII=y
61−CONFIG_MACB=y
62−# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
63−CONFIG_INPUT_EVDEV=y
64−CONFIG_INPUT_EVBUG=y
65−# CONFIG_KEYBOARD_ATKBD is not set
66−CONFIG_KEYBOARD_GPIO=y
67−# CONFIG_INPUT_MOUSE is not set
68−# CONFIG_SERIO is not set
69−CONFIG_SERIAL_ATMEL=y
70−CONFIG_SERIAL_ATMEL_CONSOLE=y
71−CONFIG_HW_RANDOM=y
72−CONFIG_SPI=y
73−CONFIG_SPI_ATMEL=y
74−# CONFIG_HWMON is not set
75−# CONFIG_VGA_CONSOLE is not set
76−# CONFIG_USB_HID is not set
77−CONFIG_USB=y
78−CONFIG_USB_DEVICEFS=y
79−CONFIG_USB_MON=y
80−CONFIG_USB_OHCI_HCD=y
81−CONFIG_USB_STORAGE=y
82−CONFIG_USB_GADGET=y
83−CONFIG_USB_ETH=m
84−CONFIG_NEW_LEDS=y
85−CONFIG_LEDS_CLASS=y
86−CONFIG_LEDS_GPIO=y
87−CONFIG_LEDS_TRIGGERS=y
88−CONFIG_LEDS_TRIGGER_HEARTBEAT=y
89−CONFIG_EXT2_FS=y
90−CONFIG_INOTIFY=y
91−CONFIG_FUSE_FS=m
92−CONFIG_VFAT_FS=y
93−CONFIG_TMPFS=y
94−CONFIG_JFFS2_FS=y
95−CONFIG_NFS_FS=y
96−CONFIG_NFS_V3=y
97−CONFIG_NFS_V3_ACL=y
98−CONFIG_NFS_V4=y
99−CONFIG_ROOT_NFS=y
100−CONFIG_NLS_CODEPAGE_437=y
101−CONFIG_NLS_CODEPAGE_850=y
102−CONFIG_NLS_ISO8859_1=y
103−CONFIG_DEBUG_KERNEL=y
104−CONFIG_DEBUG_USER=y
105−CONFIG_DEBUG_LL=y
106−# CONFIG_CRYPTO_HW is not set
arch/arm/configs/versatile_defconfig+1−1
@@ -32,7 +32,7 @@ CONFIG_MTD_BLOCK=y · 31 unmodified lines
3232 CONFIG_MTD_CFI=y
3333 CONFIG_MTD_CFI_ADV_OPTIONS=y
3434 CONFIG_MTD_CFI_INTELEXT=y
35−CONFIG_MTD_ARM_INTEGRATOR=y
35+CONFIG_MTD_PHYSMAP=y
3636 CONFIG_BLK_DEV_RAM=y
3737 CONFIG_EEPROM_LEGACY=m
3838 CONFIG_NETDEVICES=y
arch/arm/include/asm/bitops.h+8−38
@@ -203,8 +203,6 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset); · 202 unmodified lines
203203 #define find_first_bit(p,sz) _find_first_bit_le(p,sz)
204204 #define find_next_bit(p,sz,off) _find_next_bit_le(p,sz,off)
205205
206−#define WORD_BITOFF_TO_LE(x) ((x))
207−
208206 #else
209207 /*
210208 * These are the big endian, atomic definitions.
@@ -214,8 +212,6 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset); · 3 unmodified lines
214212 #define find_first_bit(p,sz) _find_first_bit_be(p,sz)
215213 #define find_next_bit(p,sz,off) _find_next_bit_be(p,sz,off)
216214
217−#define WORD_BITOFF_TO_LE(x) ((x) ^ 0x18)
218−
219215 #endif
220216
221217 #if __LINUX_ARM_ARCH__ < 5
@@ -287,55 +283,29 @@ static inline int fls(int x) · 65 unmodified lines
287283 #include <asm-generic/bitops/hweight.h>
288284 #include <asm-generic/bitops/lock.h>
289285
290−static inline void __set_bit_le(int nr, void *addr)
291−{
292− __set_bit(WORD_BITOFF_TO_LE(nr), addr);
293−}
294−
295−static inline void __clear_bit_le(int nr, void *addr)
296−{
297− __clear_bit(WORD_BITOFF_TO_LE(nr), addr);
298−}
299−
300−static inline int __test_and_set_bit_le(int nr, void *addr)
301−{
302− return __test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr);
303−}
304−
305−static inline int test_and_set_bit_le(int nr, void *addr)
306−{
307− return test_and_set_bit(WORD_BITOFF_TO_LE(nr), addr);
308−}
309−
310−static inline int __test_and_clear_bit_le(int nr, void *addr)
311−{
312− return __test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr);
313−}
314−
315−static inline int test_and_clear_bit_le(int nr, void *addr)
316−{
317− return test_and_clear_bit(WORD_BITOFF_TO_LE(nr), addr);
318−}
319−
320−static inline int test_bit_le(int nr, const void *addr)
321−{
322− return test_bit(WORD_BITOFF_TO_LE(nr), addr);
323−}
286+#ifdef __ARMEB__
324287
325288 static inline int find_first_zero_bit_le(const void *p, unsigned size)
326289 {
327290 return _find_first_zero_bit_le(p, size);
328291 }
292+#define find_first_zero_bit_le find_first_zero_bit_le
329293
330294 static inline int find_next_zero_bit_le(const void *p, int size, int offset)
331295 {
332296 return _find_next_zero_bit_le(p, size, offset);
333297 }
298+#define find_next_zero_bit_le find_next_zero_bit_le
334299
335300 static inline int find_next_bit_le(const void *p, int size, int offset)
336301 {
337302 return _find_next_bit_le(p, size, offset);
338303 }
304+#define find_next_bit_le find_next_bit_le
305+
306+#endif
307+
308+#include <asm-generic/bitops/le.h>
339309
340310 /*
341311 * Ext2 is defined to use little-endian byte ordering.
arch/arm/include/asm/cputype.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
22 #define __ASM_ARM_CPUTYPE_H
33
44 #include <linux/stringify.h>
5+#include <linux/kernel.h>
56
67 #define CPUID_ID 0
78 #define CPUID_CACHETYPE 1
arch/arm/include/asm/dma.h+3−1
@@ -6,8 +6,10 @@ · 5 unmodified lines
66 /*
77 * This is the maximum virtual address which can be DMA'd from.
88 */
9−#ifndef MAX_DMA_ADDRESS
9+#ifndef ARM_DMA_ZONE_SIZE
1010 #define MAX_DMA_ADDRESS 0xffffffff
11+#else
12+#define MAX_DMA_ADDRESS (PAGE_OFFSET + ARM_DMA_ZONE_SIZE)
1113 #endif
1214
1315 #ifdef CONFIG_ISA_DMA_API
arch/arm/include/asm/elf.h+1−0
@@ -108,6 +108,7 @@ struct task_struct; · 107 unmodified lines
108108 int dump_task_regs(struct task_struct *t, elf_gregset_t *elfregs);
109109 #define ELF_CORE_COPY_TASK_REGS dump_task_regs
110110
111+#define CORE_DUMP_USE_REGSET
111112 #define ELF_EXEC_PAGESIZE 4096
112113
113114 /* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/arm/include/asm/fiq.h+21−2
@@ -4,6 +4,13 @@ · 3 unmodified lines
44 * Support for FIQ on ARM architectures.
55 * Written by Philip Blundell <philb@gnu.org>, 1998
66 * Re-written by Russell King
7+ *
8+ * NOTE: The FIQ mode registers are not magically preserved across
9+ * suspend/resume.
10+ *
11+ * Drivers which require these registers to be preserved across power
12+ * management operations must implement appropriate suspend/resume handlers to
13+ * save and restore them.
714 */
815
916 #ifndef __ASM_FIQ_H
@@ -29,9 +36,21 @@ struct fiq_handler { · 19 unmodified lines
2936 extern int claim_fiq(struct fiq_handler *f);
3037 extern void release_fiq(struct fiq_handler *f);
3138 extern void set_fiq_handler(void *start, unsigned int length);
32−extern void set_fiq_regs(struct pt_regs *regs);
33−extern void get_fiq_regs(struct pt_regs *regs);
3439 extern void enable_fiq(int fiq);
3540 extern void disable_fiq(int fiq);
3641
42+/* helpers defined in fiqasm.S: */
43+extern void __set_fiq_regs(unsigned long const *regs);
44+extern void __get_fiq_regs(unsigned long *regs);
45+
46+static inline void set_fiq_regs(struct pt_regs const *regs)
47+{
48+ __set_fiq_regs(&regs->ARM_r8);
49+}
50+
51+static inline void get_fiq_regs(struct pt_regs *regs)
52+{
53+ __get_fiq_regs(&regs->ARM_r8);
54+}
55+
3756 #endif
arch/arm/include/asm/fpstate.h+1−1
@@ -18,7 +18,7 @@ · 17 unmodified lines
1818 * VFP storage area has:
1919 * - FPEXC, FPSCR, FPINST and FPINST2.
2020 * - 16 or 32 double precision data registers
21− * - an implementation-dependant word of state for FLDMX/FSTMX (pre-ARMv6)
21+ * - an implementation-dependent word of state for FLDMX/FSTMX (pre-ARMv6)
2222 *
2323 * FPEXC will always be non-zero once the VFP has been used in this process.
2424 */
arch/arm/include/asm/futex.h+90−47
@@ -3,16 +3,74 @@ · 2 unmodified lines
33
44 #ifdef __KERNEL__
55
6+#if defined(CONFIG_CPU_USE_DOMAINS) && defined(CONFIG_SMP)
7+/* ARM doesn't provide unprivileged exclusive memory accessors */
8+#include <asm-generic/futex.h>
9+#else
10+
11+#include <linux/futex.h>
12+#include <linux/uaccess.h>
13+#include <asm/errno.h>
14+
15+#define __futex_atomic_ex_table(err_reg) \
16+ "3:\n" \
17+ " .pushsection __ex_table,\"a\"\n" \
18+ " .align 3\n" \
19+ " .long 1b, 4f, 2b, 4f\n" \
20+ " .popsection\n" \
21+ " .pushsection .fixup,\"ax\"\n" \
22+ "4: mov %0, " err_reg "\n" \
23+ " b 3b\n" \
24+ " .popsection"
25+
626 #ifdef CONFIG_SMP
727
8−#include <asm-generic/futex.h>
28+#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
29+ smp_mb(); \
30+ __asm__ __volatile__( \
31+ "1: ldrex %1, [%2]\n" \
32+ " " insn "\n" \
33+ "2: strex %1, %0, [%2]\n" \
34+ " teq %1, #0\n" \
35+ " bne 1b\n" \
36+ " mov %0, #0\n" \
37+ __futex_atomic_ex_table("%4") \
38+ : "=&r" (ret), "=&r" (oldval) \
39+ : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
40+ : "cc", "memory")
41+
42+static inline int
43+futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
44+ u32 oldval, u32 newval)
45+{
46+ int ret;
47+ u32 val;
48+
49+ if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))
50+ return -EFAULT;
51+
52+ smp_mb();
53+ __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n"
54+ "1: ldrex %1, [%4]\n"
55+ " teq %1, %2\n"
56+ " ite eq @ explicit IT needed for the 2b label\n"
57+ "2: strexeq %0, %3, [%4]\n"
58+ " movne %0, #0\n"
59+ " teq %0, #0\n"
60+ " bne 1b\n"
61+ __futex_atomic_ex_table("%5")
62+ : "=&r" (ret), "=&r" (val)
63+ : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
64+ : "cc", "memory");
65+ smp_mb();
66+
67+ *uval = val;
68+ return ret;
69+}
970
1071 #else /* !SMP, we can work around lack of atomic ops by disabling preemption */
1172
12−#include <linux/futex.h>
1373 #include <linux/preempt.h>
14−#include <linux/uaccess.h>
15−#include <asm/errno.h>
1674 #include <asm/domain.h>
1775
1876 #define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
@@ -21,19 +79,37 @@ · 2 unmodified lines
2179 " " insn "\n" \
2280 "2: " T(str) " %0, [%2]\n" \
2381 " mov %0, #0\n" \
24− "3:\n" \
25− " .pushsection __ex_table,\"a\"\n" \
26− " .align 3\n" \
27− " .long 1b, 4f, 2b, 4f\n" \
28− " .popsection\n" \
29− " .pushsection .fixup,\"ax\"\n" \
30− "4: mov %0, %4\n" \
31− " b 3b\n" \
32− " .popsection" \
82+ __futex_atomic_ex_table("%4") \
3383 : "=&r" (ret), "=&r" (oldval) \
3484 : "r" (uaddr), "r" (oparg), "Ir" (-EFAULT) \
3585 : "cc", "memory")
3686
87+static inline int
88+futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
89+ u32 oldval, u32 newval)
90+{
91+ int ret = 0;
92+ u32 val;
93+
94+ if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))
95+ return -EFAULT;
96+
97+ __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n"
98+ "1: " T(ldr) " %1, [%4]\n"
99+ " teq %1, %2\n"
100+ " it eq @ explicit IT needed for the 2b label\n"
101+ "2: " T(streq) " %3, [%4]\n"
102+ __futex_atomic_ex_table("%5")
103+ : "+r" (ret), "=&r" (val)
104+ : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
105+ : "cc", "memory");
106+
107+ *uval = val;
108+ return ret;
109+}
110+
111+#endif /* !SMP */
112+
37113 static inline int
38114 futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr)
39115 {
@@ -87,39 +163,6 @@ futex_atomic_op_inuser (int encoded_op, u32 __user *uaddr) · 47 unmodified lines
87163 return ret;
88164 }
89165
90−static inline int
91−futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
92− u32 oldval, u32 newval)
93−{
94− int ret = 0;
95− u32 val;
96−
97− if (!access_ok(VERIFY_WRITE, uaddr, sizeof(u32)))
98− return -EFAULT;
99−
100− __asm__ __volatile__("@futex_atomic_cmpxchg_inatomic\n"
101− "1: " T(ldr) " %1, [%4]\n"
102− " teq %1, %2\n"
103− " it eq @ explicit IT needed for the 2b label\n"
104− "2: " T(streq) " %3, [%4]\n"
105− "3:\n"
106− " .pushsection __ex_table,\"a\"\n"
107− " .align 3\n"
108− " .long 1b, 4f, 2b, 4f\n"
109− " .popsection\n"
110− " .pushsection .fixup,\"ax\"\n"
111− "4: mov %0, %5\n"
112− " b 3b\n"
113− " .popsection"
114− : "+r" (ret), "=&r" (val)
115− : "r" (oldval), "r" (newval), "r" (uaddr), "Ir" (-EFAULT)
116− : "cc", "memory");
117−
118− *uval = val;
119− return ret;
120−}
121−
122−#endif /* !SMP */
123−
166+#endif /* !(CPU_USE_DOMAINS && SMP) */
124167 #endif /* __KERNEL__ */
125168 #endif /* _ASM_ARM_FUTEX_H */
arch/arm/include/asm/glue-cache.h+1−1
@@ -126,7 +126,7 @@ · 125 unmodified lines
126126 #endif
127127
128128 #if !defined(_CACHE) && !defined(MULTI_CACHE)
129−#error Unknown cache maintainence model
129+#error Unknown cache maintenance model
130130 #endif
131131
132132 #ifndef MULTI_CACHE
arch/arm/include/asm/glue.h+2−2
@@ -10,8 +10,8 @@ · 9 unmodified lines
1010 *
1111 * This file provides the glue to stick the processor-specific bits
1212 * into the kernel in an efficient manner. The idea is to use branches
13− * when we're only targetting one class of TLB, or indirect calls
14− * when we're targetting multiple classes of TLBs.
13+ * when we're only targeting one class of TLB, or indirect calls
14+ * when we're targeting multiple classes of TLBs.
1515 */
1616 #ifdef __KERNEL__
1717
arch/arm/include/asm/hardware/pl080.h+1−1
@@ -16,7 +16,7 @@ · 15 unmodified lines
1616 * make it not entierly compatible with the PL080 specification from
1717 * ARM. When in doubt, check the Samsung documentation first.
1818 *
19− * The Samsung defines are PL080S, and add an extra controll register,
19+ * The Samsung defines are PL080S, and add an extra control register,
2020 * the ability to move more than 2^11 counts of data and some extra
2121 * OneNAND features.
2222 */
arch/arm/include/asm/hardware/timer-sp.h+2−2
@@ -1,2 +1,2 @@
1−void sp804_clocksource_init(void __iomem *);
2−void sp804_clockevents_init(void __iomem *, unsigned int);
1+void sp804_clocksource_init(void __iomem *, const char *);
2+void sp804_clockevents_init(void __iomem *, unsigned int, const char *);
arch/arm/include/asm/i8253.h+15−0
@@ -0,0 +1,15 @@
1+#ifndef __ASMARM_I8253_H
2+#define __ASMARM_I8253_H
3+
4+/* i8253A PIT registers */
5+#define PIT_MODE 0x43
6+#define PIT_CH0 0x40
7+
8+#define PIT_LATCH ((PIT_TICK_RATE + HZ / 2) / HZ)
9+
10+extern raw_spinlock_t i8253_lock;
11+
12+#define outb_pit outb_p
13+#define inb_pit inb_p
14+
15+#endif
arch/arm/include/asm/kprobes.h+3−0
@@ -39,10 +39,13 @@ typedef u32 kprobe_opcode_t; · 38 unmodified lines
3939 struct kprobe;
4040 typedef void (kprobe_insn_handler_t)(struct kprobe *, struct pt_regs *);
4141
42+typedef unsigned long (kprobe_check_cc)(unsigned long);
43+
4244 /* Architecture specific copy of original instruction. */
4345 struct arch_specific_insn {
4446 kprobe_opcode_t *insn;
4547 kprobe_insn_handler_t *insn_handler;
48+ kprobe_check_cc *insn_check_cc;
4649 };
4750
4851 struct prev_kprobe {
arch/arm/include/asm/mach/arch.h+9−0
@@ -18,6 +18,8 @@ struct machine_desc { · 17 unmodified lines
1818 unsigned int nr; /* architecture number */
1919 const char *name; /* architecture name */
2020 unsigned long boot_params; /* tagged list */
21+ const char **dt_compat; /* array of device tree
22+ * 'compatible' strings */
2123
2224 unsigned int nr_irqs; /* number of IRQs */
2325
@@ -47,6 +49,13 @@ struct machine_desc { · 23 unmodified lines
4749 */
4850 extern struct machine_desc *machine_desc;
4951
52+/*
53+ * Machine type table - also only accessible during boot
54+ */
55+extern struct machine_desc __arch_info_begin[], __arch_info_end[];
56+#define for_each_machine_desc(p) \
57+ for (p = __arch_info_begin; p < __arch_info_end; p++)
58+
5059 /*
5160 * Set of macros to define architecture features. This is built into
5261 * a table by the linker.
arch/arm/include/asm/mach/time.h+0−1
@@ -34,7 +34,6 @@ · 33 unmodified lines
3434 * timer interrupt which may be pending.
3535 */
3636 struct sys_timer {
37− struct sys_device dev;
3837 void (*init)(void);
3938 void (*suspend)(void);
4039 void (*resume)(void);
arch/arm/include/asm/mach/udc_pxa2xx.h+0−2
@@ -20,8 +20,6 @@ struct pxa2xx_udc_mach_info { · 19 unmodified lines
2020 * VBUS IRQ and omit the methods above. Store the GPIO number
2121 * here. Note that sometimes the signals go through inverters...
2222 */
23− bool gpio_vbus_inverted;
24− int gpio_vbus; /* high == vbus present */
2523 bool gpio_pullup_inverted;
2624 int gpio_pullup; /* high == pullup activated */
2725 };
arch/arm/include/asm/memory.h+3−7
@@ -209,14 +209,10 @@ static inline unsigned long __phys_to_virt(unsigned long x) · 208 unmodified lines
209209 * allocations. This must be the smallest DMA mask in the system,
210210 * so a successful GFP_DMA allocation will always satisfy this.
211211 */
212−#ifndef ISA_DMA_THRESHOLD
212+#ifndef ARM_DMA_ZONE_SIZE
213213 #define ISA_DMA_THRESHOLD (0xffffffffULL)
214−#endif
215−
216−#ifndef arch_adjust_zones
217−#define arch_adjust_zones(size,holes) do { } while (0)
218−#elif !defined(CONFIG_ZONE_DMA)
219−#error "custom arch_adjust_zones() requires CONFIG_ZONE_DMA"
214+#else
215+#define ISA_DMA_THRESHOLD (PHYS_OFFSET + ARM_DMA_ZONE_SIZE - 1)
220216 #endif
221217
222218 /*
arch/arm/include/asm/page.h+1−1
@@ -197,7 +197,7 @@ typedef unsigned long pgprot_t; · 196 unmodified lines
197197
198198 typedef struct page *pgtable_t;
199199
200−#ifndef CONFIG_SPARSEMEM
200+#ifdef CONFIG_HAVE_ARCH_PFN_VALID
201201 extern int pfn_valid(unsigned long);
202202 #endif
203203
arch/arm/include/asm/prom.h+37−0
@@ -0,0 +1,37 @@
1+/*
2+ * arch/arm/include/asm/prom.h
3+ *
4+ * Copyright (C) 2009 Canonical Ltd. <jeremy.kerr@canonical.com>
5+ *
6+ * This program is free software; you can redistribute it and/or modify
7+ * it under the terms of the GNU General Public License version 2 as
8+ * published by the Free Software Foundation.
9+ *
10+ */
11+#ifndef __ASMARM_PROM_H
12+#define __ASMARM_PROM_H
13+
14+#ifdef CONFIG_OF
15+
16+#include <asm/setup.h>
17+#include <asm/irq.h>
18+
19+static inline void irq_dispose_mapping(unsigned int virq)
20+{
21+ return;
22+}
23+
24+extern struct machine_desc *setup_machine_fdt(unsigned int dt_phys);
25+extern void arm_dt_memblock_reserve(void);
26+
27+#else /* CONFIG_OF */
28+
29+static inline struct machine_desc *setup_machine_fdt(unsigned int dt_phys)
30+{
31+ return NULL;
32+}
33+
34+static inline void arm_dt_memblock_reserve(void) { }
35+
36+#endif /* CONFIG_OF */
37+#endif /* ASMARM_PROM_H */
arch/arm/include/asm/ptrace.h+6−0
@@ -128,6 +128,12 @@ struct pt_regs { · 127 unmodified lines
128128 #define ARM_r0 uregs[0]
129129 #define ARM_ORIG_r0 uregs[17]
130130
131+/*
132+ * The size of the user-visible VFP state as seen by PTRACE_GET/SETVFPREGS
133+ * and core dumps.
134+ */
135+#define ARM_VFPREGS_SIZE ( 32 * 8 /*fpregs*/ + 4 /*fpscr*/ )
136+
131137 #ifdef __KERNEL__
132138
133139 #define user_mode(regs) \
arch/arm/include/asm/setup.h+4−0
@@ -217,6 +217,10 @@ extern struct meminfo meminfo; · 216 unmodified lines
217217 #define bank_phys_end(bank) ((bank)->start + (bank)->size)
218218 #define bank_phys_size(bank) (bank)->size
219219
220+extern int arm_add_memory(phys_addr_t start, unsigned long size);
221+extern void early_print(const char *str, ...);
222+extern void dump_machine_table(void);
223+
220224 #endif /* __KERNEL__ */
221225
222226 #endif
arch/arm/include/asm/sizes.h+2−40
@@ -16,44 +16,6 @@ · 15 unmodified lines
1616 /* Size definitions
1717 * Copyright (C) ARM Limited 1998. All rights reserved.
1818 */
19+#include <asm-generic/sizes.h>
1920
20−#ifndef __sizes_h
21−#define __sizes_h 1
22−
23−/* handy sizes */
24−#define SZ_16 0x00000010
25−#define SZ_32 0x00000020
26−#define SZ_64 0x00000040
27−#define SZ_128 0x00000080
28−#define SZ_256 0x00000100
29−#define SZ_512 0x00000200
30−
31−#define SZ_1K 0x00000400
32−#define SZ_2K 0x00000800
33−#define SZ_4K 0x00001000
34−#define SZ_8K 0x00002000
35−#define SZ_16K 0x00004000
36−#define SZ_32K 0x00008000
37−#define SZ_64K 0x00010000
38−#define SZ_128K 0x00020000
39−#define SZ_256K 0x00040000
40−#define SZ_512K 0x00080000
41−
42−#define SZ_1M 0x00100000
43−#define SZ_2M 0x00200000
44−#define SZ_4M 0x00400000
45−#define SZ_8M 0x00800000
46−#define SZ_16M 0x01000000
47−#define SZ_32M 0x02000000
48−#define SZ_48M 0x03000000
49−#define SZ_64M 0x04000000
50−#define SZ_128M 0x08000000
51−#define SZ_256M 0x10000000
52−#define SZ_512M 0x20000000
53−
54−#define SZ_1G 0x40000000
55−#define SZ_2G 0x80000000
56−
57−#endif
58−
59−/* END */
21+#define SZ_48M (SZ_32M + SZ_16M)
arch/arm/include/asm/smp.h+3−10
@@ -14,20 +14,12 @@ · 13 unmodified lines
1414 #include <linux/cpumask.h>
1515 #include <linux/thread_info.h>
1616
17−#include <mach/smp.h>
18−
1917 #ifndef CONFIG_SMP
2018 # error "<asm/smp.h> included in non-SMP build"
2119 #endif
2220
2321 #define raw_smp_processor_id() (current_thread_info()->cpu)
2422
25−/*
26− * at the moment, there's not a big penalty for changing CPUs
27− * (the >big< penalty is running SMP in the first place)
28− */
29−#define PROC_CHANGE_PENALTY 15
30−
3123 struct seq_file;
3224
3325 /*
@@ -47,9 +39,9 @@ extern void smp_init_cpus(void); · 13 unmodified lines
4739
4840
4941 /*
50− * Raise an IPI cross call on CPUs in callmap.
42+ * Provide a function to raise an IPI cross call on CPUs in callmap.
5143 */
52−extern void smp_cross_call(const struct cpumask *mask, int ipi);
44+extern void set_smp_cross_call(void (*)(const struct cpumask *, unsigned int));
5345
5446 /*
5547 * Boot a secondary CPU, and assign it the specified idle task.
@@ -78,6 +70,7 @@ extern void platform_smp_prepare_cpus(unsigned int); · 22 unmodified lines
7870 */
7971 struct secondary_data {
8072 unsigned long pgdir;
73+ unsigned long swapper_pg_dir;
8174 void *stack;
8275 };
8376 extern struct secondary_data secondary_data;
arch/arm/include/asm/spinlock.h+2−0
@@ -5,6 +5,8 @@ · 4 unmodified lines
55 #error SMP not supported on pre-ARMv6 CPUs
66 #endif
77
8+#include <asm/processor.h>
9+
810 /*
911 * sev and wfe are ARMv6K extensions. Uniprocessor ARMv6 may not have the K
1012 * extensions, so when running on UP, we have to patch these instructions away.
arch/arm/include/asm/system.h+2−2
@@ -159,7 +159,7 @@ extern unsigned int user_debug; · 158 unmodified lines
159159 #include <mach/barriers.h>
160160 #elif defined(CONFIG_ARM_DMA_MEM_BUFFERABLE) || defined(CONFIG_SMP)
161161 #define mb() do { dsb(); outer_sync(); } while (0)
162−#define rmb() dmb()
162+#define rmb() dsb()
163163 #define wmb() mb()
164164 #else
165165 #include <asm/memory.h>
@@ -249,7 +249,7 @@ do { \ · 83 unmodified lines
249249 * cache totally. This means that the cache becomes inconsistent, and,
250250 * since we use normal loads/stores as well, this is really bad.
251251 * Typically, this causes oopsen in filp_close, but could have other,
252− * more disasterous effects. There are two work-arounds:
252+ * more disastrous effects. There are two work-arounds:
253253 * 1. Disable interrupts and emulate the atomic swap
254254 * 2. Clean the cache, perform atomic swap, flush the cache
255255 *
arch/arm/include/asm/thread_notify.h+1−0
@@ -43,6 +43,7 @@ static inline void thread_notify(unsigned long rc, struct thread_info *thread) · 42 unmodified lines
4343 #define THREAD_NOTIFY_FLUSH 0
4444 #define THREAD_NOTIFY_EXIT 1
4545 #define THREAD_NOTIFY_SWITCH 2
46+#define THREAD_NOTIFY_COPY 3
4647
4748 #endif
4849 #endif
arch/arm/include/asm/tlb.h+37−16
@@ -41,12 +41,12 @@ · 40 unmodified lines
4141 */
4242 #if defined(CONFIG_SMP) || defined(CONFIG_CPU_32v7)
4343 #define tlb_fast_mode(tlb) 0
44−#define FREE_PTE_NR 500
4544 #else
4645 #define tlb_fast_mode(tlb) 1
47−#define FREE_PTE_NR 0
4846 #endif
4947
48+#define MMU_GATHER_BUNDLE 8
49+
5050 /*
5151 * TLB handling. This allows us to remove pages from the page
5252 * tables, and efficiently handle the TLB issues.
@@ -58,7 +58,9 @@ struct mmu_gather { · 5 unmodified lines
5858 unsigned long range_start;
5959 unsigned long range_end;
6060 unsigned int nr;
61− struct page *pages[FREE_PTE_NR];
61+ unsigned int max;
62+ struct page **pages;
63+ struct page *local[MMU_GATHER_BUNDLE];
6264 };
6365
6466 DECLARE_PER_CPU(struct mmu_gather, mmu_gathers);
@@ -97,26 +99,37 @@ static inline void tlb_add_flush(struct mmu_gather *tlb, unsigned long addr) · 32 unmodified lines
9799 }
98100 }
99101
102+static inline void __tlb_alloc_page(struct mmu_gather *tlb)
103+{
104+ unsigned long addr = __get_free_pages(GFP_NOWAIT | __GFP_NOWARN, 0);
105+
106+ if (addr) {
107+ tlb->pages = (void *)addr;
108+ tlb->max = PAGE_SIZE / sizeof(struct page *);
109+ }
110+}
111+
100112 static inline void tlb_flush_mmu(struct mmu_gather *tlb)
101113 {
102114 tlb_flush(tlb);
103115 if (!tlb_fast_mode(tlb)) {
104116 free_pages_and_swap_cache(tlb->pages, tlb->nr);
105117 tlb->nr = 0;
118+ if (tlb->pages == tlb->local)
119+ __tlb_alloc_page(tlb);
106120 }
107121 }
108122
109−static inline struct mmu_gather *
110−tlb_gather_mmu(struct mm_struct *mm, unsigned int full_mm_flush)
123+static inline void
124+tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned int fullmm)
111125 {
112− struct mmu_gather *tlb = &get_cpu_var(mmu_gathers);
113−
114126 tlb->mm = mm;
115− tlb->fullmm = full_mm_flush;
127+ tlb->fullmm = fullmm;
116128 tlb->vma = NULL;
129+ tlb->max = ARRAY_SIZE(tlb->local);
130+ tlb->pages = tlb->local;
117131 tlb->nr = 0;
118−
119− return tlb;
132+ __tlb_alloc_page(tlb);
120133 }
121134
122135 static inline void
@@ -127,7 +140,8 @@ tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start, unsigned long end) · 4 unmodified lines
127140 /* keep the page table cache within bounds */
128141 check_pgt_cache();
129142
130− put_cpu_var(mmu_gathers);
143+ if (tlb->pages != tlb->local)
144+ free_pages((unsigned long)tlb->pages, 0);
131145 }
132146
133147 /*
@@ -162,15 +176,22 @@ tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) · 28 unmodified lines
162176 tlb_flush(tlb);
163177 }
164178
165−static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
179+static inline int __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
166180 {
167181 if (tlb_fast_mode(tlb)) {
168182 free_page_and_swap_cache(page);
169− } else {
170− tlb->pages[tlb->nr++] = page;
171− if (tlb->nr >= FREE_PTE_NR)
172− tlb_flush_mmu(tlb);
183+ return 1; /* avoid calling tlb_flush_mmu */
173184 }
185+
186+ tlb->pages[tlb->nr++] = page;
187+ VM_BUG_ON(tlb->nr > tlb->max);
188+ return tlb->max - tlb->nr;
189+}
190+
191+static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
192+{
193+ if (!__tlb_remove_page(tlb, page))
194+ tlb_flush_mmu(tlb);
174195 }
175196
176197 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte,
arch/arm/include/asm/ucontext.h+1−1
@@ -47,7 +47,7 @@ struct crunch_sigframe { · 46 unmodified lines
4747 #endif
4848
4949 #ifdef CONFIG_IWMMXT
50−/* iwmmxt_area is 0x98 bytes long, preceeded by 8 bytes of signature */
50+/* iwmmxt_area is 0x98 bytes long, preceded by 8 bytes of signature */
5151 #define IWMMXT_MAGIC 0x12ef842a
5252 #define IWMMXT_STORAGE_SIZE (IWMMXT_SIZE + 8)
5353
arch/arm/include/asm/unistd.h+6−0
@@ -396,6 +396,12 @@ · 395 unmodified lines
396396 #define __NR_fanotify_init (__NR_SYSCALL_BASE+367)
397397 #define __NR_fanotify_mark (__NR_SYSCALL_BASE+368)
398398 #define __NR_prlimit64 (__NR_SYSCALL_BASE+369)
399+#define __NR_name_to_handle_at (__NR_SYSCALL_BASE+370)
400+#define __NR_open_by_handle_at (__NR_SYSCALL_BASE+371)
401+#define __NR_clock_adjtime (__NR_SYSCALL_BASE+372)
402+#define __NR_syncfs (__NR_SYSCALL_BASE+373)
403+#define __NR_sendmmsg (__NR_SYSCALL_BASE+374)
404+#define __NR_setns (__NR_SYSCALL_BASE+375)
399405
400406 /*
401407 * The following SWIs are ARM private.
arch/arm/kernel/Makefile+3−2
@@ -24,12 +24,12 @@ obj-$(CONFIG_OC_ETM) += etm.o · 23 unmodified lines
2424
2525 obj-$(CONFIG_ISA_DMA_API) += dma.o
2626 obj-$(CONFIG_ARCH_ACORN) += ecard.o
27−obj-$(CONFIG_FIQ) += fiq.o
27+obj-$(CONFIG_FIQ) += fiq.o fiqasm.o
2828 obj-$(CONFIG_MODULES) += armksyms.o module.o
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_PM) += sleep.o
32+obj-$(CONFIG_PM_SLEEP) += sleep.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
@@ -44,6 +44,7 @@ obj-$(CONFIG_ARM_THUMBEE) += thumbee.o · 8 unmodified lines
4444 obj-$(CONFIG_KGDB) += kgdb.o
4545 obj-$(CONFIG_ARM_UNWIND) += unwind.o
4646 obj-$(CONFIG_HAVE_TCM) += tcm.o
47+obj-$(CONFIG_OF) += devtree.o
4748 obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
4849 obj-$(CONFIG_SWP_EMULATE) += swp_emulate.o
4950 CFLAGS_swp_emulate.o := -Wa,-march=armv7-a
arch/arm/kernel/calls.S+6−0
@@ -379,6 +379,12 @@ · 378 unmodified lines
379379 CALL(sys_fanotify_init)
380380 CALL(sys_fanotify_mark)
381381 CALL(sys_prlimit64)
382+/* 370 */ CALL(sys_name_to_handle_at)
383+ CALL(sys_open_by_handle_at)
384+ CALL(sys_clock_adjtime)
385+ CALL(sys_syncfs)
386+ CALL(sys_sendmmsg)
387+/* 375 */ CALL(sys_setns)
382388 #ifndef syscalls_counted
383389 .equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
384390 #define syscalls_counted
arch/arm/kernel/debug.S+1−18
@@ -25,7 +25,7 @@ · 24 unmodified lines
2525 .macro addruart, rp, rv
2626 .endm
2727
28−#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K)
28+#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_V6K) || defined(CONFIG_CPU_V7)
2929
3030 .macro senduart, rd, rx
3131 mcr p14, 0, \rd, c0, c5, 0
@@ -49,23 +49,6 @@ · 17 unmodified lines
4949 1002:
5050 .endm
5151
52−#elif defined(CONFIG_CPU_V7)
53−
54− .macro senduart, rd, rx
55− mcr p14, 0, \rd, c0, c5, 0
56− .endm
57−
58− .macro busyuart, rd, rx
59−busy: mrc p14, 0, pc, c0, c1, 0
60− bcs busy
61− .endm
62−
63− .macro waituart, rd, rx
64−wait: mrc p14, 0, pc, c0, c1, 0
65− bcs wait
66−
67− .endm
68−
6952 #elif defined(CONFIG_CPU_XSCALE)
7053
7154 .macro senduart, rd, rx
arch/arm/kernel/devtree.c+145−0
@@ -0,0 +1,145 @@
1+/*
2+ * linux/arch/arm/kernel/devtree.c
3+ *
4+ * Copyright (C) 2009 Canonical Ltd. <jeremy.kerr@canonical.com>
5+ *
6+ * This program is free software; you can redistribute it and/or modify
7+ * it under the terms of the GNU General Public License version 2 as
8+ * published by the Free Software Foundation.
9+ */
10+
11+#include <linux/init.h>
12+#include <linux/module.h>
13+#include <linux/errno.h>
14+#include <linux/types.h>
15+#include <linux/bootmem.h>
16+#include <linux/memblock.h>
17+#include <linux/of.h>
18+#include <linux/of_fdt.h>
19+#include <linux/of_irq.h>
20+#include <linux/of_platform.h>
21+
22+#include <asm/setup.h>
23+#include <asm/page.h>
24+#include <asm/mach/arch.h>
25+#include <asm/mach-types.h>
26+
27+void __init early_init_dt_add_memory_arch(u64 base, u64 size)
28+{
29+ arm_add_memory(base, size);
30+}
31+
32+void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
33+{
34+ return alloc_bootmem_align(size, align);
35+}
36+
37+void __init arm_dt_memblock_reserve(void)
38+{
39+ u64 *reserve_map, base, size;
40+
41+ if (!initial_boot_params)
42+ return;
43+
44+ /* Reserve the dtb region */
45+ memblock_reserve(virt_to_phys(initial_boot_params),
46+ be32_to_cpu(initial_boot_params->totalsize));
47+
48+ /*
49+ * Process the reserve map. This will probably overlap the initrd
50+ * and dtb locations which are already reserved, but overlaping
51+ * doesn't hurt anything
52+ */
53+ reserve_map = ((void*)initial_boot_params) +
54+ be32_to_cpu(initial_boot_params->off_mem_rsvmap);
55+ while (1) {
56+ base = be64_to_cpup(reserve_map++);
57+ size = be64_to_cpup(reserve_map++);
58+ if (!size)
59+ break;
60+ memblock_reserve(base, size);
61+ }
62+}
63+
64+/**
65+ * setup_machine_fdt - Machine setup when an dtb was passed to the kernel
66+ * @dt_phys: physical address of dt blob
67+ *
68+ * If a dtb was passed to the kernel in r2, then use it to choose the
69+ * correct machine_desc and to setup the system.
70+ */
71+struct machine_desc * __init setup_machine_fdt(unsigned int dt_phys)
72+{
73+ struct boot_param_header *devtree;
74+ struct machine_desc *mdesc, *mdesc_best = NULL;
75+ unsigned int score, mdesc_score = ~1;
76+ unsigned long dt_root;
77+ const char *model;
78+
79+ devtree = phys_to_virt(dt_phys);
80+
81+ /* check device tree validity */
82+ if (be32_to_cpu(devtree->magic) != OF_DT_HEADER)
83+ return NULL;
84+
85+ /* Search the mdescs for the 'best' compatible value match */
86+ initial_boot_params = devtree;
87+ dt_root = of_get_flat_dt_root();
88+ for_each_machine_desc(mdesc) {
89+ score = of_flat_dt_match(dt_root, mdesc->dt_compat);
90+ if (score > 0 && score < mdesc_score) {
91+ mdesc_best = mdesc;
92+ mdesc_score = score;
93+ }
94+ }
95+ if (!mdesc_best) {
96+ const char *prop;
97+ long size;
98+
99+ early_print("\nError: unrecognized/unsupported "
100+ "device tree compatible list:\n[ ");
101+
102+ prop = of_get_flat_dt_prop(dt_root, "compatible", &size);
103+ while (size > 0) {
104+ early_print("'%s' ", prop);
105+ size -= strlen(prop) + 1;
106+ prop += strlen(prop) + 1;
107+ }
108+ early_print("]\n\n");
109+
110+ dump_machine_table(); /* does not return */
111+ }
112+
113+ model = of_get_flat_dt_prop(dt_root, "model", NULL);
114+ if (!model)
115+ model = of_get_flat_dt_prop(dt_root, "compatible", NULL);
116+ if (!model)
117+ model = "<unknown>";
118+ pr_info("Machine: %s, model: %s\n", mdesc_best->name, model);
119+
120+ /* Retrieve various information from the /chosen node */
121+ of_scan_flat_dt(early_init_dt_scan_chosen, boot_command_line);
122+ /* Initialize {size,address}-cells info */
123+ of_scan_flat_dt(early_init_dt_scan_root, NULL);
124+ /* Setup memory, calling early_init_dt_add_memory_arch */
125+ of_scan_flat_dt(early_init_dt_scan_memory, NULL);
126+
127+ /* Change machine number to match the mdesc we're using */
128+ __machine_arch_type = mdesc_best->nr;
129+
130+ return mdesc_best;
131+}
132+
133+/**
134+ * irq_create_of_mapping - Hook to resolve OF irq specifier into a Linux irq#
135+ *
136+ * Currently the mapping mechanism is trivial; simple flat hwirq numbers are
137+ * mapped 1:1 onto Linux irq numbers. Cascaded irq controllers are not
138+ * supported.
139+ */
140+unsigned int irq_create_of_mapping(struct device_node *controller,
141+ const u32 *intspec, unsigned int intsize)
142+{
143+ return intspec[0];
144+}
145+EXPORT_SYMBOL_GPL(irq_create_of_mapping);
arch/arm/kernel/elf.c+12−5
@@ -40,15 +40,22 @@ EXPORT_SYMBOL(elf_check_arch); · 39 unmodified lines
4040 void elf_set_personality(const struct elf32_hdr *x)
4141 {
4242 unsigned int eflags = x->e_flags;
43− unsigned int personality = PER_LINUX_32BIT;
43+ unsigned int personality = current->personality & ~PER_MASK;
44+
45+ /*
46+ * We only support Linux ELF executables, so always set the
47+ * personality to LINUX.
48+ */
49+ personality |= PER_LINUX;
4450
4551 /*
4652 * APCS-26 is only valid for OABI executables
4753 */
48− if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN) {
49− if (eflags & EF_ARM_APCS_26)
50− personality = PER_LINUX;
51− }
54+ if ((eflags & EF_ARM_EABI_MASK) == EF_ARM_EABI_UNKNOWN &&
55+ (eflags & EF_ARM_APCS_26))
56+ personality &= ~ADDR_LIMIT_32BIT;
57+ else
58+ personality |= ADDR_LIMIT_32BIT;
5259
5360 set_personality(personality);
5461
arch/arm/kernel/etm.c+2−2
@@ -338,7 +338,7 @@ static struct miscdevice etb_miscdev = { · 337 unmodified lines
338338 .fops = &etb_fops,
339339 };
340340
341−static int __init etb_probe(struct amba_device *dev, const struct amba_id *id)
341+static int __devinit etb_probe(struct amba_device *dev, const struct amba_id *id)
342342 {
343343 struct tracectx *t = &tracer;
344344 int ret = 0;
@@ -530,7 +530,7 @@ static ssize_t trace_mode_store(struct kobject *kobj, · 185 unmodified lines
530530 static struct kobj_attribute trace_mode_attr =
531531 __ATTR(trace_mode, 0644, trace_mode_show, trace_mode_store);
532532
533−static int __init etm_probe(struct amba_device *dev, const struct amba_id *id)
533+static int __devinit etm_probe(struct amba_device *dev, const struct amba_id *id)
534534 {
535535 struct tracectx *t = &tracer;
536536 int ret = 0;
arch/arm/kernel/fiq.c+2−43
@@ -89,47 +89,6 @@ void set_fiq_handler(void *start, unsigned int length) · 88 unmodified lines
8989 flush_icache_range(0x1c, 0x1c + length);
9090 }
9191
92−/*
93− * Taking an interrupt in FIQ mode is death, so both these functions
94− * disable irqs for the duration. Note - these functions are almost
95− * entirely coded in assembly.
96− */
97−void __naked set_fiq_regs(struct pt_regs *regs)
98−{
99− register unsigned long tmp;
100− asm volatile (
101− "mov ip, sp\n\
102− stmfd sp!, {fp, ip, lr, pc}\n\
103− sub fp, ip, #4\n\
104− mrs %0, cpsr\n\
105− msr cpsr_c, %2 @ select FIQ mode\n\
106− mov r0, r0\n\
107− ldmia %1, {r8 - r14}\n\
108− msr cpsr_c, %0 @ return to SVC mode\n\
109− mov r0, r0\n\
110− ldmfd sp, {fp, sp, pc}"
111− : "=&r" (tmp)
112− : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
113−}
114−
115−void __naked get_fiq_regs(struct pt_regs *regs)
116−{
117− register unsigned long tmp;
118− asm volatile (
119− "mov ip, sp\n\
120− stmfd sp!, {fp, ip, lr, pc}\n\
121− sub fp, ip, #4\n\
122− mrs %0, cpsr\n\
123− msr cpsr_c, %2 @ select FIQ mode\n\
124− mov r0, r0\n\
125− stmia %1, {r8 - r14}\n\
126− msr cpsr_c, %0 @ return to SVC mode\n\
127− mov r0, r0\n\
128− ldmfd sp, {fp, sp, pc}"
129− : "=&r" (tmp)
130− : "r" (&regs->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE));
131−}
132−
13392 int claim_fiq(struct fiq_handler *f)
13493 {
13594 int ret = 0;
@@ -174,8 +133,8 @@ void disable_fiq(int fiq) · 38 unmodified lines
174133 }
175134
176135 EXPORT_SYMBOL(set_fiq_handler);
177−EXPORT_SYMBOL(set_fiq_regs);
178−EXPORT_SYMBOL(get_fiq_regs);
136+EXPORT_SYMBOL(__set_fiq_regs); /* defined in fiqasm.S */
137+EXPORT_SYMBOL(__get_fiq_regs); /* defined in fiqasm.S */
179138 EXPORT_SYMBOL(claim_fiq);
180139 EXPORT_SYMBOL(release_fiq);
181140 EXPORT_SYMBOL(enable_fiq);
arch/arm/kernel/fiqasm.S+49−0
@@ -0,0 +1,49 @@
1+/*
2+ * linux/arch/arm/kernel/fiqasm.S
3+ *
4+ * Derived from code originally in linux/arch/arm/kernel/fiq.c:
5+ *
6+ * Copyright (C) 1998 Russell King
7+ * Copyright (C) 1998, 1999 Phil Blundell
8+ * Copyright (C) 2011, Linaro Limited
9+ *
10+ * FIQ support written by Philip Blundell <philb@gnu.org>, 1998.
11+ *
12+ * FIQ support re-written by Russell King to be more generic
13+ *
14+ * v7/Thumb-2 compatibility modifications by Linaro Limited, 2011.
15+ */
16+
17+#include <linux/linkage.h>
18+#include <asm/assembler.h>
19+
20+/*
21+ * Taking an interrupt in FIQ mode is death, so both these functions
22+ * disable irqs for the duration.
23+ */
24+
25+ENTRY(__set_fiq_regs)
26+ mov r2, #PSR_I_BIT | PSR_F_BIT | FIQ_MODE
27+ mrs r1, cpsr
28+ msr cpsr_c, r2 @ select FIQ mode
29+ mov r0, r0 @ avoid hazard prior to ARMv4
30+ ldmia r0!, {r8 - r12}
31+ ldr sp, [r0], #4
32+ ldr lr, [r0]
33+ msr cpsr_c, r1 @ return to SVC mode
34+ mov r0, r0 @ avoid hazard prior to ARMv4
35+ mov pc, lr
36+ENDPROC(__set_fiq_regs)
37+
38+ENTRY(__get_fiq_regs)
39+ mov r2, #PSR_I_BIT | PSR_F_BIT | FIQ_MODE
40+ mrs r1, cpsr
41+ msr cpsr_c, r2 @ select FIQ mode
42+ mov r0, r0 @ avoid hazard prior to ARMv4
43+ stmia r0!, {r8 - r12}
44+ str sp, [r0], #4
45+ str lr, [r0]
46+ msr cpsr_c, r1 @ return to SVC mode
47+ mov r0, r0 @ avoid hazard prior to ARMv4
48+ mov pc, lr
49+ENDPROC(__get_fiq_regs)
arch/arm/kernel/head-common.S+18−6
@@ -15,6 +15,12 @@ · 14 unmodified lines
1515 #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)
1616 #define ATAG_CORE_SIZE_EMPTY ((2*4) >> 2)
1717
18+#ifdef CONFIG_CPU_BIG_ENDIAN
19+#define OF_DT_MAGIC 0xd00dfeed
20+#else
21+#define OF_DT_MAGIC 0xedfe0dd0 /* 0xd00dfeed in big-endian */
22+#endif
23+
1824 /*
1925 * Exception handling. Something went wrong and we can't proceed. We
2026 * ought to tell the user, but since we don't have any guarantee that
@@ -28,20 +34,26 @@ · 7 unmodified lines
2834
2935 /* Determine validity of the r2 atags pointer. The heuristic requires
3036 * that the pointer be aligned, in the first 16k of physical RAM and
31− * that the ATAG_CORE marker is first and present. Future revisions
37+ * that the ATAG_CORE marker is first and present. If CONFIG_OF_FLATTREE
38+ * is selected, then it will also accept a dtb pointer. Future revisions
3239 * of this function may be more lenient with the physical address and
3340 * may also be able to move the ATAGS block if necessary.
3441 *
3542 * Returns:
36− * r2 either valid atags pointer, or zero
43+ * r2 either valid atags pointer, valid dtb pointer, or zero
3744 * r5, r6 corrupted
3845 */
3946 __vet_atags:
4047 tst r2, #0x3 @ aligned?
4148 bne 1f
4249
43− ldr r5, [r2, #0] @ is first tag ATAG_CORE?
44− cmp r5, #ATAG_CORE_SIZE
50+ ldr r5, [r2, #0]
51+#ifdef CONFIG_OF_FLATTREE
52+ ldr r6, =OF_DT_MAGIC @ is it a DTB?
53+ cmp r5, r6
54+ beq 2f
55+#endif
56+ cmp r5, #ATAG_CORE_SIZE @ is first tag ATAG_CORE?
4557 cmpne r5, #ATAG_CORE_SIZE_EMPTY
4658 bne 1f
4759 ldr r5, [r2, #4]
@@ -49,7 +61,7 @@ __vet_atags: · 1 unmodified line
4961 cmp r5, r6
5062 bne 1f
5163
52− mov pc, lr @ atag pointer is ok
64+2: mov pc, lr @ atag/dtb pointer is ok
5365
5466 1: mov r2, #0
5567 mov pc, lr
@@ -61,7 +73,7 @@ ENDPROC(__vet_atags) · 5 unmodified lines
6173 *
6274 * r0 = cp#15 control register
6375 * r1 = machine ID
64− * r2 = atags pointer
76+ * r2 = atags/dtb pointer
6577 * r9 = processor ID
6678 */
6779 __INIT
arch/arm/kernel/head.S+9−6
@@ -59,7 +59,7 @@ · 58 unmodified lines
5959 *
6060 * This is normally called from the decompressor code. The requirements
6161 * are: MMU = off, D-cache = off, I-cache = dont care, r0 = 0,
62− * r1 = machine nr, r2 = atags pointer.
62+ * r1 = machine nr, r2 = atags or dtb pointer.
6363 *
6464 * This code is mostly position independent, so if you link the kernel at
6565 * 0xc0008000, you call this at __pa(0xc0008000).
@@ -91,7 +91,7 @@ ENTRY(stext) · 25 unmodified lines
9191 #endif
9292
9393 /*
94− * r1 = machine no, r2 = atags,
94+ * r1 = machine no, r2 = atags or dtb,
9595 * r8 = phys_offset, r9 = cpuid, r10 = procinfo
9696 */
9797 bl __vet_atags
@@ -113,6 +113,7 @@ ENTRY(stext) · 15 unmodified lines
113113 ldr r13, =__mmap_switched @ address to jump to after
114114 @ mmu has been enabled
115115 adr lr, BSYM(1f) @ return (PIC) address
116+ mov r8, r4 @ set TTBR1 to swapper_pg_dir
116117 ARM( add pc, r10, #PROCINFO_INITFUNC )
117118 THUMB( add r12, r10, #PROCINFO_INITFUNC )
118119 THUMB( mov pc, r12 )
@@ -302,8 +303,10 @@ ENTRY(secondary_startup) · 183 unmodified lines
302303 */
303304 adr r4, __secondary_data
304305 ldmia r4, {r5, r7, r12} @ address to jump to after
305− sub r4, r4, r5 @ mmu has been enabled
306− ldr r4, [r7, r4] @ get secondary_data.pgdir
306+ sub lr, r4, r5 @ mmu has been enabled
307+ ldr r4, [r7, lr] @ get secondary_data.pgdir
308+ add r7, r7, #4
309+ ldr r8, [r7, lr] @ get secondary_data.swapper_pg_dir
307310 adr lr, BSYM(__enable_mmu) @ return address
308311 mov r13, r12 @ __secondary_switched address
309312 ARM( add pc, r10, #PROCINFO_INITFUNC ) @ initialise processor
@@ -339,7 +342,7 @@ __secondary_data: · 29 unmodified lines
339342 *
340343 * r0 = cp#15 control register
341344 * r1 = machine ID
342− * r2 = atags pointer
345+ * r2 = atags or dtb pointer
343346 * r4 = page table pointer
344347 * r9 = processor ID
345348 * r13 = *virtual* address to jump to upon completion
@@ -376,7 +379,7 @@ ENDPROC(__enable_mmu) · 30 unmodified lines
376379 *
377380 * r0 = cp#15 control register
378381 * r1 = machine ID
379− * r2 = atags pointer
382+ * r2 = atags or dtb pointer
380383 * r9 = processor ID
381384 * r13 = *virtual* address to jump to upon completion
382385 *
arch/arm/kernel/hw_breakpoint.c+7−0
@@ -868,6 +868,13 @@ static void reset_ctrl_regs(void *info) · 867 unmodified lines
868868 */
869869 asm volatile("mcr p14, 0, %0, c1, c0, 4" : : "r" (0));
870870 isb();
871+
872+ /*
873+ * Clear any configured vector-catch events before
874+ * enabling monitor mode.
875+ */
876+ asm volatile("mcr p14, 0, %0, c0, c7, 0" : : "r" (0));
877+ isb();
871878 }
872879
873880 if (enable_monitor_mode())
arch/arm/kernel/kprobes-decode.c+463−324
@@ -34,9 +34,6 @@ · 33 unmodified lines
3434 *
3535 * *) If the PC is written to by the instruction, the
3636 * instruction must be fully simulated in software.
37− * If it is a conditional instruction, the handler
38− * will use insn[0] to copy its condition code to
39− * set r0 to 1 and insn[1] to "mov pc, lr" to return.
4037 *
4138 * *) Otherwise, a modified form of the instruction is
4239 * directly executed. Its handler calls the
@@ -68,13 +65,17 @@ · 25 unmodified lines
6865
6966 #define branch_displacement(insn) sign_extend(((insn) & 0xffffff) << 2, 25)
7067
68+#define is_r15(insn, bitpos) (((insn) & (0xf << bitpos)) == (0xf << bitpos))
69+
70+/*
71+ * Test if load/store instructions writeback the address register.
72+ * if P (bit 24) == 0 or W (bit 21) == 1
73+ */
74+#define is_writeback(insn) ((insn ^ 0x01000000) & 0x01200000)
75+
7176 #define PSR_fs (PSR_f|PSR_s)
7277
7378 #define KPROBE_RETURN_INSTRUCTION 0xe1a0f00e /* mov pc, lr */
74−#define SET_R0_TRUE_INSTRUCTION 0xe3a00001 /* mov r0, #1 */
75−
76−#define truecc_insn(insn) (((insn) & 0xf0000000) | \
77− (SET_R0_TRUE_INSTRUCTION & 0x0fffffff))
7879
7980 typedef long (insn_0arg_fn_t)(void);
8081 typedef long (insn_1arg_fn_t)(long);
@@ -419,14 +420,10 @@ insnslot_llret_4arg_rwflags(long r0, long r1, long r2, long r3, long *cpsr, · 338 unmodified lines
419420
420421 static void __kprobes simulate_bbl(struct kprobe *p, struct pt_regs *regs)
421422 {
422− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
423423 kprobe_opcode_t insn = p->opcode;
424424 long iaddr = (long)p->addr;
425425 int disp = branch_displacement(insn);
426426
427− if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
428− return;
429−
430427 if (insn & (1 << 24))
431428 regs->ARM_lr = iaddr + 4;
432429
@@ -446,14 +443,10 @@ static void __kprobes simulate_blx1(struct kprobe *p, struct pt_regs *regs) · 13 unmodified lines
446443
447444 static void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs)
448445 {
449− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
450446 kprobe_opcode_t insn = p->opcode;
451447 int rm = insn & 0xf;
452448 long rmv = regs->uregs[rm];
453449
454− if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
455− return;
456−
457450 if (insn & (1 << 5))
458451 regs->ARM_lr = (long)p->addr + 4;
459452
@@ -463,9 +456,16 @@ static void __kprobes simulate_blx2bx(struct kprobe *p, struct pt_regs *regs) · 3 unmodified lines
463456 regs->ARM_cpsr |= PSR_T_BIT;
464457 }
465458
459+static void __kprobes simulate_mrs(struct kprobe *p, struct pt_regs *regs)
460+{
461+ kprobe_opcode_t insn = p->opcode;
462+ int rd = (insn >> 12) & 0xf;
463+ unsigned long mask = 0xf8ff03df; /* Mask out execution state */
464+ regs->uregs[rd] = regs->ARM_cpsr & mask;
465+}
466+
466467 static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs)
467468 {
468− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
469469 kprobe_opcode_t insn = p->opcode;
470470 int rn = (insn >> 16) & 0xf;
471471 int lbit = insn & (1 << 20);
@@ -476,9 +476,6 @@ static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs) · 4 unmodified lines
476476 int reg_bit_vector;
477477 int reg_count;
478478
479− if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
480− return;
481−
482479 reg_count = 0;
483480 reg_bit_vector = insn & 0xffff;
484481 while (reg_bit_vector) {
@@ -510,11 +507,6 @@ static void __kprobes simulate_ldm1stm1(struct kprobe *p, struct pt_regs *regs) · 25 unmodified lines
510507
511508 static void __kprobes simulate_stm1_pc(struct kprobe *p, struct pt_regs *regs)
512509 {
513− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
514−
515− if (!insnslot_1arg_rflags(0, regs->ARM_cpsr, i_fn))
516− return;
517−
518510 regs->ARM_pc = (long)p->addr + str_pc_offset;
519511 simulate_ldm1stm1(p, regs);
520512 regs->ARM_pc = (long)p->addr + 4;
@@ -525,24 +517,16 @@ static void __kprobes simulate_mov_ipsp(struct kprobe *p, struct pt_regs *regs) · 4 unmodified lines
525517 regs->uregs[12] = regs->uregs[13];
526518 }
527519
528−static void __kprobes emulate_ldcstc(struct kprobe *p, struct pt_regs *regs)
529−{
530− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
531− kprobe_opcode_t insn = p->opcode;
532− int rn = (insn >> 16) & 0xf;
533− long rnv = regs->uregs[rn];
534−
535− /* Save Rn in case of writeback. */
536− regs->uregs[rn] = insnslot_1arg_rflags(rnv, regs->ARM_cpsr, i_fn);
537−}
538−
539520 static void __kprobes emulate_ldrd(struct kprobe *p, struct pt_regs *regs)
540521 {
541522 insn_2arg_fn_t *i_fn = (insn_2arg_fn_t *)&p->ainsn.insn[0];
542523 kprobe_opcode_t insn = p->opcode;
524+ long ppc = (long)p->addr + 8;
543525 int rd = (insn >> 12) & 0xf;
544526 int rn = (insn >> 16) & 0xf;
545527 int rm = insn & 0xf; /* rm may be invalid, don't care. */
528+ long rmv = (rm == 15) ? ppc : regs->uregs[rm];
529+ long rnv = (rn == 15) ? ppc : regs->uregs[rn];
546530
547531 /* Not following the C calling convention here, so need asm(). */
548532 __asm__ __volatile__ (
@@ -554,29 +538,36 @@ static void __kprobes emulate_ldrd(struct kprobe *p, struct pt_regs *regs) · 5 unmodified lines
554538 "str r0, %[rn] \n\t" /* in case of writeback */
555539 "str r2, %[rd0] \n\t"
556540 "str r3, %[rd1] \n\t"
557− : [rn] "+m" (regs->uregs[rn]),
541+ : [rn] "+m" (rnv),
558542 [rd0] "=m" (regs->uregs[rd]),
559543 [rd1] "=m" (regs->uregs[rd+1])
560− : [rm] "m" (regs->uregs[rm]),
544+ : [rm] "m" (rmv),
561545 [cpsr] "r" (regs->ARM_cpsr),
562546 [i_fn] "r" (i_fn)
563547 : "r0", "r1", "r2", "r3", "lr", "cc"
564548 );
549+ if (is_writeback(insn))
550+ regs->uregs[rn] = rnv;
565551 }
566552
567553 static void __kprobes emulate_strd(struct kprobe *p, struct pt_regs *regs)
568554 {
569555 insn_4arg_fn_t *i_fn = (insn_4arg_fn_t *)&p->ainsn.insn[0];
570556 kprobe_opcode_t insn = p->opcode;
557+ long ppc = (long)p->addr + 8;
571558 int rd = (insn >> 12) & 0xf;
572559 int rn = (insn >> 16) & 0xf;
573560 int rm = insn & 0xf;
574− long rnv = regs->uregs[rn];
575− long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */
561+ long rnv = (rn == 15) ? ppc : regs->uregs[rn];
562+ /* rm/rmv may be invalid, don't care. */
563+ long rmv = (rm == 15) ? ppc : regs->uregs[rm];
564+ long rnv_wb;
576565
577− regs->uregs[rn] = insnslot_4arg_rflags(rnv, rmv, regs->uregs[rd],
566+ rnv_wb = insnslot_4arg_rflags(rnv, rmv, regs->uregs[rd],
578567 regs->uregs[rd+1],
579568 regs->ARM_cpsr, i_fn);
569+ if (is_writeback(insn))
570+ regs->uregs[rn] = rnv_wb;
580571 }
581572
582573 static void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs)
@@ -594,7 +585,8 @@ static void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs) · 11 unmodified lines
594585 long cpsr = regs->ARM_cpsr;
595586
596587 fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn);
597− regs->uregs[rn] = fnr.r0; /* Save Rn in case of writeback. */
588+ if (rn != 15)
589+ regs->uregs[rn] = fnr.r0; /* Save Rn in case of writeback. */
598590 rdv = fnr.r1;
599591
600592 if (rd == 15) {
@@ -622,35 +614,11 @@ static void __kprobes emulate_str(struct kprobe *p, struct pt_regs *regs) · 21 unmodified lines
622614 long rdv = (rd == 15) ? iaddr + str_pc_offset : regs->uregs[rd];
623615 long rnv = (rn == 15) ? iaddr + 8 : regs->uregs[rn];
624616 long rmv = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */
617+ long rnv_wb;
625618
626− /* Save Rn in case of writeback. */
627− regs->uregs[rn] =
628− insnslot_3arg_rflags(rnv, rdv, rmv, regs->ARM_cpsr, i_fn);
629−}
630−
631−static void __kprobes emulate_mrrc(struct kprobe *p, struct pt_regs *regs)
632−{
633− insn_llret_0arg_fn_t *i_fn = (insn_llret_0arg_fn_t *)&p->ainsn.insn[0];
634− kprobe_opcode_t insn = p->opcode;
635− union reg_pair fnr;
636− int rd = (insn >> 12) & 0xf;
637− int rn = (insn >> 16) & 0xf;
638−
639− fnr.dr = insnslot_llret_0arg_rflags(regs->ARM_cpsr, i_fn);
640− regs->uregs[rn] = fnr.r0;
641− regs->uregs[rd] = fnr.r1;
642−}
643−
644−static void __kprobes emulate_mcrr(struct kprobe *p, struct pt_regs *regs)
645−{
646− insn_2arg_fn_t *i_fn = (insn_2arg_fn_t *)&p->ainsn.insn[0];
647− kprobe_opcode_t insn = p->opcode;
648− int rd = (insn >> 12) & 0xf;
649− int rn = (insn >> 16) & 0xf;
650− long rnv = regs->uregs[rn];
651− long rdv = regs->uregs[rd];
652−
653− insnslot_2arg_rflags(rnv, rdv, regs->ARM_cpsr, i_fn);
619+ rnv_wb = insnslot_3arg_rflags(rnv, rdv, rmv, regs->ARM_cpsr, i_fn);
620+ if (rn != 15)
621+ regs->uregs[rn] = rnv_wb; /* Save Rn in case of writeback. */
654622 }
655623
656624 static void __kprobes emulate_sat(struct kprobe *p, struct pt_regs *regs)
@@ -686,32 +654,32 @@ static void __kprobes emulate_none(struct kprobe *p, struct pt_regs *regs) · 29 unmodified lines
686654 insnslot_0arg_rflags(regs->ARM_cpsr, i_fn);
687655 }
688656
689−static void __kprobes emulate_rd12(struct kprobe *p, struct pt_regs *regs)
657+static void __kprobes emulate_nop(struct kprobe *p, struct pt_regs *regs)
690658 {
691− insn_0arg_fn_t *i_fn = (insn_0arg_fn_t *)&p->ainsn.insn[0];
692− kprobe_opcode_t insn = p->opcode;
693− int rd = (insn >> 12) & 0xf;
694−
695− regs->uregs[rd] = insnslot_0arg_rflags(regs->ARM_cpsr, i_fn);
696659 }
697660
698−static void __kprobes emulate_ird12(struct kprobe *p, struct pt_regs *regs)
661+static void __kprobes
662+emulate_rd12_modify(struct kprobe *p, struct pt_regs *regs)
699663 {
700664 insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
701665 kprobe_opcode_t insn = p->opcode;
702− int ird = (insn >> 12) & 0xf;
666+ int rd = (insn >> 12) & 0xf;
667+ long rdv = regs->uregs[rd];
703668
704− insnslot_1arg_rflags(regs->uregs[ird], regs->ARM_cpsr, i_fn);
669+ regs->uregs[rd] = insnslot_1arg_rflags(rdv, regs->ARM_cpsr, i_fn);
705670 }
706671
707−static void __kprobes emulate_rn16(struct kprobe *p, struct pt_regs *regs)
672+static void __kprobes
673+emulate_rd12rn0_modify(struct kprobe *p, struct pt_regs *regs)
708674 {
709− insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
675+ insn_2arg_fn_t *i_fn = (insn_2arg_fn_t *)&p->ainsn.insn[0];
710676 kprobe_opcode_t insn = p->opcode;
711− int rn = (insn >> 16) & 0xf;
677+ int rd = (insn >> 12) & 0xf;
678+ int rn = insn & 0xf;
679+ long rdv = regs->uregs[rd];
712680 long rnv = regs->uregs[rn];
713681
714− insnslot_1arg_rflags(rnv, regs->ARM_cpsr, i_fn);
682+ regs->uregs[rd] = insnslot_2arg_rflags(rdv, rnv, regs->ARM_cpsr, i_fn);
715683 }
716684
717685 static void __kprobes emulate_rd12rm0(struct kprobe *p, struct pt_regs *regs)
@@ -816,6 +784,17 @@ emulate_alu_imm_rwflags(struct kprobe *p, struct pt_regs *regs) · 98 unmodified lines
816784 regs->uregs[rd] = insnslot_1arg_rwflags(rnv, &regs->ARM_cpsr, i_fn);
817785 }
818786
787+static void __kprobes
788+emulate_alu_tests_imm(struct kprobe *p, struct pt_regs *regs)
789+{
790+ insn_1arg_fn_t *i_fn = (insn_1arg_fn_t *)&p->ainsn.insn[0];
791+ kprobe_opcode_t insn = p->opcode;
792+ int rn = (insn >> 16) & 0xf;
793+ long rnv = (rn == 15) ? (long)p->addr + 8 : regs->uregs[rn];
794+
795+ insnslot_1arg_rwflags(rnv, &regs->ARM_cpsr, i_fn);
796+}
797+
819798 static void __kprobes
820799 emulate_alu_rflags(struct kprobe *p, struct pt_regs *regs)
821800 {
@@ -852,14 +831,34 @@ emulate_alu_rwflags(struct kprobe *p, struct pt_regs *regs) · 30 unmodified lines
852831 insnslot_3arg_rwflags(rnv, rmv, rsv, &regs->ARM_cpsr, i_fn);
853832 }
854833
834+static void __kprobes
835+emulate_alu_tests(struct kprobe *p, struct pt_regs *regs)
836+{
837+ insn_3arg_fn_t *i_fn = (insn_3arg_fn_t *)&p->ainsn.insn[0];
838+ kprobe_opcode_t insn = p->opcode;
839+ long ppc = (long)p->addr + 8;
840+ int rn = (insn >> 16) & 0xf;
841+ int rs = (insn >> 8) & 0xf; /* rs/rsv may be invalid, don't care. */
842+ int rm = insn & 0xf;
843+ long rnv = (rn == 15) ? ppc : regs->uregs[rn];
844+ long rmv = (rm == 15) ? ppc : regs->uregs[rm];
845+ long rsv = regs->uregs[rs];
846+
847+ insnslot_3arg_rwflags(rnv, rmv, rsv, &regs->ARM_cpsr, i_fn);
848+}
849+
855850 static enum kprobe_insn __kprobes
856851 prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi)
857852 {
858− int ibit = (insn & (1 << 26)) ? 25 : 22;
853+ int not_imm = (insn & (1 << 26)) ? (insn & (1 << 25))
854+ : (~insn & (1 << 22));
855+
856+ if (is_writeback(insn) && is_r15(insn, 16))
857+ return INSN_REJECTED; /* Writeback to PC */
859858
860859 insn &= 0xfff00fff;
861860 insn |= 0x00001000; /* Rn = r0, Rd = r1 */
862− if (insn & (1 << ibit)) {
861+ if (not_imm) {
863862 insn &= ~0xf;
864863 insn |= 2; /* Rm = r2 */
865864 }
@@ -869,20 +868,40 @@ prep_emulate_ldr_str(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
869868 }
870869
871870 static enum kprobe_insn __kprobes
872−prep_emulate_rd12rm0(kprobe_opcode_t insn, struct arch_specific_insn *asi)
871+prep_emulate_rd12_modify(kprobe_opcode_t insn, struct arch_specific_insn *asi)
873872 {
874− insn &= 0xffff0ff0; /* Rd = r0, Rm = r0 */
873+ if (is_r15(insn, 12))
874+ return INSN_REJECTED; /* Rd is PC */
875+
876+ insn &= 0xffff0fff; /* Rd = r0 */
875877 asi->insn[0] = insn;
876− asi->insn_handler = emulate_rd12rm0;
878+ asi->insn_handler = emulate_rd12_modify;
877879 return INSN_GOOD;
878880 }
879881
880882 static enum kprobe_insn __kprobes
881−prep_emulate_rd12(kprobe_opcode_t insn, struct arch_specific_insn *asi)
883+prep_emulate_rd12rn0_modify(kprobe_opcode_t insn,
884+ struct arch_specific_insn *asi)
882885 {
883− insn &= 0xffff0fff; /* Rd = r0 */
886+ if (is_r15(insn, 12))
887+ return INSN_REJECTED; /* Rd is PC */
888+
889+ insn &= 0xffff0ff0; /* Rd = r0 */
890+ insn |= 0x00000001; /* Rn = r1 */
891+ asi->insn[0] = insn;
892+ asi->insn_handler = emulate_rd12rn0_modify;
893+ return INSN_GOOD;
894+}
895+
896+static enum kprobe_insn __kprobes
897+prep_emulate_rd12rm0(kprobe_opcode_t insn, struct arch_specific_insn *asi)
898+{
899+ if (is_r15(insn, 12))
900+ return INSN_REJECTED; /* Rd is PC */
901+
902+ insn &= 0xffff0ff0; /* Rd = r0, Rm = r0 */
884903 asi->insn[0] = insn;
885− asi->insn_handler = emulate_rd12;
904+ asi->insn_handler = emulate_rd12rm0;
886905 return INSN_GOOD;
887906 }
888907
@@ -890,6 +909,9 @@ static enum kprobe_insn __kprobes · 1 unmodified line
890909 prep_emulate_rd12rn16rm0_wflags(kprobe_opcode_t insn,
891910 struct arch_specific_insn *asi)
892911 {
912+ if (is_r15(insn, 12))
913+ return INSN_REJECTED; /* Rd is PC */
914+
893915 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */
894916 insn |= 0x00000001; /* Rm = r1 */
895917 asi->insn[0] = insn;
@@ -901,6 +923,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
901923 prep_emulate_rd16rs8rm0_wflags(kprobe_opcode_t insn,
902924 struct arch_specific_insn *asi)
903925 {
926+ if (is_r15(insn, 16))
927+ return INSN_REJECTED; /* Rd is PC */
928+
904929 insn &= 0xfff0f0f0; /* Rd = r0, Rs = r0 */
905930 insn |= 0x00000001; /* Rm = r1 */
906931 asi->insn[0] = insn;
@@ -912,6 +937,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
912937 prep_emulate_rd16rn12rs8rm0_wflags(kprobe_opcode_t insn,
913938 struct arch_specific_insn *asi)
914939 {
940+ if (is_r15(insn, 16))
941+ return INSN_REJECTED; /* Rd is PC */
942+
915943 insn &= 0xfff000f0; /* Rd = r0, Rn = r0 */
916944 insn |= 0x00000102; /* Rs = r1, Rm = r2 */
917945 asi->insn[0] = insn;
@@ -923,6 +951,9 @@ static enum kprobe_insn __kprobes · 5 unmodified lines
923951 prep_emulate_rdhi16rdlo12rs8rm0_wflags(kprobe_opcode_t insn,
924952 struct arch_specific_insn *asi)
925953 {
954+ if (is_r15(insn, 16) || is_r15(insn, 12))
955+ return INSN_REJECTED; /* RdHi or RdLo is PC */
956+
926957 insn &= 0xfff000f0; /* RdHi = r0, RdLo = r1 */
927958 insn |= 0x00001203; /* Rs = r2, Rm = r3 */
928959 asi->insn[0] = insn;
@@ -943,20 +974,13 @@ prep_emulate_rdhi16rdlo12rs8rm0_wflags(kprobe_opcode_t insn, · 14 unmodified lines
943974 static enum kprobe_insn __kprobes
944975 space_1111(kprobe_opcode_t insn, struct arch_specific_insn *asi)
945976 {
946− /* CPS mmod == 1 : 1111 0001 0000 xx10 xxxx xxxx xx0x xxxx */
947− /* RFE : 1111 100x x0x1 xxxx xxxx 1010 xxxx xxxx */
948− /* SRS : 1111 100x x1x0 1101 xxxx 0101 xxxx xxxx */
949− if ((insn & 0xfff30020) == 0xf1020000 ||
950− (insn & 0xfe500f00) == 0xf8100a00 ||
951− (insn & 0xfe5f0f00) == 0xf84d0500)
952− return INSN_REJECTED;
953−
954− /* PLD : 1111 01x1 x101 xxxx xxxx xxxx xxxx xxxx : */
955− if ((insn & 0xfd700000) == 0xf4500000) {
956− insn &= 0xfff0ffff; /* Rn = r0 */
957− asi->insn[0] = insn;
958− asi->insn_handler = emulate_rn16;
959− return INSN_GOOD;
977+ /* memory hint : 1111 0100 x001 xxxx xxxx xxxx xxxx xxxx : */
978+ /* PLDI : 1111 0100 x101 xxxx xxxx xxxx xxxx xxxx : */
979+ /* PLDW : 1111 0101 x001 xxxx xxxx xxxx xxxx xxxx : */
980+ /* PLD : 1111 0101 x101 xxxx xxxx xxxx xxxx xxxx : */
981+ if ((insn & 0xfe300000) == 0xf4100000) {
982+ asi->insn_handler = emulate_nop;
983+ return INSN_GOOD_NO_SLOT;
960984 }
961985
962986 /* BLX(1) : 1111 101x xxxx xxxx xxxx xxxx xxxx xxxx : */
@@ -965,41 +989,22 @@ space_1111(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
965989 return INSN_GOOD_NO_SLOT;
966990 }
967991
968− /* SETEND : 1111 0001 0000 0001 xxxx xxxx 0000 xxxx */
969− /* CDP2 : 1111 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
970− if ((insn & 0xffff00f0) == 0xf1010000 ||
971− (insn & 0xff000010) == 0xfe000000) {
972− asi->insn[0] = insn;
973− asi->insn_handler = emulate_none;
974− return INSN_GOOD;
975− }
992+ /* CPS : 1111 0001 0000 xxx0 xxxx xxxx xx0x xxxx */
993+ /* SETEND: 1111 0001 0000 0001 xxxx xxxx 0000 xxxx */
994+
995+ /* SRS : 1111 100x x1x0 xxxx xxxx xxxx xxxx xxxx */
996+ /* RFE : 1111 100x x0x1 xxxx xxxx xxxx xxxx xxxx */
976997
998+ /* Coprocessor instructions... */
977999 /* MCRR2 : 1111 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */
9781000 /* MRRC2 : 1111 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd != Rn) */
979− if ((insn & 0xffe00000) == 0xfc400000) {
980− insn &= 0xfff00fff; /* Rn = r0 */
981− insn |= 0x00001000; /* Rd = r1 */
982− asi->insn[0] = insn;
983− asi->insn_handler =
984− (insn & (1 << 20)) ? emulate_mrrc : emulate_mcrr;
985− return INSN_GOOD;
986− }
1001+ /* LDC2 : 1111 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
1002+ /* STC2 : 1111 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
1003+ /* CDP2 : 1111 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
1004+ /* MCR2 : 1111 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
1005+ /* MRC2 : 1111 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */
9871006
988− /* LDC2 : 1111 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
989− /* STC2 : 1111 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
990− if ((insn & 0xfe000000) == 0xfc000000) {
991− insn &= 0xfff0ffff; /* Rn = r0 */
992− asi->insn[0] = insn;
993− asi->insn_handler = emulate_ldcstc;
994− return INSN_GOOD;
995− }
996−
997− /* MCR2 : 1111 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
998− /* MRC2 : 1111 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */
999− insn &= 0xffff0fff; /* Rd = r0 */
1000− asi->insn[0] = insn;
1001− asi->insn_handler = (insn & (1 << 20)) ? emulate_rd12 : emulate_ird12;
1002− return INSN_GOOD;
1007+ return INSN_REJECTED;
10031008 }
10041009
10051010 static enum kprobe_insn __kprobes
@@ -1008,19 +1013,18 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
10081013 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx xxx0 xxxx */
10091014 if ((insn & 0x0f900010) == 0x01000000) {
10101015
1011− /* BXJ : cccc 0001 0010 xxxx xxxx xxxx 0010 xxxx */
1012− /* MSR : cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */
1013− if ((insn & 0x0ff000f0) == 0x01200020 ||
1014− (insn & 0x0fb000f0) == 0x01200000)
1015− return INSN_REJECTED;
1016−
1017− /* MRS : cccc 0001 0x00 xxxx xxxx xxxx 0000 xxxx */
1018− if ((insn & 0x0fb00010) == 0x01000000)
1019− return prep_emulate_rd12(insn, asi);
1016+ /* MRS cpsr : cccc 0001 0000 xxxx xxxx xxxx 0000 xxxx */
1017+ if ((insn & 0x0ff000f0) == 0x01000000) {
1018+ if (is_r15(insn, 12))
1019+ return INSN_REJECTED; /* Rd is PC */
1020+ asi->insn_handler = simulate_mrs;
1021+ return INSN_GOOD_NO_SLOT;
1022+ }
10201023
10211024 /* SMLALxy : cccc 0001 0100 xxxx xxxx xxxx 1xx0 xxxx */
10221025 if ((insn & 0x0ff00090) == 0x01400080)
1023− return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);
1026+ return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn,
1027+ asi);
10241028
10251029 /* SMULWy : cccc 0001 0010 xxxx xxxx xxxx 1x10 xxxx */
10261030 /* SMULxy : cccc 0001 0110 xxxx xxxx xxxx 1xx0 xxxx */
@@ -1029,24 +1033,29 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
10291033 return prep_emulate_rd16rs8rm0_wflags(insn, asi);
10301034
10311035 /* SMLAxy : cccc 0001 0000 xxxx xxxx xxxx 1xx0 xxxx : Q */
1032− /* SMLAWy : cccc 0001 0010 xxxx xxxx xxxx 0x00 xxxx : Q */
1033− return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1036+ /* SMLAWy : cccc 0001 0010 xxxx xxxx xxxx 1x00 xxxx : Q */
1037+ if ((insn & 0x0ff00090) == 0x01000080 ||
1038+ (insn & 0x0ff000b0) == 0x01200080)
1039+ return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
10341040
1041+ /* BXJ : cccc 0001 0010 xxxx xxxx xxxx 0010 xxxx */
1042+ /* MSR : cccc 0001 0x10 xxxx xxxx xxxx 0000 xxxx */
1043+ /* MRS spsr : cccc 0001 0100 xxxx xxxx xxxx 0000 xxxx */
1044+
1045+ /* Other instruction encodings aren't yet defined */
1046+ return INSN_REJECTED;
10351047 }
10361048
10371049 /* cccc 0001 0xx0 xxxx xxxx xxxx xxxx 0xx1 xxxx */
10381050 else if ((insn & 0x0f900090) == 0x01000010) {
10391051
1040− /* BKPT : 1110 0001 0010 xxxx xxxx xxxx 0111 xxxx */
1041− if ((insn & 0xfff000f0) == 0xe1200070)
1042− return INSN_REJECTED;
1043−
10441052 /* BLX(2) : cccc 0001 0010 xxxx xxxx xxxx 0011 xxxx */
10451053 /* BX : cccc 0001 0010 xxxx xxxx xxxx 0001 xxxx */
10461054 if ((insn & 0x0ff000d0) == 0x01200010) {
1047− asi->insn[0] = truecc_insn(insn);
1055+ if ((insn & 0x0ff000ff) == 0x0120003f)
1056+ return INSN_REJECTED; /* BLX pc */
10481057 asi->insn_handler = simulate_blx2bx;
1049− return INSN_GOOD;
1058+ return INSN_GOOD_NO_SLOT;
10501059 }
10511060
10521061 /* CLZ : cccc 0001 0110 xxxx xxxx xxxx 0001 xxxx */
@@ -1057,17 +1066,27 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 4 unmodified lines
10571066 /* QSUB : cccc 0001 0010 xxxx xxxx xxxx 0101 xxxx :Q */
10581067 /* QDADD : cccc 0001 0100 xxxx xxxx xxxx 0101 xxxx :Q */
10591068 /* QDSUB : cccc 0001 0110 xxxx xxxx xxxx 0101 xxxx :Q */
1060− return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1069+ if ((insn & 0x0f9000f0) == 0x01000050)
1070+ return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1071+
1072+ /* BKPT : 1110 0001 0010 xxxx xxxx xxxx 0111 xxxx */
1073+ /* SMC : cccc 0001 0110 xxxx xxxx xxxx 0111 xxxx */
1074+
1075+ /* Other instruction encodings aren't yet defined */
1076+ return INSN_REJECTED;
10611077 }
10621078
10631079 /* cccc 0000 xxxx xxxx xxxx xxxx xxxx 1001 xxxx */
1064− else if ((insn & 0x0f000090) == 0x00000090) {
1080+ else if ((insn & 0x0f0000f0) == 0x00000090) {
10651081
10661082 /* MUL : cccc 0000 0000 xxxx xxxx xxxx 1001 xxxx : */
10671083 /* MULS : cccc 0000 0001 xxxx xxxx xxxx 1001 xxxx :cc */
10681084 /* MLA : cccc 0000 0010 xxxx xxxx xxxx 1001 xxxx : */
10691085 /* MLAS : cccc 0000 0011 xxxx xxxx xxxx 1001 xxxx :cc */
10701086 /* UMAAL : cccc 0000 0100 xxxx xxxx xxxx 1001 xxxx : */
1087+ /* undef : cccc 0000 0101 xxxx xxxx xxxx 1001 xxxx : */
1088+ /* MLS : cccc 0000 0110 xxxx xxxx xxxx 1001 xxxx : */
1089+ /* undef : cccc 0000 0111 xxxx xxxx xxxx 1001 xxxx : */
10711090 /* UMULL : cccc 0000 1000 xxxx xxxx xxxx 1001 xxxx : */
10721091 /* UMULLS : cccc 0000 1001 xxxx xxxx xxxx 1001 xxxx :cc */
10731092 /* UMLAL : cccc 0000 1010 xxxx xxxx xxxx 1001 xxxx : */
@@ -1076,13 +1095,15 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
10761095 /* SMULLS : cccc 0000 1101 xxxx xxxx xxxx 1001 xxxx :cc */
10771096 /* SMLAL : cccc 0000 1110 xxxx xxxx xxxx 1001 xxxx : */
10781097 /* SMLALS : cccc 0000 1111 xxxx xxxx xxxx 1001 xxxx :cc */
1079− if ((insn & 0x0fe000f0) == 0x00000090) {
1080− return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1081− } else if ((insn & 0x0fe000f0) == 0x00200090) {
1082− return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1083− } else {
1084− return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);
1085− }
1098+ if ((insn & 0x00d00000) == 0x00500000)
1099+ return INSN_REJECTED;
1100+ else if ((insn & 0x00e00000) == 0x00000000)
1101+ return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1102+ else if ((insn & 0x00a00000) == 0x00200000)
1103+ return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1104+ else
1105+ return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn,
1106+ asi);
10861107 }
10871108
10881109 /* cccc 000x xxxx xxxx xxxx xxxx xxxx 1xx1 xxxx */
@@ -1090,23 +1111,45 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 1 unmodified line
10901111
10911112 /* SWP : cccc 0001 0000 xxxx xxxx xxxx 1001 xxxx */
10921113 /* SWPB : cccc 0001 0100 xxxx xxxx xxxx 1001 xxxx */
1093− /* LDRD : cccc 000x xxx0 xxxx xxxx xxxx 1101 xxxx */
1094− /* STRD : cccc 000x xxx0 xxxx xxxx xxxx 1111 xxxx */
1114+ /* ??? : cccc 0001 0x01 xxxx xxxx xxxx 1001 xxxx */
1115+ /* ??? : cccc 0001 0x10 xxxx xxxx xxxx 1001 xxxx */
1116+ /* ??? : cccc 0001 0x11 xxxx xxxx xxxx 1001 xxxx */
10951117 /* STREX : cccc 0001 1000 xxxx xxxx xxxx 1001 xxxx */
10961118 /* LDREX : cccc 0001 1001 xxxx xxxx xxxx 1001 xxxx */
1119+ /* STREXD: cccc 0001 1010 xxxx xxxx xxxx 1001 xxxx */
1120+ /* LDREXD: cccc 0001 1011 xxxx xxxx xxxx 1001 xxxx */
1121+ /* STREXB: cccc 0001 1100 xxxx xxxx xxxx 1001 xxxx */
1122+ /* LDREXB: cccc 0001 1101 xxxx xxxx xxxx 1001 xxxx */
1123+ /* STREXH: cccc 0001 1110 xxxx xxxx xxxx 1001 xxxx */
1124+ /* LDREXH: cccc 0001 1111 xxxx xxxx xxxx 1001 xxxx */
1125+
1126+ /* LDRD : cccc 000x xxx0 xxxx xxxx xxxx 1101 xxxx */
1127+ /* STRD : cccc 000x xxx0 xxxx xxxx xxxx 1111 xxxx */
10971128 /* LDRH : cccc 000x xxx1 xxxx xxxx xxxx 1011 xxxx */
10981129 /* STRH : cccc 000x xxx0 xxxx xxxx xxxx 1011 xxxx */
10991130 /* LDRSB : cccc 000x xxx1 xxxx xxxx xxxx 1101 xxxx */
11001131 /* LDRSH : cccc 000x xxx1 xxxx xxxx xxxx 1111 xxxx */
1101− if ((insn & 0x0fb000f0) == 0x01000090) {
1102− /* SWP/SWPB */
1103− return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1132+ if ((insn & 0x0f0000f0) == 0x01000090) {
1133+ if ((insn & 0x0fb000f0) == 0x01000090) {
1134+ /* SWP/SWPB */
1135+ return prep_emulate_rd12rn16rm0_wflags(insn,
1136+ asi);
1137+ } else {
1138+ /* STREX/LDREX variants and unallocaed space */
1139+ return INSN_REJECTED;
1140+ }
1141+
11041142 } else if ((insn & 0x0e1000d0) == 0x00000d0) {
11051143 /* STRD/LDRD */
1144+ if ((insn & 0x0000e000) == 0x0000e000)
1145+ return INSN_REJECTED; /* Rd is LR or PC */
1146+ if (is_writeback(insn) && is_r15(insn, 16))
1147+ return INSN_REJECTED; /* Writeback to PC */
1148+
11061149 insn &= 0xfff00fff;
11071150 insn |= 0x00002000; /* Rn = r0, Rd = r2 */
1108− if (insn & (1 << 22)) {
1109− /* I bit */
1151+ if (!(insn & (1 << 22))) {
1152+ /* Register index */
11101153 insn &= ~0xf;
11111154 insn |= 1; /* Rm = r1 */
11121155 }
@@ -1116,6 +1159,9 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
11161159 return INSN_GOOD;
11171160 }
11181161
1162+ /* LDRH/STRH/LDRSB/LDRSH */
1163+ if (is_r15(insn, 12))
1164+ return INSN_REJECTED; /* Rd is PC */
11191165 return prep_emulate_ldr_str(insn, asi);
11201166 }
11211167
@@ -1123,7 +1169,7 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 1 unmodified line
11231169
11241170 /*
11251171 * ALU op with S bit and Rd == 15 :
1126− * cccc 000x xxx1 xxxx 1111 xxxx xxxx xxxx
1172+ * cccc 000x xxx1 xxxx 1111 xxxx xxxx xxxx
11271173 */
11281174 if ((insn & 0x0e10f000) == 0x0010f000)
11291175 return INSN_REJECTED;
@@ -1152,22 +1198,61 @@ space_cccc_000x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 22 unmodified lines
11521198 insn |= 0x00000200; /* Rs = r2 */
11531199 }
11541200 asi->insn[0] = insn;
1155− asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */
1201+
1202+ if ((insn & 0x0f900000) == 0x01100000) {
1203+ /*
1204+ * TST : cccc 0001 0001 xxxx xxxx xxxx xxxx xxxx
1205+ * TEQ : cccc 0001 0011 xxxx xxxx xxxx xxxx xxxx
1206+ * CMP : cccc 0001 0101 xxxx xxxx xxxx xxxx xxxx
1207+ * CMN : cccc 0001 0111 xxxx xxxx xxxx xxxx xxxx
1208+ */
1209+ asi->insn_handler = emulate_alu_tests;
1210+ } else {
1211+ /* ALU ops which write to Rd */
1212+ asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */
11561213 emulate_alu_rwflags : emulate_alu_rflags;
1214+ }
11571215 return INSN_GOOD;
11581216 }
11591217
11601218 static enum kprobe_insn __kprobes
11611219 space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
11621220 {
1221+ /* MOVW : cccc 0011 0000 xxxx xxxx xxxx xxxx xxxx */
1222+ /* MOVT : cccc 0011 0100 xxxx xxxx xxxx xxxx xxxx */
1223+ if ((insn & 0x0fb00000) == 0x03000000)
1224+ return prep_emulate_rd12_modify(insn, asi);
1225+
1226+ /* hints : cccc 0011 0010 0000 xxxx xxxx xxxx xxxx */
1227+ if ((insn & 0x0fff0000) == 0x03200000) {
1228+ unsigned op2 = insn & 0x000000ff;
1229+ if (op2 == 0x01 || op2 == 0x04) {
1230+ /* YIELD : cccc 0011 0010 0000 xxxx xxxx 0000 0001 */
1231+ /* SEV : cccc 0011 0010 0000 xxxx xxxx 0000 0100 */
1232+ asi->insn[0] = insn;
1233+ asi->insn_handler = emulate_none;
1234+ return INSN_GOOD;
1235+ } else if (op2 <= 0x03) {
1236+ /* NOP : cccc 0011 0010 0000 xxxx xxxx 0000 0000 */
1237+ /* WFE : cccc 0011 0010 0000 xxxx xxxx 0000 0010 */
1238+ /* WFI : cccc 0011 0010 0000 xxxx xxxx 0000 0011 */
1239+ /*
1240+ * We make WFE and WFI true NOPs to avoid stalls due
1241+ * to missing events whilst processing the probe.
1242+ */
1243+ asi->insn_handler = emulate_nop;
1244+ return INSN_GOOD_NO_SLOT;
1245+ }
1246+ /* For DBG and unallocated hints it's safest to reject them */
1247+ return INSN_REJECTED;
1248+ }
1249+
11631250 /*
11641251 * MSR : cccc 0011 0x10 xxxx xxxx xxxx xxxx xxxx
1165− * Undef : cccc 0011 0100 xxxx xxxx xxxx xxxx xxxx
11661252 * ALU op with S bit and Rd == 15 :
11671253 * cccc 001x xxx1 xxxx 1111 xxxx xxxx xxxx
11681254 */
11691255 if ((insn & 0x0fb00000) == 0x03200000 || /* MSR */
1170− (insn & 0x0ff00000) == 0x03400000 || /* Undef */
11711256 (insn & 0x0e10f000) == 0x0210f000) /* ALU s-bit, R15 */
11721257 return INSN_REJECTED;
11731258
@@ -1178,10 +1263,22 @@ space_cccc_001x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 4 unmodified lines
11781263 * *S (bit 20) updates condition codes
11791264 * ADC/SBC/RSC reads the C flag
11801265 */
1181− insn &= 0xffff0fff; /* Rd = r0 */
1266+ insn &= 0xfff00fff; /* Rn = r0 and Rd = r0 */
11821267 asi->insn[0] = insn;
1183− asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */
1268+
1269+ if ((insn & 0x0f900000) == 0x03100000) {
1270+ /*
1271+ * TST : cccc 0011 0001 xxxx xxxx xxxx xxxx xxxx
1272+ * TEQ : cccc 0011 0011 xxxx xxxx xxxx xxxx xxxx
1273+ * CMP : cccc 0011 0101 xxxx xxxx xxxx xxxx xxxx
1274+ * CMN : cccc 0011 0111 xxxx xxxx xxxx xxxx xxxx
1275+ */
1276+ asi->insn_handler = emulate_alu_tests_imm;
1277+ } else {
1278+ /* ALU ops which write to Rd */
1279+ asi->insn_handler = (insn & (1 << 20)) ? /* S-bit */
11841280 emulate_alu_imm_rwflags : emulate_alu_imm_rflags;
1281+ }
11851282 return INSN_GOOD;
11861283 }
11871284
@@ -1190,6 +1287,8 @@ space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
11901287 {
11911288 /* SEL : cccc 0110 1000 xxxx xxxx xxxx 1011 xxxx GE: !!! */
11921289 if ((insn & 0x0ff000f0) == 0x068000b0) {
1290+ if (is_r15(insn, 12))
1291+ return INSN_REJECTED; /* Rd is PC */
11931292 insn &= 0xfff00ff0; /* Rd = r0, Rn = r0 */
11941293 insn |= 0x00000001; /* Rm = r1 */
11951294 asi->insn[0] = insn;
@@ -1203,6 +1302,8 @@ space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 7 unmodified lines
12031302 /* USAT16 : cccc 0110 1110 xxxx xxxx xxxx 0011 xxxx :Q */
12041303 if ((insn & 0x0fa00030) == 0x06a00010 ||
12051304 (insn & 0x0fb000f0) == 0x06a00030) {
1305+ if (is_r15(insn, 12))
1306+ return INSN_REJECTED; /* Rd is PC */
12061307 insn &= 0xffff0ff0; /* Rd = r0, Rm = r0 */
12071308 asi->insn[0] = insn;
12081309 asi->insn_handler = emulate_sat;
@@ -1211,57 +1312,101 @@ space_cccc_0110__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 2 unmodified lines
12111312
12121313 /* REV : cccc 0110 1011 xxxx xxxx xxxx 0011 xxxx */
12131314 /* REV16 : cccc 0110 1011 xxxx xxxx xxxx 1011 xxxx */
1315+ /* RBIT : cccc 0110 1111 xxxx xxxx xxxx 0011 xxxx */
12141316 /* REVSH : cccc 0110 1111 xxxx xxxx xxxx 1011 xxxx */
12151317 if ((insn & 0x0ff00070) == 0x06b00030 ||
1216− (insn & 0x0ff000f0) == 0x06f000b0)
1318+ (insn & 0x0ff00070) == 0x06f00030)
12171319 return prep_emulate_rd12rm0(insn, asi);
12181320
1321+ /* ??? : cccc 0110 0000 xxxx xxxx xxxx xxx1 xxxx : */
12191322 /* SADD16 : cccc 0110 0001 xxxx xxxx xxxx 0001 xxxx :GE */
12201323 /* SADDSUBX : cccc 0110 0001 xxxx xxxx xxxx 0011 xxxx :GE */
12211324 /* SSUBADDX : cccc 0110 0001 xxxx xxxx xxxx 0101 xxxx :GE */
12221325 /* SSUB16 : cccc 0110 0001 xxxx xxxx xxxx 0111 xxxx :GE */
12231326 /* SADD8 : cccc 0110 0001 xxxx xxxx xxxx 1001 xxxx :GE */
1327+ /* ??? : cccc 0110 0001 xxxx xxxx xxxx 1011 xxxx : */
1328+ /* ??? : cccc 0110 0001 xxxx xxxx xxxx 1101 xxxx : */
12241329 /* SSUB8 : cccc 0110 0001 xxxx xxxx xxxx 1111 xxxx :GE */
12251330 /* QADD16 : cccc 0110 0010 xxxx xxxx xxxx 0001 xxxx : */
12261331 /* QADDSUBX : cccc 0110 0010 xxxx xxxx xxxx 0011 xxxx : */
12271332 /* QSUBADDX : cccc 0110 0010 xxxx xxxx xxxx 0101 xxxx : */
12281333 /* QSUB16 : cccc 0110 0010 xxxx xxxx xxxx 0111 xxxx : */
12291334 /* QADD8 : cccc 0110 0010 xxxx xxxx xxxx 1001 xxxx : */
1335+ /* ??? : cccc 0110 0010 xxxx xxxx xxxx 1011 xxxx : */
1336+ /* ??? : cccc 0110 0010 xxxx xxxx xxxx 1101 xxxx : */
12301337 /* QSUB8 : cccc 0110 0010 xxxx xxxx xxxx 1111 xxxx : */
12311338 /* SHADD16 : cccc 0110 0011 xxxx xxxx xxxx 0001 xxxx : */
12321339 /* SHADDSUBX : cccc 0110 0011 xxxx xxxx xxxx 0011 xxxx : */
12331340 /* SHSUBADDX : cccc 0110 0011 xxxx xxxx xxxx 0101 xxxx : */
12341341 /* SHSUB16 : cccc 0110 0011 xxxx xxxx xxxx 0111 xxxx : */
12351342 /* SHADD8 : cccc 0110 0011 xxxx xxxx xxxx 1001 xxxx : */
1343+ /* ??? : cccc 0110 0011 xxxx xxxx xxxx 1011 xxxx : */
1344+ /* ??? : cccc 0110 0011 xxxx xxxx xxxx 1101 xxxx : */
12361345 /* SHSUB8 : cccc 0110 0011 xxxx xxxx xxxx 1111 xxxx : */
1346+ /* ??? : cccc 0110 0100 xxxx xxxx xxxx xxx1 xxxx : */
12371347 /* UADD16 : cccc 0110 0101 xxxx xxxx xxxx 0001 xxxx :GE */
12381348 /* UADDSUBX : cccc 0110 0101 xxxx xxxx xxxx 0011 xxxx :GE */
12391349 /* USUBADDX : cccc 0110 0101 xxxx xxxx xxxx 0101 xxxx :GE */
12401350 /* USUB16 : cccc 0110 0101 xxxx xxxx xxxx 0111 xxxx :GE */
12411351 /* UADD8 : cccc 0110 0101 xxxx xxxx xxxx 1001 xxxx :GE */
1352+ /* ??? : cccc 0110 0101 xxxx xxxx xxxx 1011 xxxx : */
1353+ /* ??? : cccc 0110 0101 xxxx xxxx xxxx 1101 xxxx : */
12421354 /* USUB8 : cccc 0110 0101 xxxx xxxx xxxx 1111 xxxx :GE */
12431355 /* UQADD16 : cccc 0110 0110 xxxx xxxx xxxx 0001 xxxx : */
12441356 /* UQADDSUBX : cccc 0110 0110 xxxx xxxx xxxx 0011 xxxx : */
12451357 /* UQSUBADDX : cccc 0110 0110 xxxx xxxx xxxx 0101 xxxx : */
12461358 /* UQSUB16 : cccc 0110 0110 xxxx xxxx xxxx 0111 xxxx : */
12471359 /* UQADD8 : cccc 0110 0110 xxxx xxxx xxxx 1001 xxxx : */
1360+ /* ??? : cccc 0110 0110 xxxx xxxx xxxx 1011 xxxx : */
1361+ /* ??? : cccc 0110 0110 xxxx xxxx xxxx 1101 xxxx : */
12481362 /* UQSUB8 : cccc 0110 0110 xxxx xxxx xxxx 1111 xxxx : */
12491363 /* UHADD16 : cccc 0110 0111 xxxx xxxx xxxx 0001 xxxx : */
12501364 /* UHADDSUBX : cccc 0110 0111 xxxx xxxx xxxx 0011 xxxx : */
12511365 /* UHSUBADDX : cccc 0110 0111 xxxx xxxx xxxx 0101 xxxx : */
12521366 /* UHSUB16 : cccc 0110 0111 xxxx xxxx xxxx 0111 xxxx : */
12531367 /* UHADD8 : cccc 0110 0111 xxxx xxxx xxxx 1001 xxxx : */
1368+ /* ??? : cccc 0110 0111 xxxx xxxx xxxx 1011 xxxx : */
1369+ /* ??? : cccc 0110 0111 xxxx xxxx xxxx 1101 xxxx : */
12541370 /* UHSUB8 : cccc 0110 0111 xxxx xxxx xxxx 1111 xxxx : */
1371+ if ((insn & 0x0f800010) == 0x06000010) {
1372+ if ((insn & 0x00300000) == 0x00000000 ||
1373+ (insn & 0x000000e0) == 0x000000a0 ||
1374+ (insn & 0x000000e0) == 0x000000c0)
1375+ return INSN_REJECTED; /* Unallocated space */
1376+ return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1377+ }
1378+
12551379 /* PKHBT : cccc 0110 1000 xxxx xxxx xxxx x001 xxxx : */
12561380 /* PKHTB : cccc 0110 1000 xxxx xxxx xxxx x101 xxxx : */
1381+ if ((insn & 0x0ff00030) == 0x06800010)
1382+ return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1383+
12571384 /* SXTAB16 : cccc 0110 1000 xxxx xxxx xxxx 0111 xxxx : */
1258− /* SXTB : cccc 0110 1010 xxxx xxxx xxxx 0111 xxxx : */
1385+ /* SXTB16 : cccc 0110 1000 1111 xxxx xxxx 0111 xxxx : */
1386+ /* ??? : cccc 0110 1001 xxxx xxxx xxxx 0111 xxxx : */
12591387 /* SXTAB : cccc 0110 1010 xxxx xxxx xxxx 0111 xxxx : */
1388+ /* SXTB : cccc 0110 1010 1111 xxxx xxxx 0111 xxxx : */
12601389 /* SXTAH : cccc 0110 1011 xxxx xxxx xxxx 0111 xxxx : */
1390+ /* SXTH : cccc 0110 1011 1111 xxxx xxxx 0111 xxxx : */
12611391 /* UXTAB16 : cccc 0110 1100 xxxx xxxx xxxx 0111 xxxx : */
1392+ /* UXTB16 : cccc 0110 1100 1111 xxxx xxxx 0111 xxxx : */
1393+ /* ??? : cccc 0110 1101 xxxx xxxx xxxx 0111 xxxx : */
12621394 /* UXTAB : cccc 0110 1110 xxxx xxxx xxxx 0111 xxxx : */
1395+ /* UXTB : cccc 0110 1110 1111 xxxx xxxx 0111 xxxx : */
12631396 /* UXTAH : cccc 0110 1111 xxxx xxxx xxxx 0111 xxxx : */
1264− return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1397+ /* UXTH : cccc 0110 1111 1111 xxxx xxxx 0111 xxxx : */
1398+ if ((insn & 0x0f8000f0) == 0x06800070) {
1399+ if ((insn & 0x00300000) == 0x00100000)
1400+ return INSN_REJECTED; /* Unallocated space */
1401+
1402+ if ((insn & 0x000f0000) == 0x000f0000)
1403+ return prep_emulate_rd12rm0(insn, asi);
1404+ else
1405+ return prep_emulate_rd12rn16rm0_wflags(insn, asi);
1406+ }
1407+
1408+ /* Other instruction encodings aren't yet defined */
1409+ return INSN_REJECTED;
12651410 }
12661411
12671412 static enum kprobe_insn __kprobes
@@ -1271,29 +1416,49 @@ space_cccc_0111__1(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 3 unmodified lines
12711416 if ((insn & 0x0ff000f0) == 0x03f000f0)
12721417 return INSN_REJECTED;
12731418
1274− /* USADA8 : cccc 0111 1000 xxxx xxxx xxxx 0001 xxxx */
1275− /* USAD8 : cccc 0111 1000 xxxx 1111 xxxx 0001 xxxx */
1276− if ((insn & 0x0ff000f0) == 0x07800010)
1277− return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1278−
12791419 /* SMLALD : cccc 0111 0100 xxxx xxxx xxxx 00x1 xxxx */
12801420 /* SMLSLD : cccc 0111 0100 xxxx xxxx xxxx 01x1 xxxx */
12811421 if ((insn & 0x0ff00090) == 0x07400010)
12821422 return prep_emulate_rdhi16rdlo12rs8rm0_wflags(insn, asi);
12831423
12841424 /* SMLAD : cccc 0111 0000 xxxx xxxx xxxx 00x1 xxxx :Q */
1425+ /* SMUAD : cccc 0111 0000 xxxx 1111 xxxx 00x1 xxxx :Q */
12851426 /* SMLSD : cccc 0111 0000 xxxx xxxx xxxx 01x1 xxxx :Q */
1427+ /* SMUSD : cccc 0111 0000 xxxx 1111 xxxx 01x1 xxxx : */
12861428 /* SMMLA : cccc 0111 0101 xxxx xxxx xxxx 00x1 xxxx : */
1287− /* SMMLS : cccc 0111 0101 xxxx xxxx xxxx 11x1 xxxx : */
1429+ /* SMMUL : cccc 0111 0101 xxxx 1111 xxxx 00x1 xxxx : */
1430+ /* USADA8 : cccc 0111 1000 xxxx xxxx xxxx 0001 xxxx : */
1431+ /* USAD8 : cccc 0111 1000 xxxx 1111 xxxx 0001 xxxx : */
12881432 if ((insn & 0x0ff00090) == 0x07000010 ||
12891433 (insn & 0x0ff000d0) == 0x07500010 ||
1290− (insn & 0x0ff000d0) == 0x075000d0)
1434+ (insn & 0x0ff000f0) == 0x07800010) {
1435+
1436+ if ((insn & 0x0000f000) == 0x0000f000)
1437+ return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1438+ else
1439+ return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
1440+ }
1441+
1442+ /* SMMLS : cccc 0111 0101 xxxx xxxx xxxx 11x1 xxxx : */
1443+ if ((insn & 0x0ff000d0) == 0x075000d0)
12911444 return prep_emulate_rd16rn12rs8rm0_wflags(insn, asi);
12921445
1293− /* SMUSD : cccc 0111 0000 xxxx xxxx xxxx 01x1 xxxx : */
1294− /* SMUAD : cccc 0111 0000 xxxx 1111 xxxx 00x1 xxxx :Q */
1295− /* SMMUL : cccc 0111 0101 xxxx 1111 xxxx 00x1 xxxx : */
1296− return prep_emulate_rd16rs8rm0_wflags(insn, asi);
1446+ /* SBFX : cccc 0111 101x xxxx xxxx xxxx x101 xxxx : */
1447+ /* UBFX : cccc 0111 111x xxxx xxxx xxxx x101 xxxx : */
1448+ if ((insn & 0x0fa00070) == 0x07a00050)
1449+ return prep_emulate_rd12rm0(insn, asi);
1450+
1451+ /* BFI : cccc 0111 110x xxxx xxxx xxxx x001 xxxx : */
1452+ /* BFC : cccc 0111 110x xxxx xxxx xxxx x001 1111 : */
1453+ if ((insn & 0x0fe00070) == 0x07c00010) {
1454+
1455+ if ((insn & 0x0000000f) == 0x0000000f)
1456+ return prep_emulate_rd12_modify(insn, asi);
1457+ else
1458+ return prep_emulate_rd12rn0_modify(insn, asi);
1459+ }
1460+
1461+ return INSN_REJECTED;
12971462 }
12981463
12991464 static enum kprobe_insn __kprobes
@@ -1307,6 +1472,10 @@ space_cccc_01xx(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 7 unmodified lines
13071472 /* STRB : cccc 01xx x1x0 xxxx xxxx xxxx xxxx xxxx */
13081473 /* STRBT : cccc 01x0 x110 xxxx xxxx xxxx xxxx xxxx */
13091474 /* STRT : cccc 01x0 x010 xxxx xxxx xxxx xxxx xxxx */
1475+
1476+ if ((insn & 0x00500000) == 0x00500000 && is_r15(insn, 12))
1477+ return INSN_REJECTED; /* LDRB into PC */
1478+
13101479 return prep_emulate_ldr_str(insn, asi);
13111480 }
13121481
@@ -1321,10 +1490,9 @@ space_cccc_100x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 8 unmodified lines
13211490
13221491 /* LDM(1) : cccc 100x x0x1 xxxx xxxx xxxx xxxx xxxx */
13231492 /* STM(1) : cccc 100x x0x0 xxxx xxxx xxxx xxxx xxxx */
1324− asi->insn[0] = truecc_insn(insn);
13251493 asi->insn_handler = ((insn & 0x108000) == 0x008000) ? /* STM & R15 */
13261494 simulate_stm1_pc : simulate_ldm1stm1;
1327− return INSN_GOOD;
1495+ return INSN_GOOD_NO_SLOT;
13281496 }
13291497
13301498 static enum kprobe_insn __kprobes
@@ -1332,58 +1500,117 @@ space_cccc_101x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 1 unmodified line
13321500 {
13331501 /* B : cccc 1010 xxxx xxxx xxxx xxxx xxxx xxxx */
13341502 /* BL : cccc 1011 xxxx xxxx xxxx xxxx xxxx xxxx */
1335− asi->insn[0] = truecc_insn(insn);
13361503 asi->insn_handler = simulate_bbl;
1337− return INSN_GOOD;
1504+ return INSN_GOOD_NO_SLOT;
13381505 }
13391506
13401507 static enum kprobe_insn __kprobes
1341−space_cccc_1100_010x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1508+space_cccc_11xx(kprobe_opcode_t insn, struct arch_specific_insn *asi)
13421509 {
1510+ /* Coprocessor instructions... */
13431511 /* MCRR : cccc 1100 0100 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */
13441512 /* MRRC : cccc 1100 0101 xxxx xxxx xxxx xxxx xxxx : (Rd!=Rn) */
1345− insn &= 0xfff00fff;
1346− insn |= 0x00001000; /* Rn = r0, Rd = r1 */
1347− asi->insn[0] = insn;
1348− asi->insn_handler = (insn & (1 << 20)) ? emulate_mrrc : emulate_mcrr;
1349− return INSN_GOOD;
1513+ /* LDC : cccc 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
1514+ /* STC : cccc 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
1515+ /* CDP : cccc 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
1516+ /* MCR : cccc 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
1517+ /* MRC : cccc 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */
1518+
1519+ /* SVC : cccc 1111 xxxx xxxx xxxx xxxx xxxx xxxx */
1520+
1521+ return INSN_REJECTED;
13501522 }
13511523
1352−static enum kprobe_insn __kprobes
1353−space_cccc_110x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1524+static unsigned long __kprobes __check_eq(unsigned long cpsr)
13541525 {
1355− /* LDC : cccc 110x xxx1 xxxx xxxx xxxx xxxx xxxx */
1356− /* STC : cccc 110x xxx0 xxxx xxxx xxxx xxxx xxxx */
1357− insn &= 0xfff0ffff; /* Rn = r0 */
1358− asi->insn[0] = insn;
1359− asi->insn_handler = emulate_ldcstc;
1360− return INSN_GOOD;
1526+ return cpsr & PSR_Z_BIT;
13611527 }
13621528
1363−static enum kprobe_insn __kprobes
1364−space_cccc_111x(kprobe_opcode_t insn, struct arch_specific_insn *asi)
1529+static unsigned long __kprobes __check_ne(unsigned long cpsr)
13651530 {
1366− /* BKPT : 1110 0001 0010 xxxx xxxx xxxx 0111 xxxx */
1367− /* SWI : cccc 1111 xxxx xxxx xxxx xxxx xxxx xxxx */
1368− if ((insn & 0xfff000f0) == 0xe1200070 ||
1369− (insn & 0x0f000000) == 0x0f000000)
1370− return INSN_REJECTED;
1531+ return (~cpsr) & PSR_Z_BIT;
1532+}
13711533
1372− /* CDP : cccc 1110 xxxx xxxx xxxx xxxx xxx0 xxxx */
1373− if ((insn & 0x0f000010) == 0x0e000000) {
1374− asi->insn[0] = insn;
1375− asi->insn_handler = emulate_none;
1376− return INSN_GOOD;
1377− }
1534+static unsigned long __kprobes __check_cs(unsigned long cpsr)
1535+{
1536+ return cpsr & PSR_C_BIT;
1537+}
13781538
1379− /* MCR : cccc 1110 xxx0 xxxx xxxx xxxx xxx1 xxxx */
1380− /* MRC : cccc 1110 xxx1 xxxx xxxx xxxx xxx1 xxxx */
1381− insn &= 0xffff0fff; /* Rd = r0 */
1382− asi->insn[0] = insn;
1383− asi->insn_handler = (insn & (1 << 20)) ? emulate_rd12 : emulate_ird12;
1384− return INSN_GOOD;
1539+static unsigned long __kprobes __check_cc(unsigned long cpsr)
1540+{
1541+ return (~cpsr) & PSR_C_BIT;
13851542 }
13861543
1544+static unsigned long __kprobes __check_mi(unsigned long cpsr)
1545+{
1546+ return cpsr & PSR_N_BIT;
1547+}
1548+
1549+static unsigned long __kprobes __check_pl(unsigned long cpsr)
1550+{
1551+ return (~cpsr) & PSR_N_BIT;
1552+}
1553+
1554+static unsigned long __kprobes __check_vs(unsigned long cpsr)
1555+{
1556+ return cpsr & PSR_V_BIT;
1557+}
1558+
1559+static unsigned long __kprobes __check_vc(unsigned long cpsr)
1560+{
1561+ return (~cpsr) & PSR_V_BIT;
1562+}
1563+
1564+static unsigned long __kprobes __check_hi(unsigned long cpsr)
1565+{
1566+ cpsr &= ~(cpsr >> 1); /* PSR_C_BIT &= ~PSR_Z_BIT */
1567+ return cpsr & PSR_C_BIT;
1568+}
1569+
1570+static unsigned long __kprobes __check_ls(unsigned long cpsr)
1571+{
1572+ cpsr &= ~(cpsr >> 1); /* PSR_C_BIT &= ~PSR_Z_BIT */
1573+ return (~cpsr) & PSR_C_BIT;
1574+}
1575+
1576+static unsigned long __kprobes __check_ge(unsigned long cpsr)
1577+{
1578+ cpsr ^= (cpsr << 3); /* PSR_N_BIT ^= PSR_V_BIT */
1579+ return (~cpsr) & PSR_N_BIT;
1580+}
1581+
1582+static unsigned long __kprobes __check_lt(unsigned long cpsr)
1583+{
1584+ cpsr ^= (cpsr << 3); /* PSR_N_BIT ^= PSR_V_BIT */
1585+ return cpsr & PSR_N_BIT;
1586+}
1587+
1588+static unsigned long __kprobes __check_gt(unsigned long cpsr)
1589+{
1590+ unsigned long temp = cpsr ^ (cpsr << 3); /* PSR_N_BIT ^= PSR_V_BIT */
1591+ temp |= (cpsr << 1); /* PSR_N_BIT |= PSR_Z_BIT */
1592+ return (~temp) & PSR_N_BIT;
1593+}
1594+
1595+static unsigned long __kprobes __check_le(unsigned long cpsr)
1596+{
1597+ unsigned long temp = cpsr ^ (cpsr << 3); /* PSR_N_BIT ^= PSR_V_BIT */
1598+ temp |= (cpsr << 1); /* PSR_N_BIT |= PSR_Z_BIT */
1599+ return temp & PSR_N_BIT;
1600+}
1601+
1602+static unsigned long __kprobes __check_al(unsigned long cpsr)
1603+{
1604+ return true;
1605+}
1606+
1607+static kprobe_check_cc * const condition_checks[16] = {
1608+ &__check_eq, &__check_ne, &__check_cs, &__check_cc,
1609+ &__check_mi, &__check_pl, &__check_vs, &__check_vc,
1610+ &__check_hi, &__check_ls, &__check_ge, &__check_lt,
1611+ &__check_gt, &__check_le, &__check_al, &__check_al
1612+};
1613+
13871614 /* Return:
13881615 * INSN_REJECTED If instruction is one not allowed to kprobe,
13891616 * INSN_GOOD If instruction is supported and uses instruction slot,
@@ -1399,133 +1626,45 @@ space_cccc_111x(kprobe_opcode_t insn, struct arch_specific_insn *asi) · 9 unmodified lines
13991626 enum kprobe_insn __kprobes
14001627 arm_kprobe_decode_insn(kprobe_opcode_t insn, struct arch_specific_insn *asi)
14011628 {
1629+ asi->insn_check_cc = condition_checks[insn>>28];
14021630 asi->insn[1] = KPROBE_RETURN_INSTRUCTION;
14031631
1404− if ((insn & 0xf0000000) == 0xf0000000) {
1632+ if ((insn & 0xf0000000) == 0xf0000000)
14051633
14061634 return space_1111(insn, asi);
14071635
1408− } else if ((insn & 0x0e000000) == 0x00000000) {
1636+ else if ((insn & 0x0e000000) == 0x00000000)
14091637
14101638 return space_cccc_000x(insn, asi);
14111639
1412− } else if ((insn & 0x0e000000) == 0x02000000) {
1640+ else if ((insn & 0x0e000000) == 0x02000000)
14131641
14141642 return space_cccc_001x(insn, asi);
14151643
1416− } else if ((insn & 0x0f000010) == 0x06000010) {
1644+ else if ((insn & 0x0f000010) == 0x06000010)
14171645
14181646 return space_cccc_0110__1(insn, asi);
14191647
1420− } else if ((insn & 0x0f000010) == 0x07000010) {
1648+ else if ((insn & 0x0f000010) == 0x07000010)
14211649
14221650 return space_cccc_0111__1(insn, asi);
14231651
1424− } else if ((insn & 0x0c000000) == 0x04000000) {
1652+ else if ((insn & 0x0c000000) == 0x04000000)
14251653
14261654 return space_cccc_01xx(insn, asi);
14271655
1428− } else if ((insn & 0x0e000000) == 0x08000000) {
1656+ else if ((insn & 0x0e000000) == 0x08000000)
14291657
14301658 return space_cccc_100x(insn, asi);
14311659
1432− } else if ((insn & 0x0e000000) == 0x0a000000) {
1660+ else if ((insn & 0x0e000000) == 0x0a000000)
14331661
14341662 return space_cccc_101x(insn, asi);
14351663
1436− } else if ((insn & 0x0fe00000) == 0x0c400000) {
1437−
1438− return space_cccc_1100_010x(insn, asi);
1439−
1440− } else if ((insn & 0x0e000000) == 0x0c000000) {
1441−
1442− return space_cccc_110x(insn, asi);
1443−
1444− }
1445−
1446− return space_cccc_111x(insn, asi);
1664+ return space_cccc_11xx(insn, asi);
14471665 }
14481666
14491667 void __init arm_kprobe_decode_init(void)
14501668 {
14511669 find_str_pc_offset();
14521670 }
1453−
1454−
1455−/*
1456− * All ARM instructions listed below.
1457− *
1458− * Instructions and their general purpose registers are given.
1459− * If a particular register may not use R15, it is prefixed with a "!".
1460− * If marked with a "*" means the value returned by reading R15
1461− * is implementation defined.
1462− *
1463− * ADC/ADD/AND/BIC/CMN/CMP/EOR/MOV/MVN/ORR/RSB/RSC/SBC/SUB/TEQ
1464− * TST: Rd, Rn, Rm, !Rs
1465− * BX: Rm
1466− * BLX(2): !Rm
1467− * BX: Rm (R15 legal, but discouraged)
1468− * BXJ: !Rm,
1469− * CLZ: !Rd, !Rm
1470− * CPY: Rd, Rm
1471− * LDC/2,STC/2 immediate offset & unindex: Rn
1472− * LDC/2,STC/2 immediate pre/post-indexed: !Rn
1473− * LDM(1/3): !Rn, register_list
1474− * LDM(2): !Rn, !register_list
1475− * LDR,STR,PLD immediate offset: Rd, Rn
1476− * LDR,STR,PLD register offset: Rd, Rn, !Rm
1477− * LDR,STR,PLD scaled register offset: Rd, !Rn, !Rm
1478− * LDR,STR immediate pre/post-indexed: Rd, !Rn
1479− * LDR,STR register pre/post-indexed: Rd, !Rn, !Rm
1480− * LDR,STR scaled register pre/post-indexed: Rd, !Rn, !Rm
1481− * LDRB,STRB immediate offset: !Rd, Rn
1482− * LDRB,STRB register offset: !Rd, Rn, !Rm
1483− * LDRB,STRB scaled register offset: !Rd, !Rn, !Rm
1484− * LDRB,STRB immediate pre/post-indexed: !Rd, !Rn
1485− * LDRB,STRB register pre/post-indexed: !Rd, !Rn, !Rm
1486− * LDRB,STRB scaled register pre/post-indexed: !Rd, !Rn, !Rm
1487− * LDRT,LDRBT,STRBT immediate pre/post-indexed: !Rd, !Rn
1488− * LDRT,LDRBT,STRBT register pre/post-indexed: !Rd, !Rn, !Rm
1489− * LDRT,LDRBT,STRBT scaled register pre/post-indexed: !Rd, !Rn, !Rm
1490− * LDRH/SH/SB/D,STRH/SH/SB/D immediate offset: !Rd, Rn
1491− * LDRH/SH/SB/D,STRH/SH/SB/D register offset: !Rd, Rn, !Rm
1492− * LDRH/SH/SB/D,STRH/SH/SB/D immediate pre/post-indexed: !Rd, !Rn
1493− * LDRH/SH/SB/D,STRH/SH/SB/D register pre/post-indexed: !Rd, !Rn, !Rm
1494− * LDREX: !Rd, !Rn
1495− * MCR/2: !Rd
1496− * MCRR/2,MRRC/2: !Rd, !Rn
1497− * MLA: !Rd, !Rn, !Rm, !Rs
1498− * MOV: Rd
1499− * MRC/2: !Rd (if Rd==15, only changes cond codes, not the register)
1500− * MRS,MSR: !Rd
1501− * MUL: !Rd, !Rm, !Rs
1502− * PKH{BT,TB}: !Rd, !Rn, !Rm
1503− * QDADD,[U]QADD/16/8/SUBX: !Rd, !Rm, !Rn
1504− * QDSUB,[U]QSUB/16/8/ADDX: !Rd, !Rm, !Rn
1505− * REV/16/SH: !Rd, !Rm
1506− * RFE: !Rn
1507− * {S,U}[H]ADD{16,8,SUBX},{S,U}[H]SUB{16,8,ADDX}: !Rd, !Rn, !Rm
1508− * SEL: !Rd, !Rn, !Rm
1509− * SMLA<x><y>,SMLA{D,W<y>},SMLSD,SMML{A,S}: !Rd, !Rn, !Rm, !Rs
1510− * SMLAL<x><y>,SMLA{D,LD},SMLSLD,SMMULL,SMULW<y>: !RdHi, !RdLo, !Rm, !Rs
1511− * SMMUL,SMUAD,SMUL<x><y>,SMUSD: !Rd, !Rm, !Rs
1512− * SSAT/16: !Rd, !Rm
1513− * STM(1/2): !Rn, register_list* (R15 in reg list not recommended)
1514− * STRT immediate pre/post-indexed: Rd*, !Rn
1515− * STRT register pre/post-indexed: Rd*, !Rn, !Rm
1516− * STRT scaled register pre/post-indexed: Rd*, !Rn, !Rm
1517− * STREX: !Rd, !Rn, !Rm
1518− * SWP/B: !Rd, !Rn, !Rm
1519− * {S,U}XTA{B,B16,H}: !Rd, !Rn, !Rm
1520− * {S,U}XT{B,B16,H}: !Rd, !Rm
1521− * UM{AA,LA,UL}L: !RdHi, !RdLo, !Rm, !Rs
1522− * USA{D8,A8,T,T16}: !Rd, !Rm, !Rs
1523− *
1524− * May transfer control by writing R15 (possible mode changes or alternate
1525− * mode accesses marked by "*"):
1526− * ALU op (* with s-bit), B, BL, BKPT, BLX(1/2), BX, BXJ, CPS*, CPY,
1527− * LDM(1), LDM(2/3)*, LDR, MOV, RFE*, SWI*
1528− *
1529− * Instructions that do not take general registers, nor transfer control:
1530− * CDP/2, SETEND, SRS*
1531− */
arch/arm/kernel/kprobes.c+2−1
@@ -134,7 +134,8 @@ static void __kprobes singlestep(struct kprobe *p, struct pt_regs *regs, · 133 unmodified lines
134134 struct kprobe_ctlblk *kcb)
135135 {
136136 regs->ARM_pc += 4;
137− p->ainsn.insn_handler(p, regs);
137+ if (p->ainsn.insn_check_cc(regs->ARM_cpsr))
138+ p->ainsn.insn_handler(p, regs);
138139 }
139140
140141 /*
arch/arm/kernel/leds.c+16−12
@@ -10,6 +10,7 @@ · 9 unmodified lines
1010 #include <linux/module.h>
1111 #include <linux/init.h>
1212 #include <linux/sysdev.h>
13+#include <linux/syscore_ops.h>
1314
1415 #include <asm/leds.h>
1516
@@ -69,36 +70,37 @@ static ssize_t leds_store(struct sys_device *dev, · 53 unmodified lines
6970
7071 static SYSDEV_ATTR(event, 0200, NULL, leds_store);
7172
72−static int leds_suspend(struct sys_device *dev, pm_message_t state)
73+static struct sysdev_class leds_sysclass = {
74+ .name = "leds",
75+};
76+
77+static struct sys_device leds_device = {
78+ .id = 0,
79+ .cls = &leds_sysclass,
80+};
81+
82+static int leds_suspend(void)
7383 {
7484 leds_event(led_stop);
7585 return 0;
7686 }
7787
78−static int leds_resume(struct sys_device *dev)
88+static void leds_resume(void)
7989 {
8090 leds_event(led_start);
81− return 0;
8291 }
8392
84−static int leds_shutdown(struct sys_device *dev)
93+static void leds_shutdown(void)
8594 {
8695 leds_event(led_halted);
87− return 0;
8896 }
8997
90−static struct sysdev_class leds_sysclass = {
91− .name = "leds",
98+static struct syscore_ops leds_syscore_ops = {
9299 .shutdown = leds_shutdown,
93100 .suspend = leds_suspend,
94101 .resume = leds_resume,
95102 };
96103
97−static struct sys_device leds_device = {
98− .id = 0,
99− .cls = &leds_sysclass,
100−};
101−
102104 static int __init leds_init(void)
103105 {
104106 int ret;
@@ -107,6 +109,8 @@ static int __init leds_init(void) · 2 unmodified lines
107109 ret = sysdev_register(&leds_device);
108110 if (ret == 0)
109111 ret = sysdev_create_file(&leds_device, &attr_event);
112+ if (ret == 0)
113+ register_syscore_ops(&leds_syscore_ops);
110114 return ret;
111115 }
112116
arch/arm/kernel/perf_event.c+27−14
@@ -79,6 +79,7 @@ struct arm_pmu { · 78 unmodified lines
7979 void (*write_counter)(int idx, u32 val);
8080 void (*start)(void);
8181 void (*stop)(void);
82+ void (*reset)(void *);
8283 const unsigned (*cache_map)[PERF_COUNT_HW_CACHE_MAX]
8384 [PERF_COUNT_HW_CACHE_OP_MAX]
8485 [PERF_COUNT_HW_CACHE_RESULT_MAX];
@@ -204,11 +205,9 @@ armpmu_event_set_period(struct perf_event *event, · 119 unmodified lines
204205 static u64
205206 armpmu_event_update(struct perf_event *event,
206207 struct hw_perf_event *hwc,
207− int idx)
208+ int idx, int overflow)
208209 {
209− int shift = 64 - 32;
210− s64 prev_raw_count, new_raw_count;
211− u64 delta;
210+ u64 delta, prev_raw_count, new_raw_count;
212211
213212 again:
214213 prev_raw_count = local64_read(&hwc->prev_count);
@@ -218,8 +217,13 @@ again: · 3 unmodified lines
218217 new_raw_count) != prev_raw_count)
219218 goto again;
220219
221− delta = (new_raw_count << shift) - (prev_raw_count << shift);
222− delta >>= shift;
220+ new_raw_count &= armpmu->max_period;
221+ prev_raw_count &= armpmu->max_period;
222+
223+ if (overflow)
224+ delta = armpmu->max_period - prev_raw_count + new_raw_count + 1;
225+ else
226+ delta = new_raw_count - prev_raw_count;
223227
224228 local64_add(delta, &event->count);
225229 local64_sub(delta, &hwc->period_left);
@@ -236,7 +240,7 @@ armpmu_read(struct perf_event *event) · 10 unmodified lines
236240 if (hwc->idx < 0)
237241 return;
238242
239− armpmu_event_update(event, hwc, hwc->idx);
243+ armpmu_event_update(event, hwc, hwc->idx, 0);
240244 }
241245
242246 static void
@@ -254,7 +258,7 @@ armpmu_stop(struct perf_event *event, int flags) · 11 unmodified lines
254258 if (!(hwc->state & PERF_HES_STOPPED)) {
255259 armpmu->disable(hwc, hwc->idx);
256260 barrier(); /* why? */
257− armpmu_event_update(event, hwc, hwc->idx);
261+ armpmu_event_update(event, hwc, hwc->idx, 0);
258262 hwc->state |= PERF_HES_STOPPED | PERF_HES_UPTODATE;
259263 }
260264 }
@@ -556,11 +560,6 @@ static int armpmu_event_init(struct perf_event *event) · 295 unmodified lines
556560 event->destroy = hw_perf_event_destroy;
557561
558562 if (!atomic_inc_not_zero(&active_events)) {
559− if (atomic_read(&active_events) > armpmu->num_events) {
560− atomic_dec(&active_events);
561− return -ENOSPC;
562− }
563−
564563 mutex_lock(&pmu_reserve_mutex);
565564 if (atomic_read(&active_events) == 0) {
566565 err = armpmu_reserve_hardware();
@@ -624,6 +623,19 @@ static struct pmu pmu = { · 57 unmodified lines
624623 #include "perf_event_v6.c"
625624 #include "perf_event_v7.c"
626625
626+/*
627+ * Ensure the PMU has sane values out of reset.
628+ * This requires SMP to be available, so exists as a separate initcall.
629+ */
630+static int __init
631+armpmu_reset(void)
632+{
633+ if (armpmu && armpmu->reset)
634+ return on_each_cpu(armpmu->reset, NULL, 1);
635+ return 0;
636+}
637+arch_initcall(armpmu_reset);
638+
627639 static int __init
628640 init_hw_perf_events(void)
629641 {
@@ -729,7 +741,8 @@ perf_callchain_user(struct perf_callchain_entry *entry, struct pt_regs *regs) · 99 unmodified lines
729741
730742 tail = (struct frame_tail __user *)regs->ARM_fp - 1;
731743
732− while (tail && !((unsigned long)tail & 0x3))
744+ while ((entry->nr < PERF_MAX_STACK_DEPTH) &&
745+ tail && !((unsigned long)tail & 0x3))
733746 tail = user_backtrace(tail, entry);
734747 }
735748
arch/arm/kernel/perf_event_v6.c+1−1
@@ -474,7 +474,7 @@ armv6pmu_handle_irq(int irq_num, · 473 unmodified lines
474474 continue;
475475
476476 hwc = &event->hw;
477− armpmu_event_update(event, hwc, idx);
477+ armpmu_event_update(event, hwc, idx, 1);
478478 data.period = event->hw.last_period;
479479 if (!armpmu_event_set_period(event, hwc, idx))
480480 continue;
arch/arm/kernel/perf_event_v7.c+19−7
@@ -466,6 +466,7 @@ static inline unsigned long armv7_pmnc_read(void) · 465 unmodified lines
466466 static inline void armv7_pmnc_write(unsigned long val)
467467 {
468468 val &= ARMV7_PMNC_MASK;
469+ isb();
469470 asm volatile("mcr p15, 0, %0, c9, c12, 0" : : "r"(val));
470471 }
471472
@@ -502,6 +503,7 @@ static inline int armv7_pmnc_select_counter(unsigned int idx) · 30 unmodified lines
502503
503504 val = (idx - ARMV7_EVENT_CNT_TO_CNTx) & ARMV7_SELECT_MASK;
504505 asm volatile("mcr p15, 0, %0, c9, c12, 5" : : "r" (val));
506+ isb();
505507
506508 return idx;
507509 }
@@ -780,7 +782,7 @@ static irqreturn_t armv7pmu_handle_irq(int irq_num, void *dev) · 272 unmodified lines
780782 continue;
781783
782784 hwc = &event->hw;
783− armpmu_event_update(event, hwc, idx);
785+ armpmu_event_update(event, hwc, idx, 1);
784786 data.period = event->hw.last_period;
785787 if (!armpmu_event_set_period(event, hwc, idx))
786788 continue;
@@ -847,6 +849,18 @@ static int armv7pmu_get_event_idx(struct cpu_hw_events *cpuc, · 60 unmodified lines
847849 }
848850 }
849851
852+static void armv7pmu_reset(void *info)
853+{
854+ u32 idx, nb_cnt = armpmu->num_events;
855+
856+ /* The counter and interrupt enable registers are unknown at reset. */
857+ for (idx = 1; idx < nb_cnt; ++idx)
858+ armv7pmu_disable_event(NULL, idx);
859+
860+ /* Initialize & Reset PMNC: C and P bits */
861+ armv7_pmnc_write(ARMV7_PMNC_P | ARMV7_PMNC_C);
862+}
863+
850864 static struct arm_pmu armv7pmu = {
851865 .handle_irq = armv7pmu_handle_irq,
852866 .enable = armv7pmu_enable_event,
@@ -856,17 +870,15 @@ static struct arm_pmu armv7pmu = { · 3 unmodified lines
856870 .get_event_idx = armv7pmu_get_event_idx,
857871 .start = armv7pmu_start,
858872 .stop = armv7pmu_stop,
873+ .reset = armv7pmu_reset,
859874 .raw_event_mask = 0xFF,
860875 .max_period = (1LLU << 32) - 1,
861876 };
862877
863−static u32 __init armv7_reset_read_pmnc(void)
878+static u32 __init armv7_read_num_pmnc_events(void)
864879 {
865880 u32 nb_cnt;
866881
867− /* Initialize & Reset PMNC: C and P bits */
868− armv7_pmnc_write(ARMV7_PMNC_P | ARMV7_PMNC_C);
869−
870882 /* Read the nb of CNTx counters supported from PMNC */
871883 nb_cnt = (armv7_pmnc_read() >> ARMV7_PMNC_N_SHIFT) & ARMV7_PMNC_N_MASK;
872884
@@ -880,7 +892,7 @@ static const struct arm_pmu *__init armv7_a8_pmu_init(void) · 7 unmodified lines
880892 armv7pmu.name = "ARMv7 Cortex-A8";
881893 armv7pmu.cache_map = &armv7_a8_perf_cache_map;
882894 armv7pmu.event_map = &armv7_a8_perf_map;
883− armv7pmu.num_events = armv7_reset_read_pmnc();
895+ armv7pmu.num_events = armv7_read_num_pmnc_events();
884896 return &armv7pmu;
885897 }
886898
@@ -890,7 +902,7 @@ static const struct arm_pmu *__init armv7_a9_pmu_init(void) · 3 unmodified lines
890902 armv7pmu.name = "ARMv7 Cortex-A9";
891903 armv7pmu.cache_map = &armv7_a9_perf_cache_map;
892904 armv7pmu.event_map = &armv7_a9_perf_map;
893− armv7pmu.num_events = armv7_reset_read_pmnc();
905+ armv7pmu.num_events = armv7_read_num_pmnc_events();
894906 return &armv7pmu;
895907 }
896908 #else
arch/arm/kernel/perf_event_xscale.c+2−2
@@ -246,7 +246,7 @@ xscale1pmu_handle_irq(int irq_num, void *dev) · 245 unmodified lines
246246 continue;
247247
248248 hwc = &event->hw;
249− armpmu_event_update(event, hwc, idx);
249+ armpmu_event_update(event, hwc, idx, 1);
250250 data.period = event->hw.last_period;
251251 if (!armpmu_event_set_period(event, hwc, idx))
252252 continue;
@@ -578,7 +578,7 @@ xscale2pmu_handle_irq(int irq_num, void *dev) · 325 unmodified lines
578578 continue;
579579
580580 hwc = &event->hw;
581− armpmu_event_update(event, hwc, idx);
581+ armpmu_event_update(event, hwc, idx, 1);
582582 data.period = event->hw.last_period;
583583 if (!armpmu_event_set_period(event, hwc, idx))
584584 continue;
arch/arm/kernel/process.c+2−0
@@ -372,6 +372,8 @@ copy_thread(unsigned long clone_flags, unsigned long stack_start, · 371 unmodified lines
372372 if (clone_flags & CLONE_SETTLS)
373373 thread->tp_value = regs->ARM_r3;
374374
375+ thread_notify(THREAD_NOTIFY_COPY, thread);
376+
375377 return 0;
376378 }
377379
arch/arm/kernel/ptrace.c+247−109
@@ -21,6 +21,7 @@ · 20 unmodified lines
2121 #include <linux/uaccess.h>
2222 #include <linux/perf_event.h>
2323 #include <linux/hw_breakpoint.h>
24+#include <linux/regset.h>
2425
2526 #include <asm/pgtable.h>
2627 #include <asm/system.h>
@@ -308,58 +309,6 @@ static int ptrace_write_user(struct task_struct *tsk, unsigned long off, · 281 unmodified lines
308309 return put_user_reg(tsk, off >> 2, val);
309310 }
310311
311−/*
312− * Get all user integer registers.
313− */
314−static int ptrace_getregs(struct task_struct *tsk, void __user *uregs)
315−{
316− struct pt_regs *regs = task_pt_regs(tsk);
317−
318− return copy_to_user(uregs, regs, sizeof(struct pt_regs)) ? -EFAULT : 0;
319−}
320−
321−/*
322− * Set all user integer registers.
323− */
324−static int ptrace_setregs(struct task_struct *tsk, void __user *uregs)
325−{
326− struct pt_regs newregs;
327− int ret;
328−
329− ret = -EFAULT;
330− if (copy_from_user(&newregs, uregs, sizeof(struct pt_regs)) == 0) {
331− struct pt_regs *regs = task_pt_regs(tsk);
332−
333− ret = -EINVAL;
334− if (valid_user_regs(&newregs)) {
335− *regs = newregs;
336− ret = 0;
337− }
338− }
339−
340− return ret;
341−}
342−
343−/*
344− * Get the child FPU state.
345− */
346−static int ptrace_getfpregs(struct task_struct *tsk, void __user *ufp)
347−{
348− return copy_to_user(ufp, &task_thread_info(tsk)->fpstate,
349− sizeof(struct user_fp)) ? -EFAULT : 0;
350−}
351−
352−/*
353− * Set the child FPU state.
354− */
355−static int ptrace_setfpregs(struct task_struct *tsk, void __user *ufp)
356−{
357− struct thread_info *thread = task_thread_info(tsk);
358− thread->used_cp[1] = thread->used_cp[2] = 1;
359− return copy_from_user(&thread->fpstate, ufp,
360− sizeof(struct user_fp)) ? -EFAULT : 0;
361−}
362−
363312 #ifdef CONFIG_IWMMXT
364313
365314 /*
@@ -418,56 +367,6 @@ static int ptrace_setcrunchregs(struct task_struct *tsk, void __user *ufp) · 52 unmodified lines
418367 }
419368 #endif
420369
421−#ifdef CONFIG_VFP
422−/*
423− * Get the child VFP state.
424− */
425−static int ptrace_getvfpregs(struct task_struct *tsk, void __user *data)
426−{
427− struct thread_info *thread = task_thread_info(tsk);
428− union vfp_state *vfp = &thread->vfpstate;
429− struct user_vfp __user *ufp = data;
430−
431− vfp_sync_hwstate(thread);
432−
433− /* copy the floating point registers */
434− if (copy_to_user(&ufp->fpregs, &vfp->hard.fpregs,
435− sizeof(vfp->hard.fpregs)))
436− return -EFAULT;
437−
438− /* copy the status and control register */
439− if (put_user(vfp->hard.fpscr, &ufp->fpscr))
440− return -EFAULT;
441−
442− return 0;
443−}
444−
445−/*
446− * Set the child VFP state.
447− */
448−static int ptrace_setvfpregs(struct task_struct *tsk, void __user *data)
449−{
450− struct thread_info *thread = task_thread_info(tsk);
451− union vfp_state *vfp = &thread->vfpstate;
452− struct user_vfp __user *ufp = data;
453−
454− vfp_sync_hwstate(thread);
455−
456− /* copy the floating point registers */
457− if (copy_from_user(&vfp->hard.fpregs, &ufp->fpregs,
458− sizeof(vfp->hard.fpregs)))
459− return -EFAULT;
460−
461− /* copy the status and control register */
462− if (get_user(vfp->hard.fpscr, &ufp->fpscr))
463− return -EFAULT;
464−
465− vfp_flush_hwstate(thread);
466−
467− return 0;
468−}
469−#endif
470−
471370 #ifdef CONFIG_HAVE_HW_BREAKPOINT
472371 /*
473372 * Convert a virtual register number into an index for a thread_info
@@ -694,6 +593,219 @@ out: · 220 unmodified lines
694593 }
695594 #endif
696595
596+/* regset get/set implementations */
597+
598+static int gpr_get(struct task_struct *target,
599+ const struct user_regset *regset,
600+ unsigned int pos, unsigned int count,
601+ void *kbuf, void __user *ubuf)
602+{
603+ struct pt_regs *regs = task_pt_regs(target);
604+
605+ return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
606+ regs,
607+ 0, sizeof(*regs));
608+}
609+
610+static int gpr_set(struct task_struct *target,
611+ const struct user_regset *regset,
612+ unsigned int pos, unsigned int count,
613+ const void *kbuf, const void __user *ubuf)
614+{
615+ int ret;
616+ struct pt_regs newregs;
617+
618+ ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
619+ &newregs,
620+ 0, sizeof(newregs));
621+ if (ret)
622+ return ret;
623+
624+ if (!valid_user_regs(&newregs))
625+ return -EINVAL;
626+
627+ *task_pt_regs(target) = newregs;
628+ return 0;
629+}
630+
631+static int fpa_get(struct task_struct *target,
632+ const struct user_regset *regset,
633+ unsigned int pos, unsigned int count,
634+ void *kbuf, void __user *ubuf)
635+{
636+ return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
637+ &task_thread_info(target)->fpstate,
638+ 0, sizeof(struct user_fp));
639+}
640+
641+static int fpa_set(struct task_struct *target,
642+ const struct user_regset *regset,
643+ unsigned int pos, unsigned int count,
644+ const void *kbuf, const void __user *ubuf)
645+{
646+ struct thread_info *thread = task_thread_info(target);
647+
648+ thread->used_cp[1] = thread->used_cp[2] = 1;
649+
650+ return user_regset_copyin(&pos, &count, &kbuf, &ubuf,
651+ &thread->fpstate,
652+ 0, sizeof(struct user_fp));
653+}
654+
655+#ifdef CONFIG_VFP
656+/*
657+ * VFP register get/set implementations.
658+ *
659+ * With respect to the kernel, struct user_fp is divided into three chunks:
660+ * 16 or 32 real VFP registers (d0-d15 or d0-31)
661+ * These are transferred to/from the real registers in the task's
662+ * vfp_hard_struct. The number of registers depends on the kernel
663+ * configuration.
664+ *
665+ * 16 or 0 fake VFP registers (d16-d31 or empty)
666+ * i.e., the user_vfp structure has space for 32 registers even if
667+ * the kernel doesn't have them all.
668+ *
669+ * vfp_get() reads this chunk as zero where applicable
670+ * vfp_set() ignores this chunk
671+ *
672+ * 1 word for the FPSCR
673+ *
674+ * The bounds-checking logic built into user_regset_copyout and friends
675+ * means that we can make a simple sequence of calls to map the relevant data
676+ * to/from the specified slice of the user regset structure.
677+ */
678+static int vfp_get(struct task_struct *target,
679+ const struct user_regset *regset,
680+ unsigned int pos, unsigned int count,
681+ void *kbuf, void __user *ubuf)
682+{
683+ int ret;
684+ struct thread_info *thread = task_thread_info(target);
685+ struct vfp_hard_struct const *vfp = &thread->vfpstate.hard;
686+ const size_t user_fpregs_offset = offsetof(struct user_vfp, fpregs);
687+ const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr);
688+
689+ vfp_sync_hwstate(thread);
690+
691+ ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
692+ &vfp->fpregs,
693+ user_fpregs_offset,
694+ user_fpregs_offset + sizeof(vfp->fpregs));
695+ if (ret)
696+ return ret;
697+
698+ ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf,
699+ user_fpregs_offset + sizeof(vfp->fpregs),
700+ user_fpscr_offset);
701+ if (ret)
702+ return ret;
703+
704+ return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
705+ &vfp->fpscr,
706+ user_fpscr_offset,
707+ user_fpscr_offset + sizeof(vfp->fpscr));
708+}
709+
710+/*
711+ * For vfp_set() a read-modify-write is done on the VFP registers,
712+ * in order to avoid writing back a half-modified set of registers on
713+ * failure.
714+ */
715+static int vfp_set(struct task_struct *target,
716+ const struct user_regset *regset,
717+ unsigned int pos, unsigned int count,
718+ const void *kbuf, const void __user *ubuf)
719+{
720+ int ret;
721+ struct thread_info *thread = task_thread_info(target);
722+ struct vfp_hard_struct new_vfp = thread->vfpstate.hard;
723+ const size_t user_fpregs_offset = offsetof(struct user_vfp, fpregs);
724+ const size_t user_fpscr_offset = offsetof(struct user_vfp, fpscr);
725+
726+ ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
727+ &new_vfp.fpregs,
728+ user_fpregs_offset,
729+ user_fpregs_offset + sizeof(new_vfp.fpregs));
730+ if (ret)
731+ return ret;
732+
733+ ret = user_regset_copyin_ignore(&pos, &count, &kbuf, &ubuf,
734+ user_fpregs_offset + sizeof(new_vfp.fpregs),
735+ user_fpscr_offset);
736+ if (ret)
737+ return ret;
738+
739+ ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
740+ &new_vfp.fpscr,
741+ user_fpscr_offset,
742+ user_fpscr_offset + sizeof(new_vfp.fpscr));
743+ if (ret)
744+ return ret;
745+
746+ vfp_sync_hwstate(thread);
747+ thread->vfpstate.hard = new_vfp;
748+ vfp_flush_hwstate(thread);
749+
750+ return 0;
751+}
752+#endif /* CONFIG_VFP */
753+
754+enum arm_regset {
755+ REGSET_GPR,
756+ REGSET_FPR,
757+#ifdef CONFIG_VFP
758+ REGSET_VFP,
759+#endif
760+};
761+
762+static const struct user_regset arm_regsets[] = {
763+ [REGSET_GPR] = {
764+ .core_note_type = NT_PRSTATUS,
765+ .n = ELF_NGREG,
766+ .size = sizeof(u32),
767+ .align = sizeof(u32),
768+ .get = gpr_get,
769+ .set = gpr_set
770+ },
771+ [REGSET_FPR] = {
772+ /*
773+ * For the FPA regs in fpstate, the real fields are a mixture
774+ * of sizes, so pretend that the registers are word-sized:
775+ */
776+ .core_note_type = NT_PRFPREG,
777+ .n = sizeof(struct user_fp) / sizeof(u32),
778+ .size = sizeof(u32),
779+ .align = sizeof(u32),
780+ .get = fpa_get,
781+ .set = fpa_set
782+ },
783+#ifdef CONFIG_VFP
784+ [REGSET_VFP] = {
785+ /*
786+ * Pretend that the VFP regs are word-sized, since the FPSCR is
787+ * a single word dangling at the end of struct user_vfp:
788+ */
789+ .core_note_type = NT_ARM_VFP,
790+ .n = ARM_VFPREGS_SIZE / sizeof(u32),
791+ .size = sizeof(u32),
792+ .align = sizeof(u32),
793+ .get = vfp_get,
794+ .set = vfp_set
795+ },
796+#endif /* CONFIG_VFP */
797+};
798+
799+static const struct user_regset_view user_arm_view = {
800+ .name = "arm", .e_machine = ELF_ARCH, .ei_osabi = ELF_OSABI,
801+ .regsets = arm_regsets, .n = ARRAY_SIZE(arm_regsets)
802+};
803+
804+const struct user_regset_view *task_user_regset_view(struct task_struct *task)
805+{
806+ return &user_arm_view;
807+}
808+
697809 long arch_ptrace(struct task_struct *child, long request,
698810 unsigned long addr, unsigned long data)
699811 {
@@ -710,19 +822,31 @@ long arch_ptrace(struct task_struct *child, long request, · 10 unmodified lines
710822 break;
711823
712824 case PTRACE_GETREGS:
713− ret = ptrace_getregs(child, datap);
825+ ret = copy_regset_to_user(child,
826+ &user_arm_view, REGSET_GPR,
827+ 0, sizeof(struct pt_regs),
828+ datap);
714829 break;
715830
716831 case PTRACE_SETREGS:
717− ret = ptrace_setregs(child, datap);
832+ ret = copy_regset_from_user(child,
833+ &user_arm_view, REGSET_GPR,
834+ 0, sizeof(struct pt_regs),
835+ datap);
718836 break;
719837
720838 case PTRACE_GETFPREGS:
721− ret = ptrace_getfpregs(child, datap);
839+ ret = copy_regset_to_user(child,
840+ &user_arm_view, REGSET_FPR,
841+ 0, sizeof(union fp_state),
842+ datap);
722843 break;
723−
844+
724845 case PTRACE_SETFPREGS:
725− ret = ptrace_setfpregs(child, datap);
846+ ret = copy_regset_from_user(child,
847+ &user_arm_view, REGSET_FPR,
848+ 0, sizeof(union fp_state),
849+ datap);
726850 break;
727851
728852 #ifdef CONFIG_IWMMXT
@@ -757,22 +881,36 @@ long arch_ptrace(struct task_struct *child, long request, · 28 unmodified lines
757881
758882 #ifdef CONFIG_VFP
759883 case PTRACE_GETVFPREGS:
760− ret = ptrace_getvfpregs(child, datap);
884+ ret = copy_regset_to_user(child,
885+ &user_arm_view, REGSET_VFP,
886+ 0, ARM_VFPREGS_SIZE,
887+ datap);
761888 break;
762889
763890 case PTRACE_SETVFPREGS:
764− ret = ptrace_setvfpregs(child, datap);
891+ ret = copy_regset_from_user(child,
892+ &user_arm_view, REGSET_VFP,
893+ 0, ARM_VFPREGS_SIZE,
894+ datap);
765895 break;
766896 #endif
767897
768898 #ifdef CONFIG_HAVE_HW_BREAKPOINT
769899 case PTRACE_GETHBPREGS:
900+ if (ptrace_get_breakpoints(child) < 0)
901+ return -ESRCH;
902+
770903 ret = ptrace_gethbpregs(child, addr,
771904 (unsigned long __user *)data);
905+ ptrace_put_breakpoints(child);
772906 break;
773907 case PTRACE_SETHBPREGS:
908+ if (ptrace_get_breakpoints(child) < 0)
909+ return -ESRCH;
910+
774911 ret = ptrace_sethbpregs(child, addr,
775912 (unsigned long __user *)data);
913+ ptrace_put_breakpoints(child);
776914 break;
777915 #endif
778916
arch/arm/kernel/setup.c+67−36
@@ -20,6 +20,7 @@ · 19 unmodified lines
2020 #include <linux/screen_info.h>
2121 #include <linux/init.h>
2222 #include <linux/kexec.h>
23+#include <linux/of_fdt.h>
2324 #include <linux/crash_dump.h>
2425 #include <linux/root_dev.h>
2526 #include <linux/cpu.h>
@@ -42,6 +43,7 @@ · 16 unmodified lines
4243 #include <asm/cachetype.h>
4344 #include <asm/tlbflush.h>
4445
46+#include <asm/prom.h>
4547 #include <asm/mach/arch.h>
4648 #include <asm/mach/irq.h>
4749 #include <asm/mach/time.h>
@@ -309,7 +311,7 @@ static void __init cacheid_init(void) · 261 unmodified lines
309311 */
310312 extern struct proc_info_list *lookup_processor_type(unsigned int);
311313
312−static void __init early_print(const char *str, ...)
314+void __init early_print(const char *str, ...)
313315 {
314316 extern void printascii(const char *);
315317 char buf[256];
@@ -439,25 +441,12 @@ void cpu_init(void) · 123 unmodified lines
439441 : "r14");
440442 }
441443
442−static struct machine_desc * __init setup_machine(unsigned int nr)
444+void __init dump_machine_table(void)
443445 {
444− extern struct machine_desc __arch_info_begin[], __arch_info_end[];
445446 struct machine_desc *p;
446447
447− /*
448− * locate machine in the list of supported machines.
449− */
450− for (p = __arch_info_begin; p < __arch_info_end; p++)
451− if (nr == p->nr) {
452− printk("Machine: %s\n", p->name);
453− return p;
454− }
455−
456− early_print("\n"
457− "Error: unrecognized/unsupported machine ID (r1 = 0x%08x).\n\n"
458− "Available machine support:\n\nID (hex)\tNAME\n", nr);
459−
460− for (p = __arch_info_begin; p < __arch_info_end; p++)
448+ early_print("Available machine support:\n\nID (hex)\tNAME\n");
449+ for_each_machine_desc(p)
461450 early_print("%08x\t%s\n", p->nr, p->name);
462451
463452 early_print("\nPlease check your kernel config and/or bootloader.\n");
@@ -466,7 +455,7 @@ static struct machine_desc * __init setup_machine(unsigned int nr) · 2 unmodified lines
466455 /* can't use cpu_relax() here as it may require MMU setup */;
467456 }
468457
469−static int __init arm_add_memory(phys_addr_t start, unsigned long size)
458+int __init arm_add_memory(phys_addr_t start, unsigned long size)
470459 {
471460 struct membank *bank = &meminfo.bank[meminfo.nr_banks];
472461
@@ -672,11 +661,16 @@ __tagtable(ATAG_REVISION, parse_tag_revision); · 199 unmodified lines
672661
673662 static int __init parse_tag_cmdline(const struct tag *tag)
674663 {
675−#ifndef CONFIG_CMDLINE_FORCE
676− strlcpy(default_command_line, tag->u.cmdline.cmdline, COMMAND_LINE_SIZE);
677−#else
664+#if defined(CONFIG_CMDLINE_EXTEND)
665+ strlcat(default_command_line, " ", COMMAND_LINE_SIZE);
666+ strlcat(default_command_line, tag->u.cmdline.cmdline,
667+ COMMAND_LINE_SIZE);
668+#elif defined(CONFIG_CMDLINE_FORCE)
678669 pr_warning("Ignoring tag cmdline (using the default kernel command line)\n");
679−#endif /* CONFIG_CMDLINE_FORCE */
670+#else
671+ strlcpy(default_command_line, tag->u.cmdline.cmdline,
672+ COMMAND_LINE_SIZE);
673+#endif
680674 return 0;
681675 }
682676
@@ -796,23 +790,29 @@ static void __init squash_mem_tags(struct tag *tag) · 113 unmodified lines
796790 tag->hdr.tag = ATAG_NONE;
797791 }
798792
799−void __init setup_arch(char **cmdline_p)
793+static struct machine_desc * __init setup_machine_tags(unsigned int nr)
800794 {
801795 struct tag *tags = (struct tag *)&init_tags;
802− struct machine_desc *mdesc;
796+ struct machine_desc *mdesc = NULL, *p;
803797 char *from = default_command_line;
804798
805799 init_tags.mem.start = PHYS_OFFSET;
806800
807− unwind_init();
808−
809− setup_processor();
810− mdesc = setup_machine(machine_arch_type);
811− machine_desc = mdesc;
812− machine_name = mdesc->name;
801+ /*
802+ * locate machine in the list of supported machines.
803+ */
804+ for_each_machine_desc(p)
805+ if (nr == p->nr) {
806+ printk("Machine: %s\n", p->name);
807+ mdesc = p;
808+ break;
809+ }
813810
814− if (mdesc->soft_reboot)
815− reboot_setup("s");
811+ if (!mdesc) {
812+ early_print("\nError: unrecognized/unsupported machine ID"
813+ " (r1 = 0x%08x).\n\n", nr);
814+ dump_machine_table(); /* does not return */
815+ }
816816
817817 if (__atags_pointer)
818818 tags = phys_to_virt(__atags_pointer);
@@ -844,8 +844,17 @@ void __init setup_arch(char **cmdline_p) · 25 unmodified lines
844844 if (tags->hdr.tag != ATAG_CORE)
845845 convert_to_tag_list(tags);
846846 #endif
847− if (tags->hdr.tag != ATAG_CORE)
847+
848+ if (tags->hdr.tag != ATAG_CORE) {
849+#if defined(CONFIG_OF)
850+ /*
851+ * If CONFIG_OF is set, then assume this is a reasonably
852+ * modern system that should pass boot parameters
853+ */
854+ early_print("Warning: Neither atags nor dtb found\n");
855+#endif
848856 tags = (struct tag *)&init_tags;
857+ }
849858
850859 if (mdesc->fixup)
851860 mdesc->fixup(mdesc, tags, &from, &meminfo);
@@ -857,14 +866,34 @@ void __init setup_arch(char **cmdline_p) · 5 unmodified lines
857866 parse_tags(tags);
858867 }
859868
869+ /* parse_early_param needs a boot_command_line */
870+ strlcpy(boot_command_line, from, COMMAND_LINE_SIZE);
871+
872+ return mdesc;
873+}
874+
875+
876+void __init setup_arch(char **cmdline_p)
877+{
878+ struct machine_desc *mdesc;
879+
880+ unwind_init();
881+
882+ setup_processor();
883+ mdesc = setup_machine_fdt(__atags_pointer);
884+ if (!mdesc)
885+ mdesc = setup_machine_tags(machine_arch_type);
886+ machine_desc = mdesc;
887+ machine_name = mdesc->name;
888+
889+ if (mdesc->soft_reboot)
890+ reboot_setup("s");
891+
860892 init_mm.start_code = (unsigned long) _text;
861893 init_mm.end_code = (unsigned long) _etext;
862894 init_mm.end_data = (unsigned long) _edata;
863895 init_mm.brk = (unsigned long) _end;
864896
865− /* parse_early_param needs a boot_command_line */
866− strlcpy(boot_command_line, from, COMMAND_LINE_SIZE);
867−
868897 /* populate cmd_line too for later use, preserving boot_command_line */
869898 strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE);
870899 *cmdline_p = cmd_line;
@@ -876,6 +905,8 @@ void __init setup_arch(char **cmdline_p) · 5 unmodified lines
876905 paging_init(mdesc);
877906 request_standard_resources(mdesc);
878907
908+ unflatten_device_tree();
909+
879910 #ifdef CONFIG_SMP
880911 if (is_smp())
881912 smp_init_cpus();
arch/arm/kernel/signal.c+53−37
@@ -597,45 +597,19 @@ setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, · 596 unmodified lines
597597 return err;
598598 }
599599
600−static inline void setup_syscall_restart(struct pt_regs *regs)
601−{
602− regs->ARM_r0 = regs->ARM_ORIG_r0;
603− regs->ARM_pc -= thumb_mode(regs) ? 2 : 4;
604−}
605−
606600 /*
607601 * OK, we're invoking a handler
608602 */
609603 static int
610604 handle_signal(unsigned long sig, struct k_sigaction *ka,
611605 siginfo_t *info, sigset_t *oldset,
612− struct pt_regs * regs, int syscall)
606+ struct pt_regs * regs)
613607 {
614608 struct thread_info *thread = current_thread_info();
615609 struct task_struct *tsk = current;
616610 int usig = sig;
617611 int ret;
618612
619− /*
620− * If we were from a system call, check for system call restarting...
621− */
622− if (syscall) {
623− switch (regs->ARM_r0) {
624− case -ERESTART_RESTARTBLOCK:
625− case -ERESTARTNOHAND:
626− regs->ARM_r0 = -EINTR;
627− break;
628− case -ERESTARTSYS:
629− if (!(ka->sa.sa_flags & SA_RESTART)) {
630− regs->ARM_r0 = -EINTR;
631− break;
632− }
633− /* fallthrough */
634− case -ERESTARTNOINTR:
635− setup_syscall_restart(regs);
636− }
637− }
638−
639613 /*
640614 * translate the signal
641615 */
@@ -685,6 +659,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, · 43 unmodified lines
685659 */
686660 static void do_signal(struct pt_regs *regs, int syscall)
687661 {
662+ unsigned int retval = 0, continue_addr = 0, restart_addr = 0;
688663 struct k_sigaction ka;
689664 siginfo_t info;
690665 int signr;
@@ -698,18 +673,61 @@ static void do_signal(struct pt_regs *regs, int syscall) · 7 unmodified lines
698673 if (!user_mode(regs))
699674 return;
700675
676+ /*
677+ * If we were from a system call, check for system call restarting...
678+ */
679+ if (syscall) {
680+ continue_addr = regs->ARM_pc;
681+ restart_addr = continue_addr - (thumb_mode(regs) ? 2 : 4);
682+ retval = regs->ARM_r0;
683+
684+ /*
685+ * Prepare for system call restart. We do this here so that a
686+ * debugger will see the already changed PSW.
687+ */
688+ switch (retval) {
689+ case -ERESTARTNOHAND:
690+ case -ERESTARTSYS:
691+ case -ERESTARTNOINTR:
692+ regs->ARM_r0 = regs->ARM_ORIG_r0;
693+ regs->ARM_pc = restart_addr;
694+ break;
695+ case -ERESTART_RESTARTBLOCK:
696+ regs->ARM_r0 = -EINTR;
697+ break;
698+ }
699+ }
700+
701701 if (try_to_freeze())
702702 goto no_signal;
703703
704+ /*
705+ * Get the signal to deliver. When running under ptrace, at this
706+ * point the debugger may change all our registers ...
707+ */
704708 signr = get_signal_to_deliver(&info, &ka, regs, NULL);
705709 if (signr > 0) {
706710 sigset_t *oldset;
707711
712+ /*
713+ * Depending on the signal settings we may need to revert the
714+ * decision to restart the system call. But skip this if a
715+ * debugger has chosen to restart at a different PC.
716+ */
717+ if (regs->ARM_pc == restart_addr) {
718+ if (retval == -ERESTARTNOHAND
719+ || (retval == -ERESTARTSYS
720+ && !(ka.sa.sa_flags & SA_RESTART))) {
721+ regs->ARM_r0 = -EINTR;
722+ regs->ARM_pc = continue_addr;
723+ }
724+ }
725+
708726 if (test_thread_flag(TIF_RESTORE_SIGMASK))
709727 oldset = &current->saved_sigmask;
710728 else
711729 oldset = &current->blocked;
712− if (handle_signal(signr, &ka, &info, oldset, regs, syscall) == 0) {
730+ if (handle_signal(signr, &ka, &info, oldset, regs) == 0) {
713731 /*
714732 * A signal was successfully delivered; the saved
715733 * sigmask will have been stored in the signal frame,
@@ -723,11 +741,14 @@ static void do_signal(struct pt_regs *regs, int syscall) · 7 unmodified lines
723741 }
724742
725743 no_signal:
726− /*
727− * No signal to deliver to the process - restart the syscall.
728− */
729744 if (syscall) {
730− if (regs->ARM_r0 == -ERESTART_RESTARTBLOCK) {
745+ /*
746+ * Handle restarting a different system call. As above,
747+ * if a debugger has chosen to restart at a different PC,
748+ * ignore the restart.
749+ */
750+ if (retval == -ERESTART_RESTARTBLOCK
751+ && regs->ARM_pc == continue_addr) {
731752 if (thumb_mode(regs)) {
732753 regs->ARM_r7 = __NR_restart_syscall - __NR_SYSCALL_BASE;
733754 regs->ARM_pc -= 2;
@@ -750,11 +771,6 @@ static void do_signal(struct pt_regs *regs, int syscall) · 16 unmodified lines
750771 #endif
751772 }
752773 }
753− if (regs->ARM_r0 == -ERESTARTNOHAND ||
754− regs->ARM_r0 == -ERESTARTSYS ||
755− regs->ARM_r0 == -ERESTARTNOINTR) {
756− setup_syscall_restart(regs);
757− }
758774
759775 /* If there's no signal to deliver, we just put the saved sigmask
760776 * back.
arch/arm/kernel/sleep.S+11−3
@@ -119,11 +119,19 @@ ENTRY(cpu_resume) · 118 unmodified lines
119119 #else
120120 ldr r0, sleep_save_sp @ stack phys addr
121121 #endif
122− msr cpsr_c, #PSR_I_BIT | PSR_F_BIT | SVC_MODE @ set SVC, irqs off
122+ setmode PSR_I_BIT | PSR_F_BIT | SVC_MODE, r1 @ set SVC, irqs off
123123 #ifdef MULTI_CPU
124− ldmia r0!, {r1, sp, lr, pc} @ load v:p, stack, return fn, resume fn
124+ @ load v:p, stack, return fn, resume fn
125+ ARM( ldmia r0!, {r1, sp, lr, pc} )
126+THUMB( ldmia r0!, {r1, r2, r3, r4} )
127+THUMB( mov sp, r2 )
128+THUMB( mov lr, r3 )
129+THUMB( bx r4 )
125130 #else
126− ldmia r0!, {r1, sp, lr} @ load v:p, stack, return fn
131+ @ load v:p, stack, return fn
132+ ARM( ldmia r0!, {r1, sp, lr} )
133+THUMB( ldmia r0!, {r1, r2, lr} )
134+THUMB( mov sp, r2 )
127135 b cpu_do_resume
128136 #endif
129137 ENDPROC(cpu_resume)
arch/arm/kernel/smp.c+10−5
@@ -105,6 +105,7 @@ int __cpuinit __cpu_up(unsigned int cpu) · 104 unmodified lines
105105 */
106106 secondary_data.stack = task_stack_page(idle) + THREAD_START_SP;
107107 secondary_data.pgdir = virt_to_phys(pgd);
108+ secondary_data.swapper_pg_dir = virt_to_phys(swapper_pg_dir);
108109 __cpuc_flush_dcache_area(&secondary_data, sizeof(secondary_data));
109110 outer_clean_range(__pa(&secondary_data), __pa(&secondary_data + 1));
110111
@@ -376,6 +377,13 @@ void __init smp_prepare_cpus(unsigned int max_cpus) · 265 unmodified lines
376377 }
377378 }
378379
380+static void (*smp_cross_call)(const struct cpumask *, unsigned int);
381+
382+void __init set_smp_cross_call(void (*fn)(const struct cpumask *, unsigned int))
383+{
384+ smp_cross_call = fn;
385+}
386+
379387 void arch_send_call_function_ipi_mask(const struct cpumask *mask)
380388 {
381389 smp_cross_call(mask, IPI_CALL_FUNC);
@@ -479,7 +487,7 @@ static void broadcast_timer_set_mode(enum clock_event_mode mode, · 97 unmodified lines
479487 {
480488 }
481489
482−static void broadcast_timer_setup(struct clock_event_device *evt)
490+static void __cpuinit broadcast_timer_setup(struct clock_event_device *evt)
483491 {
484492 evt->name = "dummy_timer";
485493 evt->features = CLOCK_EVT_FEAT_ONESHOT |
@@ -560,10 +568,7 @@ asmlinkage void __exception_irq_entry do_IPI(int ipinr, struct pt_regs *regs) · 74 unmodified lines
560568 break;
561569
562570 case IPI_RESCHEDULE:
563− /*
564− * nothing more to do - eveything is
565− * done on the interrupt return path
566− */
571+ scheduler_ipi();
567572 break;
568573
569574 case IPI_CALL_FUNC:
arch/arm/kernel/swp_emulate.c+1−1
@@ -158,7 +158,7 @@ static int emulate_swpX(unsigned int address, unsigned int *data, · 157 unmodified lines
158158
159159 if (res == 0) {
160160 /*
161− * Barrier also required between aquiring a lock for a
161+ * Barrier also required between acquiring a lock for a
162162 * protected resource and accessing the resource. Inserted for
163163 * same reason as above.
164164 */
arch/arm/kernel/sys_oabi-compat.c+1−1
@@ -311,7 +311,7 @@ asmlinkage long sys_oabi_semtimedop(int semid, · 310 unmodified lines
311311 long err;
312312 int i;
313313
314− if (nsops < 1)
314+ if (nsops < 1 || nsops > SEMOPM)
315315 return -EINVAL;
316316 sops = kmalloc(sizeof(*sops) * nsops, GFP_KERNEL);
317317 if (!sops)
arch/arm/kernel/time.c+12−23
@@ -21,7 +21,7 @@ · 20 unmodified lines
2121 #include <linux/timex.h>
2222 #include <linux/errno.h>
2323 #include <linux/profile.h>
24−#include <linux/sysdev.h>
24+#include <linux/syscore_ops.h>
2525 #include <linux/timer.h>
2626 #include <linux/irq.h>
2727
@@ -115,48 +115,37 @@ void timer_tick(void) · 87 unmodified lines
115115 #endif
116116
117117 #if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS)
118−static int timer_suspend(struct sys_device *dev, pm_message_t state)
118+static int timer_suspend(void)
119119 {
120− struct sys_timer *timer = container_of(dev, struct sys_timer, dev);
121−
122− if (timer->suspend != NULL)
123− timer->suspend();
120+ if (system_timer->suspend)
121+ system_timer->suspend();
124122
125123 return 0;
126124 }
127125
128−static int timer_resume(struct sys_device *dev)
126+static void timer_resume(void)
129127 {
130− struct sys_timer *timer = container_of(dev, struct sys_timer, dev);
131−
132− if (timer->resume != NULL)
133− timer->resume();
134−
135− return 0;
128+ if (system_timer->resume)
129+ system_timer->resume();
136130 }
137131 #else
138132 #define timer_suspend NULL
139133 #define timer_resume NULL
140134 #endif
141135
142−static struct sysdev_class timer_sysclass = {
143− .name = "timer",
136+static struct syscore_ops timer_syscore_ops = {
144137 .suspend = timer_suspend,
145138 .resume = timer_resume,
146139 };
147140
148−static int __init timer_init_sysfs(void)
141+static int __init timer_init_syscore_ops(void)
149142 {
150− int ret = sysdev_class_register(&timer_sysclass);
151− if (ret == 0) {
152− system_timer->dev.cls = &timer_sysclass;
153− ret = sysdev_register(&system_timer->dev);
154− }
143+ register_syscore_ops(&timer_syscore_ops);
155144
156− return ret;
145+ return 0;
157146 }
158147
159−device_initcall(timer_init_sysfs);
148+device_initcall(timer_init_syscore_ops);
160149
161150 void __init time_init(void)
162151 {
arch/arm/kernel/traps.c+1−3
@@ -234,7 +234,6 @@ static int __die(const char *str, int err, struct thread_info *thread, struct pt · 233 unmodified lines
234234
235235 printk(KERN_EMERG "Internal error: %s: %x [#%d]" S_PREEMPT S_SMP "\n",
236236 str, err, ++die_counter);
237− sysfs_printk_last_file();
238237
239238 /* trap and error numbers are mostly meaningless on ARM */
240239 ret = notify_die(DIE_OOPS, str, regs, err, tsk->thread.trap_no, SIGSEGV);
@@ -410,8 +409,7 @@ static int bad_syscall(int n, struct pt_regs *regs) · 169 unmodified lines
410409 struct thread_info *thread = current_thread_info();
411410 siginfo_t info;
412411
413− if (current->personality != PER_LINUX &&
414− current->personality != PER_LINUX_32BIT &&
412+ if ((current->personality & PER_MASK) != PER_LINUX &&
415413 thread->exec_domain->handler) {
416414 thread->exec_domain->handler(n, regs);
417415 return regs->ARM_r0;
arch/arm/kernel/vmlinux.lds.S+1−1
@@ -82,7 +82,7 @@ SECTIONS · 81 unmodified lines
8282 #endif
8383 }
8484
85− PERCPU(32, PAGE_SIZE)
85+ PERCPU_SECTION(32)
8686
8787 #ifndef CONFIG_XIP_KERNEL
8888 . = ALIGN(PAGE_SIZE);
arch/arm/lib/lib1funcs.S+20−5
@@ -35,7 +35,7 @@ Boston, MA 02111-1307, USA. */ · 34 unmodified lines
3535
3636 #include <linux/linkage.h>
3737 #include <asm/assembler.h>
38−
38+#include <asm/unwind.h>
3939
4040 .macro ARM_DIV_BODY dividend, divisor, result, curbit
4141
@@ -207,6 +207,7 @@ Boston, MA 02111-1307, USA. */ · 165 unmodified lines
207207
208208 ENTRY(__udivsi3)
209209 ENTRY(__aeabi_uidiv)
210+UNWIND(.fnstart)
210211
211212 subs r2, r1, #1
212213 moveq pc, lr
@@ -230,10 +231,12 @@ ENTRY(__aeabi_uidiv) · 17 unmodified lines
230231 mov r0, r0, lsr r2
231232 mov pc, lr
232233
234+UNWIND(.fnend)
233235 ENDPROC(__udivsi3)
234236 ENDPROC(__aeabi_uidiv)
235237
236238 ENTRY(__umodsi3)
239+UNWIND(.fnstart)
237240
238241 subs r2, r1, #1 @ compare divisor with 1
239242 bcc Ldiv0
@@ -247,10 +250,12 @@ ENTRY(__umodsi3) · 7 unmodified lines
247250
248251 mov pc, lr
249252
253+UNWIND(.fnend)
250254 ENDPROC(__umodsi3)
251255
252256 ENTRY(__divsi3)
253257 ENTRY(__aeabi_idiv)
258+UNWIND(.fnstart)
254259
255260 cmp r1, #0
256261 eor ip, r0, r1 @ save the sign of the result.
@@ -287,10 +292,12 @@ ENTRY(__aeabi_idiv) · 30 unmodified lines
287292 rsbmi r0, r0, #0
288293 mov pc, lr
289294
295+UNWIND(.fnend)
290296 ENDPROC(__divsi3)
291297 ENDPROC(__aeabi_idiv)
292298
293299 ENTRY(__modsi3)
300+UNWIND(.fnstart)
294301
295302 cmp r1, #0
296303 beq Ldiv0
@@ -310,11 +317,14 @@ ENTRY(__modsi3) · 13 unmodified lines
310317 rsbmi r0, r0, #0
311318 mov pc, lr
312319
320+UNWIND(.fnend)
313321 ENDPROC(__modsi3)
314322
315323 #ifdef CONFIG_AEABI
316324
317325 ENTRY(__aeabi_uidivmod)
326+UNWIND(.fnstart)
327+UNWIND(.save {r0, r1, ip, lr} )
318328
319329 stmfd sp!, {r0, r1, ip, lr}
320330 bl __aeabi_uidiv
@@ -323,10 +333,12 @@ ENTRY(__aeabi_uidivmod) · 2 unmodified lines
323333 sub r1, r1, r3
324334 mov pc, lr
325335
336+UNWIND(.fnend)
326337 ENDPROC(__aeabi_uidivmod)
327338
328339 ENTRY(__aeabi_idivmod)
329−
340+UNWIND(.fnstart)
341+UNWIND(.save {r0, r1, ip, lr} )
330342 stmfd sp!, {r0, r1, ip, lr}
331343 bl __aeabi_idiv
332344 ldmfd sp!, {r1, r2, ip, lr}
@@ -334,15 +346,18 @@ ENTRY(__aeabi_idivmod) · 1 unmodified line
334346 sub r1, r1, r3
335347 mov pc, lr
336348
349+UNWIND(.fnend)
337350 ENDPROC(__aeabi_idivmod)
338351
339352 #endif
340353
341354 Ldiv0:
342−
355+UNWIND(.fnstart)
356+UNWIND(.pad #4)
357+UNWIND(.save {lr})
343358 str lr, [sp, #-8]!
344359 bl __div0
345360 mov r0, #0 @ About as wrong as it could be.
346361 ldr pc, [sp], #8
347−
348−
362+UNWIND(.fnend)
363+ENDPROC(Ldiv0)
arch/arm/mach-at91/Kconfig+1−40
@@ -3,9 +3,6 @@ if ARCH_AT91 · 2 unmodified lines
33 config HAVE_AT91_DATAFLASH_CARD
44 bool
55
6−config HAVE_NAND_ATMEL_BUSWIDTH_16
7− bool
8−
96 config HAVE_AT91_USART3
107 bool
118
@@ -83,11 +80,7 @@ config ARCH_AT91CAP9 · 71 unmodified lines
8380 select CPU_ARM926T
8481 select GENERIC_CLOCKEVENTS
8582 select HAVE_FB_ATMEL
86−
87−config ARCH_AT572D940HF
88− bool "AT572D940HF"
89− select CPU_ARM926T
90− select GENERIC_CLOCKEVENTS
83+ select HAVE_NET_MACB
9184
9285 config ARCH_AT91X40
9386 bool "AT91x40"
@@ -208,7 +201,6 @@ comment "AT91SAM9260 / AT91SAM9XE Board Type" · 114 unmodified lines
208201 config MACH_AT91SAM9260EK
209202 bool "Atmel AT91SAM9260-EK / AT91SAM9XE Evaluation Kit"
210203 select HAVE_AT91_DATAFLASH_CARD
211− select HAVE_NAND_ATMEL_BUSWIDTH_16
212204 help
213205 Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit
214206 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933>
@@ -269,7 +261,6 @@ comment "AT91SAM9261 Board Type" · 54 unmodified lines
269261 config MACH_AT91SAM9261EK
270262 bool "Atmel AT91SAM9261-EK Evaluation Kit"
271263 select HAVE_AT91_DATAFLASH_CARD
272− select HAVE_NAND_ATMEL_BUSWIDTH_16
273264 help
274265 Select this if you are using Atmel's AT91SAM9261-EK Evaluation Kit.
275266 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3820>
@@ -285,7 +276,6 @@ comment "AT91SAM9G10 Board Type" · 9 unmodified lines
285276 config MACH_AT91SAM9G10EK
286277 bool "Atmel AT91SAM9G10-EK Evaluation Kit"
287278 select HAVE_AT91_DATAFLASH_CARD
288− select HAVE_NAND_ATMEL_BUSWIDTH_16
289279 help
290280 Select this if you are using Atmel's AT91SAM9G10-EK Evaluation Kit.
291281 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4588>
@@ -301,7 +291,6 @@ comment "AT91SAM9263 Board Type" · 9 unmodified lines
301291 config MACH_AT91SAM9263EK
302292 bool "Atmel AT91SAM9263-EK Evaluation Kit"
303293 select HAVE_AT91_DATAFLASH_CARD
304− select HAVE_NAND_ATMEL_BUSWIDTH_16
305294 help
306295 Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit.
307296 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057>
@@ -342,7 +331,6 @@ comment "AT91SAM9G20 Board Type" · 34 unmodified lines
342331 config MACH_AT91SAM9G20EK
343332 bool "Atmel AT91SAM9G20-EK Evaluation Kit"
344333 select HAVE_AT91_DATAFLASH_CARD
345− select HAVE_NAND_ATMEL_BUSWIDTH_16
346334 help
347335 Select this if you are using Atmel's AT91SAM9G20-EK Evaluation Kit
348336 that embeds only one SD/MMC slot.
@@ -350,7 +338,6 @@ config MACH_AT91SAM9G20EK · 1 unmodified line
350338 config MACH_AT91SAM9G20EK_2MMC
351339 depends on MACH_AT91SAM9G20EK
352340 bool "Atmel AT91SAM9G20-EK Evaluation Kit with 2 SD/MMC Slots"
353− select HAVE_NAND_ATMEL_BUSWIDTH_16
354341 help
355342 Select this if you are using an Atmel AT91SAM9G20-EK Evaluation Kit
356343 with 2 SD/MMC Slots. This is the case for AT91SAM9G20-EK rev. C and
@@ -415,7 +402,6 @@ comment "AT91SAM9G45 Board Type" · 58 unmodified lines
415402
416403 config MACH_AT91SAM9M10G45EK
417404 bool "Atmel AT91SAM9M10G45-EK Evaluation Kits"
418− select HAVE_NAND_ATMEL_BUSWIDTH_16
419405 help
420406 Select this if you are using Atmel's AT91SAM9G45-EKES Evaluation Kit.
421407 "ES" at the end of the name means that this board is an
@@ -432,7 +418,6 @@ comment "AT91CAP9 Board Type" · 10 unmodified lines
432418 config MACH_AT91CAP9ADK
433419 bool "Atmel AT91CAP9A-DK Evaluation Kit"
434420 select HAVE_AT91_DATAFLASH_CARD
435− select HAVE_NAND_ATMEL_BUSWIDTH_16
436421 help
437422 Select this if you are using Atmel's AT91CAP9A-DK Evaluation Kit.
438423 <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4138>
@@ -441,23 +426,6 @@ endif · 2 unmodified lines
441426
442427 # ----------------------------------------------------------
443428
444−if ARCH_AT572D940HF
445−
446−comment "AT572D940HF Board Type"
447−
448−config MACH_AT572D940HFEB
449− bool "AT572D940HF-EK"
450− depends on ARCH_AT572D940HF
451− select HAVE_AT91_DATAFLASH_CARD
452− select HAVE_NAND_ATMEL_BUSWIDTH_16
453− help
454− Select this if you are using Atmel's AT572D940HF-EK evaluation kit.
455− <http://www.atmel.com/products/diopsis/default.asp>
456−
457−endif
458−
459−# ----------------------------------------------------------
460−
461429 if ARCH_AT91X40
462430
463431 comment "AT91X40 Board Type"
@@ -482,13 +450,6 @@ config MTD_AT91_DATAFLASH_CARD · 18 unmodified lines
482450 help
483451 Enable support for the DataFlash card.
484452
485−config MTD_NAND_ATMEL_BUSWIDTH_16
486− bool "Enable 16-bit data bus interface to NAND flash"
487− depends on HAVE_NAND_ATMEL_BUSWIDTH_16
488− help
489− On AT91SAM926x boards both types of NAND flash can be present
490− (8 and 16 bit data bus width).
491−
492453 # ----------------------------------------------------------
493454
494455 comment "AT91 Feature Selections"
arch/arm/mach-at91/Makefile+0−4
@@ -19,7 +19,6 @@ obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devi · 18 unmodified lines
1919 obj-$(CONFIG_ARCH_AT91SAM9G20) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o sam9_smc.o at91sam9_alt_reset.o
2020 obj-$(CONFIG_ARCH_AT91SAM9G45) += at91sam9g45.o at91sam926x_time.o at91sam9g45_devices.o sam9_smc.o
2121 obj-$(CONFIG_ARCH_AT91CAP9) += at91cap9.o at91sam926x_time.o at91cap9_devices.o sam9_smc.o
22−obj-$(CONFIG_ARCH_AT572D940HF) += at572d940hf.o at91sam926x_time.o at572d940hf_devices.o sam9_smc.o
2322 obj-$(CONFIG_ARCH_AT91X40) += at91x40.o at91x40_time.o
2423
2524 # AT91RM9200 board-specific support
@@ -78,9 +77,6 @@ obj-$(CONFIG_MACH_AT91SAM9M10G45EK) += board-sam9m10g45ek.o · 52 unmodified lines
7877 # AT91CAP9 board-specific support
7978 obj-$(CONFIG_MACH_AT91CAP9ADK) += board-cap9adk.o
8079
81−# AT572D940HF board-specific support
82−obj-$(CONFIG_MACH_AT572D940HFEB) += board-at572d940hf_ek.o
83−
8480 # AT91X40 board-specific support
8581 obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o
8682
arch/arm/mach-at91/at572d940hf.c+0−377
@@ -1,377 +0,0 @@
1−/*
2− * arch/arm/mach-at91/at572d940hf.c
3− *
4− * Antonio R. Costa <costa.antonior@gmail.com>
5− * Copyright (C) 2008 Atmel
6− *
7− * Copyright (C) 2005 SAN People
8− *
9− * This program is free software; you can redistribute it and/or modify
10− * it under the terms of the GNU General Public License as published by
11− * the Free Software Foundation; either version 2 of the License, or
12− * (at your option) any later version.

365 more lines aren’t shown here.

arch/arm/mach-at91/at572d940hf_devices.c+0−970

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

arch/arm/mach-at91/at91cap9.c+40−1

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

arch/arm/mach-at91/at91cap9_devices.c+7−19

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

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

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

arch/arm/mach-at91/at91rm9200_devices.c+6−18

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

arch/arm/mach-at91/at91sam9260.c+45−3

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

arch/arm/mach-at91/at91sam9260_devices.c+6−20

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

arch/arm/mach-at91/at91sam9261.c+39−2

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

arch/arm/mach-at91/at91sam9261_devices.c+6−15

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

arch/arm/mach-at91/at91sam9263.c+38−1

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

arch/arm/mach-at91/at91sam9263_devices.c+6−14

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

arch/arm/mach-at91/at91sam9g45.c+45−19

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

arch/arm/mach-at91/at91sam9g45_devices.c+7−22

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

arch/arm/mach-at91/at91sam9rl.c+39−1

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

arch/arm/mach-at91/at91sam9rl_devices.c+7−18

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

arch/arm/mach-at91/at91x40.c+0−5

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

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

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

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

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

arch/arm/mach-at91/board-at572d940hf_ek.c+0−326

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/board-eco920.c+9−23

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

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

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

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

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

arch/arm/mach-at91/board-gsia18s.c+4−4

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

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

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

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

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

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

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

arch/arm/mach-at91/board-pcontrol-g20.c+4−4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/board-sam9g20ek.c+7−10

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

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

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

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

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

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

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

arch/arm/mach-at91/board-stamp9g20.c+9−9

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

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

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

arch/arm/mach-at91/board-usb-a9263.c+3−3

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

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

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

arch/arm/mach-at91/clock.c+19−50

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

arch/arm/mach-at91/clock.h+18−2

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

arch/arm/mach-at91/generic.h+26−4

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

arch/arm/mach-at91/include/mach/at572d940hf.h+0−123

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

arch/arm/mach-at91/include/mach/at572d940hf_matrix.h+0−123

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

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

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

arch/arm/mach-at91/include/mach/at91cap9.h+0−4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/include/mach/board.h+2−4

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

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

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

arch/arm/mach-at91/include/mach/cpu.h+35−8

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

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

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

arch/arm/mach-at91/include/mach/hardware.h+6−9

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

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

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

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

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

arch/arm/mach-at91/include/mach/system_rev.h+25−0

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

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

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

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

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

arch/arm/mach-bcmring/core.c+54−173

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

arch/arm/mach-bcmring/core.h+1−0

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

arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c+3−3

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

arch/arm/mach-bcmring/dma.c+2−2

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

arch/arm/mach-bcmring/include/csp/dmacHw.h+3−3

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

arch/arm/mach-bcmring/include/mach/csp/chipcHw_def.h+1−1

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

arch/arm/mach-bcmring/include/mach/csp/chipcHw_inline.h+1−1

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

arch/arm/mach-bcmring/include/mach/csp/intcHw_reg.h+2−2

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

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

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

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

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

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

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

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

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

arch/arm/mach-davinci/cpufreq.c+2−4

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

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

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

arch/arm/mach-davinci/devices-da8xx.c+17−9

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-davinci/include/mach/debug-macro.S+8−5

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

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

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

arch/arm/mach-davinci/include/mach/memory.h+1−17

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

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

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

arch/arm/mach-davinci/include/mach/uncompress.h+3−2

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

arch/arm/mach-davinci/irq.c+20−73

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

arch/arm/mach-dove/common.c+32−584

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

arch/arm/mach-dove/mpp.c+43−91

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

arch/arm/mach-dove/mpp.h+169−193

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

arch/arm/mach-ep93xx/gpio.c+1−25

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

arch/arm/mach-exynos4/Kconfig+3−0

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

arch/arm/mach-exynos4/Makefile+4−1

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

arch/arm/mach-exynos4/cpu.c+6−1

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

arch/arm/mach-exynos4/cpuidle.c+86−0

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

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

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

arch/arm/mach-exynos4/include/mach/map.h+4−0

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

arch/arm/mach-exynos4/include/mach/regs-pmu.h+3−0

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

arch/arm/mach-exynos4/include/mach/regs-usb-phy.h+64−0

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

arch/arm/mach-exynos4/include/mach/smp.h+0−19

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

arch/arm/mach-exynos4/irq-combiner.c+2−4

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

arch/arm/mach-exynos4/mach-nuri.c+105−0

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

arch/arm/mach-exynos4/mct.c+1−1

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

arch/arm/mach-exynos4/platsmp.c+4−1

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

arch/arm/mach-exynos4/pm.c+27−18

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

arch/arm/mach-exynos4/setup-sdhci-gpio.c+2−2

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

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

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

arch/arm/mach-exynos4/usb-phy.c+136−0

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

arch/arm/mach-footbridge/Kconfig+2−0

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

arch/arm/mach-footbridge/isa-timer.c+4−41

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

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

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

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

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

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

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

arch/arm/mach-h720x/include/mach/memory.h+1−2

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

arch/arm/mach-imx/Kconfig+287−0

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

arch/arm/mach-imx/Makefile+31−7

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

arch/arm/mach-imx/Makefile.boot+4−0

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

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

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

arch/arm/mach-imx/clock-imx31.crenamed from arch/arm/mach-mx3/clock-imx31.c+1−2

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

arch/arm/mach-imx/clock-imx35.crenamed from arch/arm/mach-mx3/clock-imx35.c+0−1

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

arch/arm/mach-imx/cpu-imx31.crenamed from arch/arm/mach-mx3/cpu.c+3−35

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

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

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

arch/arm/mach-imx/crmregs-imx31.hrenamed from arch/arm/mach-mx3/crm_regs.h+0−0

File renamed without changes.

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

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

arch/arm/mach-imx/devices-imx21.h+11−11

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

arch/arm/mach-imx/devices-imx25.h+17−18

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

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

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

arch/arm/mach-imx/devices-imx31.hrenamed from arch/arm/mach-mx3/devices-imx31.h+24−12

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

arch/arm/mach-imx/devices-imx35.hrenamed from arch/arm/mach-mx3/devices-imx35.h+22−15

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

arch/arm/mach-imx/ehci-imx31.crenamed from arch/arm/mach-mx3/ehci-imx31.c+0−1

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

arch/arm/mach-imx/ehci-imx35.crenamed from arch/arm/mach-mx3/ehci-imx35.c+0−1

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

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

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

arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c+9−14

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

arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.crenamed from arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c+17−24

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

arch/arm/mach-imx/iomux-imx31.crenamed from arch/arm/mach-mx3/iomux-imx31.c+0−0

File renamed without changes.

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

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

arch/arm/mach-imx/mach-armadillo5x0.crenamed from arch/arm/mach-mx3/mach-armadillo5x0.c+8−21

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

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

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

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

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

arch/arm/mach-imx/mach-cpuimx35.crenamed from arch/arm/mach-mx3/mach-cpuimx35.c+0−2

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

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

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

arch/arm/mach-imx/mach-imx27_visstrim_m10.c+3−11

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

arch/arm/mach-imx/mach-kzm_arm11_01.crenamed from arch/arm/mach-mx3/mach-kzm_arm11_01.c+0−1

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

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

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

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

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

arch/arm/mach-imx/mach-mx25_3ds.c+11−2

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

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

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

arch/arm/mach-imx/mach-mx31_3ds.crenamed from arch/arm/mach-mx3/mach-mx31_3ds.c+25−25

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

arch/arm/mach-imx/mach-mx31ads.crenamed from arch/arm/mach-mx3/mach-mx31ads.c+0−1

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

arch/arm/mach-imx/mach-mx31lilly.crenamed from arch/arm/mach-mx3/mach-mx31lilly.c+0−1

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

arch/arm/mach-imx/mach-mx31lite.crenamed from arch/arm/mach-mx3/mach-mx31lite.c+0−1

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

arch/arm/mach-imx/mach-mx31moboard.crenamed from arch/arm/mach-mx3/mach-mx31moboard.c+41−34

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

arch/arm/mach-imx/mach-mx35_3ds.crenamed from arch/arm/mach-mx3/mach-mx35_3ds.c+0−1

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

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

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

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

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

arch/arm/mach-imx/mach-pcm037.crenamed from arch/arm/mach-mx3/mach-pcm037.c+35−30

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

arch/arm/mach-imx/mach-pcm037_eet.crenamed from arch/arm/mach-mx3/mach-pcm037_eet.c+3−14

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

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

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

arch/arm/mach-imx/mach-pcm043.crenamed from arch/arm/mach-mx3/mach-pcm043.c+16−11

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

arch/arm/mach-imx/mach-qong.crenamed from arch/arm/mach-mx3/mach-qong.c+7−8

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

arch/arm/mach-imx/mach-vpr200.crenamed from arch/arm/mach-mx3/mach-vpr200.c+15−21

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

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

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

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

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

arch/arm/mach-imx/mx31lilly-db.crenamed from arch/arm/mach-mx3/mx31lilly-db.c+4−9

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

arch/arm/mach-imx/mx31lite-db.crenamed from arch/arm/mach-mx3/mx31lite-db.c+1−2

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

arch/arm/mach-imx/mx31moboard-devboard.crenamed from arch/arm/mach-mx3/mx31moboard-devboard.c+0−1

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

arch/arm/mach-imx/mx31moboard-marxbot.crenamed from arch/arm/mach-mx3/mx31moboard-marxbot.c+0−2

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

arch/arm/mach-imx/mx31moboard-smartbot.crenamed from arch/arm/mach-mx3/mx31moboard-smartbot.c+0−1

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

arch/arm/mach-imx/pcm037.hrenamed from arch/arm/mach-mx3/pcm037.h+0−0

File renamed without changes.

arch/arm/mach-integrator/Kconfig+1−0

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

arch/arm/mach-integrator/integrator_ap.c+18−42

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

arch/arm/mach-integrator/integrator_cp.c+15−9

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

arch/arm/mach-iop13xx/pci.c+2−2

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

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

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

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

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

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

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

arch/arm/mach-ixp4xx/common.c+2−14

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

arch/arm/mach-ixp4xx/include/mach/ixp46x_ts.h+78−0

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

arch/arm/mach-ixp4xx/include/mach/memory.h+2−10

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

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

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

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

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

arch/arm/mach-kirkwood/common.c+32−569

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

arch/arm/mach-kirkwood/include/mach/irqs.h+1−0

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

arch/arm/mach-kirkwood/mpp.c+3−55

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

arch/arm/mach-kirkwood/mpp.h+0−6

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

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

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

arch/arm/mach-kirkwood/tsx1x-common.c+1−1

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

arch/arm/mach-loki/common.c+17−173

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

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

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

arch/arm/mach-lpc32xx/timer.c+3−14

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

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

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

arch/arm/mach-mmp/include/mach/mfp-pxa168.h+9−0

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

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

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

arch/arm/mach-mmp/time.c+1−1

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

arch/arm/mach-msm/acpuclock-arm11.c+1−1

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

arch/arm/mach-msm/board-qsd8x50.c+1−4

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

arch/arm/mach-msm/gpio-v2.c+8−2

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

arch/arm/mach-msm/include/mach/msm_iomap.h+1−1

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

arch/arm/mach-msm/platsmp.c+3−1

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

arch/arm/mach-msm/scm.c+1−1

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

arch/arm/mach-msm/timer.c+1−1

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

arch/arm/mach-mv78xx0/common.c+33−537

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

arch/arm/mach-mv78xx0/mpp.c+3−55

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

arch/arm/mach-mv78xx0/mpp.h+0−6

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

arch/arm/mach-mx3/Kconfig+0−257

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

arch/arm/mach-mx3/Makefile+0−26

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

arch/arm/mach-mx3/Makefile.boot+0−3

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

arch/arm/mach-mx3/devices.c+0−115

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

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

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

arch/arm/mach-mx3/mm.c+0−141

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

arch/arm/mach-mx5/Kconfig+41−18

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

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

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

arch/arm/mach-mx5/board-cpuimx51.c+0−2

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

arch/arm/mach-mx5/board-cpuimx51sd.c+0−2

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

arch/arm/mach-mx5/board-mx50_rdp.c+0−1

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

arch/arm/mach-mx5/board-mx51_babbage.c+8−15

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

arch/arm/mach-mx5/board-mx51_efikamx.c+1−4

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

arch/arm/mach-mx5/board-mx51_efikasb.c+1−4

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

arch/arm/mach-mx5/board-mx53_evk.c+4−7

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

arch/arm/mach-mx5/board-mx53_loco.c+25−2

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

arch/arm/mach-mx5/board-mx53_smd.c+28−2

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

arch/arm/mach-mx5/clock-mx51-mx53.c+10−0

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

arch/arm/mach-mx5/cpu.c+82−0

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

arch/arm/mach-mx5/devices-imx50.h+3−3

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

arch/arm/mach-mx5/devices-imx51.h+11−14

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

arch/arm/mach-mx5/devices-imx53.h+6−7

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

arch/arm/mach-mx5/eukrea_mbimx51-baseboard.c+0−2

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

arch/arm/mach-mx5/eukrea_mbimxsd-baseboard.c+7−13

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

arch/arm/mach-mx5/mx51_efika.c+0−4

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

arch/arm/mach-mx5/system.c+84−0

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

arch/arm/mach-mxc91231/Kconfig+0−11

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

arch/arm/mach-mxc91231/Makefile+0−2

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

arch/arm/mach-mxc91231/Makefile.boot+0−3

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

arch/arm/mach-mxc91231/clock.c+0−640

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

arch/arm/mach-mxc91231/crm_regs.h+0−394

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

arch/arm/mach-mxc91231/devices.c+0−251

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

arch/arm/mach-mxc91231/devices.h+0−13

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

arch/arm/mach-mxc91231/iomux.c+0−177

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

arch/arm/mach-mxc91231/magx-zn5.c+0−62

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

arch/arm/mach-mxc91231/mm.c+0−62

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

arch/arm/mach-mxc91231/system.c+0−51

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

arch/arm/mach-mxs/Kconfig+12−2

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

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

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

arch/arm/mach-mxs/clock-mx23.c+17−0

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

arch/arm/mach-mxs/clock-mx28.c+24−1

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

arch/arm/mach-mxs/devices-mx23.h+4−0

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

arch/arm/mach-mxs/devices-mx28.h+5−1

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

arch/arm/mach-mxs/devices/Kconfig+3−0

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

arch/arm/mach-mxs/devices/Makefile+1−0

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

arch/arm/mach-mxs/devices/platform-mxs-i2c.c+3−2

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

arch/arm/mach-mxs/devices/platform-mxs-mmc.c+73−0

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

arch/arm/mach-mxs/include/mach/devices-common.h+16−2

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

arch/arm/mach-mxs/include/mach/mx23.h+1−1

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

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

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

arch/arm/mach-mxs/mach-mx23evk.c+44−0

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

arch/arm/mach-mxs/mach-mx28evk.c+89−0

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

arch/arm/mach-mxs/mach-stmp378x_devb.c+120−0

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

arch/arm/mach-mxs/module-tx28.c+35−6

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

arch/arm/mach-mxs/module-tx28.h+1−0

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

arch/arm/mach-mxs/timer.c+7−13

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

arch/arm/mach-netx/fb.c+0−1

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

arch/arm/mach-netx/time.c+2−14

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

arch/arm/mach-nomadik/Kconfig+0−1

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

arch/arm/mach-ns9xxx/Kconfig+0−40

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

arch/arm/mach-ns9xxx/Makefile+0−12

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

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

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

arch/arm/mach-ns9xxx/board-a9m9750dev.c+0−156

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

arch/arm/mach-ns9xxx/board-a9m9750dev.h+0−15

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

arch/arm/mach-ns9xxx/board-jscc9p9360.c+0−17

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

arch/arm/mach-ns9xxx/board-jscc9p9360.h+0−13

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

arch/arm/mach-ns9xxx/clock.c+0−215

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

arch/arm/mach-ns9xxx/clock.h+0−35

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

arch/arm/mach-ns9xxx/generic.c+0−19

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

arch/arm/mach-ns9xxx/generic.h+0−16

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

arch/arm/mach-ns9xxx/gpio-ns9360.c+0−118

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

arch/arm/mach-ns9xxx/gpio-ns9360.h+0−13

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

arch/arm/mach-ns9xxx/gpio.c+0−147

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

arch/arm/mach-ns9xxx/include/mach/board.h+0−40

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

arch/arm/mach-ns9xxx/include/mach/debug-macro.S+0−21

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

arch/arm/mach-ns9xxx/include/mach/entry-macro.S+0−28

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

arch/arm/mach-ns9xxx/include/mach/gpio.h+0−47

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

arch/arm/mach-ns9xxx/include/mach/hardware.h+0−77

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

arch/arm/mach-ns9xxx/include/mach/io.h+0−20

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

arch/arm/mach-ns9xxx/include/mach/irqs.h+0−86

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

arch/arm/mach-ns9xxx/include/mach/memory.h+0−24

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

arch/arm/mach-ns9xxx/include/mach/module.h+0−55

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

arch/arm/mach-ns9xxx/include/mach/processor-ns9360.h+0−32

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

arch/arm/mach-ns9xxx/include/mach/processor.h+0−42

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

arch/arm/mach-ns9xxx/include/mach/regs-bbu.h+0−45

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

arch/arm/mach-ns9xxx/include/mach/regs-board-a9m9750dev.h+0−24

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

arch/arm/mach-ns9xxx/include/mach/regs-mem.h+0−135

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

arch/arm/mach-ns9xxx/include/mach/regs-sys-common.h+0−31

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

arch/arm/mach-ns9xxx/include/mach/regs-sys-ns9360.h+0−148

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

arch/arm/mach-ns9xxx/include/mach/system.h+0−35

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

arch/arm/mach-ns9xxx/include/mach/timex.h+0−20

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

arch/arm/mach-ns9xxx/include/mach/uncompress.h+0−164

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

arch/arm/mach-ns9xxx/include/mach/vmalloc.h+0−16

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

arch/arm/mach-ns9xxx/irq.c+0−74

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

arch/arm/mach-ns9xxx/mach-cc9p9360dev.c+0−43

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

arch/arm/mach-ns9xxx/mach-cc9p9360js.c+0−31

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

arch/arm/mach-ns9xxx/plat-serial8250.c+0−70

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

arch/arm/mach-ns9xxx/processor-ns9360.c+0−53

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

arch/arm/mach-ns9xxx/time-ns9360.c+0−181

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

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

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

arch/arm/mach-omap1/ams-delta-fiq-handler.S+1−1

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

arch/arm/mach-omap1/board-sx1.c+1−1

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

arch/arm/mach-omap1/devices.c+1−1

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

arch/arm/mach-omap1/flash.c+1−1

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

arch/arm/mach-omap1/include/mach/ams-delta-fiq.h+1−1

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

arch/arm/mach-omap1/pm_bus.c+22−47

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

arch/arm/mach-omap1/time.c+22−47

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

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

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

arch/arm/mach-omap2/Makefile+6−6

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

arch/arm/mach-omap2/board-2430sdp.c+5−22

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

arch/arm/mach-omap2/board-3430sdp.c+25−130

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

arch/arm/mach-omap2/board-4430sdp.c+35−90

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

arch/arm/mach-omap2/board-am3517crane.c+2−8

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

arch/arm/mach-omap2/board-am3517evm.c+19−41

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

arch/arm/mach-omap2/board-apollon.c+13−16

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

arch/arm/mach-omap2/board-cm-t35.c+41−199

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

arch/arm/mach-omap2/board-cm-t3517.c+4−5

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

arch/arm/mach-omap2/board-devkit8000.c+14−121

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

arch/arm/mach-omap2/board-igep0020.c+230−225

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

arch/arm/mach-omap2/board-igep0030.c+0−458

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

arch/arm/mach-omap2/board-ldp.c+11−127

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

arch/arm/mach-omap2/board-n8x0.c+11−17

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

arch/arm/mach-omap2/board-omap3beagle.c+52−146

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

arch/arm/mach-omap2/board-omap3evm.c+46−200

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

arch/arm/mach-omap2/board-omap3logic.c+2−12

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

arch/arm/mach-omap2/board-omap3pandora.c+8−84

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

arch/arm/mach-omap2/board-omap3stalker.c+18−119

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

arch/arm/mach-omap2/board-omap3touchbook.c+13−108

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

arch/arm/mach-omap2/board-omap4panda.c+25−58

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

arch/arm/mach-omap2/board-overo.c+48−221

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

arch/arm/mach-omap2/board-rm680.c+3−18

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

arch/arm/mach-omap2/board-rx51-peripherals.c+37−34

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

arch/arm/mach-omap2/board-rx51-video.c+3−4

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

arch/arm/mach-omap2/board-rx51.c+18−9

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

arch/arm/mach-omap2/board-zoom-debugboard.c+9−56

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

arch/arm/mach-omap2/board-zoom-display.c+9−24

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

arch/arm/mach-omap2/board-zoom-peripherals.c+6−23

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

arch/arm/mach-omap2/clkt34xx_dpll3m2.c+1−0

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

arch/arm/mach-omap2/clock44xx_data.c+2−7

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

arch/arm/mach-omap2/clockdomain.c+1−1

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

arch/arm/mach-omap2/clockdomain.h+1−1

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

arch/arm/mach-omap2/cm2xxx_3xxx.c+17−0

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

arch/arm/mach-omap2/common-board-devices.c+163−0

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

arch/arm/mach-omap2/common-board-devices.h+35−0

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

arch/arm/mach-omap2/control.c+7−1

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

arch/arm/mach-omap2/control.h+1−1

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

arch/arm/mach-omap2/cpuidle34xx.c+146−290

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

arch/arm/mach-omap2/devices.c+3−3

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

arch/arm/mach-omap2/display.c+50−27

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

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

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

arch/arm/mach-omap2/gpio.c+1−1

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

arch/arm/mach-omap2/gpmc-smc91x.c+5−6

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

arch/arm/mach-omap2/gpmc-smsc911x.c+19−25

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

arch/arm/mach-omap2/hsmmc.c+1−1

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

arch/arm/mach-omap2/include/mach/board-zoom.h+1−1

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

arch/arm/mach-omap2/include/mach/omap4-common.h+7−0

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

arch/arm/mach-omap2/irq.c+25−72

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

arch/arm/mach-omap2/mcbsp.c+1−1

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

arch/arm/mach-omap2/mux.c+1−1

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

arch/arm/mach-omap2/mux2430.h+1−1

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

arch/arm/mach-omap2/omap-smp.c+4−1

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

arch/arm/mach-omap2/omap_hwmod_2420_data.c+5−1

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

arch/arm/mach-omap2/omap_hwmod_2430_data.c+7−2

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

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+7−1

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

arch/arm/mach-omap2/omap_hwmod_44xx_data.c+1−1

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

arch/arm/mach-omap2/omap_l3_noc.c+23−28

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

arch/arm/mach-omap2/omap_l3_smx.c+17−29

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

arch/arm/mach-omap2/omap_phy_internal.c+8−5

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

arch/arm/mach-omap2/omap_twl.c+1−1

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

arch/arm/mach-omap2/pm.c+1−0

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

arch/arm/mach-omap2/pm.h+9−8

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

arch/arm/mach-omap2/pm34xx.c+0−14

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

arch/arm/mach-omap2/pm44xx.c+0−2

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

arch/arm/mach-omap2/pm_bus.c+0−85

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

arch/arm/mach-omap2/powerdomain.c+1−1

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

arch/arm/mach-omap2/powerdomain.h+1−1

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

arch/arm/mach-omap2/powerdomains3xxx_data.c+1−1

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

arch/arm/mach-omap2/smartreflex.c+19−6

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

arch/arm/mach-omap2/usb-musb.c+17−5

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

arch/arm/mach-omap2/usb-tusb6010.c+1−2

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

arch/arm/mach-omap2/voltage.c+2−4

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

arch/arm/mach-orion5x/addr-map.c+1−1

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

arch/arm/mach-orion5x/common.c+32−446

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

arch/arm/mach-orion5x/d2net-setup.c+22−22

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

arch/arm/mach-orion5x/db88f5281-setup.c+22−22

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

arch/arm/mach-orion5x/dns323-setup.c+66−66

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

arch/arm/mach-orion5x/edmini_v2-setup.c+22−22

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

arch/arm/mach-orion5x/kurobox_pro-setup.c+22−22

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

arch/arm/mach-orion5x/ls-chl-setup.c+22−22

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

arch/arm/mach-orion5x/ls_hgl-setup.c+22−22

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

arch/arm/mach-orion5x/lsmini-setup.c+22−22

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

arch/arm/mach-orion5x/mpp.c+15−135

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

arch/arm/mach-orion5x/mpp.h+123−68

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

arch/arm/mach-orion5x/mss2-setup.c+22−22

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

arch/arm/mach-orion5x/mv2120-setup.c+22−22

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

arch/arm/mach-orion5x/net2big-setup.c+23−23

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

arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c+22−22

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

arch/arm/mach-orion5x/rd88f5181l-ge-setup.c+22−22

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

arch/arm/mach-orion5x/rd88f5182-setup.c+22−22

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

arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c+0−1

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

arch/arm/mach-orion5x/terastation_pro2-setup.c+22−22

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

arch/arm/mach-orion5x/ts209-setup.c+23−23

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

arch/arm/mach-orion5x/ts409-setup.c+23−23

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

arch/arm/mach-orion5x/ts78xx-setup.c+31−31

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

arch/arm/mach-orion5x/wnr854t-setup.c+22−22

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

arch/arm/mach-orion5x/wrt350n-v2-setup.c+22−22

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

arch/arm/mach-pxa/Kconfig+0−1

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

arch/arm/mach-pxa/am200epd.c+4−4

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

arch/arm/mach-pxa/am300epd.c+7−6

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

arch/arm/mach-pxa/balloon3.c+1−2

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

arch/arm/mach-pxa/clock-pxa2xx.c+4−14

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

arch/arm/mach-pxa/clock-pxa3xx.c+4−13

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

arch/arm/mach-pxa/clock.h+4−3

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

arch/arm/mach-pxa/cm-x270.c+0−1

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

arch/arm/mach-pxa/cm-x2xx-pci.c+0−27

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

arch/arm/mach-pxa/cm-x2xx.c+8−17

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

arch/arm/mach-pxa/cm-x300.c+1−1

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

arch/arm/mach-pxa/colibri-evalboard.c+0−1

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

arch/arm/mach-pxa/colibri-pxa270-income.c+1−2

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

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

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

arch/arm/mach-pxa/colibri-pxa3xx.c+1−1

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

arch/arm/mach-pxa/corgi.c+0−1

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

arch/arm/mach-pxa/devices.c+2−7

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

arch/arm/mach-pxa/em-x270.c+1−1

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

arch/arm/mach-pxa/eseries.c+27−9

This diff is large: its 152 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.h+4−4

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

arch/arm/mach-pxa/gumstix.c+11−2

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

arch/arm/mach-pxa/hx4700.c+2−2

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

arch/arm/mach-pxa/idp.c+1−1

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

arch/arm/mach-pxa/include/mach/gpio.h+15−2

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

arch/arm/mach-pxa/include/mach/irqs.h+0−3

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

arch/arm/mach-pxa/include/mach/memory.h+2−8

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

arch/arm/mach-pxa/include/mach/palmz72.h+5−0

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

arch/arm/mach-pxa/include/mach/pxa3xx-regs.h+1−1

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

arch/arm/mach-pxa/include/mach/pxafb.h+2−2

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

arch/arm/mach-pxa/include/mach/uncompress.h+3−3

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

arch/arm/mach-pxa/include/mach/z2.h+1−2

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

arch/arm/mach-pxa/include/mach/zeus.h+1−1

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

arch/arm/mach-pxa/irq.c+4−13

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

arch/arm/mach-pxa/littleton.c+1−1

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

arch/arm/mach-pxa/lpd270.c+7−15

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

arch/arm/mach-pxa/lubbock.c+7−16

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

arch/arm/mach-pxa/magician.c+3−3

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

arch/arm/mach-pxa/mainstone.c+7−17

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

arch/arm/mach-pxa/mfp-pxa2xx.c+5−7

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

arch/arm/mach-pxa/mfp-pxa3xx.c+5−16

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

arch/arm/mach-pxa/mioa701.c+10−37

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

arch/arm/mach-pxa/palm27x.c+2−3

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

arch/arm/mach-pxa/palmld.c+0−1

This diff is large: its 8 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+8−25

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

arch/arm/mach-pxa/palmtreo.c+0−1

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

arch/arm/mach-pxa/palmz72.c+135−16

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

arch/arm/mach-pxa/pcm990-baseboard.c+1−1

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

arch/arm/mach-pxa/poodle.c+1−2

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

arch/arm/mach-pxa/pxa25x.c+7−20

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

arch/arm/mach-pxa/pxa27x.c+7−20

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

arch/arm/mach-pxa/pxa3xx.c+6−19

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

arch/arm/mach-pxa/pxa95x.c+4−16

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

arch/arm/mach-pxa/raumfeld.c+1−2

This diff is large: its 17 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/smemc.c+7−22

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

arch/arm/mach-pxa/spitz.c+1−1

This diff is large: its 9 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/time.c+3−17

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

arch/arm/mach-pxa/tosa.c+11−2

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

arch/arm/mach-pxa/trizeps4.c+2−3

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

arch/arm/mach-pxa/viper.c+7−7

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

arch/arm/mach-pxa/vpac270.c+1−2

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

arch/arm/mach-pxa/z2.c+38−39

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

arch/arm/mach-pxa/zeus.c+1−1

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

arch/arm/mach-pxa/zylonite.c+2−2

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

arch/arm/mach-realview/core.c+14−49

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

arch/arm/mach-realview/include/mach/barriers.h+1−1

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

arch/arm/mach-realview/include/mach/memory.h+2−7

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

arch/arm/mach-realview/include/mach/smp.h+0−14

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

arch/arm/mach-realview/platsmp.c+3−0

This diff is large: its 17 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-rpc/include/mach/uncompress.h+6−6

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

arch/arm/mach-s3c2410/include/mach/dma.h+1−1

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

arch/arm/mach-s3c2410/include/mach/map.h+4−0

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

arch/arm/mach-s3c2410/include/mach/regs-mem.h+1−1

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

arch/arm/mach-s3c2410/include/mach/regs-s3c2443-clock.h+25−0

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

arch/arm/mach-s3c2410/irq.c+2−28

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

arch/arm/mach-s3c2410/mach-amlm5900.c+0−5

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

arch/arm/mach-s3c2410/mach-bast.c+5−12

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

arch/arm/mach-s3c2410/mach-n30.c+1−1

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

arch/arm/mach-s3c2410/mach-tct_hammer.c+0−6

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

arch/arm/mach-s3c2410/nor-simtec.c+1−1

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

arch/arm/mach-s3c2410/pm.c+6−7

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

arch/arm/mach-s3c2410/s3c2410.c+5−0

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

arch/arm/mach-s3c2412/irq.c+0−2

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

arch/arm/mach-s3c2412/mach-jive.c+6−13

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

arch/arm/mach-s3c2412/pm.c+15−12

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

arch/arm/mach-s3c2412/s3c2412.c+4−0

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

arch/arm/mach-s3c2416/irq.c+0−2

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

arch/arm/mach-s3c2416/mach-smdk2416.c+27−0

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

arch/arm/mach-s3c2416/pm.c+12−15

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

arch/arm/mach-s3c2416/s3c2416.c+5−0

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

arch/arm/mach-s3c2440/mach-gta02.c+5−0

This diff is large: its 19 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-osiris.c+5−13

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

arch/arm/mach-s3c2440/s3c2440.c+8−0

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

arch/arm/mach-s3c2440/s3c2442.c+6−0

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

arch/arm/mach-s3c2440/s3c244x-irq.c+0−4

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

arch/arm/mach-s3c2440/s3c244x.c+31−31

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

arch/arm/mach-s3c64xx/dev-spi.c+7−13

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

arch/arm/mach-s3c64xx/dma.c+1−1

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-a.h+0−48

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-b.h+0−60

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-c.h+0−53

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-d.h+0−49

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-e.h+0−44

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-f.h+0−71

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-g.h+0−42

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-h.h+0−74

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-i.h+0−40

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-j.h+0−36

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-n.h+0−54

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-o.h+0−70

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-p.h+0−69

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

arch/arm/mach-s3c64xx/include/mach/gpio-bank-q.h+0−46

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

arch/arm/mach-s3c64xx/irq-pm.c+9−9

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

arch/arm/mach-s3c64xx/irq.c+1−6

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

arch/arm/mach-s3c64xx/mach-smdk6410.c+0−1

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

arch/arm/mach-s3c64xx/pm.c+19−15

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

arch/arm/mach-s3c64xx/setup-i2c0.c+2−5

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

arch/arm/mach-s3c64xx/setup-i2c1.c+2−5

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

arch/arm/mach-s3c64xx/sleep.S+7−1

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

arch/arm/mach-s5p6442/Kconfig+0−25

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

arch/arm/mach-s5p6442/Makefile+0−24

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

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

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

arch/arm/mach-s5p6442/clock.c+0−420

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

arch/arm/mach-s5p6442/cpu.c+0−143

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

arch/arm/mach-s5p6442/dev-audio.c+0−217

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

arch/arm/mach-s5p6442/dev-spi.c+0−121

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

arch/arm/mach-s5p6442/dma.c+0−105

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

arch/arm/mach-s5p6442/include/mach/debug-macro.S+0−35

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

arch/arm/mach-s5p6442/include/mach/dma.h+0−26

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

arch/arm/mach-s5p6442/include/mach/entry-macro.S+0−48

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

arch/arm/mach-s5p6442/include/mach/gpio.h+0−123

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

arch/arm/mach-s5p6442/include/mach/hardware.h+0−18

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

arch/arm/mach-s5p6442/include/mach/io.h+0−17

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

arch/arm/mach-s5p6442/include/mach/irqs.h+0−87

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

arch/arm/mach-s5p6442/include/mach/map.h+0−76

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

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

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

arch/arm/mach-s5p6442/include/mach/pwm-clock.h+0−70

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

arch/arm/mach-s5p6442/include/mach/regs-clock.h+0−104

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

arch/arm/mach-s5p6442/include/mach/regs-irq.h+0−19

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

arch/arm/mach-s5p6442/include/mach/spi-clocks.h+0−17

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

arch/arm/mach-s5p6442/include/mach/system.h+0−23

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

arch/arm/mach-s5p6442/include/mach/tick.h+0−26

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

arch/arm/mach-s5p6442/include/mach/timex.h+0−24

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

arch/arm/mach-s5p6442/include/mach/uncompress.h+0−24

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

arch/arm/mach-s5p6442/include/mach/vmalloc.h+0−17

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

arch/arm/mach-s5p6442/init.c+0−44

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

arch/arm/mach-s5p6442/mach-smdk6442.c+0−102

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

arch/arm/mach-s5p6442/setup-i2c0.c+0−28

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

arch/arm/mach-s5p64x0/include/mach/uncompress.h+3−3

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

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

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

arch/arm/mach-s5pc100/include/mach/regs-fb.h+1−1

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

arch/arm/mach-s5pc100/setup-sdhci.c+1−1

This diff is large: its 9 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/include/mach/gpio.h+1−1

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

arch/arm/mach-s5pv210/pm.c+17−8

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

arch/arm/mach-s5pv210/setup-sdhci-gpio.c+2−2

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

arch/arm/mach-s5pv210/setup-sdhci.c+1−1

This diff is large: its 9 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/cpu-sa1100.c+1−1

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

arch/arm/mach-sa1100/include/mach/SA-1100.h+1−1

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

arch/arm/mach-sa1100/include/mach/memory.h+1−11

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

arch/arm/mach-sa1100/irq.c+6−13

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

arch/arm/mach-sa1100/jornada720_ssp.c+2−2

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

arch/arm/mach-sa1100/time.c+5−19

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

arch/arm/mach-shark/include/mach/memory.h+1−19

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

arch/arm/mach-shmobile/Makefile+5−0

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

arch/arm/mach-shmobile/board-ag5evm.c+118−0

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

arch/arm/mach-shmobile/board-ap4evb.c+28−21

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

arch/arm/mach-shmobile/board-g4evm.c+1−1

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

arch/arm/mach-shmobile/board-mackerel.c+242−40

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

arch/arm/mach-shmobile/clock-sh7372.c+17−4

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

arch/arm/mach-shmobile/clock-sh73a0.c+18−1

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

arch/arm/mach-shmobile/cpuidle.c+92−0

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

arch/arm/mach-shmobile/headsmp.S+1−1

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

arch/arm/mach-shmobile/include/mach/common.h+7−0

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

arch/arm/mach-shmobile/include/mach/head-ap4evb.txt+1−2

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

arch/arm/mach-shmobile/include/mach/head-mackerel.txt+1−2

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

arch/arm/mach-shmobile/include/mach/mmc.h+1−1

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

arch/arm/mach-shmobile/include/mach/sh7372.h+1−0

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

arch/arm/mach-shmobile/include/mach/sh73a0.h+30−0

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

arch/arm/mach-shmobile/include/mach/smp.h+0−16

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

arch/arm/mach-shmobile/include/mach/zboot.h+1−1

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

arch/arm/mach-shmobile/intc-sh7372.c+23−23

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

arch/arm/mach-shmobile/platsmp.c+3−0

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

arch/arm/mach-shmobile/pm-sh7372.c+108−0

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

arch/arm/mach-shmobile/pm_runtime.c+17−128

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

arch/arm/mach-shmobile/setup-sh7367.c+223−0

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

arch/arm/mach-shmobile/setup-sh7372.c+217−0

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

arch/arm/mach-shmobile/setup-sh7377.c+231−8

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

arch/arm/mach-shmobile/setup-sh73a0.c+244−0

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

arch/arm/mach-shmobile/sleep-sh7372.S+260−0

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

arch/arm/mach-shmobile/smp-sh73a0.c+5−4

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

arch/arm/mach-shmobile/suspend.c+47−0

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

arch/arm/mach-spear3xx/Kconfig+20−10

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

arch/arm/mach-spear3xx/Kconfig300+0−17

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

arch/arm/mach-spear3xx/Kconfig310+0−17

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

arch/arm/mach-spear3xx/Kconfig320+0−17

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

arch/arm/mach-spear3xx/clock.c+45−29

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

arch/arm/mach-spear3xx/include/mach/generic.h+103−102

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

arch/arm/mach-spear3xx/include/mach/irqs.h+104−102

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

arch/arm/mach-spear3xx/include/mach/spear300.h+13−13

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

arch/arm/mach-spear3xx/include/mach/spear310.h+22−22

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

arch/arm/mach-spear3xx/include/mach/spear320.h+24−24

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

arch/arm/mach-spear3xx/spear300.c+84−79

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

arch/arm/mach-spear3xx/spear300_evb.c+14−18

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

arch/arm/mach-spear3xx/spear310.c+77−72

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

arch/arm/mach-spear3xx/spear310_evb.c+20−25

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

arch/arm/mach-spear3xx/spear320.c+128−123

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

arch/arm/mach-spear3xx/spear320_evb.c+18−22

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

arch/arm/mach-spear3xx/spear3xx.c+66−66

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

arch/arm/mach-spear6xx/Kconfig+8−7

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

arch/arm/mach-spear6xx/Kconfig600+0−17

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

arch/arm/mach-spear6xx/clock.c+2−2

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

arch/arm/mach-spear6xx/include/mach/generic.h+1−1

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

arch/arm/mach-spear6xx/spear6xx.c+1−1

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

arch/arm/mach-stmp378x/Makefile+0−2

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

arch/arm/mach-stmp378x/Makefile.boot+0−3

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

arch/arm/mach-stmp378x/include/mach/entry-macro.S+0−35

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

arch/arm/mach-stmp378x/include/mach/irqs.h+0−95

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

arch/arm/mach-stmp378x/include/mach/pins.h+0−151

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

arch/arm/mach-stmp378x/include/mach/regs-apbh.h+0−101

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

arch/arm/mach-stmp378x/include/mach/regs-apbx.h+0−119

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

arch/arm/mach-stmp378x/include/mach/regs-audioin.h+0−63

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

arch/arm/mach-stmp378x/include/mach/regs-audioout.h+0−104

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

arch/arm/mach-stmp378x/include/mach/regs-bch.h+0−56

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

arch/arm/mach-stmp378x/include/mach/regs-clkctrl.h+0−88

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

arch/arm/mach-stmp378x/include/mach/regs-dcp.h+0−87

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

arch/arm/mach-stmp378x/include/mach/regs-digctl.h+0−38

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

arch/arm/mach-stmp378x/include/mach/regs-dram.h+0−27

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

arch/arm/mach-stmp378x/include/mach/regs-dri.h+0−45

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

arch/arm/mach-stmp378x/include/mach/regs-ecc8.h+0−39

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

arch/arm/mach-stmp378x/include/mach/regs-emi.h+0−25

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

arch/arm/mach-stmp378x/include/mach/regs-gpmi.h+0−78

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

arch/arm/mach-stmp378x/include/mach/regs-i2c.h+0−55

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

arch/arm/mach-stmp378x/include/mach/regs-icoll.h+0−45

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

arch/arm/mach-stmp378x/include/mach/regs-ir.h+0−23

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

arch/arm/mach-stmp378x/include/mach/regs-lcdif.h+0−195

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

arch/arm/mach-stmp378x/include/mach/regs-lradc.h+0−99

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

arch/arm/mach-stmp378x/include/mach/regs-ocotp.h+0−40

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

arch/arm/mach-stmp378x/include/mach/regs-pinctrl.h+0−90

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

arch/arm/mach-stmp378x/include/mach/regs-power.h+0−63

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

arch/arm/mach-stmp378x/include/mach/regs-pwm.h+0−53

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

arch/arm/mach-stmp378x/include/mach/regs-pxp.h+0−140

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

arch/arm/mach-stmp378x/include/mach/regs-rtc.h+0−59

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

arch/arm/mach-stmp378x/include/mach/regs-spdif.h+0−49

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

arch/arm/mach-stmp378x/include/mach/regs-ssp.h+0−102

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

arch/arm/mach-stmp378x/include/mach/regs-sydma.h+0−23

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

arch/arm/mach-stmp378x/include/mach/regs-timrot.h+0−68

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

arch/arm/mach-stmp378x/include/mach/regs-tvenc.h+0−67

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

arch/arm/mach-stmp378x/include/mach/regs-uartapp.h+0−87

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

arch/arm/mach-stmp378x/include/mach/regs-uartdbg.h+0−268

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

arch/arm/mach-stmp378x/include/mach/regs-usbctrl.h+0−40

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

arch/arm/mach-stmp378x/include/mach/regs-usbphy.h+0−37

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

arch/arm/mach-stmp378x/stmp378x.c+0−299

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

arch/arm/mach-stmp378x/stmp378x.h+0−25

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

arch/arm/mach-stmp378x/stmp378x_devb.c+0−332

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

arch/arm/mach-stmp37xx/Makefile+0−2

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

arch/arm/mach-stmp37xx/Makefile.boot+0−3

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

arch/arm/mach-stmp37xx/include/mach/entry-macro.S+0−37

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

arch/arm/mach-stmp37xx/include/mach/irqs.h+0−99

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

arch/arm/mach-stmp37xx/include/mach/pins.h+0−147

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

arch/arm/mach-stmp37xx/include/mach/regs-apbh.h+0−97

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

arch/arm/mach-stmp37xx/include/mach/regs-apbx.h+0−113

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

arch/arm/mach-stmp37xx/include/mach/regs-audioin.h+0−61

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

arch/arm/mach-stmp37xx/include/mach/regs-audioout.h+0−111

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

arch/arm/mach-stmp37xx/include/mach/regs-clkctrl.h+0−72

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

arch/arm/mach-stmp37xx/include/mach/regs-digctl.h+0−24

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

arch/arm/mach-stmp37xx/include/mach/regs-ecc8.h+0−37

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

arch/arm/mach-stmp37xx/include/mach/regs-gpmi.h+0−63

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

arch/arm/mach-stmp37xx/include/mach/regs-i2c.h+0−55

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

arch/arm/mach-stmp37xx/include/mach/regs-icoll.h+0−43

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

arch/arm/mach-stmp37xx/include/mach/regs-lcdif.h+0−89

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

arch/arm/mach-stmp37xx/include/mach/regs-lradc.h+0−97

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

arch/arm/mach-stmp37xx/include/mach/regs-pinctrl.h+0−88

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

arch/arm/mach-stmp37xx/include/mach/regs-power.h+0−56

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

arch/arm/mach-stmp37xx/include/mach/regs-pwm.h+0−51

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

arch/arm/mach-stmp37xx/include/mach/regs-rtc.h+0−57

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

arch/arm/mach-stmp37xx/include/mach/regs-ssp.h+0−101

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

arch/arm/mach-stmp37xx/include/mach/regs-timrot.h+0−49

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

arch/arm/mach-stmp37xx/include/mach/regs-uartapp.h+0−85

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

arch/arm/mach-stmp37xx/include/mach/regs-uartdbg.h+0−268

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

arch/arm/mach-stmp37xx/include/mach/regs-usbctl.h+0−22

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

arch/arm/mach-stmp37xx/include/mach/regs-usbctrl.h+0−22

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

arch/arm/mach-stmp37xx/include/mach/regs-usbphy.h+0−37

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

arch/arm/mach-stmp37xx/stmp37xx.c+0−219

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

arch/arm/mach-stmp37xx/stmp37xx.h+0−24

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

arch/arm/mach-stmp37xx/stmp37xx_devb.c+0−99

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

arch/arm/mach-tcc8k/time.c+2−14

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

arch/arm/mach-tegra/Kconfig+3−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-tegra/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.c+4−3

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-tegra/dma.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-tegra/gpio.c+10−5

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/barriers.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/dma.h+2−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/kbc.h+1−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/legacy_irq.h+0−35

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/sdhci.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/smp.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.hrenamed from arch/arm/mach-tegra/include/mach/harmony_audio.h+3−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-tegra/irq.c+74−100

This diff is large: its 227 lines aren’t shown here.

arch/arm/mach-tegra/legacy_irq.c+0−215

This diff is large: its 216 lines aren’t shown here.

arch/arm/mach-tegra/platsmp.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/tegra2_clocks.c+6−5

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-tegra/timer.c+2−14

This diff is large: its 37 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/clock.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-u300/timer.c+3−15

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-ux500/Kconfig+3−1

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-ux500/Makefile+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-sdi.c+12−4

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.c+19−16

This diff is large: its 91 lines aren’t shown here.

arch/arm/mach-ux500/cpu-db5500.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/cpu-db8500.c+7−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-ux500/cpu.c+6−1

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-ux500/cpufreq.c+0−211

This diff is large: its 212 lines aren’t shown here.

arch/arm/mach-ux500/devices-common.h+6−4

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-ux500/devices-db5500.h+19−9

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-ux500/devices-db8500.h+17−17

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/db5500-regs.h+18−2

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/db8500-regs.h+35−12

This diff is large: its 113 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/hardware.h+1−3

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/id.h+20−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/irqs-board-mop500.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/irqs-board-u5500.h+21−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/irqs-db5500.h+27−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/irqs-db8500.h+54−0

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/irqs.h+22−24

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/prcmu-defs.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/prcmu.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/smp.h+0−24

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/uncompress.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/mbox-db5500.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-ux500/platsmp.c+7−1

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-ux500/prcmu.c+0−394

This diff is large: its 395 lines aren’t shown here.

arch/arm/mach-versatile/core.c+15−31

This diff is large: its 110 lines aren’t shown here.

arch/arm/mach-vexpress/ct-ca9x4.c+17−2

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/smp.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-vexpress/v2m.c+19−20

This diff is large: its 90 lines aren’t shown here.

arch/arm/mach-w90x900/include/mach/uncompress.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-w90x900/time.c+2−15

This diff is large: its 38 lines aren’t shown here.

arch/arm/mm/cache-v4wb.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/cache-v4wt.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/cache-v6.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/cache-v7.S+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/context.c+9−8

This diff is large: its 50 lines aren’t shown here.

arch/arm/mm/flush.c+4−3

This diff is large: its 21 lines aren’t shown here.

arch/arm/mm/init.c+52−4

This diff is large: its 139 lines aren’t shown here.

arch/arm/mm/mm.h+1−6

This diff is large: its 16 lines aren’t shown here.

arch/arm/mm/mmap.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/mmu.c+5−6

This diff is large: its 44 lines aren’t shown here.

arch/arm/mm/proc-arm1020.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm1020e.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm1022.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm1026.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm720.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm920.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/proc-arm922.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm925.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm926.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-macros.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-sa1100.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-v6.S+6−38

This diff is large: its 83 lines aren’t shown here.

arch/arm/mm/proc-v7.S+9−9

This diff is large: its 52 lines aren’t shown here.

arch/arm/mm/proc-xsc3.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-xscale.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-iop/time.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/Kconfig+15−13

This diff is large: its 59 lines aren’t shown here.

arch/arm/plat-mxc/cpufreq.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-mxc/devices/Kconfig+6−1

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-mxc/devices/Makefile+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-fec.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imxdi_rtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-ipu-core.c+129−0

This diff is large: its 130 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-mxc_rtc.c+40−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-spi_imx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/epit.c+2−16

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-mxc/gpio.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/audmux.h+9−1

This diff is large: its 24 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/common.h+1−7

This diff is large: its 40 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/debug-macro.S+0−7

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/devices-common.h+27−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/entry-macro.S+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/hardware.h+2−15

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/io.h+15−8

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx25.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx2x.h+6−6

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mxc91231.h+0−283

This diff is large: its 284 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/irqs.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/memory.h+0−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx27.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx50.h+4−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx51.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx53.h+0−13

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc.h+24−21

This diff is large: its 75 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc91231.h+0−256

This diff is large: its 257 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mxc_nand.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/system.h+5−7

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/timex.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/uncompress.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/ssi-fiq.S+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/system.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-mxc/time.c+17−18

This diff is large: its 67 lines aren’t shown here.

arch/arm/plat-nomadik/Kconfig+1−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-nomadik/Makefile+0−1

This diff is large: its 5 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/gpio.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/i2c.h+5−3

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-nomadik/timer.c+3−28

This diff is large: its 46 lines aren’t shown here.

arch/arm/plat-omap/Kconfig+2−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-omap/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/devices.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/dma.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-omap/include/plat/flash.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpio.h+104−1

This diff is large: its 119 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpmc-smsc911x.h+2−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpmc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/smp.h+0−36

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-omap/include/plat/uncompress.h+2−3

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-omap/include/plat/usb.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/iommu.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/mcbsp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/omap_device.c+23−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-orion/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-orion/common.c+957−0

This diff is large: its 958 lines aren’t shown here.

arch/arm/plat-orion/gpio.c+36−76

This diff is large: its 151 lines aren’t shown here.

arch/arm/plat-orion/include/plat/common.h+117−0

This diff is large: its 118 lines aren’t shown here.

arch/arm/plat-orion/include/plat/gpio.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-orion/include/plat/mpp.h+34−0

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-orion/irq.c+9−40

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-orion/mpp.c+78−0

This diff is large: its 79 lines aren’t shown here.

arch/arm/plat-orion/time.c+2−19

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-pxa/gpio.c+4−13

This diff is large: its 51 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/mfp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-s3c24xx/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-s3c24xx/cpu-freq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-s3c24xx/devs.c+41−0

This diff is large: its 55 lines aren’t shown here.

arch/arm/plat-s3c24xx/dma.c+27−43

This diff is large: its 131 lines aren’t shown here.

arch/arm/plat-s3c24xx/include/plat/udc.h+17−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-s3c24xx/irq-pm.c+2−5

This diff is large: its 33 lines aren’t shown here.

arch/arm/plat-s5p/Kconfig+6−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-s5p/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-s5p/cpu.c+0−10

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-s5p/dev-ehci.c+57−0

This diff is large: its 58 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/ehci.h+21−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/map-s5p.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/s5p6442.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/usb-phy.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-s5p/irq-gpioint.c+28−90

This diff is large: its 158 lines aren’t shown here.

arch/arm/plat-s5p/irq-pm.c+2−5

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-s5p/irq.c+1−5

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-s5p/pm.c+0−11

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-s5p/s5p-time.c+17−41

This diff is large: its 90 lines aren’t shown here.

arch/arm/plat-samsung/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-samsung/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/clock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/cpu.h+6−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/debug-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/devs.h+3−6

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-cfg-helpers.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-cfg.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-core.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/irq-vic-timer.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/pm.h+4−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-serial.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/s3c64xx-spi.h+0−1

This diff is large: its 7 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/sdhci.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/uncompress.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-samsung/irq-uart.c+12−71

This diff is large: its 104 lines aren’t shown here.

arch/arm/plat-samsung/irq-vic-timer.c+26−43

This diff is large: its 87 lines aren’t shown here.

arch/arm/plat-samsung/pm-check.c+0−6

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-samsung/pm.c+3−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-samsung/s3c-pl330.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-spear/clock.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-spear/include/plat/clock.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-spear/time.c+2−14

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-stmp3xxx/Kconfig+0−37

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-stmp3xxx/Makefile+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-stmp3xxx/clock.c+0−1134

This diff is large: its 1135 lines aren’t shown here.

arch/arm/plat-stmp3xxx/clock.h+0−61

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-stmp3xxx/core.c+0−128

This diff is large: its 129 lines aren’t shown here.

arch/arm/plat-stmp3xxx/devices.c+0−389

This diff is large: its 390 lines aren’t shown here.

arch/arm/plat-stmp3xxx/dma.c+0−464

This diff is large: its 465 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/clkdev.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/cputype.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/debug-macro.S+0−39

This diff is large: its 40 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/dma.h+0−153

This diff is large: its 154 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/gpio.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/gpmi.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/hardware.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/io.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/memory.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/mmc.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/pinmux.h+0−157

This diff is large: its 158 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/pins.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/platform.h+0−68

This diff is large: its 69 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/stmp3xxx.h+0−54

This diff is large: its 55 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/system.h+0−49

This diff is large: its 50 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/timex.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/uncompress.h+0−53

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-stmp3xxx/include/mach/vmalloc.h+0−12

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-stmp3xxx/irq.c+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm/plat-stmp3xxx/pinmux.c+0−550

This diff is large: its 551 lines aren’t shown here.

arch/arm/plat-stmp3xxx/timer.c+0−186

This diff is large: its 187 lines aren’t shown here.

arch/arm/plat-versatile/platsmp.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/tools/mach-types+78−64

This diff is large: its 211 lines aren’t shown here.

arch/arm/vfp/vfpmodule.c+32−21

This diff is large: its 111 lines aren’t shown here.

arch/avr32/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/avr32/include/asm/bitops.h+15−0

This diff is large: its 37 lines aren’t shown here.

arch/avr32/include/asm/setup.h+9−0

This diff is large: its 30 lines aren’t shown here.

arch/avr32/include/asm/unistd.h+2−1

This diff is large: its 12 lines aren’t shown here.

arch/avr32/kernel/setup.c+15−0

This diff is large: its 22 lines aren’t shown here.

arch/avr32/kernel/syscall_table.S+1−0

This diff is large: its 6 lines aren’t shown here.

arch/avr32/kernel/traps.c+0−22

This diff is large: its 29 lines aren’t shown here.

arch/avr32/mach-at32ap/at32ap700x.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/avr32/mach-at32ap/clock.c+16−8

This diff is large: its 55 lines aren’t shown here.

arch/avr32/mach-at32ap/extint.c+11−11

This diff is large: its 54 lines aren’t shown here.

arch/avr32/mach-at32ap/include/mach/board.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mach-at32ap/intc.c+12−26

This diff is large: its 95 lines aren’t shown here.

arch/avr32/mach-at32ap/pio.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/avr32/mach-at32ap/pm-at32ap700x.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/avr32/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/Kconfig+2−4

This diff is large: its 30 lines aren’t shown here.

arch/blackfin/Kconfig.debug+2−11

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/configs/BF527-AD7160-EVAL_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BF527-EZKIT-V2_defconfig+5−7

This diff is large: its 19 lines aren’t shown here.

arch/blackfin/configs/BF527-EZKIT_defconfig+6−8

This diff is large: its 28 lines aren’t shown here.

arch/blackfin/configs/BF533-STAMP_defconfig+0−2

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/configs/BF537-STAMP_defconfig+0−2

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/configs/BF538-EZKIT_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BF561-ACVILON_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BlackStamp_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF527_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF533_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/CM-BF548_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/DNP5370_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/H8606_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/SRV1_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/bfin-global.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/include/asm/bfin_pfmon.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/blackfin/include/asm/bfin_serial.h+3−3

This diff is large: its 22 lines aren’t shown here.

arch/blackfin/include/asm/bfin_sport.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/include/asm/bitops.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/blackfin/include/asm/cacheflush.h+18−5

This diff is large: its 37 lines aren’t shown here.

arch/blackfin/include/asm/cpu.h+0−3

This diff is large: its 12 lines aren’t shown here.

arch/blackfin/include/asm/def_LPBlackfin.h+6−6

This diff is large: its 31 lines aren’t shown here.

arch/blackfin/include/asm/gptimers.h+18−0

This diff is large: its 23 lines aren’t shown here.

arch/blackfin/include/asm/irq_handler.h+25−0

This diff is large: its 37 lines aren’t shown here.

arch/blackfin/include/asm/kgdb.h+6−1

This diff is large: its 14 lines aren’t shown here.

arch/blackfin/include/asm/perf_event.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/blackfin/include/asm/ptrace.h+2−5

This diff is large: its 24 lines aren’t shown here.

arch/blackfin/include/asm/system.h+18−18

This diff is large: its 58 lines aren’t shown here.

arch/blackfin/include/asm/traps.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/unistd.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/blackfin/include/mach-common/irq.h+57−0

This diff is large: its 58 lines aren’t shown here.

arch/blackfin/kernel/Makefile+3−0

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/kernel/bfin_dma_5xx.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/blackfin/kernel/bfin_gpio.c+22−12

This diff is large: its 77 lines aren’t shown here.

arch/blackfin/kernel/bfin_ksyms.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/debug-mmrs.c+1860−0

This diff is large: its 1861 lines aren’t shown here.

arch/blackfin/kernel/gptimers.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/ipipe.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/irqchip.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/kgdb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/module.c+18−27

This diff is large: its 152 lines aren’t shown here.

arch/blackfin/kernel/nmi.c+13−25

This diff is large: its 82 lines aren’t shown here.

arch/blackfin/kernel/perf_event.c+498−0

This diff is large: its 499 lines aren’t shown here.

arch/blackfin/kernel/process.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/blackfin/kernel/reboot.c+31−34

This diff is large: its 85 lines aren’t shown here.

arch/blackfin/kernel/setup.c+26−28

This diff is large: its 144 lines aren’t shown here.

arch/blackfin/kernel/time-ts.c+9−34

This diff is large: its 86 lines aren’t shown here.

arch/blackfin/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/vmlinux.lds.S+2−8

This diff is large: its 25 lines aren’t shown here.

arch/blackfin/lib/ins.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/lib/memmove.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/anomaly.h+3−1

This diff is large: its 25 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h+0−79

This diff is large: its 80 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/cdefBF512.h+8−8

This diff is large: its 27 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/defBF512.h+4−4

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/defBF514.h+8−8

This diff is large: its 22 lines aren’t shown here.

arch/blackfin/mach-bf518/include/mach/irq.h+111−151

This diff is large: its 316 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/ezkit.c+72−2

This diff is large: its 114 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/anomaly.h+6−2

This diff is large: its 40 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h+0−79

This diff is large: its 80 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/cdefBF522.h+8−8

This diff is large: its 27 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/defBF522.h+4−4

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/defBF525.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/mach-bf527/include/mach/irq.h+113−153

This diff is large: its 316 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/anomaly.h+9−2

This diff is large: its 50 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h+0−52

This diff is large: its 53 lines aren’t shown here.

arch/blackfin/mach-bf533/include/mach/irq.h+55−113

This diff is large: its 186 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/stamp.c+98−14

This diff is large: its 187 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/anomaly.h+8−2

This diff is large: its 49 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h+0−79

This diff is large: its 80 lines aren’t shown here.

arch/blackfin/mach-bf537/include/mach/irq.h+175−190

This diff is large: its 369 lines aren’t shown here.

arch/blackfin/mach-bf537/ints-priority.c+163−0

This diff is large: its 174 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/anomaly.h+6−3

This diff is large: its 42 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h+0−93

This diff is large: its 94 lines aren’t shown here.

arch/blackfin/mach-bf538/include/mach/irq.h+25−64

This diff is large: its 107 lines aren’t shown here.

arch/blackfin/mach-bf548/boards/ezkit.c+109−7

This diff is large: its 159 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/anomaly.h+6−2

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h+0−94

This diff is large: its 95 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/defBF547.h+10−9

This diff is large: its 96 lines aren’t shown here.

arch/blackfin/mach-bf548/include/mach/irq.h+24−65

This diff is large: its 118 lines aren’t shown here.

arch/blackfin/mach-bf561/boards/acvilon.c+0−4

This diff is large: its 28 lines aren’t shown here.

arch/blackfin/mach-bf561/boards/ezkit.c+9−1

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/anomaly.h+12−3

This diff is large: its 59 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h+0−52

This diff is large: its 53 lines aren’t shown here.

arch/blackfin/mach-bf561/include/mach/irq.h+159−346

This diff is large: its 531 lines aren’t shown here.

arch/blackfin/mach-bf561/smp.c+10−7

This diff is large: its 38 lines aren’t shown here.

arch/blackfin/mach-common/dpmc.c+4−6

This diff is large: its 25 lines aren’t shown here.

arch/blackfin/mach-common/entry.S+4−2

This diff is large: its 27 lines aren’t shown here.

arch/blackfin/mach-common/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-common/ints-priority.c+131−345

This diff is large: its 745 lines aren’t shown here.

arch/blackfin/mach-common/smp.c+34−16

This diff is large: its 122 lines aren’t shown here.

arch/blackfin/mm/maccess.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/blackfin/mm/sram-alloc.c+26−17

This diff is large: its 118 lines aren’t shown here.

arch/cris/Kconfig+0−6

This diff is large: its 27 lines aren’t shown here.

arch/cris/arch-v10/README.mm+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/drivers/axisflashmap.c+6−4

This diff is large: its 25 lines aren’t shown here.

arch/cris/arch-v10/drivers/sync_serial.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/kernel/entry.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/arch-v32/drivers/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/cris/arch-v32/drivers/axisflashmap.c+5−4

This diff is large: its 37 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/drivers/sync_serial.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/entry.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/cris/arch-v32/kernel/irq.c+3−3

This diff is large: its 23 lines aren’t shown here.

arch/cris/arch-v32/kernel/kgdb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/smp.c+26−20

This diff is large: its 134 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/arbiter.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/arbiter.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/boot/rescue/head_v10.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v32/arch/hwregs/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/arch-v32/arch/hwregs/iop/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/asm/pgtable.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/asm/unistd.h+2−1

This diff is large: its 13 lines aren’t shown here.

arch/cris/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/frv/Kconfig+0−9

This diff is large: its 23 lines aren’t shown here.

arch/frv/include/asm/pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/spr-regs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/suspend.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/frv/include/asm/unistd.h+2−1

This diff is large: its 13 lines aren’t shown here.

arch/frv/include/asm/virtconvert.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/frv/kernel/entry-table.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/frv/kernel/entry.S+1−0

This diff is large: its 7 lines aren’t shown here.

arch/frv/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/h8300/Kconfig+0−9

This diff is large: its 23 lines aren’t shown here.

arch/h8300/include/asm/unistd.h+2−1

This diff is large: its 13 lines aren’t shown here.

arch/h8300/kernel/syscalls.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/Kconfig+2−6

This diff is large: its 25 lines aren’t shown here.

arch/ia64/hp/common/sba_iommu.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/ia64/include/asm/pal.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/perfmon_default_smpl.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/ia64/include/asm/sn/bte.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/sn/shub_mmr.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/sn/shubio.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/ia64/include/asm/tlb.h+46−20

This diff is large: its 137 lines aren’t shown here.

arch/ia64/include/asm/unistd.h+2−1

This diff is large: its 14 lines aren’t shown here.

arch/ia64/kernel/cpufreq/acpi-cpufreq.c+21−23

This diff is large: its 187 lines aren’t shown here.

arch/ia64/kernel/cyclone.c+1−5

This diff is large: its 20 lines aren’t shown here.

arch/ia64/kernel/entry.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kernel/irq_ia64.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/ia64/kernel/perfmon_default_smpl.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/smpboot.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/time.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/ia64/kernel/topology.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/vmlinux.lds.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kvm/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kvm/vti.h+13−13

This diff is large: its 40 lines aren’t shown here.

arch/ia64/lib/do_csum.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/mm/contig.c+6−4

This diff is large: its 37 lines aren’t shown here.

arch/ia64/mm/discontig.c+6−4

This diff is large: its 37 lines aren’t shown here.

arch/ia64/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/ia64/oprofile/backtrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/sn/kernel/irq.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/ia64/sn/kernel/sn2/sn_proc_fs.c+0−42

This diff is large: its 63 lines aren’t shown here.

arch/ia64/sn/kernel/sn2/timer.c+1−5

This diff is large: its 20 lines aren’t shown here.

arch/ia64/sn/pci/pcibr/pcibr_dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/xen/irq_xen.c+9−1

This diff is large: its 32 lines aren’t shown here.

arch/m32r/Kconfig+0−9

This diff is large: its 23 lines aren’t shown here.

arch/m32r/Kconfig.debug+0−9

This diff is large: its 16 lines aren’t shown here.

arch/m32r/include/asm/m32104ut/m32104ut_pld.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/m32700ut/m32700ut_pld.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/opsput/opsput_pld.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/pgtable-2level.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/smp.h+2−4

This diff is large: its 23 lines aren’t shown here.

arch/m32r/include/asm/unistd.h+2−1

This diff is large: its 13 lines aren’t shown here.

arch/m32r/kernel/smp.c+28−40

This diff is large: its 224 lines aren’t shown here.

arch/m32r/kernel/smpboot.c+24−24

This diff is large: its 169 lines aren’t shown here.

arch/m32r/kernel/syscall_table.S+1−0

This diff is large: its 5 lines aren’t shown here.

arch/m32r/kernel/vmlinux.lds.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/m32r/mm/discontig.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m32r/mm/fault.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m32r/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m68k/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/Kconfig.nommu+0−4

This diff is large: its 11 lines aren’t shown here.

arch/m68k/atari/atakeyb.c+4−7

This diff is large: its 43 lines aren’t shown here.

arch/m68k/atari/stdma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/fpsp040/bindec.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/ifpsp060/src/fpsp.S+5−5

This diff is large: its 45 lines aren’t shown here.

arch/m68k/ifpsp060/src/pfpsp.S+4−4

This diff is large: its 36 lines aren’t shown here.

arch/m68k/include/asm/MC68EZ328.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/MC68VZ328.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/atariints.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/atarikb.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/bitops_mm.h+65−30

This diff is large: its 217 lines aren’t shown here.

arch/m68k/include/asm/bitops_no.h+5−17

This diff is large: its 36 lines aren’t shown here.

arch/m68k/include/asm/bootstd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/commproc.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/include/asm/delay_no.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/gpio.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/io_no.h+5−3

This diff is large: its 22 lines aren’t shown here.

arch/m68k/include/asm/m520xsim.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/m523xsim.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/m527xsim.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/m5307sim.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/m5407sim.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/m68360_quicc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mac_oss.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mac_via.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/macintosh.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mcftimer.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/unistd.h+30−23

This diff is large: its 156 lines aren’t shown here.

arch/m68k/kernel/Makefile_mm+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/kernel/asm-offsets.c+103−3

This diff is large: its 109 lines aren’t shown here.

arch/m68k/kernel/asm-offsets_mm.c+0−100

This diff is large: its 101 lines aren’t shown here.

arch/m68k/kernel/asm-offsets_no.c+0−76

This diff is large: its 77 lines aren’t shown here.

arch/m68k/kernel/entry_mm.S+0−344

This diff is large: its 348 lines aren’t shown here.

arch/m68k/kernel/entry_no.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/head.S+6−6

This diff is large: its 54 lines aren’t shown here.

arch/m68k/kernel/irq.c+0−28

This diff is large: its 32 lines aren’t shown here.

arch/m68k/kernel/m68k_ksyms.c+32−4

This diff is large: its 38 lines aren’t shown here.

arch/m68k/kernel/m68k_ksyms_mm.c+0−16

This diff is large: its 17 lines aren’t shown here.

arch/m68k/kernel/m68k_ksyms_no.c+0−78

This diff is large: its 79 lines aren’t shown here.

arch/m68k/kernel/process_no.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/m68k/kernel/sys_m68k.c+578−3

This diff is large: its 584 lines aren’t shown here.

arch/m68k/kernel/sys_m68k_mm.c+0−546

This diff is large: its 547 lines aren’t shown here.

arch/m68k/kernel/sys_m68k_no.c+0−94

This diff is large: its 95 lines aren’t shown here.

arch/m68k/kernel/syscalltable.S+102−99

This diff is large: its 424 lines aren’t shown here.

arch/m68k/kernel/vmlinux-std.lds+2−0

This diff is large: its 9 lines aren’t shown here.

arch/m68k/kernel/vmlinux-sun3.lds+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/vmlinux.lds_no.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/lib/Makefile+11−2

This diff is large: its 17 lines aren’t shown here.

arch/m68k/lib/Makefile_mm+0−6

This diff is large: its 7 lines aren’t shown here.

arch/m68k/lib/Makefile_no+0−7

This diff is large: its 8 lines aren’t shown here.

arch/m68k/lib/checksum.c+0−5

This diff is large: its 6 lines aren’t shown here.

arch/m68k/lib/checksum_no.c+3−0

This diff is large: its 21 lines aren’t shown here.

arch/m68k/lib/memcpy.c+73−55

This diff is large: its 136 lines aren’t shown here.

arch/m68k/lib/memmove.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m68k/lib/memset.c+71−43

This diff is large: its 119 lines aren’t shown here.

arch/m68k/lib/muldi3.c+96−3

This diff is large: its 102 lines aren’t shown here.

arch/m68k/lib/muldi3_mm.c+0−63

This diff is large: its 64 lines aren’t shown here.

arch/m68k/lib/muldi3_no.c+0−86

This diff is large: its 87 lines aren’t shown here.

arch/m68k/lib/string.c+0−223

This diff is large: its 227 lines aren’t shown here.

arch/m68k/mm/Makefile+9−5

This diff is large: its 15 lines aren’t shown here.

arch/m68k/mm/Makefile_mm+0−8

This diff is large: its 9 lines aren’t shown here.

arch/m68k/mm/Makefile_no+0−5

This diff is large: its 6 lines aren’t shown here.

arch/m68k/mm/init_mm.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m68k/mm/init_no.c+4−47

This diff is large: its 85 lines aren’t shown here.

arch/m68k/mm/kmap.c+365−3

This diff is large: its 371 lines aren’t shown here.

arch/m68k/mm/kmap_mm.c+0−367

This diff is large: its 368 lines aren’t shown here.

arch/m68k/mm/kmap_no.c+0−45

This diff is large: its 46 lines aren’t shown here.

arch/m68k/mm/motorola.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/523x/config.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/5272/intc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/527x/config.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/528x/config.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/68328/entry.S+3−4

This diff is large: its 32 lines aren’t shown here.

arch/m68k/platform/68360/entry.S+3−4

This diff is large: its 32 lines aren’t shown here.

arch/m68k/platform/coldfire/cache.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/coldfire/dma.c+3−0

This diff is large: its 18 lines aren’t shown here.

arch/m68k/platform/coldfire/entry.S+6−7

This diff is large: its 57 lines aren’t shown here.

arch/m68k/platform/coldfire/head.S+1−2

This diff is large: its 17 lines aren’t shown here.

arch/m68k/platform/coldfire/intc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/coldfire/sltimers.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/q40/README+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/Kconfig+0−8

This diff is large: its 29 lines aren’t shown here.

arch/microblaze/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/io.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/pci-bridge.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/unistd.h+6−1

This diff is large: its 15 lines aren’t shown here.

arch/microblaze/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/cpu/cache.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/ftrace.c+6−4

This diff is large: its 45 lines aren’t shown here.

arch/microblaze/kernel/intc.c+2−2

This diff is large: its 14 lines aren’t shown here.

arch/microblaze/kernel/prom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/syscall_table.S+5−0

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/timer.c+1−5

This diff is large: its 18 lines aren’t shown here.

arch/microblaze/lib/Makefile+6−0

This diff is large: its 13 lines aren’t shown here.

arch/microblaze/lib/memcpy.c+4−4

This diff is large: its 29 lines aren’t shown here.

arch/microblaze/lib/memmove.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/microblaze/lib/memset.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/pci/indirect_pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/platform/generic/Kconfig.auto+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/Kbuild.platforms+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/Kconfig+63−14

This diff is large: its 154 lines aren’t shown here.

arch/mips/Kconfig.debug+0−9

This diff is large: its 16 lines aren’t shown here.

arch/mips/Makefile+14−2

This diff is large: its 35 lines aren’t shown here.

arch/mips/alchemy/common/clocks.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/common/dbdma.c+45−78

This diff is large: its 187 lines aren’t shown here.

arch/mips/alchemy/common/dma.c+25−21

This diff is large: its 74 lines aren’t shown here.

arch/mips/alchemy/common/irq.c+173−172

This diff is large: its 550 lines aren’t shown here.

arch/mips/alchemy/common/platform.c+155−95

This diff is large: its 366 lines aren’t shown here.

arch/mips/alchemy/common/setup.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/alchemy/common/time.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/alchemy/devboards/db1200/setup.c+7−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/alchemy/devboards/db1x00/board_setup.c+33−28

This diff is large: its 92 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1000/board_setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1500/board_setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/devboards/prom.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/alchemy/gpr/board_setup.c+4−10

This diff is large: its 33 lines aren’t shown here.

arch/mips/alchemy/gpr/init.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/alchemy/mtx-1/board_setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/mtx-1/init.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/alchemy/mtx-1/platform.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/alchemy/xxs1500/board_setup.c+4−7

This diff is large: its 18 lines aren’t shown here.

arch/mips/alchemy/xxs1500/init.c+3−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/ar7/gpio.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/mips/ath79/Kconfig+5−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/bcm47xx/nvram.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/bcm47xx/setup.c+108−22

This diff is large: its 201 lines aren’t shown here.

arch/mips/bcm63xx/boards/board_bcm963xx.c+14−2

This diff is large: its 30 lines aren’t shown here.

arch/mips/boot/compressed/calc_vmlinuz_load_addr.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/boot/compressed/uart-alchemy.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/cavium-octeon/Kconfig+4−11

This diff is large: its 63 lines aren’t shown here.

arch/mips/cavium-octeon/csrc-octeon.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/cavium-octeon/executive/octeon-model.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/flash_setup.c+1−10

This diff is large: its 35 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/setup.c+1−8

This diff is large: its 30 lines aren’t shown here.

arch/mips/cavium-octeon/smp.c+9−8

This diff is large: its 40 lines aren’t shown here.

arch/mips/configs/bcm47xx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/lemote2f_defconfig+3−3

This diff is large: its 20 lines aren’t shown here.

arch/mips/configs/malta_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/configs/mtx1_defconfig+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/configs/nlm_xlr_defconfig+574−0

This diff is large: its 575 lines aren’t shown here.

arch/mips/fw/arc/cmdline.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/env.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/identify.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/misc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/promlib.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/salone.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/fw/arc/tree.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/asmmacro-32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/asmmacro-64.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/cache.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/cevt-r4k.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/cpu.h+28−1

This diff is large: its 57 lines aren’t shown here.

arch/mips/include/asm/dec/prom.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/dma-mapping.h+2−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/floppy.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/hugetlb.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/hw_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/i8253.h+5−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/io.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/irqflags.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/jump_label.h+12−10

This diff is large: its 29 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1000.h+80−254

This diff is large: its 462 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1000_dma.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/au1xxx_dbdma.h+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/gpio-au1000.h+100−22

This diff is large: its 219 lines aren’t shown here.

arch/mips/include/asm/mach-bcm47xx/nvram.h+10−2

This diff is large: its 19 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm963xx_tag.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/mach-ip32/mc146818rtc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/lantiq.h+63−0

This diff is large: its 64 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/lantiq_platform.h+53−0

This diff is large: its 54 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/war.h+24−0

This diff is large: its 25 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/xway/irq.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h+66−0

This diff is large: its 67 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h+141−0

This diff is large: its 142 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/xway/xway_dma.h+60−0

This diff is large: its 61 lines aren’t shown here.

arch/mips/include/asm/mach-loongson/cs5536/cs5536.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h+47−0

This diff is large: its 48 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/irq.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/war.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1000.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1200.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-pb1x00/pb1550.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/dma-coherence.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/module.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/netlogic/interrupt.h+45−0

This diff is large: its 46 lines aren’t shown here.

arch/mips/include/asm/netlogic/mips-extns.h+76−0

This diff is large: its 77 lines aren’t shown here.

arch/mips/include/asm/netlogic/psb-bootinfo.h+109−0

This diff is large: its 110 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/gpio.h+73−0

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/iomap.h+131−0

This diff is large: its 132 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/pic.h+231−0

This diff is large: its 232 lines aren’t shown here.

arch/mips/include/asm/netlogic/xlr/xlr.h+75−0

This diff is large: its 76 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-bootinfo.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-bootmem.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-l2c.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/paccess.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/pci/bridge.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/pmc-sierra/msp71xx/msp_regops.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/processor.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/prom.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/ptrace.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/r4kcache.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sgi/ioc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sgialib.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sgiarcs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_mac.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/siginfo.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sn/klconfig.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/sn/sn0/hubio.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/stackframe.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/suspend.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/thread_info.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/time.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/unistd.h+9−6

This diff is large: its 60 lines aren’t shown here.

arch/mips/include/asm/war.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/jazz/jazzdma.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/mips/jz4740/board-qi_lb60.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/jz4740/dma.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/mips/jz4740/setup.c+32−0

This diff is large: its 52 lines aren’t shown here.

arch/mips/jz4740/time.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/mips/jz4740/timer.c+2−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/cevt-txx9.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/cpu-bugs64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+79−4

This diff is large: its 151 lines aren’t shown here.

arch/mips/kernel/csrc-bcm1480.c+1−2

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/csrc-ioasic.c+1−3

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/csrc-powertv.c+3−32

This diff is large: its 57 lines aren’t shown here.

arch/mips/kernel/csrc-r4k.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/mips/kernel/csrc-sb1250.c+1−2

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/entry.S+3−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/kernel/ftrace.c+3−2

This diff is large: its 23 lines aren’t shown here.

arch/mips/kernel/i8253.c+1−77

This diff is large: its 89 lines aren’t shown here.

arch/mips/kernel/octeon_switch.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/perf_event_mipsxx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/prom.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/ptrace.c+35−8

This diff is large: its 60 lines aren’t shown here.

arch/mips/kernel/r2300_fpu.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/r2300_switch.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/r4k_fpu.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/r4k_switch.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/r6000_fpu.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/scall32-o32.S+3−3

This diff is large: its 27 lines aren’t shown here.

arch/mips/kernel/scall64-64.S+3−3

This diff is large: its 25 lines aren’t shown here.

arch/mips/kernel/scall64-n32.S+3−3

This diff is large: its 25 lines aren’t shown here.

arch/mips/kernel/scall64-o32.S+3−3

This diff is large: its 25 lines aren’t shown here.

arch/mips/kernel/smp-mt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/syscall.c+0−120

This diff is large: its 147 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+2−4

This diff is large: its 20 lines aren’t shown here.

arch/mips/kernel/vmlinux.lds.S+4−1

This diff is large: its 28 lines aren’t shown here.

arch/mips/kernel/vpe.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/lantiq/Kconfig+23−0

This diff is large: its 24 lines aren’t shown here.

arch/mips/lantiq/Makefile+11−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/lantiq/Platform+8−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/lantiq/clk.c+140−0

This diff is large: its 141 lines aren’t shown here.

arch/mips/lantiq/clk.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/mips/lantiq/devices.c+122−0

This diff is large: its 123 lines aren’t shown here.

arch/mips/lantiq/devices.h+23−0

This diff is large: its 24 lines aren’t shown here.

arch/mips/lantiq/early_printk.c+33−0

This diff is large: its 34 lines aren’t shown here.

arch/mips/lantiq/irq.c+326−0

This diff is large: its 327 lines aren’t shown here.

arch/mips/lantiq/machtypes.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/lantiq/prom.c+71−0

This diff is large: its 72 lines aren’t shown here.

arch/mips/lantiq/prom.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/lantiq/setup.c+66−0

This diff is large: its 67 lines aren’t shown here.

arch/mips/lantiq/xway/Kconfig+23−0

This diff is large: its 24 lines aren’t shown here.

arch/mips/lantiq/xway/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/lantiq/xway/clk-ase.c+48−0

This diff is large: its 49 lines aren’t shown here.

arch/mips/lantiq/xway/clk-xway.c+223−0

This diff is large: its 224 lines aren’t shown here.

arch/mips/lantiq/xway/devices.c+121−0

This diff is large: its 122 lines aren’t shown here.

arch/mips/lantiq/xway/devices.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/lantiq/xway/dma.c+253−0

This diff is large: its 254 lines aren’t shown here.

arch/mips/lantiq/xway/ebu.c+53−0

This diff is large: its 54 lines aren’t shown here.

arch/mips/lantiq/xway/gpio.c+195−0

This diff is large: its 196 lines aren’t shown here.

arch/mips/lantiq/xway/gpio_ebu.c+126−0

This diff is large: its 127 lines aren’t shown here.

arch/mips/lantiq/xway/gpio_stp.c+157−0

This diff is large: its 158 lines aren’t shown here.

arch/mips/lantiq/xway/mach-easy50601.c+57−0

This diff is large: its 58 lines aren’t shown here.

arch/mips/lantiq/xway/mach-easy50712.c+74−0

This diff is large: its 75 lines aren’t shown here.

arch/mips/lantiq/xway/pmu.c+70−0

This diff is large: its 71 lines aren’t shown here.

arch/mips/lantiq/xway/prom-ase.c+39−0

This diff is large: its 40 lines aren’t shown here.

arch/mips/lantiq/xway/prom-xway.c+54−0

This diff is large: its 55 lines aren’t shown here.

arch/mips/lantiq/xway/reset.c+91−0

This diff is large: its 92 lines aren’t shown here.

arch/mips/lantiq/xway/setup-ase.c+19−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/lantiq/xway/setup-xway.c+20−0

This diff is large: its 21 lines aren’t shown here.

arch/mips/lib/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/lib/strnlen_user.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/loongson/common/cs5536/cs5536_mfgpt.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/mips/loongson/common/env.c+3−2

This diff is large: its 13 lines aren’t shown here.

arch/mips/math-emu/dp_fsp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/dp_mul.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/dsemul.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/sp_mul.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/Makefile+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/mm/c-r3k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/c-r4k.c+2−3

This diff is large: its 33 lines aren’t shown here.

arch/mips/mm/c-tx39.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/cex-sb1.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/mmap.c+122−0

This diff is large: its 123 lines aren’t shown here.

arch/mips/mm/sc-ip22.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/sc-r5k.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/mm/tlb-r3k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/tlb-r4k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/tlb-r8k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/tlbex.c+4−3

This diff is large: its 28 lines aren’t shown here.

arch/mips/mti-malta/malta-init.c+3−11

This diff is large: its 33 lines aren’t shown here.

arch/mips/mti-malta/malta-int.c+3−2

This diff is large: its 26 lines aren’t shown here.

arch/mips/mti-malta/malta-smtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/netlogic/Kconfig+5−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/netlogic/xlr/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/netlogic/xlr/irq.c+300−0

This diff is large: its 301 lines aren’t shown here.

arch/mips/netlogic/xlr/platform.c+98−0

This diff is large: its 99 lines aren’t shown here.

arch/mips/netlogic/xlr/setup.c+188−0

This diff is large: its 189 lines aren’t shown here.

arch/mips/netlogic/xlr/smp.c+225−0

This diff is large: its 226 lines aren’t shown here.

arch/mips/netlogic/xlr/smpboot.S+94−0

This diff is large: its 95 lines aren’t shown here.

arch/mips/netlogic/xlr/time.c+51−0

This diff is large: its 52 lines aren’t shown here.

arch/mips/netlogic/xlr/xlr_console.c+46−0

This diff is large: its 47 lines aren’t shown here.

arch/mips/pci/Makefile+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/pci/ops-lantiq.c+116−0

This diff is large: its 117 lines aren’t shown here.

arch/mips/pci/ops-pmcmsp.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/pci/pci-bcm1480.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/pci/pci-lantiq.c+297−0

This diff is large: its 298 lines aren’t shown here.

arch/mips/pci/pci-lantiq.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/mips/pci/pci-octeon.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/pci/pci-xlr.c+214−0

This diff is large: its 215 lines aren’t shown here.

arch/mips/pci/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_irq_per.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/pmc-sierra/yosemite/smp.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/pnx833x/common/platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/power/hibernate.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/rb532/gpio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-hpc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-int.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-mc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-platform.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-time.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/sgi-ip27/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip27/TODO+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-hubio.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-irq.c+3−1

This diff is large: its 20 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-klnuma.c+0−3

This diff is large: its 12 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-timer.c+2−14

This diff is large: its 30 lines aren’t shown here.

arch/mips/sibyte/bcm1480/smp.c+3−4

This diff is large: its 21 lines aren’t shown here.

arch/mips/sibyte/sb1250/smp.c+3−4

This diff is large: its 21 lines aren’t shown here.

arch/mips/sni/time.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/txx9/generic/setup.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/txx9/generic/setup_tx4939.c+8−13

This diff is large: its 37 lines aren’t shown here.

arch/mn10300/Kconfig+0−4

This diff is large: its 18 lines aren’t shown here.

arch/mn10300/configs/asb2364_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/include/asm/cpu-regs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/include/asm/unistd.h+2−1

This diff is large: its 13 lines aren’t shown here.

arch/mn10300/kernel/entry.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/kernel/irq.c+9−7

This diff is large: its 45 lines aren’t shown here.

arch/mn10300/kernel/smp.c+40−40

This diff is large: its 273 lines aren’t shown here.

arch/mn10300/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/mm/cache-smp.c+4−4

This diff is large: its 25 lines aren’t shown here.

arch/mn10300/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/mm/tlb-smp.c+16−16

This diff is large: its 88 lines aren’t shown here.

arch/parisc/Kconfig+0−9

This diff is large: its 23 lines aren’t shown here.

arch/parisc/include/asm/cacheflush.h+4−1

This diff is large: its 20 lines aren’t shown here.

arch/parisc/include/asm/eisa_eeprom.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/include/asm/pgtable.h+7−2

This diff is large: its 23 lines aren’t shown here.

arch/parisc/include/asm/smp.h+0−9

This diff is large: its 16 lines aren’t shown here.

arch/parisc/include/asm/unistd.h+9−2

This diff is large: its 18 lines aren’t shown here.

arch/parisc/kernel/cache.c+12−1

This diff is large: its 30 lines aren’t shown here.

arch/parisc/kernel/entry.S+8−5

This diff is large: its 44 lines aren’t shown here.

arch/parisc/kernel/head.S+4−3

This diff is large: its 21 lines aren’t shown here.

arch/parisc/kernel/inventory.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/module.c+9−1

This diff is large: its 26 lines aren’t shown here.

arch/parisc/kernel/pacache.S+2−4

This diff is large: its 20 lines aren’t shown here.

arch/parisc/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/smp.c+1−4

This diff is large: its 12 lines aren’t shown here.

arch/parisc/kernel/sys_parisc32.c+8−0

This diff is large: its 12 lines aren’t shown here.

arch/parisc/kernel/syscall.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/syscall_table.S+8−1

This diff is large: its 23 lines aren’t shown here.

arch/parisc/kernel/vmlinux.lds.S+5−1

This diff is large: its 27 lines aren’t shown here.

arch/parisc/math-emu/dfadd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/math-emu/dfsub.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/math-emu/fmpyfadd.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/parisc/math-emu/sfadd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/math-emu/sfsub.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/mm/init.c+147−121

This diff is large: its 336 lines aren’t shown here.

arch/powerpc/Kconfig+9−10

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/Kconfig.debug+5−21

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/boot/Makefile+4−2

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/boot/crt0.S+74−42

This diff is large: its 157 lines aren’t shown here.

arch/powerpc/boot/dts/canyonlands.dts+18−0

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/boot/dts/katmai.dts+18−0

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/boot/dts/kilauea.dts+28−0

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8313erdb.dts+13−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/mpc8572ds.dts+13−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/p1020rdb.dts+25−319

This diff is large: its 455 lines aren’t shown here.

arch/powerpc/boot/dts/p1020rdb_camp_core0.dts+213−0

This diff is large: its 214 lines aren’t shown here.

arch/powerpc/boot/dts/p1020rdb_camp_core1.dts+148−0

This diff is large: its 149 lines aren’t shown here.

arch/powerpc/boot/dts/p1020si.dtsi+377−0

This diff is large: its 378 lines aren’t shown here.

arch/powerpc/boot/dts/p1022ds.dts+59−47

This diff is large: its 344 lines aren’t shown here.

arch/powerpc/boot/dts/p2020ds.dts+40−345

This diff is large: its 488 lines aren’t shown here.

arch/powerpc/boot/dts/p2020rdb.dts+64−337

This diff is large: its 493 lines aren’t shown here.

arch/powerpc/boot/dts/p2020rdb_camp_core0.dts+45−204

This diff is large: its 347 lines aren’t shown here.

arch/powerpc/boot/dts/p2020rdb_camp_core1.dts+102−58

This diff is large: its 227 lines aren’t shown here.

arch/powerpc/boot/dts/p2020si.dtsi+382−0

This diff is large: its 383 lines aren’t shown here.

arch/powerpc/boot/dts/p4080ds.dts+85−1

This diff is large: its 107 lines aren’t shown here.

arch/powerpc/boot/dts/redwood.dts+20−0

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/boot/epapr.c+66−0

This diff is large: its 67 lines aren’t shown here.

arch/powerpc/boot/wrapper+13−6

This diff is large: its 77 lines aren’t shown here.

arch/powerpc/boot/zImage.coff.lds.S+2−4

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/boot/zImage.lds.S+36−21

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/configs/44x/warp_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/52xx/motionpro_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8313_rdb_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8315_rdb_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8540_ads_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8560_ads_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc85xx_cds_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_ppc9a_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc310_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc610_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/c2k_defconfig+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/configs/e55xx_smp_defconfig+30−10

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/configs/linkstation_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/mpc512x_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/mpc5200_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/mpc86xx_defconfig+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/pasemi_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/pmac32_defconfig+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/configs/ppc6xx_defconfig+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/configs/ps3_defconfig+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/configs/pseries_defconfig+11−1

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/include/asm/8xx_immap.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/bitops.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/compat.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/cpm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/cpm1.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/cputable.h+39−26

This diff is large: its 159 lines aren’t shown here.

arch/powerpc/include/asm/cputhreads.h+6−6

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/include/asm/dbell.h+1−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/dma-mapping.h+6−0

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/include/asm/emulated_ops.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/exception-64s.h+67−46

This diff is large: its 181 lines aren’t shown here.

arch/powerpc/include/asm/feature-fixups.h+14−1

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/include/asm/firmware.h+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/include/asm/fsl_lbc.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/ftrace.h+14−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/hvcall.h+14−2

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/io-workarounds.hrenamed from arch/powerpc/platforms/cell/io-workarounds.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/io.h+21−12

This diff is large: its 87 lines aren’t shown here.

arch/powerpc/include/asm/io_event_irq.h+54−0

This diff is large: its 55 lines aren’t shown here.

arch/powerpc/include/asm/irq.h+3−15

This diff is large: its 33 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/kprobes.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/kvm.h+184−0

This diff is large: its 198 lines aren’t shown here.

arch/powerpc/include/asm/kvm_44x.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/kvm_asm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/kvm_book3s_asm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/kvm_e500.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/include/asm/kvm_host.h+5−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/kvm_ppc.h+9−0

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/lppaca.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/machdep.h+1−22

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/mmu-book3e.h+20−0

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/include/asm/mmu-hash64.h+7−1

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/include/asm/mmu.h+47−5

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/include/asm/mmu_context.h+11−1

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/include/asm/mpic.h+4−4

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/include/asm/pSeries_reconfig.h+5−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/include/asm/paca.h+6−5

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/include/asm/page.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/page_64.h+3−20

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/pasemi_dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/pci-bridge.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/pgalloc.h+18−3

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/include/asm/pgtable-ppc64.h+6−7

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/include/asm/pmac_feature.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/ppc-opcode.h+35−0

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/include/asm/ppc_asm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/processor.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/pte-common.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/include/asm/pte-hash64-64k.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/qe_ic.h+8−8

This diff is large: its 54 lines aren’t shown here.

arch/powerpc/include/asm/reg.h+100−4

This diff is large: its 192 lines aren’t shown here.

arch/powerpc/include/asm/reg_a2.h+165−0

This diff is large: its 166 lines aren’t shown here.

arch/powerpc/include/asm/reg_booke.h+10−4

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/include/asm/rio.h+5−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/rtas.h+44−1

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/include/asm/scom.h+156−0

This diff is large: its 157 lines aren’t shown here.

arch/powerpc/include/asm/smp.h+32−9

This diff is large: its 84 lines aren’t shown here.

arch/powerpc/include/asm/spu_priv1.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/suspend.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/include/asm/syscall.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/include/asm/systbl.h+6−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/system.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/thread_info.h+7−2

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/include/asm/tlbflush.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/udbg.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/uninorth.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/unistd.h+7−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/vdso_datapage.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/wsp.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/include/asm/xics.h+142−0

This diff is large: its 143 lines aren’t shown here.

arch/powerpc/kernel/Makefile+6−1

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/kernel/asm-offsets.c+2−0

This diff is large: its 16 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/cpu_setup_a2.S+114−0

This diff is large: its 115 lines aren’t shown here.

arch/powerpc/kernel/cpu_setup_fsl_booke.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/cpu_setup_power7.S+91−0

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+44−24

This diff is large: its 242 lines aren’t shown here.

arch/powerpc/kernel/crash.c+49−48

This diff is large: its 190 lines aren’t shown here.

arch/powerpc/kernel/dbell.c+8−57

This diff is large: its 93 lines aren’t shown here.

arch/powerpc/kernel/dma.c+18−0

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/kernel/entry_64.S+21−6

This diff is large: its 78 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64e.S+197−7

This diff is large: its 285 lines aren’t shown here.

arch/powerpc/kernel/exceptions-64s.S+177−69

This diff is large: its 454 lines aren’t shown here.

arch/powerpc/kernel/ftrace.c+8−0

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/kernel/head_32.S+0−13

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/kernel/head_40x.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/head_44x.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/head_64.S+39−19

This diff is large: its 125 lines aren’t shown here.

arch/powerpc/kernel/head_fsl_booke.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/ibmebus.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/kernel/idle_power4.S+0−21

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/kernel/idle_power7.S+97−0

This diff is large: its 98 lines aren’t shown here.

arch/powerpc/kernel/io-workarounds.crenamed from arch/powerpc/platforms/cell/io-workarounds.c+17−14

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/kernel/irq.c+91−124

This diff is large: its 440 lines aren’t shown here.

arch/powerpc/kernel/kgdb.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/l2cr_6xx.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/legacy_serial.c+5−3

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kernel/lparcfg.c+26−29

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/kernel/misc_32.S+11−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/misc_64.S+8−5

This diff is large: its 39 lines aren’t shown here.

arch/powerpc/kernel/paca.c+19−13

This diff is large: its 78 lines aren’t shown here.

arch/powerpc/kernel/pci_dn.c+1−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/kernel/perf_event.c+31−8

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/kernel/ppc_ksyms.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/kernel/ppc_save_regs.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/process.c+40−3

This diff is large: its 88 lines aren’t shown here.

arch/powerpc/kernel/prom.c+37−33

This diff is large: its 165 lines aren’t shown here.

arch/powerpc/kernel/prom_init.c+28−2

This diff is large: its 65 lines aren’t shown here.

arch/powerpc/kernel/ptrace.c+22−2

This diff is large: its 91 lines aren’t shown here.

arch/powerpc/kernel/rtas.c+3−1

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/kernel/rtasd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/setup-common.c+15−8

This diff is large: its 82 lines aren’t shown here.

arch/powerpc/kernel/setup_32.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/setup_64.c+38−6

This diff is large: its 107 lines aren’t shown here.

arch/powerpc/kernel/signal_64.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/smp.c+192−99

This diff is large: its 463 lines aren’t shown here.

arch/powerpc/kernel/swsusp.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/swsusp_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/sysfs.c+38−0

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/kernel/time.c+15−5

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/kernel/traps.c+40−4

This diff is large: its 114 lines aren’t shown here.

arch/powerpc/kernel/udbg.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/udbg_16550.c+52−1

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/kernel/vdso32/sigtramp.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/vdso64/sigtramp.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/vector.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/44x.c+10−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/kvm/44x_emulate.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/kvm/book3s.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_rmhandlers.S+7−6

This diff is large: its 48 lines aren’t shown here.

arch/powerpc/kvm/book3s_segment.S+9−3

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/kvm/booke.c+152−2

This diff is large: its 176 lines aren’t shown here.

arch/powerpc/kvm/booke_interrupts.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/e500.c+76−0

This diff is large: its 90 lines aren’t shown here.

arch/powerpc/kvm/e500_emulate.c+4−3

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/kvm/e500_tlb.c+12−1

This diff is large: its 46 lines aren’t shown here.

arch/powerpc/kvm/emulate.c+10−5

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/kvm/powerpc.c+21−0

This diff is large: its 49 lines aren’t shown here.

arch/powerpc/kvm/timing.c+24−7

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/lib/alloc.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/lib/copypage_64.S+4−3

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/lib/devres.c+3−3

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/lib/sstep.c+28−34

This diff is large: its 139 lines aren’t shown here.

arch/powerpc/mm/dma-noncoherent.c+20−0

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/mm/hash_low_64.S+16−16

This diff is large: its 102 lines aren’t shown here.

arch/powerpc/mm/hash_native_64.c+8−10

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/mm/hash_utils_64.c+37−27

This diff is large: its 148 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/mem.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/mmu_context_hash64.c+212−2

This diff is large: its 245 lines aren’t shown here.

arch/powerpc/mm/mmu_context_nohash.c+15−3

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/mm/numa.c+13−14

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/mm/pgtable.c+0−104

This diff is large: its 111 lines aren’t shown here.

arch/powerpc/mm/pgtable_32.c+10−2

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/mm/pgtable_64.c+13−2

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/mm/slb.c+5−5

This diff is large: its 38 lines aren’t shown here.

arch/powerpc/mm/slb_low.S+4−4

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/mm/stab.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/tlb_hash32.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/mm/tlb_hash64.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/mm/tlb_low_64e.S+3−3

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/oprofile/op_model_cell.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/oprofile/op_model_power4.c+24−2

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/platforms/40x/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/44x/Kconfig+6−0

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/44x/iss4xx.c+4−2

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/512x/mpc5121_ads_cpld.c+5−5

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/platforms/52xx/media5200.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_pic.c+17−68

This diff is large: its 172 lines aren’t shown here.

arch/powerpc/platforms/82xx/pq2ads-pci-pic.c+2−10

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/platforms/83xx/suspend.c+5−2

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/platforms/85xx/smp.c+8−4

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/platforms/85xx/socrates_fpga_pic.c+6−20

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/platforms/86xx/gef_pic.c+2−8

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/platforms/86xx/mpc8610_hpcd.c+65−34

This diff is large: its 128 lines aren’t shown here.

arch/powerpc/platforms/86xx/mpc86xx_smp.c+4−2

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/8xx/m8xx_setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/Kconfig+25−8

This diff is large: its 72 lines aren’t shown here.

arch/powerpc/platforms/Kconfig.cputype+24−0

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/platforms/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/platforms/cell/Kconfig+3−1

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/cell/Makefile+4−5

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/platforms/cell/axon_msi.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_interrupt.c+0−27

This diff is large: its 48 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_interrupt.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/cell/beat_smp.c+0−124

This diff is large: its 125 lines aren’t shown here.

arch/powerpc/platforms/cell/cbe_regs.c+6−5

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_pci.c+8−17

This diff is large: its 67 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_pci.h+2−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_setup.c+0−4

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/cell/interrupt.c+19−26

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/platforms/cell/interrupt.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/qpace_setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/cell/setup.c+1−3

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/platforms/cell/smp.c+11−26

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/platforms/cell/spider-pci.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/cell/spider-pic.c+11−10

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/platforms/cell/spu_base.c+18−10

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/lscsa_alloc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/sched.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/spu_restore.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/chrp/smp.c+3−1

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/flipper-pic.c+4−11

This diff is large: its 57 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/hlwd-pic.c+4−11

This diff is large: its 52 lines aren’t shown here.

arch/powerpc/platforms/iseries/Kconfig+3−1

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/iseries/exception.S+37−25

This diff is large: its 121 lines aren’t shown here.

arch/powerpc/platforms/iseries/irq.c+6−7

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/platforms/iseries/mf.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/setup.c+7−2

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/platforms/iseries/smp.c+7−38

This diff is large: its 80 lines aren’t shown here.

arch/powerpc/platforms/iseries/smp.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/platforms/iseries/viopath.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/platforms/pasemi/dma_lib.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/platforms/powermac/Kconfig+10−1

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/platforms/powermac/Makefile+1−1

This diff is large: its 9 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/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/pic.c+22−45

This diff is large: its 150 lines aren’t shown here.

arch/powerpc/platforms/powermac/pic.h+0−11

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/platforms/powermac/pmac.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/setup.c+0−56

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/platforms/powermac/smp.c+164−87

This diff is large: its 403 lines aren’t shown here.

arch/powerpc/platforms/ps3/interrupt.c+1−7

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/platforms/ps3/smp.c+3−19

This diff is large: its 40 lines aren’t shown here.

arch/powerpc/platforms/ps3/spu.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/pseries/Kconfig+22−1

This diff is large: its 37 lines aren’t shown here.

arch/powerpc/platforms/pseries/Makefile+1−1

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/platforms/pseries/dlpar.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/dtl.c+11−9

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh.c+70−14

This diff is large: its 155 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh_driver.c+13−9

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/platforms/pseries/hotplug-cpu.c+4−3

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/platforms/pseries/io_event_irq.c+231−0

This diff is large: its 232 lines aren’t shown here.

arch/powerpc/platforms/pseries/iommu.c+68−55

This diff is large: its 278 lines aren’t shown here.

arch/powerpc/platforms/pseries/kexec.c+4−1

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/platforms/pseries/lpar.c+47−1

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/platforms/pseries/nvram.c+24−0

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/platforms/pseries/offline_states.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/platforms/pseries/plpar_wrappers.h+0−27

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/platforms/pseries/ras.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/pseries/setup.c+42−8

This diff is large: its 126 lines aren’t shown here.

arch/powerpc/platforms/pseries/smp.c+24−21

This diff is large: its 144 lines aren’t shown here.

arch/powerpc/platforms/pseries/xics.c+0−948

This diff is large: its 949 lines aren’t shown here.

arch/powerpc/platforms/pseries/xics.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/platforms/wsp/Kconfig+28−0

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/platforms/wsp/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/platforms/wsp/ics.c+712−0

This diff is large: its 713 lines aren’t shown here.

arch/powerpc/platforms/wsp/ics.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/platforms/wsp/opb_pic.c+332−0

This diff is large: its 333 lines aren’t shown here.

arch/powerpc/platforms/wsp/psr2.c+95−0

This diff is large: its 96 lines aren’t shown here.

arch/powerpc/platforms/wsp/scom_smp.c+427−0

This diff is large: its 428 lines aren’t shown here.

arch/powerpc/platforms/wsp/scom_wsp.c+77−0

This diff is large: its 78 lines aren’t shown here.

arch/powerpc/platforms/wsp/setup.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/powerpc/platforms/wsp/smp.c+88−0

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/platforms/wsp/wsp.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/sysdev/Kconfig+17−0

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/sysdev/Makefile+7−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/sysdev/axonram.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/sysdev/bestcomm/bestcomm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/bestcomm/bestcomm_priv.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/cpm1.c+5−5

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/sysdev/cpm2_pic.c+5−5

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/sysdev/fsl_85xx_cache_sram.c+2−2

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/sysdev/fsl_lbc.c+7−2

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/sysdev/fsl_msi.c+10−7

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/sysdev/fsl_pci.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/sysdev/fsl_rio.c+83−21

This diff is large: its 195 lines aren’t shown here.

arch/powerpc/sysdev/i8259.c+0−13

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/sysdev/indirect_pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/ipic.c+16−36

This diff is large: its 146 lines aren’t shown here.

arch/powerpc/sysdev/mmio_nvram.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/mpc8xx_pic.c+6−6

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/sysdev/mpc8xxx_gpio.c+6−6

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/sysdev/mpic.c+176−81

This diff is large: its 531 lines aren’t shown here.

arch/powerpc/sysdev/mv64x60_pic.c+7−7

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_msi.c+276−0

This diff is large: its 277 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/qe_ic.c+2−4

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/sysdev/scom.c+192−0

This diff is large: its 193 lines aren’t shown here.

arch/powerpc/sysdev/uic.c+5−7

This diff is large: its 54 lines aren’t shown here.

arch/powerpc/sysdev/xics/Kconfig+13−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/sysdev/xics/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/powerpc/sysdev/xics/icp-hv.c+164−0

This diff is large: its 165 lines aren’t shown here.

arch/powerpc/sysdev/xics/icp-native.c+293−0

This diff is large: its 294 lines aren’t shown here.

arch/powerpc/sysdev/xics/ics-rtas.c+240−0

This diff is large: its 241 lines aren’t shown here.

arch/powerpc/sysdev/xics/xics-common.c+443−0

This diff is large: its 444 lines aren’t shown here.

arch/powerpc/sysdev/xilinx_intc.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/xmon/xmon.c+21−17

This diff is large: its 154 lines aren’t shown here.

arch/s390/Kconfig+2−12

This diff is large: its 35 lines aren’t shown here.

arch/s390/appldata/appldata_base.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/s390/appldata/appldata_mem.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/s390/crypto/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/s390/crypto/aes_s390.c+379−4

This diff is large: its 427 lines aren’t shown here.

arch/s390/crypto/crypt_s390.h+108−4

This diff is large: its 176 lines aren’t shown here.

arch/s390/crypto/des_check_key.c+0−132

This diff is large: its 133 lines aren’t shown here.

arch/s390/crypto/des_s390.c+265−105

This diff is large: its 621 lines aren’t shown here.

arch/s390/crypto/ghash_s390.c+162−0

This diff is large: its 163 lines aren’t shown here.

arch/s390/crypto/prng.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/crypto/sha1_s390.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/crypto/sha256_s390.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/crypto/sha512_s390.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/hypfs/hypfs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/atomic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/bitops.h+10−35

This diff is large: its 108 lines aren’t shown here.

arch/s390/include/asm/cacheflush.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/asm/cio.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/include/asm/cmpxchg.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/delay.h+5−3

This diff is large: its 16 lines aren’t shown here.

arch/s390/include/asm/diag.h+15−2

This diff is large: its 25 lines aren’t shown here.

arch/s390/include/asm/elf.h+0−12

This diff is large: its 19 lines aren’t shown here.

arch/s390/include/asm/ftrace.h+1−3

This diff is large: its 17 lines aren’t shown here.

arch/s390/include/asm/hugetlb.h+3−14

This diff is large: its 25 lines aren’t shown here.

arch/s390/include/asm/irq.h+9−0

This diff is large: its 28 lines aren’t shown here.

arch/s390/include/asm/jump_label.h+37−0

This diff is large: its 38 lines aren’t shown here.

arch/s390/include/asm/lowcore.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/mmu.h+4−5

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/mmu_context.h+2−6

This diff is large: its 33 lines aren’t shown here.

arch/s390/include/asm/page.h+54−6

This diff is large: its 96 lines aren’t shown here.

arch/s390/include/asm/percpu.h+68−0

This diff is large: its 82 lines aren’t shown here.

arch/s390/include/asm/pgalloc.h+9−48

This diff is large: its 127 lines aren’t shown here.

arch/s390/include/asm/pgtable.h+312−295

This diff is large: its 829 lines aren’t shown here.

arch/s390/include/asm/processor.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/s390_ext.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/suspend.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/s390/include/asm/tlb.h+37−25

This diff is large: its 127 lines aren’t shown here.

arch/s390/include/asm/tlbflush.h+4−9

This diff is large: its 29 lines aren’t shown here.

arch/s390/include/asm/topology.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/uaccess.h+6−5

This diff is large: its 19 lines aren’t shown here.

arch/s390/include/asm/unistd.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/s390/kernel/Makefile+4−4

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/asm-offsets.c+1−3

This diff is large: its 15 lines aren’t shown here.

arch/s390/kernel/compat_wrapper.S+6−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/diag.c+0−21

This diff is large: its 28 lines aren’t shown here.

arch/s390/kernel/dis.c+2−1

This diff is large: its 19 lines aren’t shown here.

arch/s390/kernel/entry.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/s390/kernel/entry64.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/s390/kernel/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/irq.c+130−8

This diff is large: its 170 lines aren’t shown here.

arch/s390/kernel/jump_label.c+59−0

This diff is large: its 60 lines aren’t shown here.

arch/s390/kernel/process.c+2−17

This diff is large: its 44 lines aren’t shown here.

arch/s390/kernel/reipl64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/s390_ext.c+0−108

This diff is large: its 109 lines aren’t shown here.

arch/s390/kernel/setup.c+3−30

This diff is large: its 63 lines aren’t shown here.

arch/s390/kernel/smp.c+18−19

This diff is large: its 127 lines aren’t shown here.

arch/s390/kernel/switch_cpu.S+3−1

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/switch_cpu64.S+3−1

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/syscalls.S+1−0

This diff is large: its 5 lines aren’t shown here.

arch/s390/kernel/time.c+5−6

This diff is large: its 53 lines aren’t shown here.

arch/s390/kernel/topology.c+8−9

This diff is large: its 62 lines aren’t shown here.

arch/s390/kernel/traps.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/kernel/vdso32/Makefile+3−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/vdso64/Makefile+3−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/vtime.c+2−2

This diff is large: its 21 lines aren’t shown here.

arch/s390/kvm/kvm-s390.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kvm/priv.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kvm/sie64a.S+2−2

This diff is large: its 13 lines aren’t shown here.

arch/s390/lib/delay.c+15−0

This diff is large: its 26 lines aren’t shown here.

arch/s390/mm/cmm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/mm/extmem.c+2−4

This diff is large: its 34 lines aren’t shown here.

arch/s390/mm/fault.c+139−114

This diff is large: its 397 lines aren’t shown here.

arch/s390/mm/hugetlbpage.c+0−10

This diff is large: its 27 lines aren’t shown here.

arch/s390/mm/init.c+2−3

This diff is large: its 20 lines aren’t shown here.

arch/s390/mm/maccess.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/mm/pageattr.c+8−2

This diff is large: its 25 lines aren’t shown here.

arch/s390/mm/pgtable.c+25−67

This diff is large: its 194 lines aren’t shown here.

arch/s390/mm/vmem.c+7−7

This diff is large: its 63 lines aren’t shown here.

arch/s390/oprofile/hwsampler.c+15−30

This diff is large: its 122 lines aren’t shown here.

arch/s390/oprofile/hwsampler.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/s390/oprofile/init.c+2−6

This diff is large: its 18 lines aren’t shown here.

arch/score/Kconfig+0−4

This diff is large: its 18 lines aren’t shown here.

arch/score/Kconfig.debug+0−9

This diff is large: its 16 lines aren’t shown here.

arch/score/Makefile+1−1

This diff is large: its 7 lines aren’t shown here.

arch/score/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/Kconfig+1−7

This diff is large: its 24 lines aren’t shown here.

arch/sh/Kconfig.debug+1−10

This diff is large: its 25 lines aren’t shown here.

arch/sh/boards/board-sh7757lcr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-ap325rxa/setup.c+24−8

This diff is large: its 56 lines aren’t shown here.

arch/sh/boards/mach-dreamcast/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-ecovec24/setup.c+28−10

This diff is large: its 116 lines aren’t shown here.

arch/sh/boards/mach-landisk/setup.c+2−3

This diff is large: its 26 lines aren’t shown here.

arch/sh/configs/apsh4ad0a_defconfig+0−2

This diff is large: its 16 lines aren’t shown here.

arch/sh/configs/ecovec24_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/configs/sdk7786_defconfig+0−2

This diff is large: its 16 lines aren’t shown here.

arch/sh/configs/se7206_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/configs/sh7757lcr_defconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/configs/shx3_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/configs/urquell_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/drivers/pci/fixups-se7751.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/pci-sh7751.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/kgdb.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/sh/include/asm/page.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/pgtable_32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/ptrace.h+4−2

This diff is large: its 21 lines aren’t shown here.

arch/sh/include/asm/stacktrace.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/sh/include/asm/suspend.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/include/asm/tlb.h+17−11

This diff is large: its 61 lines aren’t shown here.

arch/sh/include/asm/unaligned-sh4a.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/unistd_32.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/sh/include/asm/unistd_64.h+3−1

This diff is large: its 14 lines aren’t shown here.

arch/sh/include/mach-common/mach/highlander.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/include/mach-common/mach/r2d.h+3−3

This diff is large: its 22 lines aren’t shown here.

arch/sh/kernel/cpu/Makefile+1−3

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/clock-cpg.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/sq.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7786.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/shmobile/pm_runtime.c+25−14

This diff is large: its 124 lines aren’t shown here.

arch/sh/kernel/dumpstack.c+0−15

This diff is large: its 29 lines aren’t shown here.

arch/sh/kernel/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/module.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/perf_callchain.c+0−12

This diff is large: its 26 lines aren’t shown here.

arch/sh/kernel/ptrace_32.c+4−0

This diff is large: its 12 lines aren’t shown here.

arch/sh/kernel/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/smp.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/sh/kernel/stacktrace.c+0−13

This diff is large: its 34 lines aren’t shown here.

arch/sh/kernel/syscalls_32.S+2−0

This diff is large: its 6 lines aren’t shown here.

arch/sh/kernel/syscalls_64.S+2−0

This diff is large: its 6 lines aren’t shown here.

arch/sh/kernel/traps_32.c+0−1

This diff is large: its 8 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/lib64/copy_user_memcpy.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/lib64/memcpy.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/mm/init.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/oprofile/backtrace.c+0−13

This diff is large: its 27 lines aren’t shown here.

arch/sparc/Kconfig+4−12

This diff is large: its 43 lines aren’t shown here.

arch/sparc/Kconfig.debug+0−9

This diff is large: its 16 lines aren’t shown here.

arch/sparc/include/asm/cpudata_32.h+5−0

This diff is large: its 18 lines aren’t shown here.

arch/sparc/include/asm/floppy_32.h+29−11

This diff is large: its 73 lines aren’t shown here.

arch/sparc/include/asm/hypervisor.h+10−10

This diff is large: its 78 lines aren’t shown here.

arch/sparc/include/asm/io.h+13−0

This diff is large: its 18 lines aren’t shown here.

arch/sparc/include/asm/irq_32.h+5−1

This diff is large: its 13 lines aren’t shown here.

arch/sparc/include/asm/jump_label.h+14−11

This diff is large: its 32 lines aren’t shown here.

arch/sparc/include/asm/leon.h+10−31

This diff is large: its 92 lines aren’t shown here.

arch/sparc/include/asm/ns87303.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/pcic.h+9−3

This diff is large: its 21 lines aren’t shown here.

arch/sparc/include/asm/pcr.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/pgalloc_64.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/pgtable_32.h+4−2

This diff is large: its 21 lines aren’t shown here.

arch/sparc/include/asm/pgtable_64.h+15−3

This diff is large: its 45 lines aren’t shown here.

arch/sparc/include/asm/ptrace.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/setup.h+12−0

This diff is large: its 17 lines aren’t shown here.

arch/sparc/include/asm/smp_32.h+19−18

This diff is large: its 69 lines aren’t shown here.

arch/sparc/include/asm/smp_64.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/sparc/include/asm/spinlock_32.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/system_32.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/sparc/include/asm/system_64.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/sparc/include/asm/tlb_64.h+6−85

This diff is large: its 112 lines aren’t shown here.

arch/sparc/include/asm/tlbflush_64.h+10−2

This diff is large: its 20 lines aren’t shown here.

arch/sparc/include/asm/topology_64.h+5−1

This diff is large: its 12 lines aren’t shown here.

arch/sparc/include/asm/unistd.h+4−1

This diff is large: its 13 lines aren’t shown here.

arch/sparc/include/asm/winmacro.h+9−0

This diff is large: its 23 lines aren’t shown here.

arch/sparc/kernel/Makefile+0−4

This diff is large: its 11 lines aren’t shown here.

arch/sparc/kernel/apc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/auxio_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/central.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/cpu.c+132−7

This diff is large: its 192 lines aren’t shown here.

arch/sparc/kernel/cpumap.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/devices.c+1−3

This diff is large: its 25 lines aren’t shown here.

arch/sparc/kernel/ds.c+8−8

This diff is large: its 70 lines aren’t shown here.

arch/sparc/kernel/entry.S+34−13

This diff is large: its 107 lines aren’t shown here.

arch/sparc/kernel/head_32.S+28−23

This diff is large: its 84 lines aren’t shown here.

arch/sparc/kernel/head_64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/init_task.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/ioport.c+16−26

This diff is large: its 139 lines aren’t shown here.

arch/sparc/kernel/irq.h+27−24

This diff is large: its 80 lines aren’t shown here.

arch/sparc/kernel/irq_32.c+124−389

This diff is large: its 628 lines aren’t shown here.

arch/sparc/kernel/irq_64.c+3−3

This diff is large: its 17 lines aren’t shown here.

arch/sparc/kernel/kernel.h+2−3

This diff is large: its 21 lines aren’t shown here.

arch/sparc/kernel/leon_kernel.c+239−126

This diff is large: its 461 lines aren’t shown here.

arch/sparc/kernel/leon_smp.c+125−23

This diff is large: its 290 lines aren’t shown here.

arch/sparc/kernel/mdesc.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/of_device_64.c+3−2

This diff is large: its 20 lines aren’t shown here.

arch/sparc/kernel/pci_fire.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/pci_msi.c+2−1

This diff is large: its 11 lines aren’t shown here.

arch/sparc/kernel/pci_psycho.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/pci_sabre.c+5−2

This diff is large: its 30 lines aren’t shown here.

arch/sparc/kernel/pci_schizo.c+7−3

This diff is large: its 27 lines aren’t shown here.

arch/sparc/kernel/pci_sun4v.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/pcic.c+56−27

This diff is large: its 173 lines aren’t shown here.

arch/sparc/kernel/perf_event.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/sparc/kernel/pmc.c+1−1

This diff is large: its 9 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_32.c+10−2

This diff is large: its 19 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/setup_32.c+13−76

This diff is large: its 138 lines aren’t shown here.

arch/sparc/kernel/setup_64.c+0−78

This diff is large: its 85 lines aren’t shown here.

arch/sparc/kernel/smp_32.c+82−33

This diff is large: its 211 lines aren’t shown here.

arch/sparc/kernel/smp_64.c+30−29

This diff is large: its 197 lines aren’t shown here.

arch/sparc/kernel/sun4c_irq.c+90−60

This diff is large: its 203 lines aren’t shown here.

arch/sparc/kernel/sun4d_irq.c+181−313

This diff is large: its 633 lines aren’t shown here.

arch/sparc/kernel/sun4d_smp.c+85−8

This diff is large: its 157 lines aren’t shown here.

arch/sparc/kernel/sun4m_irq.c+98−81

This diff is large: its 268 lines aren’t shown here.

arch/sparc/kernel/sun4m_smp.c+32−19

This diff is large: its 129 lines aren’t shown here.

arch/sparc/kernel/sysfs.c+2−1

This diff is large: its 12 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−0

This diff is large: its 13 lines aren’t shown here.

arch/sparc/kernel/time_32.c+4−8

This diff is large: its 27 lines aren’t shown here.

arch/sparc/kernel/time_64.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/sparc/kernel/us2e_cpufreq.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/us3_cpufreq.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/lib/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/lib/checksum_32.S+9−3

This diff is large: its 20 lines aren’t shown here.

arch/sparc/lib/rwsem_32.S+0−204

This diff is large: its 205 lines aren’t shown here.

arch/sparc/math-emu/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/mm/init_32.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/sparc/mm/init_64.c+7−7

This diff is large: its 53 lines aren’t shown here.

arch/sparc/mm/tlb.c+24−19

This diff is large: its 80 lines aren’t shown here.

arch/sparc/mm/tsb.c+8−7

This diff is large: its 47 lines aren’t shown here.

arch/tile/Kconfig+10−3

This diff is large: its 40 lines aren’t shown here.

arch/tile/Kconfig.debug+0−9

This diff is large: its 16 lines aren’t shown here.

arch/tile/configs/tile_defconfig+0−71

This diff is large: its 72 lines aren’t shown here.

arch/tile/configs/tilegx_defconfig+1833−0

This diff is large: its 1834 lines aren’t shown here.

arch/tile/configs/tilepro_defconfig+1163−0

This diff is large: its 1164 lines aren’t shown here.

arch/tile/include/arch/chip_tilegx.h+258−0

This diff is large: its 259 lines aren’t shown here.

arch/tile/include/arch/icache.h+5−6

This diff is large: its 25 lines aren’t shown here.

arch/tile/include/arch/interrupts_64.h+276−0

This diff is large: its 277 lines aren’t shown here.

arch/tile/include/arch/spr_def.h+11−2

This diff is large: its 38 lines aren’t shown here.

arch/tile/include/arch/spr_def_64.h+173−0

This diff is large: its 174 lines aren’t shown here.

arch/tile/include/asm/atomic.h+42−7

This diff is large: its 60 lines aren’t shown here.

arch/tile/include/asm/atomic_32.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/tile/include/asm/atomic_64.h+156−0

This diff is large: its 157 lines aren’t shown here.

arch/tile/include/asm/backtrace.h+23−59

This diff is large: its 134 lines aren’t shown here.

arch/tile/include/asm/bitops.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/bitops_32.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/bitops_64.h+105−0

This diff is large: its 106 lines aren’t shown here.

arch/tile/include/asm/cacheflush.h+12−6

This diff is large: its 35 lines aren’t shown here.

arch/tile/include/asm/compat.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/tile/include/asm/dma-mapping.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/tile/include/asm/fb.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/hardwall.h+12−3

This diff is large: its 29 lines aren’t shown here.

arch/tile/include/asm/io.h+18−0

This diff is large: its 44 lines aren’t shown here.

arch/tile/include/asm/irq.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/asm/mmu_context.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/tile/include/asm/opcode-tile_32.h+7−0

This diff is large: its 13 lines aren’t shown here.

arch/tile/include/asm/opcode-tile_64.h+621−879

This diff is large: its 2090 lines aren’t shown here.

arch/tile/include/asm/opcode_constants_64.h+586−457

This diff is large: its 1055 lines aren’t shown here.

arch/tile/include/asm/page.h+9−9

This diff is large: its 65 lines aren’t shown here.

arch/tile/include/asm/parport.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/pci.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/tile/include/asm/pgtable_64.h+175−0

This diff is large: its 176 lines aren’t shown here.

arch/tile/include/asm/processor.h+2−7

This diff is large: its 30 lines aren’t shown here.

arch/tile/include/asm/serial.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/signal.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/tile/include/asm/spinlock_64.h+161−0

This diff is large: its 162 lines aren’t shown here.

arch/tile/include/asm/stat.h+1−1

This diff is large: its 6 lines aren’t shown here.

arch/tile/include/asm/swab.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/tile/include/asm/thread_info.h+4−1

This diff is large: its 22 lines aren’t shown here.

arch/tile/include/asm/topology.h+57−18

This diff is large: its 83 lines aren’t shown here.

arch/tile/include/asm/traps.h+4−0

This diff is large: its 15 lines aren’t shown here.

arch/tile/include/asm/unistd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/asm/vga.hrenamed from arch/tile/include/hv/pagesize.h+21−14

This diff is large: its 45 lines aren’t shown here.

arch/tile/include/hv/drv_xgbe_intf.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/hv/hypervisor.h+12−4

This diff is large: its 49 lines aren’t shown here.

arch/tile/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/kernel/backtrace.c+43−60

This diff is large: its 265 lines aren’t shown here.

arch/tile/kernel/compat.c+1−12

This diff is large: its 28 lines aren’t shown here.

arch/tile/kernel/compat_signal.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/tile/kernel/futex_64.S+55−0

This diff is large: its 56 lines aren’t shown here.

arch/tile/kernel/hardwall.c+68−28

This diff is large: its 162 lines aren’t shown here.

arch/tile/kernel/head_64.S+269−0

This diff is large: its 270 lines aren’t shown here.

arch/tile/kernel/intvec_32.S+43−132

This diff is large: its 279 lines aren’t shown here.

arch/tile/kernel/intvec_64.S+1231−0

This diff is large: its 1232 lines aren’t shown here.

arch/tile/kernel/module.c+7−1

This diff is large: its 23 lines aren’t shown here.

arch/tile/kernel/pci-dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/kernel/pci.c+118−92

This diff is large: its 320 lines aren’t shown here.

arch/tile/kernel/proc.c+73−0

This diff is large: its 84 lines aren’t shown here.

arch/tile/kernel/process.c+50−2

This diff is large: its 77 lines aren’t shown here.

arch/tile/kernel/regs_64.S+145−0

This diff is large: its 146 lines aren’t shown here.

arch/tile/kernel/setup.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/tile/kernel/signal.c+124−4

This diff is large: its 167 lines aren’t shown here.

arch/tile/kernel/single_step.c+12−0

This diff is large: its 33 lines aren’t shown here.

arch/tile/kernel/smp.c+1−5

This diff is large: its 14 lines aren’t shown here.

arch/tile/kernel/stack.c+7−7

This diff is large: its 63 lines aren’t shown here.

arch/tile/kernel/sys.c+0−9

This diff is large: its 25 lines aren’t shown here.

arch/tile/kernel/sysfs.c+185−0

This diff is large: its 186 lines aren’t shown here.

arch/tile/kernel/tile-desc_32.c+6−5

This diff is large: its 27 lines aren’t shown here.

arch/tile/kernel/tile-desc_64.c+2200−0

This diff is large: its 2201 lines aren’t shown here.

arch/tile/kernel/time.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/tile/kernel/tlb.c+6−6

This diff is large: its 38 lines aren’t shown here.

arch/tile/kernel/traps.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/tile/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/lib/atomic_asm_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/lib/cacheflush.c+18−0

This diff is large: its 37 lines aren’t shown here.

arch/tile/lib/memchr_64.c+71−0

This diff is large: its 72 lines aren’t shown here.

arch/tile/lib/memcpy_64.c+220−0

This diff is large: its 221 lines aren’t shown here.

arch/tile/lib/memcpy_user_64.c+86−0

This diff is large: its 87 lines aren’t shown here.

arch/tile/lib/memset_64.c+145−0

This diff is large: its 146 lines aren’t shown here.

arch/tile/lib/spinlock_64.c+104−0

This diff is large: its 105 lines aren’t shown here.

arch/tile/lib/strchr_64.c+67−0

This diff is large: its 68 lines aren’t shown here.

arch/tile/lib/strlen_64.c+38−0

This diff is large: its 39 lines aren’t shown here.

arch/tile/lib/usercopy_64.S+196−0

This diff is large: its 197 lines aren’t shown here.

arch/tile/mm/fault.c+20−12

This diff is large: its 103 lines aren’t shown here.

arch/tile/mm/hugetlbpage.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/mm/init.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/tile/mm/migrate_64.S+187−0

This diff is large: its 188 lines aren’t shown here.

arch/um/Kconfig.common+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/Kconfig.debug+8−8

This diff is large: its 22 lines aren’t shown here.

arch/um/Kconfig.net+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/Kconfig.um+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/Kconfig.x86+6−3

This diff is large: its 32 lines aren’t shown here.

arch/um/drivers/Makefile+2−2

This diff is large: its 18 lines aren’t shown here.

arch/um/drivers/mcast.h+0−24

This diff is large: its 25 lines aren’t shown here.

arch/um/drivers/mcast_kern.c+0−120

This diff is large: its 121 lines aren’t shown here.

arch/um/drivers/mcast_user.c+0−165

This diff is large: its 166 lines aren’t shown here.

arch/um/drivers/mmapper_kern.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/drivers/umcast.h+27−0

This diff is large: its 28 lines aren’t shown here.

arch/um/drivers/umcast_kern.c+188−0

This diff is large: its 189 lines aren’t shown here.

arch/um/drivers/umcast_user.c+186−0

This diff is large: its 187 lines aren’t shown here.

arch/um/drivers/xterm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/include/asm/bug.h+6−0

This diff is large: its 7 lines aren’t shown here.

arch/um/include/asm/common.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/include/asm/processor-generic.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/um/include/asm/smp.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/um/include/asm/thread_info.h+4−1

This diff is large: its 12 lines aren’t shown here.

arch/um/include/asm/tlb.h+11−18

This diff is large: its 74 lines aren’t shown here.

arch/um/include/shared/os.h+7−0

This diff is large: its 21 lines aren’t shown here.

arch/um/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/kernel/early_printk.c+33−0

This diff is large: its 34 lines aren’t shown here.

arch/um/kernel/smp.c+1−4

This diff is large: its 19 lines aren’t shown here.

arch/um/kernel/trap.c+24−0

This diff is large: its 45 lines aren’t shown here.

arch/um/os-Linux/main.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/um/os-Linux/process.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/os-Linux/util.c+27−1

This diff is large: its 47 lines aren’t shown here.

arch/um/sys-i386/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/sys-i386/atomic64_cx8_32.S+225−0

This diff is large: its 226 lines aren’t shown here.

arch/unicore32/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/Kconfig.debug+0−7

This diff is large: its 14 lines aren’t shown here.

arch/unicore32/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/include/asm/futex.h+0−143

This diff is large: its 144 lines aren’t shown here.

arch/unicore32/include/asm/suspend.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/include/mach/PKUnity.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/unicore32/include/mach/memory.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/include/mach/regs-umal.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/unicore32/kernel/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/kernel/irq.c+8−15

This diff is large: its 60 lines aren’t shown here.

arch/unicore32/kernel/puv3-core.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/unicore32/kernel/rtc.c+0−9

This diff is large: its 30 lines aren’t shown here.

arch/unicore32/kernel/setup.c+2−13

This diff is large: its 36 lines aren’t shown here.

arch/unicore32/kernel/traps.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/unicore32/kernel/vmlinux.lds.S+4−3

This diff is large: its 30 lines aren’t shown here.

arch/unicore32/mm/init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/mm/mmu.c+0−22

This diff is large: its 43 lines aren’t shown here.

arch/x86/Kbuild+1−0

This diff is large: its 5 lines aren’t shown here.

arch/x86/Kconfig+29−37

This diff is large: its 191 lines aren’t shown here.

arch/x86/Kconfig.cpu+10−6

This diff is large: its 49 lines aren’t shown here.

arch/x86/Kconfig.debug+0−20

This diff is large: its 27 lines aren’t shown here.

arch/x86/Makefile_32.cpu+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/boot/memory.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/configs/i386_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/configs/x86_64_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/crypto/Makefile+1−3

This diff is large: its 17 lines aren’t shown here.

arch/x86/crypto/aesni-intel_glue.c+9−0

This diff is large: its 37 lines aren’t shown here.

arch/x86/crypto/fpu.c+2−8

This diff is large: its 21 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/acpi.h+1−3

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/alternative-asm.h+9−0

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/alternative.h+0−9

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/amd_iommu_proto.h+10−3

This diff is large: its 29 lines aren’t shown here.

arch/x86/include/asm/amd_iommu_types.h+24−4

This diff is large: its 83 lines aren’t shown here.

arch/x86/include/asm/amd_nb.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/apic.h+27−12

This diff is large: its 92 lines aren’t shown here.

arch/x86/include/asm/apicdef.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/bios_ebda.h+26−2

This diff is large: its 43 lines aren’t shown here.

arch/x86/include/asm/cpufeature.h+12−5

This diff is large: its 47 lines aren’t shown here.

arch/x86/include/asm/desc.h+76−76

This diff is large: its 258 lines aren’t shown here.

arch/x86/include/asm/dma.h+4−9

This diff is large: its 35 lines aren’t shown here.

arch/x86/include/asm/efi.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/ftrace.h+3−4

This diff is large: its 15 lines aren’t shown here.

arch/x86/include/asm/gart.h+12−12

This diff is large: its 38 lines aren’t shown here.

arch/x86/include/asm/i387.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/i8253.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/idle.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/io.h+2−22

This diff is large: its 45 lines aren’t shown here.

arch/x86/include/asm/io_apic.h+11−19

This diff is large: its 58 lines aren’t shown here.

arch/x86/include/asm/jump_label.h+16−11

This diff is large: its 37 lines aren’t shown here.

arch/x86/include/asm/kgdb.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/kvm_emulate.h+146−47

This diff is large: its 326 lines aren’t shown here.

arch/x86/include/asm/kvm_host.h+42−13

This diff is large: its 161 lines aren’t shown here.

arch/x86/include/asm/linkage.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/mce.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/mmu.h+2−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/mmzone_32.h+0−20

This diff is large: its 32 lines aren’t shown here.

arch/x86/include/asm/mmzone_64.h+0−23

This diff is large: its 37 lines aren’t shown here.

arch/x86/include/asm/module.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/msr-index.h+5−0

This diff is large: its 24 lines aren’t shown here.

arch/x86/include/asm/nops.h+84−62

This diff is large: its 188 lines aren’t shown here.

arch/x86/include/asm/numa.h+31−3

This diff is large: its 82 lines aren’t shown here.

arch/x86/include/asm/numa_32.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/numa_64.h+0−36

This diff is large: its 43 lines aren’t shown here.

arch/x86/include/asm/numaq.h+1−6

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/olpc_ofw.h+3−6

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/pci.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/percpu.h+33−1

This diff is large: its 55 lines aren’t shown here.

arch/x86/include/asm/pgtable_types.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/probe_roms.h+8−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/processor-flags.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/processor.h+2−2

This diff is large: its 13 lines aren’t shown here.

arch/x86/include/asm/ptrace.h+5−13

This diff is large: its 33 lines aren’t shown here.

arch/x86/include/asm/setup.h+2−2

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/srat.h+0−39

This diff is large: its 40 lines aren’t shown here.

arch/x86/include/asm/stacktrace.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/suspend_32.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/suspend_64.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/system.h+71−14

This diff is large: its 96 lines aren’t shown here.

arch/x86/include/asm/topology.h+0−8

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/tsc.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/include/asm/uaccess.h+1−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/uaccess_32.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/uaccess_64.h+0−1

This diff is large: its 8 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−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/include/asm/uv/uv_bau.h+391−200

This diff is large: its 804 lines aren’t shown here.

arch/x86/include/asm/uv/uv_hub.h+60−13

This diff is large: its 139 lines aren’t shown here.

arch/x86/include/asm/uv/uv_mmrs.h+836−190

This diff is large: its 1293 lines aren’t shown here.

arch/x86/include/asm/vdso.h+0−14

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/vgtod.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/vsyscall.h+2−10

This diff is large: its 30 lines aren’t shown here.

arch/x86/include/asm/vvar.h+52−0

This diff is large: its 53 lines aren’t shown here.

arch/x86/include/asm/x2apic.h+62−0

This diff is large: its 63 lines aren’t shown here.

arch/x86/include/asm/x86_init.h+12−0

This diff is large: its 26 lines aren’t shown here.

arch/x86/include/asm/xen/hypercall.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/x86/include/asm/xen/page.h+3−2

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/xen/pci.h+16−0

This diff is large: its 27 lines aren’t shown here.

arch/x86/kernel/Makefile+7−5

This diff is large: its 46 lines aren’t shown here.

arch/x86/kernel/acpi/boot.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/x86/kernel/acpi/sleep.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/x86/kernel/alternative.c+121−82

This diff is large: its 285 lines aren’t shown here.

arch/x86/kernel/amd_gart_64.crenamed from arch/x86/kernel/pci-gart_64.c+8−1

This diff is large: its 25 lines aren’t shown here.

arch/x86/kernel/amd_iommu.c+307−220

This diff is large: its 874 lines aren’t shown here.

arch/x86/kernel/amd_iommu_init.c+40−8

This diff is large: its 106 lines aren’t shown here.

arch/x86/kernel/amd_nb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/apb_timer.c+2−10

This diff is large: its 33 lines aren’t shown here.

arch/x86/kernel/aperture_64.c+20−16

This diff is large: its 57 lines aren’t shown here.

arch/x86/kernel/apic/Makefile+11−6

This diff is large: its 32 lines aren’t shown here.

arch/x86/kernel/apic/apic.c+51−66

This diff is large: its 207 lines aren’t shown here.

arch/x86/kernel/apic/apic_flat_64.c+23−3

This diff is large: its 60 lines aren’t shown here.

arch/x86/kernel/apic/apic_noop.c+0−9

This diff is large: its 22 lines aren’t shown here.

arch/x86/kernel/apic/bigsmp_32.c+11−2

This diff is large: its 25 lines aren’t shown here.

arch/x86/kernel/apic/es7000_32.c+8−9

This diff is large: its 45 lines aren’t shown here.

arch/x86/kernel/apic/hw_nmi.c+3−2

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/apic/io_apic.c+135−184

This diff is large: its 686 lines aren’t shown here.

arch/x86/kernel/apic/numaq_32.c+14−26

This diff is large: its 91 lines aren’t shown here.

arch/x86/kernel/apic/probe_32.c+45−73

This diff is large: its 206 lines aren’t shown here.

arch/x86/kernel/apic/probe_64.c+18−43

This diff is large: its 87 lines aren’t shown here.

arch/x86/kernel/apic/summit_32.c+3−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_cluster.c+124−98

This diff is large: its 303 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_phys.c+29−86

This diff is large: its 184 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_uv_x.c+95−16

This diff is large: its 234 lines aren’t shown here.

arch/x86/kernel/apm_32.c+7−4

This diff is large: its 60 lines aren’t shown here.

arch/x86/kernel/cpu/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/amd.c+27−2

This diff is large: its 37 lines aren’t shown here.

arch/x86/kernel/cpu/bugs.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/common.c+25−10

This diff is large: its 77 lines aren’t shown here.

arch/x86/kernel/cpu/cpufreq/Makefile+0−21

This diff is large: its 22 lines aren’t shown here.

arch/x86/kernel/cpu/intel.c+19−10

This diff is large: its 59 lines aren’t shown here.

arch/x86/kernel/cpu/intel_cacheinfo.c+4−16

This diff is large: its 40 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce.c+8−19

This diff is large: its 69 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce_amd.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/therm_throt.c+10−12

This diff is large: its 74 lines aren’t shown here.

arch/x86/kernel/cpu/mtrr/main.c+15−5

This diff is large: its 30 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event.c+28−22

This diff is large: its 109 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_amd.c+26−10

This diff is large: its 81 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_intel.c+111−51

This diff is large: its 344 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_p4.c+17−9

This diff is large: its 57 lines aren’t shown here.

arch/x86/kernel/devicetree.c+5−3

This diff is large: its 36 lines aren’t shown here.

arch/x86/kernel/dumpstack.c+0−17

This diff is large: its 38 lines aren’t shown here.

arch/x86/kernel/ftrace.c+8−8

This diff is large: its 55 lines aren’t shown here.

arch/x86/kernel/head32.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/hpet.c+16−56

This diff is large: its 143 lines aren’t shown here.

arch/x86/kernel/i8253.c+2−84

This diff is large: its 112 lines aren’t shown here.

arch/x86/kernel/irq.c+4−2

This diff is large: its 27 lines aren’t shown here.

arch/x86/kernel/jump_label.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/x86/kernel/kprobes.c+3−2

This diff is large: its 24 lines aren’t shown here.

arch/x86/kernel/kvmclock.c+1−5

This diff is large: its 27 lines aren’t shown here.

arch/x86/kernel/microcode_core.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/module.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/mpparse.c+3−5

This diff is large: its 29 lines aren’t shown here.

arch/x86/kernel/pci-dma.c+0−64

This diff is large: its 75 lines aren’t shown here.

arch/x86/kernel/pci-iommu_table.c+4−14

This diff is large: its 38 lines aren’t shown here.

arch/x86/kernel/probe_roms.crenamed from arch/x86/kernel/probe_roms_32.c+101−0

This diff is large: its 108 lines aren’t shown here.

arch/x86/kernel/process.c+25−22

This diff is large: its 128 lines aren’t shown here.

arch/x86/kernel/ptrace.c+28−12

This diff is large: its 101 lines aren’t shown here.

arch/x86/kernel/reboot.c+24−1

This diff is large: its 56 lines aren’t shown here.

arch/x86/kernel/reboot_32.S+6−6

This diff is large: its 33 lines aren’t shown here.

arch/x86/kernel/setup.c+15−6

This diff is large: its 63 lines aren’t shown here.

arch/x86/kernel/signal.c+5−9

This diff is large: its 36 lines aren’t shown here.

arch/x86/kernel/smp.c+2−3

This diff is large: its 17 lines aren’t shown here.

arch/x86/kernel/smpboot.c+3−3

This diff is large: its 21 lines aren’t shown here.

arch/x86/kernel/stacktrace.c+0−13

This diff is large: its 33 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+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/test_nx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/tsc.c+0−19

This diff is large: its 26 lines aren’t shown here.

arch/x86/kernel/vmlinux.lds.S+19−24

This diff is large: its 89 lines aren’t shown here.

arch/x86/kernel/vread_tsc_64.c+36−0

This diff is large: its 37 lines aren’t shown here.

arch/x86/kernel/vsyscall_64.c+21−27

This diff is large: its 97 lines aren’t shown here.

arch/x86/kernel/x86_init.c+5−1

This diff is large: its 20 lines aren’t shown here.

arch/x86/kvm/emulate.c+1215−591

This diff is large: its 2994 lines aren’t shown here.

arch/x86/kvm/i8254.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/kvm/irq.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/kvm/mmu.c+7−12

This diff is large: its 71 lines aren’t shown here.

arch/x86/kvm/paging_tmpl.h+57−26

This diff is large: its 166 lines aren’t shown here.

arch/x86/kvm/svm.c+434−151

This diff is large: its 825 lines aren’t shown here.

arch/x86/kvm/vmx.c+192−36

This diff is large: its 542 lines aren’t shown here.

arch/x86/kvm/x86.c+424−183

This diff is large: its 1180 lines aren’t shown here.

arch/x86/kvm/x86.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/lguest/boot.c+2−4

This diff is large: its 27 lines aren’t shown here.

arch/x86/lib/clear_page_64.S+24−9

This diff is large: its 59 lines aren’t shown here.

arch/x86/lib/copy_user_64.S+57−12

This diff is large: its 103 lines aren’t shown here.

arch/x86/lib/memcpy_64.S+33−14

This diff is large: its 77 lines aren’t shown here.

arch/x86/lib/memmove_64.S+28−1

This diff is large: its 63 lines aren’t shown here.

arch/x86/lib/memset_64.S+42−12

This diff is large: its 76 lines aren’t shown here.

arch/x86/mm/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/mm/amdtopology.crenamed from arch/x86/mm/amdtopology_64.c+11−10

This diff is large: its 76 lines aren’t shown here.

arch/x86/mm/fault.c+22−6

This diff is large: its 71 lines aren’t shown here.

arch/x86/mm/hugetlbpage.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/mm/init.c+22−4

This diff is large: its 48 lines aren’t shown here.

arch/x86/mm/init_32.c+3−0

This diff is large: its 19 lines aren’t shown here.

arch/x86/mm/init_64.c+2−8

This diff is large: its 25 lines aren’t shown here.

arch/x86/mm/ioremap.c+7−7

This diff is large: its 28 lines aren’t shown here.

arch/x86/mm/numa.c+559−22

This diff is large: its 658 lines aren’t shown here.

arch/x86/mm/numa_32.c+102−296

This diff is large: its 479 lines aren’t shown here.

arch/x86/mm/numa_64.c+1−643

This diff is large: its 661 lines aren’t shown here.

arch/x86/mm/numa_emulation.c+17−19

This diff is large: its 97 lines aren’t shown here.

arch/x86/mm/numa_internal.h+8−0

This diff is large: its 15 lines aren’t shown here.

arch/x86/mm/pf_in.c+3−11

This diff is large: its 43 lines aren’t shown here.

arch/x86/mm/srat.crenamed from arch/x86/mm/srat_64.c+3−79

This diff is large: its 124 lines aren’t shown here.

arch/x86/mm/srat_32.c+0−286

This diff is large: its 287 lines aren’t shown here.

arch/x86/net/Makefile+4−0

This diff is large: its 5 lines aren’t shown here.

arch/x86/net/bpf_jit.S+140−0

This diff is large: its 141 lines aren’t shown here.

arch/x86/net/bpf_jit_comp.c+654−0

This diff is large: its 655 lines aren’t shown here.

arch/x86/oprofile/backtrace.c+0−13

This diff is large: its 27 lines aren’t shown here.

arch/x86/oprofile/nmi_int.c+5−0

This diff is large: its 19 lines aren’t shown here.

arch/x86/oprofile/op_counter.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/oprofile/op_model_amd.c+54−41

This diff is large: its 156 lines aren’t shown here.

arch/x86/pci/direct.c+6−11

This diff is large: its 45 lines aren’t shown here.

arch/x86/pci/irq.c+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/pci/mmconfig-shared.c+10−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/pci/xen.c+91−5

This diff is large: its 136 lines aren’t shown here.

arch/x86/platform/ce4100/falconfalls.dts+5−3

This diff is large: its 43 lines aren’t shown here.

arch/x86/platform/efi/efi.c+101−22

This diff is large: its 201 lines aren’t shown here.

arch/x86/platform/efi/efi_64.c+11−26

This diff is large: its 74 lines aren’t shown here.

arch/x86/platform/mrst/mrst.c+7−7

This diff is large: its 54 lines aren’t shown here.

arch/x86/platform/mrst/vrtc.c+3−1

This diff is large: its 13 lines aren’t shown here.

arch/x86/platform/olpc/Makefile+1−3

This diff is large: its 6 lines aren’t shown here.

arch/x86/platform/olpc/olpc.c+27−24

This diff is large: its 76 lines aren’t shown here.

arch/x86/platform/olpc/olpc_dt.c+19−0

This diff is large: its 31 lines aren’t shown here.

arch/x86/platform/uv/tlb_uv.c+834−651

This diff is large: its 2253 lines aren’t shown here.

arch/x86/platform/uv/uv_time.c+13−9

This diff is large: its 54 lines aren’t shown here.

arch/x86/platform/visws/visws_quirks.c+6−14

This diff is large: its 48 lines aren’t shown here.

arch/x86/vdso/Makefile+15−2

This diff is large: its 35 lines aren’t shown here.

arch/x86/vdso/vclock_gettime.c+53−21

This diff is large: its 114 lines aren’t shown here.

arch/x86/vdso/vdso.lds.S+2−7

This diff is large: its 18 lines aren’t shown here.

arch/x86/vdso/vextern.h+0−16

This diff is large: its 17 lines aren’t shown here.

arch/x86/vdso/vgetcpu.c+1−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/vdso/vma.c+0−27

This diff is large: its 52 lines aren’t shown here.

arch/x86/vdso/vvar.c+0−12

This diff is large: its 13 lines aren’t shown here.

arch/x86/xen/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/enlighten.c+17−24

This diff is large: its 119 lines aren’t shown here.

arch/x86/xen/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/mmu.c+94−258

This diff is large: its 748 lines aren’t shown here.

arch/x86/xen/mmu.h+0−37

This diff is large: its 44 lines aren’t shown here.

arch/x86/xen/p2m.c+34−9

This diff is large: its 109 lines aren’t shown here.

arch/x86/xen/pci-swiotlb-xen.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/setup.c+7−3

This diff is large: its 39 lines aren’t shown here.

arch/x86/xen/smp.c+6−7

This diff is large: its 49 lines aren’t shown here.

arch/x86/xen/time.c+5−9

This diff is large: its 56 lines aren’t shown here.

arch/x86/xen/xen-ops.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/Kconfig+0−7

This diff is large: its 21 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/include/asm/dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/include/asm/page.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/xtensa/include/asm/unistd.h+3−1

This diff is large: its 12 lines aren’t shown here.

arch/xtensa/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/kernel/irq.c+6−12

This diff is large: its 54 lines aren’t shown here.

arch/xtensa/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/mm/mmu.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/mm/pgtable.c+0−72

This diff is large: its 73 lines aren’t shown here.

block/blk-cgroup.c+177−52

This diff is large: its 396 lines aren’t shown here.

block/blk-cgroup.h+32−11

This diff is large: its 117 lines aren’t shown here.

block/blk-core.c+125−98

This diff is large: its 443 lines aren’t shown here.

block/blk-exec.c+2−2

This diff is large: its 11 lines aren’t shown here.

block/blk-flush.c+16−10

This diff is large: its 61 lines aren’t shown here.

block/blk-integrity.c+11−1

This diff is large: its 33 lines aren’t shown here.

block/blk-ioc.c+3−0

This diff is large: its 10 lines aren’t shown here.

block/blk-lib.c+26−56

This diff is large: its 150 lines aren’t shown here.

block/blk-settings.c+8−1

This diff is large: its 30 lines aren’t shown here.

block/blk-sysfs.c+8−6

This diff is large: its 56 lines aren’t shown here.

block/blk-throttle.c+242−82

This diff is large: its 440 lines aren’t shown here.

block/blk.h+23−2

This diff is large: its 39 lines aren’t shown here.

block/cfq-iosched.c+181−84

This diff is large: its 452 lines aren’t shown here.

block/elevator.c+17−30

This diff is large: its 102 lines aren’t shown here.

block/genhd.c+8−4

This diff is large: its 34 lines aren’t shown here.

crypto/Kconfig+0−6

This diff is large: its 20 lines aren’t shown here.

crypto/ansi_cprng.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/async_tx/async_xor.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/gf128mul.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/tcrypt.c+4−0

This diff is large: its 11 lines aren’t shown here.

crypto/testmgr.c+16−0

This diff is large: its 23 lines aren’t shown here.

crypto/testmgr.h+60−0

This diff is large: its 74 lines aren’t shown here.

crypto/vmac.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/xts.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/Kconfig+7−0

This diff is large: its 26 lines aren’t shown here.

drivers/Makefile+8−5

This diff is large: its 52 lines aren’t shown here.

drivers/acpi/Kconfig+15−11

This diff is large: its 40 lines aren’t shown here.

drivers/acpi/Makefile+1−1

This diff is large: its 11 lines aren’t shown here.

drivers/acpi/acpica/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acconfig.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/acevents.h+11−6

This diff is large: its 30 lines aren’t shown here.

drivers/acpi/acpica/acglobal.h+6−7

This diff is large: its 31 lines aren’t shown here.

drivers/acpi/acpica/amlcode.h+0−15

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/acpica/dswload.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswload2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evglock.c+335−0

This diff is large: its 336 lines aren’t shown here.

drivers/acpi/acpica/evmisc.c+0−303

This diff is large: its 324 lines aren’t shown here.

drivers/acpi/acpica/evregion.c+119−2

This diff is large: its 148 lines aren’t shown here.

drivers/acpi/acpica/evrgnini.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evxfregn.c+7−6

This diff is large: its 28 lines aren’t shown here.

drivers/acpi/acpica/excreate.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/acpica/nsrepair.c+5−8

This diff is large: its 37 lines aren’t shown here.

drivers/acpi/acpica/utdecode.c+3−2

This diff is large: its 19 lines aren’t shown here.

drivers/acpi/acpica/utmutex.c+9−3

This diff is large: its 19 lines aren’t shown here.

drivers/acpi/acpica/utresrc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/apei/Kconfig+1−0

This diff is large: its 7 lines aren’t shown here.

drivers/acpi/apei/einj.c+8−0

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/apei/erst.c+45−16

This diff is large: its 105 lines aren’t shown here.

drivers/acpi/apei/ghes.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/atomicio.c+4−0

This diff is large: its 24 lines aren’t shown here.

drivers/acpi/bus.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/custom_method.c+100−0

This diff is large: its 101 lines aren’t shown here.

drivers/acpi/debugfs.c+4−88

This diff is large: its 105 lines aren’t shown here.

drivers/acpi/ec.c+12−7

This diff is large: its 56 lines aren’t shown here.

drivers/acpi/internal.h+2−1

This diff is large: its 12 lines aren’t shown here.

drivers/acpi/osl.c+25−8

This diff is large: its 47 lines aren’t shown here.

drivers/acpi/pci_root.c+10−4

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/processor_core.c+9−3

This diff is large: its 48 lines aren’t shown here.

drivers/acpi/processor_idle.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/processor_perflib.c+1−5

This diff is large: its 20 lines aren’t shown here.

drivers/acpi/processor_throttling.c+11−23

This diff is large: its 91 lines aren’t shown here.

drivers/acpi/scan.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/acpi/sysfs.c+8−0

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/video.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/amba/bus.c+9−4

This diff is large: its 55 lines aren’t shown here.

drivers/ata/acard-ahci.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/ahci.c+8−2

This diff is large: its 31 lines aren’t shown here.

drivers/ata/ahci.h+6−2

This diff is large: its 25 lines aren’t shown here.

drivers/ata/ata_piix.c+13−5

This diff is large: its 45 lines aren’t shown here.

drivers/ata/libahci.c+37−2

This diff is large: its 81 lines aren’t shown here.

drivers/ata/libata-core.c+11−4

This diff is large: its 43 lines aren’t shown here.

drivers/ata/libata-eh.c+10−8

This diff is large: its 81 lines aren’t shown here.

drivers/ata/libata-pmp.c+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/ata/libata-scsi.c+9−8

This diff is large: its 63 lines aren’t shown here.

drivers/ata/libata-sff.c+9−4

This diff is large: its 39 lines aren’t shown here.

drivers/ata/pata_amd.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_arasan_cf.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/ata/pata_at91.c+200−85

This diff is large: its 339 lines aren’t shown here.

drivers/ata/pata_bf54x.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_cmd64x.c+38−4

This diff is large: its 74 lines aren’t shown here.

drivers/ata/pata_cs5520.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_mpiix.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_palmld.c+22−21

This diff is large: its 81 lines aren’t shown here.

drivers/ata/pata_pcmcia.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_rz1000.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/pata_sil680.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/pata_sis.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/pata_triflex.c+23−2

This diff is large: its 45 lines aren’t shown here.

drivers/ata/sata_fsl.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/sata_mv.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/ata/sata_nv.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/ata/sata_via.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/ambassador.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/eni.c+0−5

This diff is large: its 27 lines aren’t shown here.

drivers/atm/firestream.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/fore200e.c+5−2

This diff is large: its 22 lines aren’t shown here.

drivers/atm/fore200e.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/atm/he.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/atm/horizon.c+5−5

This diff is large: its 35 lines aren’t shown here.

drivers/atm/idt77252.c+5−49

This diff is large: its 82 lines aren’t shown here.

drivers/atm/idt77252.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/iphase.c+6−14

This diff is large: its 102 lines aren’t shown here.

drivers/atm/lanai.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/atm/solos-pci.c+12−30

This diff is large: its 107 lines aren’t shown here.

drivers/auxdisplay/cfag12864b.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/base/Kconfig+0−7

This diff is large: its 12 lines aren’t shown here.

drivers/base/base.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/base/core.c+3−4

This diff is large: its 28 lines aren’t shown here.

drivers/base/dd.c+11−7

This diff is large: its 67 lines aren’t shown here.

drivers/base/firmware_class.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/base/memory.c+15−23

This diff is large: its 100 lines aren’t shown here.

drivers/base/node.c+9−5

This diff is large: its 28 lines aren’t shown here.

drivers/base/platform.c+42−137

This diff is large: its 323 lines aren’t shown here.

drivers/base/power/Makefile+2−2

This diff is large: its 9 lines aren’t shown here.

drivers/base/power/clock_ops.c+431−0

This diff is large: its 432 lines aren’t shown here.

drivers/base/power/generic_ops.c+39−0

This diff is large: its 63 lines aren’t shown here.

drivers/base/power/main.c+48−43

This diff is large: its 258 lines aren’t shown here.

drivers/base/power/runtime.c+11−20

This diff is large: its 82 lines aren’t shown here.

drivers/base/power/sysfs.c+2−2

This diff is large: its 19 lines aren’t shown here.

drivers/base/power/wakeup.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/base/sys.c+5−203

This diff is large: its 243 lines aren’t shown here.

drivers/base/syscore.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/bcma/Kconfig+33−0

This diff is large: its 34 lines aren’t shown here.

drivers/bcma/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

drivers/bcma/README+19−0

This diff is large: its 20 lines aren’t shown here.

drivers/bcma/TODO+3−0

This diff is large: its 4 lines aren’t shown here.

drivers/bcma/bcma_private.h+28−0

This diff is large: its 29 lines aren’t shown here.

drivers/bcma/core.c+51−0

This diff is large: its 52 lines aren’t shown here.

drivers/bcma/driver_chipcommon.c+89−0

This diff is large: its 90 lines aren’t shown here.

drivers/bcma/driver_chipcommon_pmu.c+134−0

This diff is large: its 135 lines aren’t shown here.

drivers/bcma/driver_pci.c+163−0

This diff is large: its 164 lines aren’t shown here.

drivers/bcma/host_pci.c+198−0

This diff is large: its 199 lines aren’t shown here.

drivers/bcma/main.c+247−0

This diff is large: its 248 lines aren’t shown here.

drivers/bcma/scan.c+360−0

This diff is large: its 361 lines aren’t shown here.

drivers/bcma/scan.h+56−0

This diff is large: its 57 lines aren’t shown here.

drivers/block/DAC960.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/block/Kconfig+21−0

This diff is large: its 28 lines aren’t shown here.

drivers/block/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/amiflop.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/ataflop.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/brd.c+26−16

This diff is large: its 91 lines aren’t shown here.

drivers/block/cciss.c+457−114

This diff is large: its 822 lines aren’t shown here.

drivers/block/cciss.h+9−2

This diff is large: its 61 lines aren’t shown here.

drivers/block/cciss_cmd.h+11−0

This diff is large: its 32 lines aren’t shown here.

drivers/block/cciss_scsi.c+23−18

This diff is large: its 113 lines aren’t shown here.

drivers/block/cciss_scsi.h+0−4

This diff is large: its 14 lines aren’t shown here.

drivers/block/drbd/drbd_actlog.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/block/drbd/drbd_bitmap.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/block/drbd/drbd_int.h+19−11

This diff is large: its 123 lines aren’t shown here.

drivers/block/drbd/drbd_main.c+33−8

This diff is large: its 138 lines aren’t shown here.

drivers/block/drbd/drbd_nl.c+94−33

This diff is large: its 200 lines aren’t shown here.

drivers/block/drbd/drbd_receiver.c+28−42

This diff is large: its 232 lines aren’t shown here.

drivers/block/drbd/drbd_req.c+10−10

This diff is large: its 83 lines aren’t shown here.

drivers/block/drbd/drbd_req.h+3−2

This diff is large: its 26 lines aren’t shown here.

drivers/block/drbd/drbd_vli.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_worker.c+61−37

This diff is large: its 174 lines aren’t shown here.

drivers/block/floppy.c+1−1

This diff is large: its 16 lines aren’t shown here.

drivers/block/hd.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/loop.c+21−7

This diff is large: its 66 lines aren’t shown here.

drivers/block/paride/pcd.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/paride/pd.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/paride/pf.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/rbd.c+176−32

This diff is large: its 447 lines aren’t shown here.

drivers/block/swim.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/swim3.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/ub.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/block/viodasd.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/xen-blkback/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

drivers/block/xen-blkback/blkback.c+824−0

This diff is large: its 825 lines aren’t shown here.

drivers/block/xen-blkback/common.h+233−0

This diff is large: its 234 lines aren’t shown here.

drivers/block/xen-blkback/xenbus.c+768−0

This diff is large: its 769 lines aren’t shown here.

drivers/block/xen-blkfront.c+37−14

This diff is large: its 129 lines aren’t shown here.

drivers/block/xsysace.c+4−5

This diff is large: its 44 lines aren’t shown here.

drivers/bluetooth/Kconfig+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/bluetooth/ath3k.c+1−3

This diff is large: its 18 lines aren’t shown here.

drivers/bluetooth/bluecard_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/bt3c_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.c+94−30

This diff is large: its 302 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.h+36−32

This diff is large: its 88 lines aren’t shown here.

drivers/bluetooth/btuart_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/btusb.c+6−1

This diff is large: its 28 lines aren’t shown here.

drivers/bluetooth/dtl1_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/hci_ath.c+6−1

This diff is large: its 15 lines aren’t shown here.

drivers/bluetooth/hci_h4.c+6−1

This diff is large: its 15 lines aren’t shown here.

drivers/bluetooth/hci_ldisc.c+11−6

This diff is large: its 36 lines aren’t shown here.

drivers/bluetooth/hci_ll.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/cdrom/cdrom.c+5−5

This diff is large: its 38 lines aren’t shown here.

drivers/cdrom/gdrom.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/cdrom/viocd.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/char/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/agp.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/amd-k7-agp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/generic.c+15−4

This diff is large: its 58 lines aren’t shown here.

drivers/char/agp/intel-agp.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/char/agp/intel-agp.h+8−0

This diff is large: its 15 lines aren’t shown here.

drivers/char/agp/intel-gtt.c+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/char/agp/sworks-agp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/uninorth-agp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/agp/via-agp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/apm-emulation.c+0−5

This diff is large: its 40 lines aren’t shown here.

drivers/char/bsr.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/hpet.c+1−5

This diff is large: its 20 lines aren’t shown here.

drivers/char/hw_random/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/hw_random/amd-rng.c+9−0

This diff is large: its 30 lines aren’t shown here.

drivers/char/hw_random/n2-drv.c+5−2

This diff is large: its 21 lines aren’t shown here.

drivers/char/i8k.c+164−2

This diff is large: its 224 lines aren’t shown here.

drivers/char/ipmi/ipmi_msghandler.c+81−57

This diff is large: its 225 lines aren’t shown here.

drivers/char/ipmi/ipmi_poweroff.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/ipmi/ipmi_si_intf.c+67−32

This diff is large: its 202 lines aren’t shown here.

drivers/char/mbcs.h+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/char/mem.c+27−15

This diff is large: its 57 lines aren’t shown here.

drivers/char/mspec.c+2−3

This diff is large: its 17 lines aren’t shown here.

drivers/char/mwave/3780i.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/nwbutton.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/pcmcia/cm4000_cs.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/char/pcmcia/cm4040_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/pcmcia/synclink_cs.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/char/ppdev.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/char/random.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/raw.c+27−7

This diff is large: its 85 lines aren’t shown here.

drivers/char/sonypi.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/char/virtio_console.c+0−11

This diff is large: its 19 lines aren’t shown here.

drivers/char/xilinx_hwicap/xilinx_hwicap.c+10−6

This diff is large: its 53 lines aren’t shown here.

drivers/clk/clkdev.c+9−10

This diff is large: its 48 lines aren’t shown here.

drivers/clocksource/Kconfig+5−0

This diff is large: its 6 lines aren’t shown here.

drivers/clocksource/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/clocksource/cyclone.c+2−8

This diff is large: its 24 lines aren’t shown here.

drivers/clocksource/i8253.c+88−0

This diff is large: its 89 lines aren’t shown here.

drivers/clocksource/mmio.c+73−0

This diff is large: its 74 lines aren’t shown here.

drivers/clocksource/sh_cmt.c+17−14

This diff is large: its 90 lines aren’t shown here.

drivers/clocksource/sh_tmu.c+18−13

This diff is large: its 86 lines aren’t shown here.

drivers/connector/cn_queue.c+17−41

This diff is large: its 117 lines aren’t shown here.

drivers/connector/connector.c+13−35

This diff is large: its 65 lines aren’t shown here.

drivers/cpufreq/Kconfig+9−14

This diff is large: its 38 lines aren’t shown here.

drivers/cpufreq/Kconfig.x86renamed from arch/x86/kernel/cpu/cpufreq/Kconfig+3−14

This diff is large: its 42 lines aren’t shown here.

drivers/cpufreq/Makefile+28−0

This diff is large: its 32 lines aren’t shown here.

drivers/cpufreq/acpi-cpufreq.crenamed from arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c+21−24

This diff is large: its 181 lines aren’t shown here.

drivers/cpufreq/cpufreq-nforce2.crenamed from arch/x86/kernel/cpu/cpufreq/cpufreq-nforce2.c+2−4

This diff is large: its 27 lines aren’t shown here.

drivers/cpufreq/cpufreq.c+60−157

This diff is large: its 528 lines aren’t shown here.

drivers/cpufreq/cpufreq_performance.c+1−4

This diff is large: its 19 lines aren’t shown here.

drivers/cpufreq/cpufreq_powersave.c+1−4

This diff is large: its 18 lines aren’t shown here.

drivers/cpufreq/cpufreq_stats.c+19−5

This diff is large: its 54 lines aren’t shown here.

drivers/cpufreq/cpufreq_userspace.c+5−8

This diff is large: its 52 lines aren’t shown here.

drivers/cpufreq/db8500-cpufreq.c+169−0

This diff is large: its 170 lines aren’t shown here.

drivers/cpufreq/e_powersaver.crenamed from arch/x86/kernel/cpu/cpufreq/e_powersaver.c+0−0

File renamed without changes.

drivers/cpufreq/elanfreq.crenamed from arch/x86/kernel/cpu/cpufreq/elanfreq.c+0−0

File renamed without changes.

drivers/cpufreq/freq_table.c+8−11

This diff is large: its 77 lines aren’t shown here.

drivers/cpufreq/gx-suspmod.crenamed from arch/x86/kernel/cpu/cpufreq/gx-suspmod.c+9−12

This diff is large: its 77 lines aren’t shown here.

drivers/cpufreq/longhaul.crenamed from arch/x86/kernel/cpu/cpufreq/longhaul.c+3−8

This diff is large: its 50 lines aren’t shown here.

drivers/cpufreq/longhaul.hrenamed from arch/x86/kernel/cpu/cpufreq/longhaul.h+0−0

File renamed without changes.

drivers/cpufreq/longrun.crenamed from arch/x86/kernel/cpu/cpufreq/longrun.c+7−10

This diff is large: its 72 lines aren’t shown here.

drivers/cpufreq/mperf.crenamed from arch/x86/kernel/cpu/cpufreq/mperf.c+0−0

File renamed without changes.

drivers/cpufreq/mperf.hrenamed from arch/x86/kernel/cpu/cpufreq/mperf.h+0−0

File renamed without changes.

drivers/cpufreq/p4-clockmod.crenamed from arch/x86/kernel/cpu/cpufreq/p4-clockmod.c+4−6

This diff is large: its 40 lines aren’t shown here.

drivers/cpufreq/pcc-cpufreq.crenamed from arch/x86/kernel/cpu/cpufreq/pcc-cpufreq.c+24−27

This diff is large: its 196 lines aren’t shown here.

drivers/cpufreq/powernow-k6.crenamed from arch/x86/kernel/cpu/cpufreq/powernow-k6.c+0−0

File renamed without changes.

drivers/cpufreq/powernow-k7.crenamed from arch/x86/kernel/cpu/cpufreq/powernow-k7.c+14−19

This diff is large: its 120 lines aren’t shown here.

drivers/cpufreq/powernow-k7.hrenamed from arch/x86/kernel/cpu/cpufreq/powernow-k7.h+0−0

File renamed without changes.

drivers/cpufreq/powernow-k8.crenamed from arch/x86/kernel/cpu/cpufreq/powernow-k8.c+50−50

This diff is large: its 375 lines aren’t shown here.

drivers/cpufreq/powernow-k8.hrenamed from arch/x86/kernel/cpu/cpufreq/powernow-k8.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/sc520_freq.crenamed from arch/x86/kernel/cpu/cpufreq/sc520_freq.c+2−4

This diff is large: its 27 lines aren’t shown here.

drivers/cpufreq/speedstep-centrino.crenamed from arch/x86/kernel/cpu/cpufreq/speedstep-centrino.c+10−13

This diff is large: its 92 lines aren’t shown here.

drivers/cpufreq/speedstep-ich.crenamed from arch/x86/kernel/cpu/cpufreq/speedstep-ich.c+12−16

This diff is large: its 111 lines aren’t shown here.

drivers/cpufreq/speedstep-lib.crenamed from arch/x86/kernel/cpu/cpufreq/speedstep-lib.c+20−23

This diff is large: its 182 lines aren’t shown here.

drivers/cpufreq/speedstep-lib.hrenamed from arch/x86/kernel/cpu/cpufreq/speedstep-lib.h+0−0

File renamed without changes.

drivers/cpufreq/speedstep-smi.crenamed from arch/x86/kernel/cpu/cpufreq/speedstep-smi.c+19−22

This diff is large: its 161 lines aren’t shown here.

drivers/cpuidle/governors/menu.c+3−1

This diff is large: its 19 lines aren’t shown here.

drivers/crypto/Kconfig+45−22

This diff is large: its 131 lines aren’t shown here.

drivers/crypto/Makefile+2−0

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/amcc/crypto4xx_sa.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/amcc/crypto4xx_sa.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/caam/Kconfig+72−0

This diff is large: its 73 lines aren’t shown here.

drivers/crypto/caam/Makefile+8−0

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/caam/caamalg.c+1268−0

This diff is large: its 1269 lines aren’t shown here.

drivers/crypto/caam/compat.h+35−0

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/caam/ctrl.c+269−0

This diff is large: its 270 lines aren’t shown here.

drivers/crypto/caam/desc.h+1605−0

This diff is large: its 1606 lines aren’t shown here.

drivers/crypto/caam/desc_constr.h+205−0

This diff is large: its 206 lines aren’t shown here.

drivers/crypto/caam/error.c+248−0

This diff is large: its 249 lines aren’t shown here.

drivers/crypto/caam/error.h+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/crypto/caam/intern.h+113−0

This diff is large: its 114 lines aren’t shown here.

drivers/crypto/caam/jr.c+517−0

This diff is large: its 518 lines aren’t shown here.

drivers/crypto/caam/jr.h+21−0

This diff is large: its 22 lines aren’t shown here.

drivers/crypto/caam/regs.h+663−0

This diff is large: its 664 lines aren’t shown here.

drivers/crypto/ixp4xx_crypto.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/mv_cesa.c+43−54

This diff is large: its 225 lines aren’t shown here.

drivers/crypto/omap-sham.c+34−44

This diff is large: its 151 lines aren’t shown here.

drivers/crypto/padlock-sha.c+264−5

This diff is large: its 303 lines aren’t shown here.

drivers/crypto/picoxcell_crypto.c+35−29

This diff is large: its 129 lines aren’t shown here.

drivers/crypto/s5p-sss.c+701−0

This diff is large: its 702 lines aren’t shown here.

drivers/dma/Kconfig+7−5

This diff is large: its 24 lines aren’t shown here.

drivers/dma/TODO+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/dma/at_hdmac.c+292−86

This diff is large: its 546 lines aren’t shown here.

drivers/dma/at_hdmac_regs.h+25−5

This diff is large: its 71 lines aren’t shown here.

drivers/dma/coh901318.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/dmatest.c+3−3

This diff is large: its 18 lines aren’t shown here.

drivers/dma/dw_dmac.c+182−92

This diff is large: its 693 lines aren’t shown here.

drivers/dma/dw_dmac_regs.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/dma/fsldma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/intel_mid_dma.c+17−8

This diff is large: its 72 lines aren’t shown here.

drivers/dma/intel_mid_dma_regs.h+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/dma/ioat/dma.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/ioat/dma_v2.c+7−2

This diff is large: its 30 lines aren’t shown here.

drivers/dma/ioat/dma_v3.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/dma/iop-adma.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/dma/mpc512x_dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/mv_xor.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/dma/pch_dma.c+66−30

This diff is large: its 218 lines aren’t shown here.

drivers/dma/ppc4xx/adma.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/dma/shdma.c+178−53

This diff is large: its 500 lines aren’t shown here.

drivers/dma/shdma.h+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/dma/ste_dma40.c+4−4

This diff is large: its 33 lines aren’t shown here.

drivers/dma/timb_dma.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/edac/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/amd64_edac.c+78−10

This diff is large: its 133 lines aren’t shown here.

drivers/edac/amd64_edac.h+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/edac/amd76x_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/amd8111_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/amd8131_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/cpc925_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/e752x_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/e7xxx_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/edac_core.h+4−16

This diff is large: its 69 lines aren’t shown here.

drivers/edac/edac_device.c+8−20

This diff is large: its 56 lines aren’t shown here.

drivers/edac/edac_device_sysfs.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/edac_mc.c+7−11

This diff is large: its 36 lines aren’t shown here.

drivers/edac/edac_mc_sysfs.c+6−7

This diff is large: its 36 lines aren’t shown here.

drivers/edac/edac_module.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/edac_pci.c+6−15

This diff is large: its 35 lines aren’t shown here.

drivers/edac/edac_pci_sysfs.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i3200_edac.c+13−0

This diff is large: its 20 lines aren’t shown here.

drivers/edac/i5000_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i5100_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/i5400_edac.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/edac/i7300_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i7core_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i82443bxgx_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/i82860_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/i82875p_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/i82975x_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/mce_amd_inj.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/mpc85xx_edac.c+19−8

This diff is large: its 54 lines aren’t shown here.

drivers/edac/mpc85xx_edac.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/mv64x60_edac.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/ppc4xx_edac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/edac/r82600_edac.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/firewire/core-card.c+16−11

This diff is large: its 97 lines aren’t shown here.

drivers/firewire/core-cdev.c+3−4

This diff is large: its 35 lines aren’t shown here.

drivers/firewire/core-device.c+20−11

This diff is large: its 115 lines aren’t shown here.

drivers/firewire/core-iso.c+17−10

This diff is large: its 95 lines aren’t shown here.

drivers/firewire/core-transaction.c+15−4

This diff is large: its 60 lines aren’t shown here.

drivers/firewire/core.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/net.c+4−2

This diff is large: its 20 lines aren’t shown here.

drivers/firewire/ohci.c+67−36

This diff is large: its 214 lines aren’t shown here.

drivers/firewire/sbp2.c+11−26

This diff is large: its 136 lines aren’t shown here.

drivers/firmware/Kconfig+2−0

This diff is large: its 7 lines aren’t shown here.

drivers/firmware/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/firmware/edd.c+11−11

This diff is large: its 37 lines aren’t shown here.

drivers/firmware/efivars.c+16−7

This diff is large: its 59 lines aren’t shown here.

drivers/firmware/google/Kconfig+31−0

This diff is large: its 32 lines aren’t shown here.

drivers/firmware/google/Makefile+3−0

This diff is large: its 4 lines aren’t shown here.

drivers/firmware/google/gsmi.c+940−0

This diff is large: its 941 lines aren’t shown here.

drivers/firmware/google/memconsole.c+166−0

This diff is large: its 167 lines aren’t shown here.

drivers/firmware/iscsi_ibft.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/firmware/iscsi_ibft_find.c+32−19

This diff is large: its 85 lines aren’t shown here.

drivers/gpio/Kconfig+57−11

This diff is large: its 153 lines aren’t shown here.

drivers/gpio/Makefile+10−5

This diff is large: its 44 lines aren’t shown here.

drivers/gpio/ab8500-gpio.c+3−4

This diff is large: its 20 lines aren’t shown here.

drivers/gpio/basic_mmio_gpio.c+384−133

This diff is large: its 620 lines aren’t shown here.

drivers/gpio/gpio-exynos4.crenamed from arch/arm/mach-exynos4/gpiolib.c+0−0

File renamed without changes.

drivers/gpio/gpio-nomadik.crenamed from arch/arm/plat-nomadik/gpio.c+61−16

This diff is large: its 142 lines aren’t shown here.

drivers/gpio/gpio-omap.crenamed from arch/arm/plat-omap/gpio.c+13−134

This diff is large: its 238 lines aren’t shown here.

drivers/gpio/gpio-plat-samsung.crenamed from arch/arm/plat-samsung/gpiolib.c+0−0

File renamed without changes.

drivers/gpio/gpio-s5pc100.crenamed from arch/arm/mach-s5pc100/gpiolib.c+0−0

File renamed without changes.

drivers/gpio/gpio-s5pv210.crenamed from arch/arm/mach-s5pv210/gpiolib.c+0−0

File renamed without changes.

drivers/gpio/gpio-u300.crenamed from arch/arm/mach-u300/gpio.c+0−0

File renamed without changes.

drivers/gpio/gpiolib.c+19−4

This diff is large: its 99 lines aren’t shown here.

drivers/gpio/janz-ttl.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/langwell_gpio.c+66−1

This diff is large: its 146 lines aren’t shown here.

drivers/gpio/mc33880.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/ml_ioh_gpio.c+4−0

This diff is large: its 32 lines aren’t shown here.

drivers/gpio/pca953x.c+195−61

This diff is large: its 410 lines aren’t shown here.

drivers/gpio/pch_gpio.c+3−0

This diff is large: its 19 lines aren’t shown here.

drivers/gpio/rdc321x-gpio.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/timbgpio.c+3−3

This diff is large: its 33 lines aren’t shown here.

drivers/gpio/tps65910-gpio.c+100−0

This diff is large: its 101 lines aren’t shown here.

drivers/gpio/vx855_gpio.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/Kconfig+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/drm_crtc.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/drm_edid.c+61−3

This diff is large: its 92 lines aren’t shown here.

drivers/gpu/drm/drm_fb_helper.c+78−182

This diff is large: its 353 lines aren’t shown here.

drivers/gpu/drm/drm_irq.c+28−4

This diff is large: its 51 lines aren’t shown here.

drivers/gpu/drm/drm_mm.c+4−4

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/drm_modes.c+156−0

This diff is large: its 160 lines aren’t shown here.

drivers/gpu/drm/drm_stub.c+21−0

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/i915/i915_debugfs.c+123−8

This diff is large: its 224 lines aren’t shown here.

drivers/gpu/drm/i915/i915_dma.c+50−12

This diff is large: its 142 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.c+64−6

This diff is large: its 137 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.h+78−37

This diff is large: its 258 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem.c+20−25

This diff is large: its 102 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.c+29−6

This diff is large: its 79 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_tiling.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/i915_irq.c+264−47

This diff is large: its 466 lines aren’t shown here.

drivers/gpu/drm/i915/i915_reg.h+34−1

This diff is large: its 92 lines aren’t shown here.

drivers/gpu/drm/i915/i915_suspend.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.c+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/i915/intel_crt.c+11−33

This diff is large: its 85 lines aren’t shown here.

drivers/gpu/drm/i915/intel_display.c+1421−1027

This diff is large: its 3100 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp.c+16−3

This diff is large: its 40 lines aren’t shown here.

drivers/gpu/drm/i915/intel_drv.h+15−7

This diff is large: its 50 lines aren’t shown here.

drivers/gpu/drm/i915/intel_fb.c+10−0

This diff is large: its 14 lines aren’t shown here.

drivers/gpu/drm/i915/intel_i2c.c+21−4

This diff is large: its 52 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lvds.c+5−32

This diff is large: its 70 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.c+53−35

This diff is large: its 191 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.h+19−16

This diff is large: its 55 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo.c+4−6

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo_regs.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/intel_tv.c+11−11

This diff is large: its 55 lines aren’t shown here.

drivers/gpu/drm/mga/mga_dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/Makefile+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_acpi.c+97−11

This diff is large: its 182 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_bios.c+52−8

This diff is large: its 109 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_bios.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_channel.c+8−16

This diff is large: its 62 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_connector.c+5−3

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_display.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_drv.c+17−8

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_drv.h+87−126

This diff is large: its 391 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_fbcon.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_gem.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_grctx.h+5−5

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_mem.c+75−35

This diff is large: its 172 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_notifier.c+7−4

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_object.c+22−106

This diff is large: its 215 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_perf.c+90−4

This diff is large: its 129 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_pm.c+13−8

This diff is large: its 77 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_reg.h+7−7

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_sgdma.c+5−3

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_state.c+99−125

This diff is large: its 409 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_vm.h+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_volt.c+9−1

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_crtc.c+6−7

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_dfp.c+7−6

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_graph.c+214−169

This diff is large: its 480 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_instmem.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv10_graph.c+113−99

This diff is large: its 376 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv20_graph.c+223−287

This diff is large: its 647 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv40_fifo.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv40_graph.c+173−150

This diff is large: its 429 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv40_mpeg.c+311−0

This diff is large: its 312 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_calc.c+37−31

This diff is large: its 91 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_crtc.c+6−10

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_display.c+15−3

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_evo.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_graph.c+244−198

This diff is large: its 584 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_grctx.c+4−6

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_instmem.c+6−4

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_mpeg.c+256−0

This diff is large: its 257 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_pm.c+15−0

This diff is large: its 22 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_vm.c+8−9

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv84_crypt.c+94−41

This diff is large: its 189 lines aren’t shown here.

drivers/gpu/drm/nouveau/nva3_copy.c+226−0

This diff is large: its 227 lines aren’t shown here.

drivers/gpu/drm/nouveau/nva3_copy.fuc+870−0

This diff is large: its 871 lines aren’t shown here.

drivers/gpu/drm/nouveau/nva3_copy.fuc.h+534−0

This diff is large: its 535 lines aren’t shown here.

drivers/gpu/drm/nouveau/nva3_pm.c+139−30

This diff is large: its 209 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_copy.c+243−0

This diff is large: its 244 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_copy.fuc.h+527−0

This diff is large: its 528 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_fifo.c+92−50

This diff is large: its 230 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_graph.c+294−306

This diff is large: its 763 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_graph.h+20−9

This diff is large: its 50 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grctx.c+10−10

This diff is large: its 81 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_vm.c+16−9

This diff is large: its 37 lines aren’t shown here.

drivers/gpu/drm/radeon/atom.c+10−6

This diff is large: its 70 lines aren’t shown here.

drivers/gpu/drm/radeon/atombios.h+37−19

This diff is large: its 202 lines aren’t shown here.

drivers/gpu/drm/radeon/atombios_crtc.c+111−45

This diff is large: its 363 lines aren’t shown here.

drivers/gpu/drm/radeon/atombios_dp.c+579−467

This diff is large: its 1253 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreen.c+78−77

This diff is large: its 261 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreen_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreend.h+8−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/radeon/ni.c+15−11

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/radeon/nid.h+3−1

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/radeon/r300.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/r300_reg.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/radeon/r600.c+2−6

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/radeon/r600_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/r600_hdmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon.h+10−6

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_asic.c+5−1

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_atombios.c+42−24

This diff is large: its 178 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_atpx_handler.c+27−2

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_combios.c+115−15

This diff is large: its 216 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_connectors.c+428−190

This diff is large: its 759 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_cp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_cursor.c+4−4

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_device.c+4−1

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_display.c+9−3

This diff is large: its 33 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_drv.c+2−1

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_drv.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_encoders.c+207−45

This diff is large: its 506 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_fence.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_gart.c+5−3

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_i2c.c+10−2

This diff is large: its 54 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_kms.c+16−0

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_legacy_encoders.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_mode.h+12−7

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_object.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_pm.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_ring.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_state.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/cayman+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/evergreen+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/r600+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/radeon/rs600.c+1−12

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/radeon/rv770.c+1−5

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_bo.c+5−5

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_object.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_page_alloc.c+6−24

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_tt.c+8−8

This diff is large: its 61 lines aren’t shown here.

drivers/gpu/drm/vmwgfx/vmwgfx_kms.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/stub/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/vga/vga_switcheroo.c+3−9

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/vga/vgaarb.c+101−16

This diff is large: its 192 lines aren’t shown here.

drivers/hid/Kconfig+25−30

This diff is large: its 110 lines aren’t shown here.

drivers/hid/Makefile+0−4

This diff is large: its 29 lines aren’t shown here.

drivers/hid/hid-3m-pct.c+0−305

This diff is large: its 306 lines aren’t shown here.

drivers/hid/hid-cando.c+0−276

This diff is large: its 277 lines aren’t shown here.

drivers/hid/hid-core.c+38−3

This diff is large: its 154 lines aren’t shown here.

drivers/hid/hid-debug.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/hid/hid-ids.h+56−1

This diff is large: its 170 lines aren’t shown here.

drivers/hid/hid-input.c+52−8

This diff is large: its 126 lines aren’t shown here.

drivers/hid/hid-lg.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/hid/hid-lgff.c+5−0

This diff is large: its 13 lines aren’t shown here.

drivers/hid/hid-magicmouse.c+12−2

This diff is large: its 37 lines aren’t shown here.

drivers/hid/hid-mosart.c+0−296

This diff is large: its 297 lines aren’t shown here.

drivers/hid/hid-multitouch.c+217−47

This diff is large: its 489 lines aren’t shown here.

drivers/hid/hid-ortek.c+13−3

This diff is large: its 38 lines aren’t shown here.

drivers/hid/hid-picolcd.c+4−4

This diff is large: its 30 lines aren’t shown here.

drivers/hid/hid-roccat-kone.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/hid/hid-roccat-koneplus.c+44−38

This diff is large: its 152 lines aren’t shown here.

drivers/hid/hid-roccat-koneplus.h+5−6

This diff is large: its 40 lines aren’t shown here.

drivers/hid/hid-roccat-pyra.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/hid/hid-sony.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/hid/hid-stantum.c+0−286

This diff is large: its 287 lines aren’t shown here.

drivers/hid/hidraw.c+10−20

This diff is large: its 65 lines aren’t shown here.

drivers/hid/usbhid/hid-quirks.c+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/hid/usbhid/hiddev.c+14−20

This diff is large: its 106 lines aren’t shown here.

drivers/hwmon/Kconfig+100−19

This diff is large: its 226 lines aren’t shown here.

drivers/hwmon/Makefile+8−1

This diff is large: its 50 lines aren’t shown here.

drivers/hwmon/abituguru.c+1−4

This diff is large: its 25 lines aren’t shown here.

drivers/hwmon/abituguru3.c+1−14

This diff is large: its 45 lines aren’t shown here.

drivers/hwmon/acpi_power_meter.crenamed from drivers/acpi/power_meter.c+0−0

File renamed without changes.

drivers/hwmon/adcxx.c+8−8

This diff is large: its 72 lines aren’t shown here.

drivers/hwmon/adm1026.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/hwmon/adm1275.c+121−0

This diff is large: its 122 lines aren’t shown here.

drivers/hwmon/coretemp.c+507−235

This diff is large: its 950 lines aren’t shown here.

drivers/hwmon/emc6w201.c+539−0

This diff is large: its 540 lines aren’t shown here.

drivers/hwmon/f71882fg.c+105−10

This diff is large: its 274 lines aren’t shown here.

drivers/hwmon/fam15h_power.c+229−0

This diff is large: its 230 lines aren’t shown here.

drivers/hwmon/ibmaem.c+5−5

This diff is large: its 45 lines aren’t shown here.

drivers/hwmon/it87.c+19−12

This diff is large: its 75 lines aren’t shown here.

drivers/hwmon/jc42.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/hwmon/k10temp.c+6−5

This diff is large: its 50 lines aren’t shown here.

drivers/hwmon/k8temp.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/hwmon/lm70.c+5−5

This diff is large: its 41 lines aren’t shown here.

drivers/hwmon/lm85.c+5−3

This diff is large: its 39 lines aren’t shown here.

drivers/hwmon/lm90.c+16−8

This diff is large: its 66 lines aren’t shown here.

drivers/hwmon/max16065.c+717−0

This diff is large: its 718 lines aren’t shown here.

drivers/hwmon/max34440.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/hwmon/max6642.c+356−0

This diff is large: its 357 lines aren’t shown here.

drivers/hwmon/max6650.c+28−50

This diff is large: its 171 lines aren’t shown here.

drivers/hwmon/max8688.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/hwmon/pkgtemp.c+0−444

This diff is large: its 445 lines aren’t shown here.

drivers/hwmon/pmbus.h+4−6

This diff is large: its 18 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.